diff --git a/packages/web/public/i18n/locales/bg-BG/channels.json b/packages/web/public/i18n/locales/bg-BG/channels.json index 0771b90d..48291a72 100644 --- a/packages/web/public/i18n/locales/bg-BG/channels.json +++ b/packages/web/public/i18n/locales/bg-BG/channels.json @@ -2,68 +2,68 @@ "page": { "sectionLabel": "Канали", "channelName": "Канал: {{channelName}}", - "broadcastLabel": "Primary", + "broadcastLabel": "Първичен", "channelIndex": "Ch {{index}}" }, "validation": { - "pskInvalid": "Please enter a valid {{bits}} bit PSK." + "pskInvalid": "Моля, въведете валиден {{bits}} bit PSK." }, "settings": { "label": "Настройки на канала", - "description": "Crypto, MQTT & misc settings" + "description": "Крипто, MQTT и други настройки" }, "role": { "label": "Роля", - "description": "Device telemetry is sent over PRIMARY. Only one PRIMARY allowed", + "description": "Телеметрията на устройството се изпраща през ПЪРВИЧЕН. Разрешен е само един ПЪРВИЧЕН.", "options": { - "primary": "PRIMARY", - "disabled": "DISABLED", - "secondary": "SECONDARY" + "primary": "ПЪРВИЧЕН", + "disabled": "ДЕЗАКТИВИРАН", + "secondary": "ВТОРИЧЕН" } }, "psk": { - "label": "Pre-Shared Key", - "description": "Supported PSK lengths: 256-bit, 128-bit, 8-bit, Empty (0-bit)", + "label": "Предварително споделен ключ", + "description": "Поддържани дължини на PSK: 256-битова, 128-битова, 8-битова, празна (0-битова)", "generate": "Генериране" }, "name": { "label": "Име", - "description": "A unique name for the channel <12 bytes, leave blank for default" + "description": "Уникално име за канала <12 байта, оставете празно за подразбиране" }, "uplinkEnabled": { "label": "Uplink Enabled", - "description": "Send messages from the local mesh to MQTT" + "description": "Изпращане на съобщения от локалната mesh към MQTT" }, "downlinkEnabled": { "label": "Downlink Enabled", - "description": "Send messages from MQTT to the local mesh" + "description": "Изпращане на съобщения от MQTT към локалната mesh" }, "positionPrecision": { "label": "Местоположение", - "description": "The precision of the location to share with the channel. Can be disabled.", + "description": "Точността на местоположението, което да се споделя с канала. Може да бъде дезактивирано.", "options": { "none": "Да не се споделя местоположението", "precise": "Точно местоположение", - "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" + "metric_km23": "В рамките на 23 километра", + "metric_km12": "В рамките на 12 километра", + "metric_km5_8": "В рамките на 5.8 километра", + "metric_km2_9": "В рамките на 2.9 километра", + "metric_km1_5": "В рамките на 1.5 километра", + "metric_m700": "В рамките на 700 метра", + "metric_m350": "В рамките на 350 метра", + "metric_m200": "В рамките на 200 метра", + "metric_m90": "В рамките на 90 метра", + "metric_m50": "В рамките на 50 метра", + "imperial_mi15": "В рамките на 15 мили", + "imperial_mi7_3": "В рамките на 7.3 мили", + "imperial_mi3_6": "В рамките на 3.6 мили", + "imperial_mi1_8": "В рамките на 1.8 мили", + "imperial_mi0_9": "В рамките на 0.9 мили", + "imperial_mi0_5": "В рамките на 0.5 мили", + "imperial_mi0_2": "В рамките на 0.2 мили", + "imperial_ft600": "В рамките на 600 фута", + "imperial_ft300": "В рамките на 300 фута", + "imperial_ft150": "В рамките на 150 фута" } } } diff --git a/packages/web/public/i18n/locales/bg-BG/commandPalette.json b/packages/web/public/i18n/locales/bg-BG/commandPalette.json index a2e6e7fa..5ce1fc7c 100644 --- a/packages/web/public/i18n/locales/bg-BG/commandPalette.json +++ b/packages/web/public/i18n/locales/bg-BG/commandPalette.json @@ -1,50 +1,51 @@ { - "emptyState": "Няма намерени резултати.", - "page": { - "title": "Command Menu" - }, - "pinGroup": { - "label": "Pin command group" - }, - "unpinGroup": { - "label": "Unpin command group" - }, - "goto": { - "label": "Goto", - "command": { - "messages": "Съобщения", - "map": "Карта", - "config": "Конфигурация", - "channels": "Канали", - "nodes": "Възли" - } - }, - "manage": { - "label": "Управление", - "command": { - "switchNode": "Switch Node", - "connectNewNode": "Свързване на нов възел" - } - }, - "contextual": { - "label": "Contextual", - "command": { - "qrCode": "QR код", - "qrGenerator": "Генератор", - "qrImport": "Импортиране", - "scheduleShutdown": "Планирано изключване", - "scheduleReboot": "Планирано рестартиране", - "rebootToOtaMode": "Рестартиране в режим OTA", - "resetNodeDb": "Нулиране на базата данни с възли", - "factoryResetDevice": "Фабрично нулиране на устройството", - "factoryResetConfig": "Фабрично нулиране на конфигурацията" - } - }, - "debug": { - "label": "Отстраняване на грешки", - "command": { - "reconfigure": "Преконфигуриране", - "clearAllStoredMessages": "Изчистване на всички съхранени съобщения" - } - } + "emptyState": "Няма намерени резултати.", + "page": { + "title": "Command Menu" + }, + "pinGroup": { + "label": "Pin command group" + }, + "unpinGroup": { + "label": "Unpin command group" + }, + "goto": { + "label": "Goto", + "command": { + "messages": "Съобщения", + "map": "Карта", + "config": "Конфигурация", + "channels": "Канали", + "nodes": "Възли" + } + }, + "manage": { + "label": "Управление", + "command": { + "switchNode": "Switch Node", + "connectNewNode": "Свързване на нов възел" + } + }, + "contextual": { + "label": "Contextual", + "command": { + "qrCode": "QR код", + "qrGenerator": "Генератор", + "qrImport": "Импортиране", + "scheduleShutdown": "Планирано изключване", + "scheduleReboot": "Планирано рестартиране", + "rebootToOtaMode": "Рестартиране в режим OTA", + "resetNodeDb": "Нулиране на базата данни с възли", + "factoryResetDevice": "Фабрично нулиране на устройството", + "factoryResetConfig": "Фабрично нулиране на конфигурацията", + "disconnect": "Прекъсване" + } + }, + "debug": { + "label": "Отстраняване на грешки", + "command": { + "reconfigure": "Преконфигуриране", + "clearAllStoredMessages": "Изчистване на всички съхранени съобщения" + } + } } diff --git a/packages/web/public/i18n/locales/bg-BG/common.json b/packages/web/public/i18n/locales/bg-BG/common.json index bd5886b2..d7db0323 100644 --- a/packages/web/public/i18n/locales/bg-BG/common.json +++ b/packages/web/public/i18n/locales/bg-BG/common.json @@ -1,7 +1,7 @@ { "button": { "apply": "Приложи", - "backupKey": "Backup Key", + "backupKey": "Резервно копие на ключа", "cancel": "Отказ", "clearMessages": "Изчистване на съобщенията", "close": "Затвори", @@ -19,7 +19,7 @@ "print": "Отпечатване", "rebootOtaNow": "Reboot to OTA Mode Now", "remove": "Изтрий", - "requestNewKeys": "Request New Keys", + "requestNewKeys": "Заявка за нови ключове", "requestPosition": "Request Position", "reset": "Нулиране", "save": "Запис", @@ -93,7 +93,7 @@ } }, "security": { - "0bit": "Empty", + "0bit": "Празен", "8bit": "8 bit", "128bit": "128 bit", "256bit": "256 bit" @@ -109,32 +109,32 @@ "fallbackName": "Meshtastic {{last4}}", "node": "Възел", "formValidation": { - "unsavedChanges": "Unsaved changes", + "unsavedChanges": "Незапазени промени", "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." + "string": "Твърде дълъг, очаква се по-малко или равно на {{maximum}} знака.", + "number": "Твърде голям, очаква се число по-малко или равно на {{maximum}}.", + "bytes": "Твърде голям, очаква се по-малък или равен на {{params.maximum}} байта." }, "tooSmall": { - "string": "Too short, expected more than or equal to {{minimum}} characters.", - "number": "Too small, expected a number larger than or equal to {{minimum}}." + "string": "Твърде кратък, очаква се повече или равно на {{minimum}} знака.", + "number": "Твърде малък, очаква се число, по-голямо или равно на {{minimum}}." }, "invalidFormat": { "ipv4": "Невалиден формат, очаква се IPv4 адрес.", - "key": "Invalid format, expected a Base64 encoded pre-shared key (PSK)." + "key": "Невалиден формат, очаква се предварително споделен ключ (PSK), кодиран с Base64." }, "invalidType": { "number": "Невалиден тип, очаква се число." }, "pskLength": { "0bit": "Ключът трябва да е празен.", - "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)." + "8bit": "Ключът трябва да бъде 8-битов предварително споделен ключ (PSK).", + "128bit": "Ключът трябва да бъде 128-битов предварително споделен ключ (PSK).", + "256bit": "Ключът трябва да бъде 256-битов предварително споделен ключ (PSK)." }, "required": { "generic": "Това поле е задължително.", - "managed": "At least one admin key is requred if the node is managed.", + "managed": "Изисква се поне един администраторски ключ, ако възелът е управляван.", "key": "Ключът е задължителен." } } diff --git a/packages/web/public/i18n/locales/bg-BG/deviceConfig.json b/packages/web/public/i18n/locales/bg-BG/deviceConfig.json index 7b1fdbcd..52484c76 100644 --- a/packages/web/public/i18n/locales/bg-BG/deviceConfig.json +++ b/packages/web/public/i18n/locales/bg-BG/deviceConfig.json @@ -102,8 +102,8 @@ "label": "GPS Display Units" }, "oledType": { - "description": "Type of OLED screen attached to the device", - "label": "OLED Type" + "description": "Тип на OLED екрана, прикрепен към устройството", + "label": "Тип OLED" }, "screenTimeout": { "description": "Turn off the display after this long", @@ -120,7 +120,7 @@ }, "lora": { "title": "Настройки на Mesh", - "description": "Settings for the LoRa mesh", + "description": "Настройки за LoRa mesh", "bandwidth": { "description": "Широчина на канала в MHz", "label": "Широчина на честотната лента" @@ -146,8 +146,8 @@ "label": "Hop Limit" }, "ignoreMqtt": { - "description": "Don't forward MQTT messages over the mesh", - "label": "Ignore MQTT" + "description": "Да не се препращат MQTT съобщения през mesh", + "label": "Игнориране на MQTT" }, "modemPreset": { "description": "Използване на предварително настроен модем", @@ -186,7 +186,7 @@ "label": "Използване на предварително зададени настройки" }, "meshSettings": { - "description": "Settings for the LoRa mesh", + "description": "Настройки за LoRa mesh", "label": "Настройки на Mesh" }, "waveformSettings": { @@ -329,7 +329,7 @@ "numSatellites": "Number of satellites", "sequenceNumber": "Sequence number", "timestamp": "Времево клеймо", - "unset": "Отказ", + "unset": "Не е зададен", "vehicleHeading": "Vehicle heading", "vehicleSpeed": "Скорост на превозното средство" } @@ -379,7 +379,7 @@ "security": { "description": "Settings for the Security configuration", "title": "Насртойки на сигурността", - "button_backupKey": "Backup Key", + "button_backupKey": "Резервно копие на ключа", "adminChannelEnabled": { "description": "Allow incoming device control over the insecure legacy admin channel", "label": "Allow Legacy Admin" diff --git a/packages/web/public/i18n/locales/bg-BG/dialog.json b/packages/web/public/i18n/locales/bg-BG/dialog.json index 9d0e58ff..5f58cb23 100644 --- a/packages/web/public/i18n/locales/bg-BG/dialog.json +++ b/packages/web/public/i18n/locales/bg-BG/dialog.json @@ -7,10 +7,16 @@ "description": "Устройството ще се рестартира, след като конфигурацията бъде запазена.", "longName": "Дълго име", "shortName": "Кратко име", - "title": "Промяна на името на устройството" + "title": "Промяна на името на устройството", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { - "description": "The current LoRa configuration will be overridden.", + "description": "Текущата конфигурация на LoRa ще бъде презаписана.", "error": { "invalidUrl": "Невалиден Meshtastic URL" }, @@ -21,13 +27,14 @@ "title": "Import Channel Set" }, "locationResponse": { + "title": "Местоположение: {{identifier}}", "altitude": "Надморска височина: ", "coordinates": "Координати:", - "title": "Местоположение: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { - "title": "Regenerate Pre-Shared Key?", - "description": "Are you sure you want to regenerate the pre-shared key?", + "title": "Регенериране на предварително споделения ключ?", + "description": "Сигурни ли сте, че искате да регенерирате предварително споделения ключ?", "regenerate": "Регенериране" }, "newDeviceDialog": { @@ -36,7 +43,7 @@ "http": "http", "tabHttp": "HTTP", "tabBluetooth": "Bluetooth", - "tabSerial": "Serial", + "tabSerial": "Серийна", "useHttps": "Използване на HTTPS", "connecting": "Свързване...", "connect": "Свързване", @@ -46,7 +53,7 @@ "httpsHint": "Ако използвате HTTPS, може да се наложи първо да приемете самоподписан сертификат. ", "openLinkPrefix": "Моля, отворете", "openLinkSuffix": "в нов раздел", - "acceptTlsWarningSuffix": "", + "acceptTlsWarningSuffix": ", accept any TLS warnings if prompted, then try again", "learnMoreLink": "Научете повече" }, "httpConnection": { @@ -60,13 +67,17 @@ }, "bluetoothConnection": { "noDevicesPaired": "Все още няма сдвоени устройства.", - "newDeviceButton": "Ново устройство" + "newDeviceButton": "Ново устройство", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth. Please use a supported browser, like Chrome or Edge.", - "requiresWebSerial": "This connection type requires <0>Web Serial. Please use a supported browser, like Chrome or Edge.", - "requiresSecureContext": "This application requires a <0>secure context. Please connect using HTTPS or localhost.", - "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context. Please connect using HTTPS or localhost." + "requiresFeatures": "Този тип връзка изисква <0>. Моля, използвайте поддържан браузър, като Chrome или Edge.", + "requiresSecureContext": "Това приложение изисква <0>secure context. Моля, свържете се чрез HTTPS или localhost.", + "additionallyRequiresSecureContext": "Освен това, изисква <0>secure context. Моля, свържете се чрез HTTPS или localhost." } }, "nodeDetails": { @@ -103,11 +114,11 @@ "title": "Backup Keys" }, "pkiBackupReminder": { - "description": "We recommend backing up your key data regularly. Would you like to back up now?", - "title": "Backup Reminder", + "description": "Препоръчваме редовно да правите резервни копия на данните с вашите ключове. Искате ли да направите резервно копие сега?", + "title": "Напомняне за резервно копие", "remindLaterPrefix": "Remind me in", - "remindNever": "Never remind me", - "backupNow": "Back up now" + "remindNever": "Никога не ми напомняй", + "backupNow": "Създаване на резервно копие сега" }, "pkiRegenerate": { "description": "Сигурни ли сте, че искате да регенерирате двойката ключове?", @@ -136,7 +147,7 @@ "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", + "acceptNewKeys": "риемане на нови ключове", "title": "Keys Mismatch - {{identifier}}" }, "removeNode": { @@ -159,13 +170,13 @@ "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", + "choosingRightDeviceRole": "Избор на правилната роля на устройството", + "deviceRoleDocumentation": "Документация за ролите на устройството", "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 only be changed through Remote Admin messages. This setting is not required for remote node administration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/bg-BG/moduleConfig.json b/packages/web/public/i18n/locales/bg-BG/moduleConfig.json index 21e0f143..e3bfa6f1 100644 --- a/packages/web/public/i18n/locales/bg-BG/moduleConfig.json +++ b/packages/web/public/i18n/locales/bg-BG/moduleConfig.json @@ -8,8 +8,8 @@ "tabMqtt": "MQTT", "tabNeighborInfo": "Neighbor Info", "tabPaxcounter": "Paxcounter", - "tabRangeTest": "Range Test", - "tabSerial": "Serial", + "tabRangeTest": "Тест на обхвата", + "tabSerial": "Серийна", "tabStoreAndForward": "S&F", "tabTelemetry": "Телеметрия" }, @@ -21,7 +21,7 @@ "description": "Sets LED to on or off" }, "current": { - "label": "Current", + "label": "Текущ", "description": "Sets the current for the LED output. Default is 10" }, "red": { @@ -279,16 +279,16 @@ "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" + "imperial_mi15": "В рамките на 15 мили", + "imperial_mi7_3": "В рамките на 7.3 мили", + "imperial_mi3_6": "В рамките на 3.6 мили", + "imperial_mi1_8": "В рамките на 1.8 мили", + "imperial_mi0_9": "В рамките на 0.9 мили", + "imperial_mi0_5": "В рамките на 0.5 мили", + "imperial_mi0_2": "В рамките на 0.2 мили", + "imperial_ft600": "В рамките на 600 фута", + "imperial_ft300": "В рамките на 300 фута", + "imperial_ft150": "В рамките на 150 фута" } } } @@ -301,7 +301,7 @@ "description": "Enable or disable Neighbor Info Module" }, "updateInterval": { - "label": "Update Interval", + "label": "Интервал на актуализиране", "description": "Interval in seconds of how often we should try to send our Neighbor Info to the mesh" } }, @@ -313,7 +313,7 @@ "description": "Активиране на Paxcounter" }, "paxcounterUpdateInterval": { - "label": "Update Interval (seconds)", + "label": "Интервал на актуализиране (секунди)", "description": "How long to wait between sending paxcounter packets" }, "wifiThreshold": { @@ -329,7 +329,7 @@ "title": "Range Test Settings", "description": "Settings for the Range Test module", "enabled": { - "label": "Module Enabled", + "label": "Модулът е активиран", "description": "Enable Range Test" }, "sender": { @@ -406,10 +406,10 @@ "description": "Настройки за модула за телеметрия", "deviceUpdateInterval": { "label": "Device Metrics", - "description": "Device metrics update interval (seconds)" + "description": "Интервал на актуализиране на показателите на устройството (секунди)" }, "environmentUpdateInterval": { - "label": "Environment metrics update interval (seconds)", + "label": "Интервал на актуализиране на показателите на околната среда (секунди)", "description": "" }, "environmentMeasurementEnabled": { diff --git a/packages/web/public/i18n/locales/bg-BG/nodes.json b/packages/web/public/i18n/locales/bg-BG/nodes.json index c591ddee..b7ecc5cc 100644 --- a/packages/web/public/i18n/locales/bg-BG/nodes.json +++ b/packages/web/public/i18n/locales/bg-BG/nodes.json @@ -25,7 +25,7 @@ "mqtt": "MQTT" }, "elevation": { - "label": "Elevation" + "label": "Височина" }, "channelUtil": { "label": "Channel Util" @@ -44,7 +44,7 @@ "macAddress": "MAC адрес" }, "connectionStatus": { - "direct": "Direct", + "direct": "Директно", "away": "away", "unknown": "-", "viaMqtt": ", чрез MQTT" diff --git a/packages/web/public/i18n/locales/bg-BG/ui.json b/packages/web/public/i18n/locales/bg-BG/ui.json index 0f494610..afea9884 100644 --- a/packages/web/public/i18n/locales/bg-BG/ui.json +++ b/packages/web/public/i18n/locales/bg-BG/ui.json @@ -82,21 +82,21 @@ "description": "Промяната в конфигурацията {{case}} е запазена." }, "favoriteNode": { - "title": "{{action}} {{nodeName}} {{direction}} favorites.", + "title": "{{action}} {{nodeName}} {{direction}} любими.", "action": { - "added": "Added", - "removed": "Removed", - "to": "to", - "from": "from" + "added": "Добавен", + "removed": "Премахнат", + "to": "в", + "from": "от" } }, "ignoreNode": { - "title": "{{action}} {{nodeName}} {{direction}} ignore list", + "title": "{{action}} {{nodeName}} {{direction}} списък с игнорирани", "action": { - "added": "Added", - "removed": "Removed", - "to": "to", - "from": "from" + "added": "Добавен", + "removed": "Премахнат", + "to": "в", + "from": "от" } } }, @@ -114,10 +114,10 @@ "label": "Показване на паролата" }, "deliveryStatus": { - "delivered": "Delivered", - "failed": "Delivery Failed", + "delivered": "Доставено", + "failed": "Неуспешна доставка", "waiting": "Изчакване", - "unknown": "Unknown" + "unknown": "Неизвестно" } }, "general": { @@ -163,13 +163,13 @@ "label": "Използване на канала (%)" }, "hops": { - "direct": "Direct", + "direct": "Директно", "label": "Number of hops", "text": "Number of hops: {{value}}" }, "lastHeard": { "label": "Последно чут", - "labelText": "Last heard: {{value}}", + "labelText": "Последно чут: {{value}}", "nowLabel": "Сега" }, "snr": { @@ -204,9 +204,9 @@ "changeTheme": "Промяна на цветовата схема" }, "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.
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.", + "title": "Това е малко смущаващо...", + "description1": "Наистина съжаляваме, но възникна грешка в web клиента, която доведе до срив.
Това не би трябвало да се случва и работим усилено, за да го поправим.", + "description2": "Най-добрият начин да предотвратите това да се случи отново с вас или с някой друг е да ни съобщите за проблема.", "reportInstructions": "Моля, включете следната информация в доклада си:", "reportSteps": { "step1": "Какво правехте, когато възникна грешката", diff --git a/packages/web/public/i18n/locales/cs-CZ/commandPalette.json b/packages/web/public/i18n/locales/cs-CZ/commandPalette.json index 40b362da..1fe13952 100644 --- a/packages/web/public/i18n/locales/cs-CZ/commandPalette.json +++ b/packages/web/public/i18n/locales/cs-CZ/commandPalette.json @@ -1,50 +1,51 @@ { - "emptyState": "No results found.", - "page": { - "title": "Command Menu" - }, - "pinGroup": { - "label": "Pin command group" - }, - "unpinGroup": { - "label": "Unpin command group" - }, - "goto": { - "label": "Goto", - "command": { - "messages": "Zprávy", - "map": "Mapa", - "config": "Config", - "channels": "Kanály", - "nodes": "Uzly" - } - }, - "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" - } - } + "emptyState": "No results found.", + "page": { + "title": "Command Menu" + }, + "pinGroup": { + "label": "Pin command group" + }, + "unpinGroup": { + "label": "Unpin command group" + }, + "goto": { + "label": "Goto", + "command": { + "messages": "Zprávy", + "map": "Mapa", + "config": "Config", + "channels": "Kanály", + "nodes": "Uzly" + } + }, + "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", + "disconnect": "Disconnect" + } + }, + "debug": { + "label": "Debug", + "command": { + "reconfigure": "Reconfigure", + "clearAllStoredMessages": "Clear All Stored Message" + } + } } diff --git a/packages/web/public/i18n/locales/cs-CZ/dashboard.json b/packages/web/public/i18n/locales/cs-CZ/dashboard.json index 5f482751..22c36f4d 100644 --- a/packages/web/public/i18n/locales/cs-CZ/dashboard.json +++ b/packages/web/public/i18n/locales/cs-CZ/dashboard.json @@ -3,7 +3,7 @@ "title": "Connected Devices", "description": "Manage your connected Meshtastic devices.", "connectionType_ble": "BLE", - "connectionType_serial": "Sériová komunikace", + "connectionType_serial": "Sériový", "connectionType_network": "Síť", "noDevicesTitle": "No devices connected", "noDevicesDescription": "Connect a new device to get started.", diff --git a/packages/web/public/i18n/locales/cs-CZ/dialog.json b/packages/web/public/i18n/locales/cs-CZ/dialog.json index 56c2577c..37115d67 100644 --- a/packages/web/public/i18n/locales/cs-CZ/dialog.json +++ b/packages/web/public/i18n/locales/cs-CZ/dialog.json @@ -7,7 +7,13 @@ "description": "The Device will restart once the config is saved.", "longName": "Long Name", "shortName": "Short Name", - "title": "Change Device Name" + "title": "Change Device Name", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { "description": "The current LoRa configuration will be overridden.", @@ -21,9 +27,10 @@ "title": "Import Channel Set" }, "locationResponse": { + "title": "Location: {{identifier}}", "altitude": "Altitude: ", "coordinates": "Coordinates: ", - "title": "Location: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { "title": "Regenerate Pre-Shared Key?", @@ -36,7 +43,7 @@ "http": "http", "tabHttp": "HTTP", "tabBluetooth": "Bluetooth", - "tabSerial": "Sériová komunikace", + "tabSerial": "Sériový", "useHttps": "Use HTTPS", "connecting": "Connecting...", "connect": "Connect", @@ -60,11 +67,15 @@ }, "bluetoothConnection": { "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "New device" + "newDeviceButton": "New device", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth. Please use a supported browser, like Chrome or Edge.", - "requiresWebSerial": "This connection type requires <0>Web Serial. Please use a supported browser, like Chrome or Edge.", + "requiresFeatures": "This connection type requires <0>. Please use a supported browser, like Chrome or Edge.", "requiresSecureContext": "This application requires a <0>secure context. Please connect using HTTPS or localhost.", "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context. Please connect using HTTPS or localhost." } @@ -166,6 +177,6 @@ "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 only be changed through Remote Admin messages. This setting is not required for remote node administration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/cs-CZ/moduleConfig.json b/packages/web/public/i18n/locales/cs-CZ/moduleConfig.json index c2319f19..2893feef 100644 --- a/packages/web/public/i18n/locales/cs-CZ/moduleConfig.json +++ b/packages/web/public/i18n/locales/cs-CZ/moduleConfig.json @@ -9,7 +9,7 @@ "tabNeighborInfo": "Informace o sousedech", "tabPaxcounter": "Paxcounter", "tabRangeTest": "Zkouška dosahu", - "tabSerial": "Sériová komunikace", + "tabSerial": "Sériový", "tabStoreAndForward": "S&F", "tabTelemetry": "Telemetrie" }, @@ -406,10 +406,10 @@ "description": "Settings for the Telemetry module", "deviceUpdateInterval": { "label": "Device Metrics", - "description": "Interval aktualizace měření spotřeby (v sekundách)" + "description": "Interval aktualizace metrik zařízení (v sekundách)" }, "environmentUpdateInterval": { - "label": "Interval aktualizace měření životního prostředí (v sekundách)", + "label": "Interval aktualizace metrik životního prostředí (v sekundách)", "description": "" }, "environmentMeasurementEnabled": { diff --git a/packages/web/public/i18n/locales/de-DE/commandPalette.json b/packages/web/public/i18n/locales/de-DE/commandPalette.json index b96a1e4c..67fbadc9 100644 --- a/packages/web/public/i18n/locales/de-DE/commandPalette.json +++ b/packages/web/public/i18n/locales/de-DE/commandPalette.json @@ -1,50 +1,51 @@ { - "emptyState": "Keine Ergebnisse gefunden.", - "page": { - "title": "Befehlsmenü" - }, - "pinGroup": { - "label": "Befehlsgruppe anheften" - }, - "unpinGroup": { - "label": "Befehlsgruppe lösen" - }, - "goto": { - "label": "Gehe zu", - "command": { - "messages": "Nachrichten", - "map": "Karte", - "config": "Einstellungen", - "channels": "Kanäle", - "nodes": "Knoten" - } - }, - "manage": { - "label": "Verwalten", - "command": { - "switchNode": "Knoten wechseln", - "connectNewNode": "Neuen Knoten verbinden" - } - }, - "contextual": { - "label": "Kontextabhängig", - "command": { - "qrCode": "QR Code", - "qrGenerator": "Generator", - "qrImport": "Importieren", - "scheduleShutdown": "Herunterfahren planen", - "scheduleReboot": "Neustarten planen", - "rebootToOtaMode": "Neustart in den OTA Modus", - "resetNodeDb": "Knotendatenbank zurücksetzen", - "factoryResetDevice": "Gerät auf Werkseinstellungen zurücksetzen", - "factoryResetConfig": "Auf Werkseinstellungen zurücksetzen" - } - }, - "debug": { - "label": "Debug", - "command": { - "reconfigure": "Neu einrichten", - "clearAllStoredMessages": "Alle gespeicherten Nachrichten löschen" - } - } + "emptyState": "Keine Ergebnisse gefunden.", + "page": { + "title": "Befehlsmenü" + }, + "pinGroup": { + "label": "Befehlsgruppe anheften" + }, + "unpinGroup": { + "label": "Befehlsgruppe lösen" + }, + "goto": { + "label": "Gehe zu", + "command": { + "messages": "Nachrichten", + "map": "Karte", + "config": "Einstellungen", + "channels": "Kanäle", + "nodes": "Knoten" + } + }, + "manage": { + "label": "Verwalten", + "command": { + "switchNode": "Knoten wechseln", + "connectNewNode": "Neuen Knoten verbinden" + } + }, + "contextual": { + "label": "Kontextabhängig", + "command": { + "qrCode": "QR Code", + "qrGenerator": "Generator", + "qrImport": "Importieren", + "scheduleShutdown": "Herunterfahren planen", + "scheduleReboot": "Neustarten planen", + "rebootToOtaMode": "Neustart in den OTA Modus", + "resetNodeDb": "Knotendatenbank zurücksetzen", + "factoryResetDevice": "Gerät auf Werkseinstellungen zurücksetzen", + "factoryResetConfig": "Auf Werkseinstellungen zurücksetzen", + "disconnect": "Verbindung trennen" + } + }, + "debug": { + "label": "Debug", + "command": { + "reconfigure": "Neu einrichten", + "clearAllStoredMessages": "Alle gespeicherten Nachrichten löschen" + } + } } diff --git a/packages/web/public/i18n/locales/de-DE/deviceConfig.json b/packages/web/public/i18n/locales/de-DE/deviceConfig.json index c14c91a7..3146c9df 100644 --- a/packages/web/public/i18n/locales/de-DE/deviceConfig.json +++ b/packages/web/public/i18n/locales/de-DE/deviceConfig.json @@ -7,7 +7,7 @@ "tabLora": "LoRa", "tabNetwork": "Netzwerk", "tabPosition": "Standort", - "tabPower": "Leistung", + "tabPower": "Energie", "tabSecurity": "Sicherheit" }, "sidebar": { @@ -369,7 +369,7 @@ }, "powerConfigSettings": { "description": "Einstellungen für das Energiemodul", - "label": "Power Konfiguration" + "label": "Energie Einstellungen" }, "sleepSettings": { "description": "Einstellungen Ruhezustand für das Energiemodul", diff --git a/packages/web/public/i18n/locales/de-DE/dialog.json b/packages/web/public/i18n/locales/de-DE/dialog.json index 3e42b005..e1b9a87f 100644 --- a/packages/web/public/i18n/locales/de-DE/dialog.json +++ b/packages/web/public/i18n/locales/de-DE/dialog.json @@ -7,7 +7,13 @@ "description": "Das Gerät wird neu gestartet, sobald die Einstellung gespeichert ist.", "longName": "Langer Name", "shortName": "Kurzname", - "title": "Gerätename ändern" + "title": "Gerätename ändern", + "validation": { + "longNameMax": "Lange Name darf nicht mehr als 40 Zeichen lang sein", + "shortNameMax": "Kurzname darf nicht mehr als 4 Zeichen lang sein", + "longNameMin": "Langer Name muss mindestens 1 Zeichen lang sein", + "shortNameMin": "Kurzname muss mindestens 1 Zeichen lang sein" + } }, "import": { "description": "Die aktuelle LoRa Einstellung wird überschrieben.", @@ -21,9 +27,10 @@ "title": "Kanalsammlung importieren" }, "locationResponse": { + "title": "Standort: {{identifier}}", "altitude": "Höhe: ", "coordinates": "Koordinaten: ", - "title": "Standort: {{identifier}}" + "noCoordinates": "Keine Koordinaten" }, "pkiRegenerateDialog": { "title": "Vorab verteilten Schlüssel (PSK) neu erstellen?", @@ -60,11 +67,15 @@ }, "bluetoothConnection": { "noDevicesPaired": "Noch keine Geräte gekoppelt.", - "newDeviceButton": "Neues Gerät" + "newDeviceButton": "Neues Gerät", + "connectionFailed": "Verbindung fehlgeschlagen", + "deviceDisconnected": "Verbindung getrennt", + "unknownDevice": "Unbekanntes Gerät", + "errorLoadingDevices": "Fehler beim Laden der Geräte", + "unknownErrorLoadingDevices": "Unbekannter Fehler beim Laden der Geräte" }, "validation": { - "requiresWebBluetooth": "Dieser Verbindungstyp erfordert <0>Bluetooth im Browser. Bitte verwenden Sie einen unterstützten Browser, wie Chrome oder Edge.", - "requiresWebSerial": "Dieser Verbindungstyp erfordert <0>Serielle Schnittstelle im Browser. Bitte verwenden Sie einen unterstützten Browser, wie Chrome oder Edge.", + "requiresFeatures": "Dieser Verbindungstyp erfordert <0>. Bitte verwenden Sie einen unterstützten Browser, wie Chrome oder Edge.", "requiresSecureContext": "Diese Anwendung erfordert einen <0>sicheren Kontext. Bitte verbinden Sie sich über HTTPS oder localhost.", "additionallyRequiresSecureContext": "Zusätzlich erfordert es einen <0>sicheren Kontext. Bitte verbinden Sie sich über HTTPS oder localhost." } @@ -161,11 +172,11 @@ "preamble": "Ich habe die", "choosingRightDeviceRole": "Wahl der richtigen Geräterolle", "deviceRoleDocumentation": "Dokumentation der Geräterolle", - "title": "Bist Du sicher?" + "title": "Sind Sie 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 nur durch administrative Nachrichten geändert werden. Diese Einstellung ist für die Fernverwaltung von abgesetzten Knoten nicht erforderlich." + "title": "Sind Sie 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 nur durch administrative Nachrichten geändert werden. Diese Einstellung ist für die Fernverwaltung von abgesetzten Knoten nicht erforderlich." } } diff --git a/packages/web/public/i18n/locales/es-ES/channels.json b/packages/web/public/i18n/locales/es-ES/channels.json index 028e1dc5..979f7edf 100644 --- a/packages/web/public/i18n/locales/es-ES/channels.json +++ b/packages/web/public/i18n/locales/es-ES/channels.json @@ -1,24 +1,24 @@ { "page": { "sectionLabel": "Canales", - "channelName": "Channel: {{channelName}}", - "broadcastLabel": "Primary", - "channelIndex": "Ch {{index}}" + "channelName": "Canal: {{channelName}}", + "broadcastLabel": "Primario", + "channelIndex": "Cnl {{index}}" }, "validation": { - "pskInvalid": "Please enter a valid {{bits}} bit PSK." + "pskInvalid": "Por favor, introduzca un PSK de {{bits}} bit válido." }, "settings": { "label": "Ajustes del canal", - "description": "Crypto, MQTT & misc settings" + "description": "Criptografía, MQTT y otros ajustes" }, "role": { - "label": "Role", - "description": "Device telemetry is sent over PRIMARY. Only one PRIMARY allowed", + "label": "Rol", + "description": "La telemetría del dispositivo se envía sobre PRIMARY. Solo se permite un PRIMARIO", "options": { - "primary": "PRIMARY", - "disabled": "DISABLED", - "secondary": "SECONDARY" + "primary": "PRIMARIO", + "disabled": "DESHABILITADO", + "secondary": "SECUNDARIO" } }, "psk": { diff --git a/packages/web/public/i18n/locales/es-ES/commandPalette.json b/packages/web/public/i18n/locales/es-ES/commandPalette.json index 87d75220..48bf08a8 100644 --- a/packages/web/public/i18n/locales/es-ES/commandPalette.json +++ b/packages/web/public/i18n/locales/es-ES/commandPalette.json @@ -1,50 +1,51 @@ { - "emptyState": "No results found.", - "page": { - "title": "Command Menu" - }, - "pinGroup": { - "label": "Pin command group" - }, - "unpinGroup": { - "label": "Unpin command group" - }, - "goto": { - "label": "Goto", - "command": { - "messages": "Mensajes", - "map": "Mapa", - "config": "Config", - "channels": "Canales", - "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" - } - } + "emptyState": "No results found.", + "page": { + "title": "Command Menu" + }, + "pinGroup": { + "label": "Pin command group" + }, + "unpinGroup": { + "label": "Unpin command group" + }, + "goto": { + "label": "Goto", + "command": { + "messages": "Mensajes", + "map": "Mapa", + "config": "Config", + "channels": "Canales", + "nodes": "Nodos" + } + }, + "manage": { + "label": "Manage", + "command": { + "switchNode": "Switch Node", + "connectNewNode": "Connect New Node" + } + }, + "contextual": { + "label": "Contextual", + "command": { + "qrCode": "QR Code", + "qrGenerator": "Generator", + "qrImport": "Importar", + "scheduleShutdown": "Schedule Shutdown", + "scheduleReboot": "Schedule Reboot", + "rebootToOtaMode": "Reboot To OTA Mode", + "resetNodeDb": "Reset Node DB", + "factoryResetDevice": "Factory Reset Device", + "factoryResetConfig": "Factory Reset Config", + "disconnect": "Desconectar" + } + }, + "debug": { + "label": "Depuración", + "command": { + "reconfigure": "Reconfigure", + "clearAllStoredMessages": "Clear All Stored Message" + } + } } diff --git a/packages/web/public/i18n/locales/es-ES/common.json b/packages/web/public/i18n/locales/es-ES/common.json index 2a0f6b5f..a11c56e4 100644 --- a/packages/web/public/i18n/locales/es-ES/common.json +++ b/packages/web/public/i18n/locales/es-ES/common.json @@ -12,7 +12,7 @@ "export": "Export", "generate": "Generate", "regenerate": "Regenerate", - "import": "Import", + "import": "Importar", "message": "Mensaje", "now": "Now", "ok": "Vale", @@ -23,7 +23,7 @@ "requestPosition": "Request Position", "reset": "Reiniciar", "save": "Guardar", - "scanQr": "Scan QR Code", + "scanQr": "Escanear el código QR", "traceRoute": "Trace Route", "submit": "Submit" }, diff --git a/packages/web/public/i18n/locales/es-ES/dashboard.json b/packages/web/public/i18n/locales/es-ES/dashboard.json index c491b078..84774717 100644 --- a/packages/web/public/i18n/locales/es-ES/dashboard.json +++ b/packages/web/public/i18n/locales/es-ES/dashboard.json @@ -3,8 +3,8 @@ "title": "Connected Devices", "description": "Manage your connected Meshtastic devices.", "connectionType_ble": "BLE", - "connectionType_serial": "Serial", - "connectionType_network": "Red", + "connectionType_serial": "Conexión Serial", + "connectionType_network": "Conexión Red", "noDevicesTitle": "No devices connected", "noDevicesDescription": "Connect a new device to get started.", "button_newConnection": "New Connection" diff --git a/packages/web/public/i18n/locales/es-ES/deviceConfig.json b/packages/web/public/i18n/locales/es-ES/deviceConfig.json index b066f39a..6abfae1f 100644 --- a/packages/web/public/i18n/locales/es-ES/deviceConfig.json +++ b/packages/web/public/i18n/locales/es-ES/deviceConfig.json @@ -1,129 +1,129 @@ { "page": { - "title": "Configuration", + "title": "Configuración", "tabBluetooth": "Bluetooth", "tabDevice": "Dispositivo", "tabDisplay": "Pantalla", "tabLora": "LoRa", - "tabNetwork": "Red", + "tabNetwork": "Conexión Red", "tabPosition": "Posición", - "tabPower": "Energía", + "tabPower": "Consumo", "tabSecurity": "Seguridad" }, "sidebar": { - "label": "Modules" + "label": "Módulos" }, "device": { - "title": "Device Settings", - "description": "Settings for the device", + "title": "Ajustes del dispositivo", + "description": "Ajustes del dispositivo", "buttonPin": { - "description": "Button pin override", - "label": "Button Pin" + "description": "Sobrescribir pin de botón", + "label": "Pin del botón" }, "buzzerPin": { - "description": "Buzzer pin override", - "label": "Buzzer Pin" + "description": "Sobrescribir pin del zumbador", + "label": "Pin del zumbador" }, "disableTripleClick": { - "description": "Disable triple click", - "label": "Disable Triple Click" + "description": "Deshabilitar clic triple", + "label": "Deshabilitar clic triple" }, "doubleTapAsButtonPress": { - "description": "Treat double tap as button press", - "label": "Double Tap as Button Press" + "description": "Tratar doble toque como botón presionado", + "label": "Doble toque como botón presionado" }, "ledHeartbeatDisabled": { - "description": "Disable default blinking LED", - "label": "LED Heartbeat Disabled" + "description": "Deshabilitar parpadeo del LED predeterminado", + "label": "Deshabilitar LED de estado" }, "nodeInfoBroadcastInterval": { - "description": "How often to broadcast node info", - "label": "Node Info Broadcast Interval" + "description": "Cada cuanto se transmite la información del nodo", + "label": "Intervalo de transmisión de información del nodo" }, "posixTimezone": { - "description": "The POSIX timezone string for the device", - "label": "POSIX Timezone" + "description": "La zona horaria para el dispositivo en formato de cadena POSIX", + "label": "Zona horaria POSIX" }, "rebroadcastMode": { - "description": "How to handle rebroadcasting", - "label": "Rebroadcast Mode" + "description": "Cómo manejar la retransmisión", + "label": "Modo de retransmisión" }, "role": { - "description": "What role the device performs on the mesh", - "label": "Role" + "description": "Qué role realiza el dispositivo en la malla", + "label": "Rol" } }, "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.", + "title": "Ajustes de Bluetooth", + "description": "Ajustes del módulo de Bluetooth", + "note": "Nota: Algunos dispositivos (ESP32) no pueden usar Bluetooth y Wifi al mismo tiempo.", "enabled": { - "description": "Enable or disable Bluetooth", - "label": "Enabled" + "description": "Habilitar o deshabilitar Bluetooth", + "label": "Habilitado" }, "pairingMode": { - "description": "Pin selection behaviour.", + "description": "Selección del comportamiento del Pin.", "label": "Modo de emparejamiento" }, "pin": { - "description": "Pin to use when pairing", + "description": "Pin a usar al emparejar", "label": "Pin" } }, "display": { - "description": "Settings for the device display", - "title": "Display Settings", + "description": "Ajustes de la pantalla del dispositivo", + "title": "Ajustes de pantalla", "headingBold": { - "description": "Bolden the heading text", - "label": "Bold Heading" + "description": "Negrita en el texto del encabezado", + "label": "Encabezado en negrita" }, "carouselDelay": { - "description": "How fast to cycle through windows", - "label": "Carousel Delay" + "description": "Que tan rápido cambiar entre pantallas", + "label": "Retraso del carrusel" }, "compassNorthTop": { - "description": "Fix north to the top of compass", - "label": "Compass North Top" + "description": "Fijar el norte en la parte superior de la brújula", + "label": "Norte arriba de la brújula" }, "displayMode": { - "description": "Screen layout variant", - "label": "Display Mode" + "description": "Variante del diseño de la pantalla", + "label": "Modo de visualización" }, "displayUnits": { - "description": "Display metric or imperial units", - "label": "Display Units" + "description": "Mostrar unidades de medidas métricas o imperiales", + "label": "Unidades de medidas" }, "flipScreen": { - "description": "Flip display 180 degrees", - "label": "Flip Screen" + "description": "Rotar pantalla 180 grados", + "label": "Rotar pantalla" }, "gpsDisplayUnits": { - "description": "Coordinate display format", - "label": "GPS Display Units" + "description": "Formato de visualización de las coordenadas", + "label": "Unidades de visualización del GPS" }, "oledType": { - "description": "Type of OLED screen attached to the device", - "label": "OLED Type" + "description": "Tipo de pantalla OLED conectada al dispositivo", + "label": "Tipo de OLED" }, "screenTimeout": { - "description": "Turn off the display after this long", - "label": "Screen Timeout" + "description": "Apagar la pantalla después de este tiempo", + "label": "Tiempo de espera de la pantalla" }, "twelveHourClock": { - "description": "Use 12-hour clock format", - "label": "12-Hour Clock" + "description": "Usar reloj con formato de 12 horas", + "label": "Reloj de 12 horas" }, "wakeOnTapOrMotion": { - "description": "Wake the device on tap or motion", - "label": "Wake on Tap or Motion" + "description": "Despertar dispositivo al tocar o mover", + "label": "Despertar al mover o tocar" } }, "lora": { - "title": "Mesh Settings", + "title": "Ajustes de la Red", "description": "Settings for the LoRa mesh", "bandwidth": { "description": "Channel bandwidth in MHz", - "label": "Bandwidth" + "label": "Ancho de Banda" }, "boostedRxGain": { "description": "Boosted RX gain", @@ -147,7 +147,7 @@ }, "ignoreMqtt": { "description": "Don't forward MQTT messages over the mesh", - "label": "Ignore MQTT" + "label": "Ignorar Paquetes MQTT" }, "modemPreset": { "description": "Modem preset to use", @@ -155,11 +155,11 @@ }, "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" + "label": "Permitir Subir Paquetes al MQTT" }, "overrideDutyCycle": { - "description": "Override Duty Cycle", - "label": "Override Duty Cycle" + "description": "Sobreescribir el Tiempo de Trabajo", + "label": "Sobreescribir el Tiempo de Trabajo" }, "overrideFrequency": { "description": "Override frequency", @@ -187,7 +187,7 @@ }, "meshSettings": { "description": "Settings for the LoRa mesh", - "label": "Mesh Settings" + "label": "Ajustes de la Red" }, "waveformSettings": { "description": "Settings for the LoRa waveform", @@ -201,7 +201,7 @@ "network": { "title": "WiFi Config", "description": "WiFi radio configuration", - "note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.", + "note": "Nota: Algunos dispositivos (ESP32) no pueden usar Bluetooth y Wifi al mismo tiempo.", "addressMode": { "description": "Address assignment selection", "label": "Address Mode" @@ -212,11 +212,11 @@ }, "ethernetEnabled": { "description": "Enable or disable the Ethernet port", - "label": "Enabled" + "label": "Habilitado" }, "gateway": { "description": "Default Gateway", - "label": "Gateway" + "label": "Puerta enlace" }, "ip": { "description": "IP Address", @@ -224,19 +224,19 @@ }, "psk": { "description": "Network password", - "label": "PSK" + "label": "PSK (Contraseña)" }, "ssid": { "description": "Network name", - "label": "SSID" + "label": "SSID (Nombre la Red)" }, "subnet": { "description": "Subnet Mask", - "label": "Subnet" + "label": "Subred" }, "wifiEnabled": { "description": "Enable or disable the WiFi radio", - "label": "Enabled" + "label": "Habilitado" }, "meshViaUdp": { "label": "Mesh via UDP" @@ -328,7 +328,7 @@ "hdopVdop": "If DOP is set, use HDOP / VDOP values instead of PDOP", "numSatellites": "Number of satellites", "sequenceNumber": "Sequence number", - "timestamp": "Timestamp", + "timestamp": "Fecha", "unset": "Sin configurar", "vehicleHeading": "Vehicle heading", "vehicleSpeed": "Vehicle speed" @@ -357,7 +357,7 @@ }, "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" + "label": "Activar el modo ahorro de energía" }, "shutdownOnBatteryDelay": { "description": "Automatically shutdown node after this long when on battery, 0 for indefinite", @@ -369,7 +369,7 @@ }, "powerConfigSettings": { "description": "Settings for the power module", - "label": "Power Config" + "label": "Configuración de elecenergía " }, "sleepSettings": { "description": "Sleep settings for the power module", diff --git a/packages/web/public/i18n/locales/es-ES/dialog.json b/packages/web/public/i18n/locales/es-ES/dialog.json index 453852e3..49e408b7 100644 --- a/packages/web/public/i18n/locales/es-ES/dialog.json +++ b/packages/web/public/i18n/locales/es-ES/dialog.json @@ -7,7 +7,13 @@ "description": "The Device will restart once the config is saved.", "longName": "Long Name", "shortName": "Short Name", - "title": "Change Device Name" + "title": "Change Device Name", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { "description": "The current LoRa configuration will be overridden.", @@ -21,9 +27,10 @@ "title": "Import Channel Set" }, "locationResponse": { + "title": "Location: {{identifier}}", "altitude": "Altitude: ", "coordinates": "Coordinates: ", - "title": "Location: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { "title": "Regenerate Pre-Shared Key?", @@ -36,10 +43,10 @@ "http": "http", "tabHttp": "HTTP", "tabBluetooth": "Bluetooth", - "tabSerial": "Serial", + "tabSerial": "Conexión Serial", "useHttps": "Use HTTPS", "connecting": "Connecting...", - "connect": "Connect", + "connect": "Conectar", "connectionFailedAlert": { "title": "Connection Failed", "descriptionPrefix": "Could not connect to the device. ", @@ -60,11 +67,15 @@ }, "bluetoothConnection": { "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "New device" + "newDeviceButton": "New device", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth. Please use a supported browser, like Chrome or Edge.", - "requiresWebSerial": "This connection type requires <0>Web Serial. Please use a supported browser, like Chrome or Edge.", + "requiresFeatures": "This connection type requires <0>. Please use a supported browser, like Chrome or Edge.", "requiresSecureContext": "This application requires a <0>secure context. Please connect using HTTPS or localhost.", "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context. Please connect using HTTPS or localhost." } @@ -166,6 +177,6 @@ "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 only be changed through Remote Admin messages. This setting is not required for remote node administration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/es-ES/messages.json b/packages/web/public/i18n/locales/es-ES/messages.json index 831ad48b..71238ea1 100644 --- a/packages/web/public/i18n/locales/es-ES/messages.json +++ b/packages/web/public/i18n/locales/es-ES/messages.json @@ -16,7 +16,7 @@ }, "actionsMenu": { "addReactionLabel": "Add Reaction", - "replyLabel": "Reply" + "replyLabel": "Respuesta" }, "deliveryStatus": { "delivered": { diff --git a/packages/web/public/i18n/locales/es-ES/moduleConfig.json b/packages/web/public/i18n/locales/es-ES/moduleConfig.json index 48dfe111..54e11bea 100644 --- a/packages/web/public/i18n/locales/es-ES/moduleConfig.json +++ b/packages/web/public/i18n/locales/es-ES/moduleConfig.json @@ -1,17 +1,17 @@ { "page": { - "tabAmbientLighting": "Ambient Lighting", + "tabAmbientLighting": "Luz Ambiental", "tabAudio": "Audio", "tabCannedMessage": "Canned", - "tabDetectionSensor": "Detection Sensor", + "tabDetectionSensor": "Sensor de Presencia", "tabExternalNotification": "Ext Notif", "tabMqtt": "MQTT", - "tabNeighborInfo": "Neighbor Info", - "tabPaxcounter": "Paxcounter", - "tabRangeTest": "Range Test", - "tabSerial": "Serial", + "tabNeighborInfo": "Información de Vecinos", + "tabPaxcounter": "Contador de Paquetes", + "tabRangeTest": "Test de Alcance", + "tabSerial": "Conexión Serial", "tabStoreAndForward": "S&F", - "tabTelemetry": "Telemetry" + "tabTelemetry": "Telemetría" }, "ambientLighting": { "title": "Ambient Lighting Settings", @@ -25,15 +25,15 @@ "description": "Sets the current for the LED output. Default is 10" }, "red": { - "label": "Red", + "label": "Rojo", "description": "Sets the red LED level. Values are 0-255" }, "green": { - "label": "Green", + "label": "Verde", "description": "Sets the green LED level. Values are 0-255" }, "blue": { - "label": "Blue", + "label": "Azul", "description": "Sets the blue LED level. Values are 0-255" } }, @@ -121,7 +121,7 @@ "title": "Detection Sensor Settings", "description": "Settings for the Detection Sensor module", "enabled": { - "label": "Enabled", + "label": "Habilitado", "description": "Enable or disable Detection Sensor Module" }, "minimumBroadcastSecs": { @@ -221,7 +221,7 @@ "title": "MQTT Settings", "description": "Settings for the MQTT module", "enabled": { - "label": "Enabled", + "label": "Habilitado", "description": "Enable or disable MQTT" }, "address": { @@ -297,7 +297,7 @@ "title": "Neighbor Info Settings", "description": "Settings for the Neighbor Info module", "enabled": { - "label": "Enabled", + "label": "Habilitado", "description": "Enable or disable Neighbor Info Module" }, "updateInterval": { @@ -389,11 +389,11 @@ "description": "Enable Store & Forward heartbeat" }, "records": { - "label": "Number of records", + "label": "Número de registros", "description": "Number of records to store" }, "historyReturnMax": { - "label": "History return max", + "label": "Historial máximo devuelto", "description": "Max number of records to return" }, "historyReturnWindow": { @@ -406,10 +406,10 @@ "description": "Settings for the Telemetry module", "deviceUpdateInterval": { "label": "Device Metrics", - "description": "Device metrics update interval (seconds)" + "description": "Periodo entre las actualizaciones de las medidas del dispositivo (segundos) " }, "environmentUpdateInterval": { - "label": "Environment metrics update interval (seconds)", + "label": "Periodo de refresco para las medidas del entorno", "description": "" }, "environmentMeasurementEnabled": { diff --git a/packages/web/public/i18n/locales/es-ES/ui.json b/packages/web/public/i18n/locales/es-ES/ui.json index 3eb3ea83..e7a1b959 100644 --- a/packages/web/public/i18n/locales/es-ES/ui.json +++ b/packages/web/public/i18n/locales/es-ES/ui.json @@ -7,7 +7,7 @@ "radioConfig": "Radio Config", "moduleConfig": "Module Config", "channels": "Canales", - "nodes": "Nodes" + "nodes": "Nodos" }, "app": { "title": "Meshtastic", @@ -23,7 +23,7 @@ "deviceInfo": { "volts": "{{voltage}} volts", "firmware": { - "title": "Firmware", + "title": "Software", "version": "v{{version}}", "buildDate": "Build date: {{date}}" }, @@ -108,7 +108,7 @@ "label": "Copy to clipboard" }, "hidePassword": { - "label": "Hide password" + "label": "Ocultar contraseña" }, "showPassword": { "label": "Mostrar contraseña" @@ -130,7 +130,7 @@ "label": "Metrics" }, "role": { - "label": "Role" + "label": "Rol" }, "filter": { "label": "Filtro" diff --git a/packages/web/public/i18n/locales/fi-FI/commandPalette.json b/packages/web/public/i18n/locales/fi-FI/commandPalette.json index 4663e4fe..07037002 100644 --- a/packages/web/public/i18n/locales/fi-FI/commandPalette.json +++ b/packages/web/public/i18n/locales/fi-FI/commandPalette.json @@ -1,50 +1,51 @@ { - "emptyState": "Tuloksia ei löytynyt.", - "page": { - "title": "Komentovalikko" - }, - "pinGroup": { - "label": "Kiinnitä komentoryhmä" - }, - "unpinGroup": { - "label": "Irroita komentoryhmä" - }, - "goto": { - "label": "Siirry", - "command": { - "messages": "Viestit", - "map": "Kartta", - "config": "Asetukset", - "channels": "Kanavat", - "nodes": "Laitteet" - } - }, - "manage": { - "label": "Hallinnoi", - "command": { - "switchNode": "Vaihda laitetta", - "connectNewNode": "Yhdistä uusi laite" - } - }, - "contextual": { - "label": "Kontekstin mukainen", - "command": { - "qrCode": "QR-koodi", - "qrGenerator": "QR-koodigeneraattori", - "qrImport": "Tuo", - "scheduleShutdown": "Ajasta sammutus", - "scheduleReboot": "Ajasta uudelleenkäynnistys", - "rebootToOtaMode": "Uudelleenkäynnistä OTA-tilaan", - "resetNodeDb": "Nollaa laitteen DB-tietokanta", - "factoryResetDevice": "Palauta tehdasasetukset", - "factoryResetConfig": "Tehdasasetusten palautusasetukset" - } - }, - "debug": { - "label": "Vianetsintä", - "command": { - "reconfigure": "Määritä uudelleen", - "clearAllStoredMessages": "Tyhjennä kaikki tallennetut viesti" - } - } + "emptyState": "Tuloksia ei löytynyt.", + "page": { + "title": "Komentovalikko" + }, + "pinGroup": { + "label": "Kiinnitä komentoryhmä" + }, + "unpinGroup": { + "label": "Irroita komentoryhmä" + }, + "goto": { + "label": "Siirry", + "command": { + "messages": "Viestit", + "map": "Kartta", + "config": "Asetukset", + "channels": "Kanavat", + "nodes": "Laitteet" + } + }, + "manage": { + "label": "Hallinnoi", + "command": { + "switchNode": "Vaihda laitetta", + "connectNewNode": "Yhdistä uusi laite" + } + }, + "contextual": { + "label": "Kontekstin mukainen", + "command": { + "qrCode": "QR-koodi", + "qrGenerator": "QR-koodigeneraattori", + "qrImport": "Tuo", + "scheduleShutdown": "Ajasta sammutus", + "scheduleReboot": "Ajasta uudelleenkäynnistys", + "rebootToOtaMode": "Uudelleenkäynnistä OTA-tilaan", + "resetNodeDb": "Nollaa laitteen DB-tietokanta", + "factoryResetDevice": "Palauta tehdasasetukset", + "factoryResetConfig": "Tehdasasetusten palautusasetukset", + "disconnect": "Katkaise yhteys" + } + }, + "debug": { + "label": "Vianetsintä", + "command": { + "reconfigure": "Määritä uudelleen", + "clearAllStoredMessages": "Tyhjennä kaikki tallennetut viesti" + } + } } diff --git a/packages/web/public/i18n/locales/fi-FI/dialog.json b/packages/web/public/i18n/locales/fi-FI/dialog.json index f858e9d4..3bf6b787 100644 --- a/packages/web/public/i18n/locales/fi-FI/dialog.json +++ b/packages/web/public/i18n/locales/fi-FI/dialog.json @@ -7,7 +7,13 @@ "description": "Laite käynnistyy uudelleen, kun asetus on tallennettu.", "longName": "Pitkä nimi", "shortName": "Lyhytnimi", - "title": "Vaihda laitteen nimi" + "title": "Vaihda laitteen nimi", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { "description": "Nykyinen LoRa-asetus ylikirjoitetaan.", @@ -21,9 +27,10 @@ "title": "Tuo kanava-asetukset" }, "locationResponse": { + "title": "Sijainti: {{identifier}}", "altitude": "Korkeus: ", "coordinates": "Koordinaatit: ", - "title": "Sijainti: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { "title": "Luodaanko ennalta jaettu avain uudelleen?", @@ -60,11 +67,15 @@ }, "bluetoothConnection": { "noDevicesPaired": "Yhtään laitetta ei ole vielä yhdistetty.", - "newDeviceButton": "Uusi laite" + "newDeviceButton": "Uusi laite", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "Tämä yhteystyyppi vaatii <0>Web-sarjaportti bluetooth -tuen. Käytä tuettua selainta, kuten Chromea tai Edgeä.", - "requiresWebSerial": "Tämä yhteystyyppi vaatii <0>Web-sarjaportti -tuen. Käytä tuettua selainta, kuten Chromea tai Edgeä.", + "requiresFeatures": "Tämä yhteystyyppi vaatii <0>. Käytä tuettua selainta, kuten Chromea tai Edgeä.", "requiresSecureContext": "Tämä sovellus vaatii <0>suojatun yhteyden. Yhdistä käyttämällä HTTPS:ää tai localhostia.", "additionallyRequiresSecureContext": "Lisäksi se vaatii <0>suojatun yhteyden. Yhdistä käyttämällä HTTPS:ää tai localhostia." } @@ -166,6 +177,6 @@ "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 vain etähallintaviestien kautta. Tämä asetus ei ole pakollinen etähallittavien laitteiden hallintaan." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/fr-FR/channels.json b/packages/web/public/i18n/locales/fr-FR/channels.json index c0f5bb1e..25545492 100644 --- a/packages/web/public/i18n/locales/fr-FR/channels.json +++ b/packages/web/public/i18n/locales/fr-FR/channels.json @@ -1,69 +1,69 @@ { "page": { "sectionLabel": "Canaux", - "channelName": "Channel: {{channelName}}", + "channelName": "Canal {{channelName}}", "broadcastLabel": "Principal", - "channelIndex": "Ch {{index}}" + "channelIndex": "Ca {{index}}" }, "validation": { - "pskInvalid": "Please enter a valid {{bits}} bit PSK." + "pskInvalid": "Veuillez entrer une clé PSK valide de {{bits}} bits." }, "settings": { "label": "Paramètres du canal", - "description": "Crypto, MQTT & misc settings" + "description": "Paramètres Crypto, MQTT et divers" }, "role": { "label": "Rôle", - "description": "Device telemetry is sent over PRIMARY. Only one PRIMARY allowed", + "description": "La télémétrie de l’appareil est envoyée via le canal PRINCIPAL. Un seul canal PRINCIPAL est autorisé.", "options": { - "primary": "PRIMARY", - "disabled": "DISABLED", - "secondary": "SECONDARY" + "primary": "PRINCIPAL", + "disabled": "DÉSACTIVÉ", + "secondary": "SECONDAIRE" } }, "psk": { - "label": "Pre-Shared Key", - "description": "Supported PSK lengths: 256-bit, 128-bit, 8-bit, Empty (0-bit)", - "generate": "Generate" + "label": "Clé partagée", + "description": "Longueurs de clé PSK prises en charge : 256 bits, 128 bits, 8 bits, vide (0 bit)", + "generate": "Générer" }, "name": { "label": "Nom", - "description": "A unique name for the channel <12 bytes, leave blank for default" + "description": "Un nom unique pour le canal (<12 octets), laisser vide pour utiliser la valeur par défaut" }, "uplinkEnabled": { - "label": "Uplink Enabled", - "description": "Send messages from the local mesh to MQTT" + "label": "Liaison montante activée", + "description": "Envoyer les messages du maillage local vers MQTT" }, "downlinkEnabled": { - "label": "Downlink Enabled", - "description": "Send messages from MQTT to the local mesh" + "label": "Liaison descendante activée", + "description": "Envoyer les messages de MQTT vers le maillage local" }, "positionPrecision": { - "label": "Location", - "description": "The precision of the location to share with the channel. Can be disabled.", + "label": "Position", + "description": "La précision de la position à partager avec le canal. Peut être désactivée.", "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" + "none": "Ne pas partager la position", + "precise": "Position précise", + "metric_km23": "À moins de 23 kilomètres", + "metric_km12": "À moins de 12 kilomètres", + "metric_km5_8": "À moins de 5,8 kilomètres", + "metric_km2_9": "À moins de 2,9 kilomètres", + "metric_km1_5": "À moins de 1,5 kilomètres", + "metric_m700": "À moins de 700 mètres", + "metric_m350": "À moins de 350 mètres", + "metric_m200": "À moins de 200 mètres", + "metric_m90": "À moins de 90 mètres", + "metric_m50": "À moins de 50 mètres", + "imperial_mi15": "À moins de 15 miles", + "imperial_mi7_3": "À moins de 7,3 miles", + "imperial_mi3_6": "À moins de 3,6 miles", + "imperial_mi1_8": "À moins de 1,8 miles", + "imperial_mi0_9": "À moins de 0,9 miles", + "imperial_mi0_5": "À moins de 0,5 miles", + "imperial_mi0_2": "À moins de 0,2 miles", + "imperial_ft600": "À moins de 600 pieds", + "imperial_ft300": "À moins de 300 pieds", + "imperial_ft150": "À moins de 150 pieds" } } } diff --git a/packages/web/public/i18n/locales/fr-FR/commandPalette.json b/packages/web/public/i18n/locales/fr-FR/commandPalette.json index 15762aba..169f4213 100644 --- a/packages/web/public/i18n/locales/fr-FR/commandPalette.json +++ b/packages/web/public/i18n/locales/fr-FR/commandPalette.json @@ -1,50 +1,51 @@ { - "emptyState": "No results found.", - "page": { - "title": "Command Menu" - }, - "pinGroup": { - "label": "Pin command group" - }, - "unpinGroup": { - "label": "Unpin command group" - }, - "goto": { - "label": "Goto", - "command": { - "messages": "Messages", - "map": "Carte", - "config": "Config", - "channels": "Canaux", - "nodes": "Noeuds" - } - }, - "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" - } - } + "emptyState": "Aucun résultat trouvé.", + "page": { + "title": "Menu des commandes" + }, + "pinGroup": { + "label": "Attacher le groupe de commandes" + }, + "unpinGroup": { + "label": "Détacher le groupe de commandes" + }, + "goto": { + "label": "Aller à", + "command": { + "messages": "Messages", + "map": "Carte", + "config": "Config", + "channels": "Canaux", + "nodes": "Noeuds" + } + }, + "manage": { + "label": "Gérer", + "command": { + "switchNode": "Changer de nœud ", + "connectNewNode": "Connecter un nouveau noeud" + } + }, + "contextual": { + "label": "Contextuel", + "command": { + "qrCode": "Code QR", + "qrGenerator": "Générateur", + "qrImport": "Importer", + "scheduleShutdown": "Planifier l'arrêt", + "scheduleReboot": "Effacer tous les messages stockés", + "rebootToOtaMode": "Redémarrer en mode OTA", + "resetNodeDb": "Réinitialiser la DB des nœuds", + "factoryResetDevice": "Réinitialisation d'usine de l'appareil", + "factoryResetConfig": "Réinitialisation d'usine de la config", + "disconnect": "Déconnecter" + } + }, + "debug": { + "label": "Debug", + "command": { + "reconfigure": "Reconfigurer", + "clearAllStoredMessages": "Effacer tous les messages stockés" + } + } } diff --git a/packages/web/public/i18n/locales/fr-FR/common.json b/packages/web/public/i18n/locales/fr-FR/common.json index cb258e15..4739b11f 100644 --- a/packages/web/public/i18n/locales/fr-FR/common.json +++ b/packages/web/public/i18n/locales/fr-FR/common.json @@ -1,55 +1,55 @@ { "button": { "apply": "Appliquer", - "backupKey": "Backup Key", + "backupKey": "Clé de sauvegarde", "cancel": "Annuler", - "clearMessages": "Clear Messages", + "clearMessages": "Effacer les messages", "close": "Fermer", - "confirm": "Confirm", + "confirm": "Confirmer", "delete": "Effacer", "dismiss": "Annuler", - "download": "Download", - "export": "Export", - "generate": "Generate", - "regenerate": "Regenerate", - "import": "Import", + "download": "Télécharger", + "export": "Exporter", + "generate": "Générer", + "regenerate": "Regénérer", + "import": "Importer", "message": "Message", - "now": "Now", + "now": "Maintenant", "ok": "D'accord", - "print": "Print", - "rebootOtaNow": "Reboot to OTA Mode Now", + "print": "Imprimer", + "rebootOtaNow": "Redémarrer en mode OTA", "remove": "Supprimer", - "requestNewKeys": "Request New Keys", - "requestPosition": "Request Position", + "requestNewKeys": "Demander de nouvelles clés", + "requestPosition": "Demander la position", "reset": "Réinitialiser", "save": "Sauvegarder", - "scanQr": "Scan QR Code", - "traceRoute": "Trace Route", - "submit": "Submit" + "scanQr": "Scanner le code QR", + "traceRoute": "Analyse du trajet réseau", + "submit": "Envoyer" }, "app": { "title": "Meshtastic", - "fullTitle": "Meshtastic Web Client" + "fullTitle": "Client Web Meshtastic" }, - "loading": "Loading...", + "loading": "Chargement...", "unit": { "cps": "CPS", "dbm": "dBm", "hertz": "Hz", "hop": { - "one": "Hop", - "plural": "Hops" + "one": "Saut", + "plural": "Sauts" }, "hopsAway": { - "one": "{{count}} hop away", - "plural": "{{count}} hops away", - "unknown": "Unknown hops away" + "one": "À {{count}} saut", + "plural": "À {{count}} sauts", + "unknown": "Nombre de sauts inconnu" }, "megahertz": "MHz", - "raw": "raw", + "raw": "brute", "meter": { - "one": "Meter", - "plural": "Meters", + "one": "Mètre", + "plural": "Mètres", "suffix": "m" }, "minute": { @@ -57,29 +57,29 @@ "plural": "Minutes" }, "hour": { - "one": "Hour", - "plural": "Hours" + "one": "Heure", + "plural": "Heures" }, "millisecond": { - "one": "Millisecond", - "plural": "Milliseconds", + "one": "Milliseconde", + "plural": "Millisecondes", "suffix": "ms" }, "second": { - "one": "Second", - "plural": "Seconds" + "one": "Seconde", + "plural": "Secondes" }, "day": { - "one": "Day", - "plural": "Days" + "one": "Jour", + "plural": "Jours" }, "month": { - "one": "Month", - "plural": "Months" + "one": "Mois", + "plural": "Mois" }, "year": { - "one": "Year", - "plural": "Years" + "one": "Année", + "plural": "Années" }, "snr": "SNR", "volt": { @@ -88,54 +88,54 @@ "suffix": "V" }, "record": { - "one": "Records", - "plural": "Records" + "one": "Enregistrement", + "plural": "Enregistrements" } }, "security": { - "0bit": "Empty", - "8bit": "8 bit", - "128bit": "128 bit", - "256bit": "256 bit" + "0bit": "Vide", + "8bit": "8 bits", + "128bit": "128 bits", + "256bit": "256 bits" }, "unknown": { "longName": "Inconnu", "shortName": "UNK", - "notAvailable": "N/A", + "notAvailable": "Indisponible", "num": "??" }, "nodeUnknownPrefix": "!", - "unset": "UNSET", + "unset": "DÉSACTIVER", "fallbackName": "Meshtastic {{last4}}", - "node": "Node", + "node": "Noeud", "formValidation": { - "unsavedChanges": "Unsaved changes", + "unsavedChanges": "Modifications non enregistrées", "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." + "string": "Trop long : {{maximum}} caractères maximum autorisés.", + "number": "Trop grand, un nombre inférieur ou égal à {{maximum}} est attendu.", + "bytes": "Taille trop grand : maximum {{params.maximum}} octets autorisés." }, "tooSmall": { - "string": "Too short, expected more than or equal to {{minimum}} characters.", - "number": "Too small, expected a number larger than or equal to {{minimum}}." + "string": "Trop court : au moins {{minimum}} caractères requis.", + "number": "Valeur trop basse : minimum {{minimum}} requis." }, "invalidFormat": { - "ipv4": "Invalid format, expected an IPv4 address.", - "key": "Invalid format, expected a Base64 encoded pre-shared key (PSK)." + "ipv4": "Format invalide, adresse IPv4 attendue.", + "key": "Format incorrect, la clé PSK doit être encodée en Base64." }, "invalidType": { - "number": "Invalid type, expected a number." + "number": "Type incorrect, nombre attendu." }, "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)." + "0bit": "La clé doit être vide.", + "8bit": "La clé doit être une clé pré-partagée (PSK) de 8 bits.", + "128bit": "La clé doit être une clé pré-partagée (PSK) de 128 bits.", + "256bit": "La clé doit être une clé pré-partagée (PSK) de 256 bits." }, "required": { - "generic": "This field is required.", - "managed": "At least one admin key is requred if the node is managed.", - "key": "Key is required." + "generic": "Ce champ est obligatoire.", + "managed": "Au moins une clé d’administration est requise si le nœud est géré.", + "key": "Clé requise." } } } diff --git a/packages/web/public/i18n/locales/fr-FR/dashboard.json b/packages/web/public/i18n/locales/fr-FR/dashboard.json index d4d332e2..b398ae49 100644 --- a/packages/web/public/i18n/locales/fr-FR/dashboard.json +++ b/packages/web/public/i18n/locales/fr-FR/dashboard.json @@ -1,12 +1,12 @@ { "dashboard": { - "title": "Connected Devices", - "description": "Manage your connected Meshtastic devices.", + "title": "Appareils connectés", + "description": "Gérez vos périphériques Meshtastic connectés.", "connectionType_ble": "BLE", "connectionType_serial": "Série", "connectionType_network": "Réseau", - "noDevicesTitle": "No devices connected", - "noDevicesDescription": "Connect a new device to get started.", - "button_newConnection": "New Connection" + "noDevicesTitle": "Aucun appareil connecté", + "noDevicesDescription": "Connectez un nouvel appareil pour commencer.", + "button_newConnection": "Nouvelle connexion" } } diff --git a/packages/web/public/i18n/locales/fr-FR/deviceConfig.json b/packages/web/public/i18n/locales/fr-FR/deviceConfig.json index 5d5a95ab..baaedbc7 100644 --- a/packages/web/public/i18n/locales/fr-FR/deviceConfig.json +++ b/packages/web/public/i18n/locales/fr-FR/deviceConfig.json @@ -14,147 +14,147 @@ "label": "Modules" }, "device": { - "title": "Device Settings", - "description": "Settings for the device", + "title": "Paramètres de l'appareil", + "description": "Paramètres de l'appareil", "buttonPin": { - "description": "Button pin override", - "label": "Button Pin" + "description": "Redéfinition de la broche du bouton", + "label": "Broche du bouton" }, "buzzerPin": { - "description": "Buzzer pin override", - "label": "Buzzer Pin" + "description": "Redéfinition de la broche du buzzer", + "label": "Broche du buzzer" }, "disableTripleClick": { - "description": "Disable triple click", - "label": "Disable Triple Click" + "description": "Désactiver le triple clic", + "label": "Désactiver le triple clic" }, "doubleTapAsButtonPress": { - "description": "Treat double tap as button press", - "label": "Double Tap as Button Press" + "description": "Considérer le double tapotement comme un appui sur le bouton", + "label": "Double tapotement comme appui bouton" }, "ledHeartbeatDisabled": { - "description": "Disable default blinking LED", - "label": "LED Heartbeat Disabled" + "description": "Désactiver le clignotement LED par défaut", + "label": "Clignotement LED désactivé" }, "nodeInfoBroadcastInterval": { - "description": "How often to broadcast node info", - "label": "Node Info Broadcast Interval" + "description": "Fréquence de diffusion des informations du nœud", + "label": "Intervalle de diffusion des infos nœud" }, "posixTimezone": { - "description": "The POSIX timezone string for the device", + "description": "Chaîne de fuseau horaire POSIX pour l'appareil", "label": "Zone horaire POSIX" }, "rebroadcastMode": { - "description": "How to handle rebroadcasting", - "label": "Rebroadcast Mode" + "description": "Mode de réémission des messages", + "label": "Mode de réémission" }, "role": { - "description": "What role the device performs on the mesh", + "description": "Rôle de l'appareil dans le réseau mesh", "label": "Rôle" } }, "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.", + "title": "Paramètres Bluetooth", + "description": "Paramètres du module Bluetooth", + "note": "Note: Certains appareils (ESP32) ne peuvent pas utiliser à la fois Bluetooth et WiFi en même temps.", "enabled": { - "description": "Enable or disable Bluetooth", + "description": "Activer ou désactiver le Bluetooth", "label": "Activé" }, "pairingMode": { - "description": "Pin selection behaviour.", + "description": "Titre en gras", "label": "Mode d'appariement" }, "pin": { - "description": "Pin to use when pairing", - "label": "Pin" + "description": "Broche utilisée pour l'appairage", + "label": "Broche" } }, "display": { - "description": "Settings for the device display", - "title": "Display Settings", + "description": "Paramètres d'affichage de l'appareil", + "title": "Paramètres d'affichage", "headingBold": { - "description": "Bolden the heading text", - "label": "Bold Heading" + "description": "Mettre le titre en gras", + "label": "Titre en gras" }, "carouselDelay": { - "description": "How fast to cycle through windows", - "label": "Carousel Delay" + "description": "Vitesse de défilement des fenêtres", + "label": "Délai du carrousel" }, "compassNorthTop": { - "description": "Fix north to the top of compass", - "label": "Compass North Top" + "description": "Fixer le nord en haut de la boussole", + "label": "Nord en haut de la boussole" }, "displayMode": { - "description": "Screen layout variant", - "label": "Display Mode" + "description": "Variante de disposition d'affichage", + "label": "Mode d'affichage" }, "displayUnits": { - "description": "Display metric or imperial units", - "label": "Display Units" + "description": "Afficher en unités métriques ou impériales", + "label": "Unités affichées" }, "flipScreen": { - "description": "Flip display 180 degrees", - "label": "Flip Screen" + "description": "Faire pivoter l'affichage de 180 degrés", + "label": "Faire pivoter l'écran" }, "gpsDisplayUnits": { - "description": "Coordinate display format", - "label": "GPS Display Units" + "description": "Format d'affichage des coordonnées", + "label": "Unités GPS" }, "oledType": { - "description": "Type of OLED screen attached to the device", - "label": "OLED Type" + "description": "Type d'écran OLED connecté à l'appareil", + "label": "Type d'OLED" }, "screenTimeout": { - "description": "Turn off the display after this long", - "label": "Screen Timeout" + "description": "Temps avant extinction de l'écran", + "label": "Délai d'extinction de l'écran" }, "twelveHourClock": { - "description": "Use 12-hour clock format", - "label": "12-Hour Clock" + "description": "Utiliser le format horaire 12 heures", + "label": "Horloge 12 h" }, "wakeOnTapOrMotion": { - "description": "Wake the device on tap or motion", - "label": "Wake on Tap or Motion" + "description": "Réveiller l'appareil en cas de tapotement ou de mouvement", + "label": "Réveil par tapotement ou mouvement" } }, "lora": { - "title": "Mesh Settings", - "description": "Settings for the LoRa mesh", + "title": "Paramètres maillage", + "description": "Paramètres du réseau maillé LoRa", "bandwidth": { - "description": "Channel bandwidth in MHz", + "description": "Largeur de bande du canal en MHz", "label": "Bande Passante" }, "boostedRxGain": { - "description": "Boosted RX gain", - "label": "Boosted RX Gain" + "description": "Gain de réception amplifié", + "label": "Gain RX amplifié" }, "codingRate": { - "description": "The denominator of the coding rate", - "label": "Coding Rate" + "description": "Dénominateur du taux de codage", + "label": "Taux de codage" }, "frequencyOffset": { - "description": "Frequency offset to correct for crystal calibration errors", - "label": "Frequency Offset" + "description": "Décalage de fréquence pour corriger les erreurs d'étalonnage du cristal", + "label": "Décalage de fréquence" }, "frequencySlot": { - "description": "LoRa frequency channel number", - "label": "Frequency Slot" + "description": "Numéro du canal de fréquence LoRa", + "label": "Slot de fréquence" }, "hopLimit": { - "description": "Maximum number of hops", - "label": "Hop Limit" + "description": "Nombre maximum de sauts", + "label": "Limite de sauts" }, "ignoreMqtt": { - "description": "Don't forward MQTT messages over the mesh", + "description": "Ne pas transférer les messages MQTT sur le maillage", "label": "Ignorer MQTT" }, "modemPreset": { - "description": "Modem preset to use", - "label": "Modem Preset" + "description": "Préréglage du modem à utiliser", + "label": "Préréglage du modem" }, "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": "Si activé, permet la publication du paquet sur MQTT. Sinon, les nœuds distants ne doivent pas relayer les paquets vers MQTT.", "label": "OK vers MQTT" }, "overrideDutyCycle": { @@ -162,267 +162,267 @@ "label": "Ne pas prendre en compte la limite d'utilisation" }, "overrideFrequency": { - "description": "Override frequency", - "label": "Override Frequency" + "description": "Remplacement de la fréquence", + "label": "Fréquence personnalisée" }, "region": { - "description": "Sets the region for your node", + "description": "Définit la région pour votre nœud", "label": "Région" }, "spreadingFactor": { - "description": "Indicates the number of chirps per symbol", - "label": "Spreading Factor" + "description": "Nombre de chirps par symbole", + "label": "Facteur d'étalement" }, "transmitEnabled": { - "description": "Enable/Disable transmit (TX) from the LoRa radio", - "label": "Transmit Enabled" + "description": "Activer/désactiver l'émission (TX) depuis la radio LoRa", + "label": "Transmission activée" }, "transmitPower": { - "description": "Max transmit power", - "label": "Transmit Power" + "description": "Puissance maximale d'émission", + "label": "Puissance d'émission" }, "usePreset": { - "description": "Use one of the predefined modem presets", - "label": "Use Preset" + "description": "Utiliser un des préréglages prédéfinis du modem", + "label": "Utiliser un préréglage" }, "meshSettings": { - "description": "Settings for the LoRa mesh", - "label": "Mesh Settings" + "description": "Paramètres du maillage LoRa", + "label": "Paramètres du maillage" }, "waveformSettings": { - "description": "Settings for the LoRa waveform", - "label": "Waveform Settings" + "description": "Paramètres de la forme d’onde LoRa", + "label": "Paramètres de l’onde" }, "radioSettings": { - "label": "Radio Settings", - "description": "Settings for the LoRa radio" + "label": "Paramètres radio", + "description": "Paramètres de la radio LoRa" } }, "network": { - "title": "WiFi Config", - "description": "WiFi radio configuration", - "note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.", + "title": "Configuration WiFi", + "description": "Configuration de la radio WiFi", + "note": "Remarque : certains appareils (ESP32) ne peuvent pas utiliser simultanément Bluetooth et WiFi.", "addressMode": { - "description": "Address assignment selection", - "label": "Address Mode" + "description": "Sélection du mode d’attribution d’adresse", + "label": "Mode d’adressage" }, "dns": { - "description": "DNS Server", + "description": "Serveur DNS", "label": "DNS" }, "ethernetEnabled": { - "description": "Enable or disable the Ethernet port", + "description": "Activer ou désactiver le port Ethernet", "label": "Activé" }, "gateway": { - "description": "Default Gateway", + "description": "Passerelle par défaut", "label": "Passerelle" }, "ip": { - "description": "IP Address", + "description": "Adresse IP", "label": "IP" }, "psk": { - "description": "Network password", + "description": "Mot de passe du réseau", "label": "PSK" }, "ssid": { - "description": "Network name", + "description": "Nom du réseau", "label": "SSID" }, "subnet": { - "description": "Subnet Mask", + "description": "Masque de sous-réseau", "label": "Sous-réseau" }, "wifiEnabled": { - "description": "Enable or disable the WiFi radio", + "description": "Activer ou désactiver la radio WiFi", "label": "Activé" }, "meshViaUdp": { - "label": "Mesh via UDP" + "label": "Réseau maillé via UDP" }, "ntpServer": { - "label": "NTP Server" + "label": "Serveur NTP" }, "rsyslogServer": { - "label": "Rsyslog Server" + "label": "Serveur Rsyslog" }, "ethernetConfigSettings": { - "description": "Ethernet port configuration", - "label": "Ethernet Config" + "description": "Paramètres du port Ethernet", + "label": "Configuration Ethernet" }, "ipConfigSettings": { - "description": "IP configuration", - "label": "IP Config" + "description": "Paramètres IP", + "label": "Configuration IP" }, "ntpConfigSettings": { - "description": "NTP configuration", - "label": "NTP Config" + "description": "Configuration NTP", + "label": "Configuration NTP" }, "rsyslogConfigSettings": { - "description": "Rsyslog configuration", - "label": "Rsyslog Config" + "description": "Paramètres Rsyslog", + "label": "Configuration Rsyslog" }, "udpConfigSettings": { - "description": "UDP over Mesh configuration", + "description": "Configuration du réseau maillé via UDP", "label": "Configuration UDP" } }, "position": { - "title": "Position Settings", - "description": "Settings for the position module", + "title": "Paramètres de position", + "description": "Paramètres du module de position", "broadcastInterval": { - "description": "How often your position is sent out over the mesh", - "label": "Broadcast Interval" + "description": "Fréquence d’envoi de votre position sur le réseau maillé", + "label": "Intervalle de diffusion" }, "enablePin": { - "description": "GPS module enable pin override", - "label": "Enable Pin" + "description": "Redéfinition de la broche d’activation du module GPS", + "label": "Broche d’activation" }, "fixedPosition": { - "description": "Don't report GPS position, but a manually-specified one", - "label": "Fixed Position" + "description": "Ne pas envoyer la position GPS mais une position saisie manuellement", + "label": "Position fixe" }, "gpsMode": { - "description": "Configure whether device GPS is Enabled, Disabled, or Not Present", - "label": "GPS Mode" + "description": "Configuration du GPS : activé, désactivé ou non présent", + "label": "Mode GPS" }, "gpsUpdateInterval": { - "description": "How often a GPS fix should be acquired", - "label": "GPS Update Interval" + "description": "Fréquence d’acquisition d’une position GPS", + "label": "Intervalle de mise à jour GPS" }, "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" + "description": "Champs optionnels à inclure dans les messages de position. Plus il y en a, plus le message est grand, augmentant le risque de perte.", + "label": "Champs de position" }, "receivePin": { - "description": "GPS module RX pin override", - "label": "Receive Pin" + "description": "Redéfinition de la broche RX du module GPS", + "label": "Broche de réception" }, "smartPositionEnabled": { - "description": "Only send position when there has been a meaningful change in location", - "label": "Enable Smart Position" + "description": "N’envoyer la position qu’en cas de changement significatif", + "label": "Activer la position intelligente" }, "smartPositionMinDistance": { - "description": "Minimum distance (in meters) that must be traveled before a position update is sent", - "label": "Smart Position Minimum Distance" + "description": "Distance minimale (en mètres) à parcourir avant envoi de la nouvelle position", + "label": "Distance minimale pour mise à jour" }, "smartPositionMinInterval": { - "description": "Minimum interval (in seconds) that must pass before a position update is sent", - "label": "Smart Position Minimum Interval" + "description": "Délai minimal (en secondes) entre deux envois de position", + "label": "Intervalle minimal de mise à jour" }, "transmitPin": { - "description": "GPS module TX pin override", - "label": "Transmit Pin" + "description": "Redéfinition de la broche TX du module GPS", + "label": "Broche de transmission" }, "intervalsSettings": { - "description": "How often to send position updates", - "label": "Intervals" + "description": "Fréquence d’envoi des mises à jour de position", + "label": "Intervalles" }, "flags": { - "placeholder": "Select position flags...", + "placeholder": "Sélectionner les champs de position...", "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", + "altitudeGeoidalSeparation": "Séparation géoïdale de l’altitude", + "altitudeMsl": "Altitude au-dessus du niveau moyen de la mer", + "dop": "DOP (Dilution de la précision), PDOP utilisé par défaut", + "hdopVdop": "Si DOP est activé, utiliser HDOP / VDOP au lieu de PDOP", + "numSatellites": "Nombre de satellites", + "sequenceNumber": "Numéro de séquence", "timestamp": "Horodatage", "unset": "Désactivé", - "vehicleHeading": "Vehicle heading", - "vehicleSpeed": "Vehicle speed" + "vehicleHeading": "Cap du véhicule", + "vehicleSpeed": "Vitesse du véhicule" } }, "power": { "adcMultiplierOverride": { - "description": "Used for tweaking battery voltage reading", - "label": "ADC Multiplier Override ratio" + "description": "Utilisé pour ajuster la lecture de la tension batterie", + "label": "Coefficient de correction ADC" }, "ina219Address": { - "description": "Address of the INA219 battery monitor", - "label": "INA219 Address" + "description": "Adresse du moniteur de batterie INA219", + "label": "Adresse INA219" }, "lightSleepDuration": { - "description": "How long the device will be in light sleep for", - "label": "Light Sleep Duration" + "description": "Durée pendant laquelle l'appareil reste en veille légère", + "label": "Durée de veille légère" }, "minimumWakeTime": { - "description": "Minimum amount of time the device will stay awake for after receiving a packet", - "label": "Minimum Wake Time" + "description": "Temps minimal pendant lequel l'appareil reste éveillé après réception d’un paquet", + "label": "Temps d’éveil minimal" }, "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" + "description": "Si aucune connexion Bluetooth n’est reçue, la radio BLE sera désactivée après ce délai", + "label": "Bluetooth désactivé si non connecté" }, "powerSavingEnabled": { - "description": "Select if powered from a low-current source (i.e. solar), to minimize power consumption as much as possible.", + "description": "À activer si l’appareil est alimenté par une source à faible courant (ex. : panneau solaire)..", "label": "Activer le mode économie d'énergie" }, "shutdownOnBatteryDelay": { - "description": "Automatically shutdown node after this long when on battery, 0 for indefinite", - "label": "Shutdown on battery delay" + "description": "Éteindre automatiquement le nœud après ce délai sur batterie, 0 pour indéfini", + "label": "Délai d’extinction sur batterie" }, "superDeepSleepDuration": { - "description": "How long the device will be in super deep sleep for", - "label": "Super Deep Sleep Duration" + "description": "Durée pendant laquelle l’appareil reste en super veille", + "label": "Durée de veille profonde" }, "powerConfigSettings": { - "description": "Settings for the power module", + "description": "Paramètres du module d’alimentation", "label": "Configuration de l'alimentation" }, "sleepSettings": { - "description": "Sleep settings for the power module", - "label": "Sleep Settings" + "description": "Paramètres de veille du module d’alimentation", + "label": "Paramètres de veille" } }, "security": { - "description": "Settings for the Security configuration", - "title": "Security Settings", - "button_backupKey": "Backup Key", + "description": "Paramètres de configuration de la sécurité", + "title": "Paramètres de sécurité", + "button_backupKey": "Clé de sauvegarde", "adminChannelEnabled": { - "description": "Allow incoming device control over the insecure legacy admin channel", - "label": "Allow Legacy Admin" + "description": "Autoriser le contrôle distant via le canal d’administration hérité non sécurisé", + "label": "Autoriser l’administration héritée" }, "enableDebugLogApi": { - "description": "Output live debug logging over serial, view and export position-redacted device logs over Bluetooth", - "label": "Enable Debug Log API" + "description": "Afficher en direct les journaux de débogage via le port série, consulter/exporter les journaux sans position via Bluetooth", + "label": "Activer l’API des journaux de debug" }, "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" + "description": "Si cette option est activée, les options de configuration de l'appareil ne peuvent être modifiées à distance que par un nœud d'administration distante via des messages d'administration. N'activez cette option que si au moins un nœud d'administration distant approprié a été configuré et que la clé publique est stockée dans l'un des champs ci-dessus.", + "label": "Géré" }, "privateKey": { - "description": "Used to create a shared key with a remote device", + "description": "Utilisée pour créer une clé partagée avec un appareil distant", "label": "Clé privée" }, "publicKey": { - "description": "Sent out to other nodes on the mesh to allow them to compute a shared secret key", + "description": "Envoyée aux autres nœuds pour générer une clé secrète partagée", "label": "Clé publique" }, "primaryAdminKey": { - "description": "The primary public key authorized to send admin messages to this node", - "label": "Primary Admin Key" + "description": "Clé publique principale autorisée à envoyer des messages d’administration", + "label": "Clé Admin principale" }, "secondaryAdminKey": { - "description": "The secondary public key authorized to send admin messages to this node", - "label": "Secondary Admin Key" + "description": "Clé publique secondaire autorisée à envoyer des messages d’administration", + "label": "Clé Admin secondaire" }, "serialOutputEnabled": { - "description": "Serial Console over the Stream API", - "label": "Serial Output Enabled" + "description": "Console série via l’API de flux", + "label": "Sortie série activée" }, "tertiaryAdminKey": { - "description": "The tertiary public key authorized to send admin messages to this node", - "label": "Tertiary Admin Key" + "description": "Clé publique tertiaire autorisée à envoyer des messages d’administration", + "label": "Clé Admin tertiaire" }, "adminSettings": { - "description": "Settings for Admin", - "label": "Admin Settings" + "description": "Paramètres liés à l’administration", + "label": "Paramètres administrateur" }, "loggingSettings": { - "description": "Settings for Logging", - "label": "Logging Settings" + "description": "Paramètres liés aux journaux", + "label": "Paramètres de journalisation" } } } diff --git a/packages/web/public/i18n/locales/fr-FR/dialog.json b/packages/web/public/i18n/locales/fr-FR/dialog.json index a38fb8f9..fad694ec 100644 --- a/packages/web/public/i18n/locales/fr-FR/dialog.json +++ b/packages/web/public/i18n/locales/fr-FR/dialog.json @@ -1,171 +1,182 @@ { "deleteMessages": { - "description": "This action will clear all message history. This cannot be undone. Are you sure you want to continue?", - "title": "Clear All Messages" + "description": "Cette action effacera tout l’historique des messages. Cette opération est irréversible. Voulez-vous vraiment continuer ?", + "title": "Supprimer tous les messages" }, "deviceName": { - "description": "The Device will restart once the config is saved.", - "longName": "Long Name", - "shortName": "Short Name", - "title": "Change Device Name" + "description": "L’appareil redémarrera une fois la configuration enregistrée.", + "longName": "Nom long", + "shortName": "Nom court", + "title": "Changer le nom de l’appareil", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { - "description": "The current LoRa configuration will be overridden.", + "description": "La configuration LoRa actuelle sera écrasée.", "error": { - "invalidUrl": "Invalid Meshtastic URL" + "invalidUrl": "URL Meshtastic invalide" }, - "channelPrefix": "Channel: ", - "channelSetUrl": "Channel Set/QR Code URL", - "channels": "Channels:", - "usePreset": "Use Preset?", - "title": "Import Channel Set" + "channelPrefix": "Canal: ", + "channelSetUrl": "URL du set de canaux ou du QR code", + "channels": "Canaux:", + "usePreset": "Utiliser un préréglage?", + "title": "Importer un ensemble de canaux" }, "locationResponse": { + "title": "Position : {{identifier}}", "altitude": "Altitude: ", - "coordinates": "Coordinates: ", - "title": "Location: {{identifier}}" + "coordinates": "Coordonnées : ", + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { - "title": "Regenerate Pre-Shared Key?", - "description": "Are you sure you want to regenerate the pre-shared key?", - "regenerate": "Regenerate" + "title": "Régénérer la clé pré-partagée ?", + "description": "Êtes-vous sûr de vouloir régénérer la clé pré-partagée ?", + "regenerate": "Régénérer" }, "newDeviceDialog": { - "title": "Connect New Device", + "title": "Connecter un nouvel appareil", "https": "https", "http": "http", "tabHttp": "HTTP", "tabBluetooth": "Bluetooth", "tabSerial": "Série", - "useHttps": "Use HTTPS", - "connecting": "Connecting...", - "connect": "Connect", + "useHttps": "Utiliser HTTPS", + "connecting": "Connexion...", + "connect": "Connecter", "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" + "title": "Échec de la connexion", + "descriptionPrefix": "Vous ne pouvez pas connecter l'appareil. ", + "httpsHint": "Si vous utilisez HTTPS, vous devrez peut-être accepter un certificat auto-signé. ", + "openLinkPrefix": "Veuillez ouvrir ", + "openLinkSuffix": " dans un nouvel onglet", + "acceptTlsWarningSuffix": ", acceptez les avertissements TLS si vous y êtes invité, puis réessayez", + "learnMoreLink": "En savoir plus" }, "httpConnection": { - "label": "IP Address/Hostname", + "label": "Adresse IP / nom d'hôte", "placeholder": "000.000.000.000 / meshtastic.local" }, "serialConnection": { - "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "New device", + "noDevicesPaired": "Aucun appareil appairé pour l’instant.", + "newDeviceButton": "Nouvel appareil", "deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}" }, "bluetoothConnection": { - "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "New device" + "noDevicesPaired": "Aucun appareil appairé pour l’instant.", + "newDeviceButton": "Nouvel appareil", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth. Please use a supported browser, like Chrome or Edge.", - "requiresWebSerial": "This connection type requires <0>Web Serial. Please use a supported browser, like Chrome or Edge.", - "requiresSecureContext": "This application requires a <0>secure context. Please connect using HTTPS or localhost.", - "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context. Please connect using HTTPS or localhost." + "requiresFeatures": "This connection type requires <0>. Please use a supported browser, like Chrome or Edge.", + "requiresSecureContext": "Cette application nécessite un <0>contexte sécurisé. Veuillez vous connecter via HTTPS ou localhost.", + "additionallyRequiresSecureContext": "Elle nécessite également un <0>contexte sécurisé. Veuillez vous connecter via HTTPS ou localhost." } }, "nodeDetails": { "message": "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: ", + "requestPosition": "Demander la position", + "traceRoute": "Tracer la route", + "airTxUtilization": "Utilisation TX sur l’air", + "allRawMetrics": "Toutes les métriques brutes :", + "batteryLevel": "Niveau de batterie", + "channelUtilization": "Utilisation du canal", + "details": "Détails :", + "deviceMetrics": "Métriques de l’appareil :", + "hardware": "Matériel : ", + "lastHeard": "Dernière écoute: ", + "nodeHexPrefix": "Hexa du nœud : !", + "nodeNumber": "Numéro de nœud: ", "position": "Position:", - "role": "Role: ", - "uptime": "Uptime: ", + "role": "Rôle: ", + "uptime": "Temps de fonctionnement :", "voltage": "Tension", - "title": "Node Details for {{identifier}}", - "ignoreNode": "Ignore node", - "removeNode": "Remove node", - "unignoreNode": "Unignore node" + "title": "Détails du nœud pour {{identifier}}", + "ignoreNode": "Ignorer le nœud", + "removeNode": "Supprimer le nœud", + "unignoreNode": "Ne plus ignorer le nœud" }, "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" + "loseKeysWarning": "Si vous perdez vos clés, vous devrez réinitialiser votre appareil.", + "secureBackup": "Il est important de sauvegarder vos clés publique et privée, et de stocker cette sauvegarde en lieu sûr !", + "footer": "=== FIN DES CLÉS ===", + "header": "=== CLÉS MESHTASTIC POUR {{longName}} ({{shortName}}) ===", + "privateKey": "Clé privée :", + "publicKey": "Clé publique :", + "fileName": "meshtastic_cles_{{longName}}_{{shortName}}.txt", + "title": "Sauvegarder les clés" }, "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" + "description": "Nous vous recommandons de sauvegarder régulièrement vos clés. Souhaitez-vous effectuer une sauvegarde maintenant ?", + "title": "Rappel de sauvegarde", + "remindLaterPrefix": "Me le rappeler dans", + "remindNever": "Ne plus me le rappeler", + "backupNow": "Sauvegarder maintenant" }, "pkiRegenerate": { - "description": "Are you sure you want to regenerate key pair?", - "title": "Regenerate Key Pair" + "description": "Êtes-vous sûr de vouloir régénérer la paire de clés ?", + "title": "Régénérer la paire de clés" }, "qr": { - "addChannels": "Add Channels", - "replaceChannels": "Replace Channels", - "description": "The current LoRa configuration will also be shared.", - "sharableUrl": "Sharable URL", + "addChannels": "Ajouter des canaux", + "replaceChannels": "Remplacer les canaux", + "description": "La configuration LoRa actuelle sera également partagée.", + "sharableUrl": "URL partageable", "title": "Générer un 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" + "title": "Programmer un redémarrage", + "description": "Redémarrer le nœud connecté après un délai en mode OTA (Over-the-Air).", + "enterDelay": "Entrer le délai (sec)", + "scheduled": "Le redémarrage a été programmé" }, "reboot": { - "title": "Schedule Reboot", - "description": "Reboot the connected node after x minutes." + "title": "Programmer un redémarrage", + "description": "Redémarrer le nœud connecté après 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": "Cela supprimera le nœud de l’appareil et demandera de nouvelles clés.", + "keyMismatchReasonSuffix": ". Cela est dû au fait que la clé publique actuelle du nœud distant ne correspond pas à celle précédemment enregistrée pour ce nœud.", + "unableToSendDmPrefix": "Accepter les nouvelles clés" }, - "acceptNewKeys": "Accept New Keys", - "title": "Keys Mismatch - {{identifier}}" + "acceptNewKeys": "Accepter les nouvelles clés", + "title": "Clés non concordantes – {{identifier}}" }, "removeNode": { - "description": "Are you sure you want to remove this Node?", - "title": "Remove Node?" + "description": "Êtes-vous sûr de vouloir supprimer ce nœud ?", + "title": "Supprimer le nœud ?" }, "shutdown": { - "title": "Schedule Shutdown", - "description": "Turn off the connected node after x minutes." + "title": "Programmer un arrêt", + "description": "Éteindre le nœud connecté après x minutes." }, "traceRoute": { - "routeToDestination": "Route to destination:", - "routeBack": "Route back:" + "routeToDestination": "Route vers la destination :", + "routeBack": "Route de retour :" }, "tracerouteResponse": { - "title": "Traceroute: {{identifier}}" + "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", + "confirmUnderstanding": "Oui, je sais ce que je fais", + "conjunction": " et l’article de blog sur le ", + "postamble": " et je comprends les implications du changement de rôle.", + "preamble": "J'ai lu les", + "choosingRightDeviceRole": "Choisir le rôle d’appareil approprié", + "deviceRoleDocumentation": "Documentation sur les rôles d’appareil", "title": "Êtes-vous sûr ?" }, "managedMode": { - "confirmUnderstanding": "Yes, I know what I'm doing", + "confirmUnderstanding": "Oui, je sais ce que je fais", "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 only be changed through Remote Admin messages. This setting is not required for remote node administration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/fr-FR/messages.json b/packages/web/public/i18n/locales/fr-FR/messages.json index 12ed707d..73710fce 100644 --- a/packages/web/public/i18n/locales/fr-FR/messages.json +++ b/packages/web/public/i18n/locales/fr-FR/messages.json @@ -1,39 +1,39 @@ { "page": { "title": "Messages: {{chatName}}", - "placeholder": "Enter Message" + "placeholder": "Saisir message" }, "emptyState": { - "title": "Select a Chat", - "text": "No messages yet." + "title": "Sélectionnez un chat", + "text": "Aucun message pour le moment." }, "selectChatPrompt": { - "text": "Select a channel or node to start messaging." + "text": "Sélectionnez un canal ou un nœud pour commencer à envoyer des messages." }, "sendMessage": { - "placeholder": "Enter your message here...", + "placeholder": "Entrez votre message ici...", "sendButton": "Envoyer" }, "actionsMenu": { - "addReactionLabel": "Add Reaction", + "addReactionLabel": "Ajouter une réaction", "replyLabel": "Répondre" }, "deliveryStatus": { "delivered": { - "label": "Message delivered", - "displayText": "Message delivered" + "label": "Message délivré", + "displayText": "Message délivré" }, "failed": { - "label": "Message delivery failed", - "displayText": "Delivery failed" + "label": "La transmission du message a échoué", + "displayText": "Échec de l'envoi" }, "unknown": { - "label": "Message status unknown", - "displayText": "Unknown state" + "label": "Statut du message inconnu", + "displayText": "Statut inconnu" }, "waiting": { - "label": "Sending message", - "displayText": "Waiting for delivery" + "label": "Envoi du message", + "displayText": "En attente de réception" } } } diff --git a/packages/web/public/i18n/locales/fr-FR/moduleConfig.json b/packages/web/public/i18n/locales/fr-FR/moduleConfig.json index 24297082..9642e2b0 100644 --- a/packages/web/public/i18n/locales/fr-FR/moduleConfig.json +++ b/packages/web/public/i18n/locales/fr-FR/moduleConfig.json @@ -2,410 +2,410 @@ "page": { "tabAmbientLighting": "Lumière ambiante", "tabAudio": "Audio", - "tabCannedMessage": "Canned", + "tabCannedMessage": "Message pré-enregistré", "tabDetectionSensor": "Capteur de détection", - "tabExternalNotification": "Ext Notif", + "tabExternalNotification": "Notification externe", "tabMqtt": "MQTT", "tabNeighborInfo": "Informations sur les voisins", "tabPaxcounter": "Paxcounter", "tabRangeTest": "Test de portée", "tabSerial": "Série", - "tabStoreAndForward": "S&F", + "tabStoreAndForward": "Stocker & Relayer", "tabTelemetry": "Télémetrie (Capteurs)" }, "ambientLighting": { - "title": "Ambient Lighting Settings", - "description": "Settings for the Ambient Lighting module", + "title": "Paramètres de l’éclairage ambiant", + "description": "Paramètres du module d’éclairage ambiant", "ledState": { - "label": "LED State", - "description": "Sets LED to on or off" + "label": "État des LED", + "description": "Définit les LED sur allumées ou éteintes" }, "current": { "label": "Actif", - "description": "Sets the current for the LED output. Default is 10" + "description": "Définit le courant de sortie des LED. Par défaut : 10" }, "red": { "label": "Rouge", - "description": "Sets the red LED level. Values are 0-255" + "description": "Définit le niveau de LED rouge (valeurs 0–255)" }, "green": { "label": "Vert", - "description": "Sets the green LED level. Values are 0-255" + "description": "Définit le niveau de LED vert (valeurs 0–255)" }, "blue": { "label": "Bleu", - "description": "Sets the blue LED level. Values are 0-255" + "description": "Définit le niveau de LED bleu (valeurs 0–255)" } }, "audio": { - "title": "Audio Settings", - "description": "Settings for the Audio module", + "title": "Paramètres audio", + "description": "Paramètres du module audio", "codec2Enabled": { - "label": "Codec 2 Enabled", - "description": "Enable Codec 2 audio encoding" + "label": "Codec 2 activé", + "description": "Active l'encodage audio Codec 2" }, "pttPin": { - "label": "PTT Pin", - "description": "GPIO pin to use for PTT" + "label": "Broche PTT", + "description": "Broche GPIO utilisée pour le PTT" }, "bitrate": { - "label": "Bitrate", - "description": "Bitrate to use for audio encoding" + "label": "Débit", + "description": "Débit utilisé pour l’encodage audio" }, "i2sWs": { "label": "i2S WS", - "description": "GPIO pin to use for i2S WS" + "description": "Broche GPIO utilisée pour i2S WS" }, "i2sSd": { "label": "i2S SD", - "description": "GPIO pin to use for i2S SD" + "description": "Broche GPIO utilisée pour i2S SD" }, "i2sDin": { "label": "i2S DIN", - "description": "GPIO pin to use for i2S DIN" + "description": "Broche GPIO utilisée pour i2S DIN" }, "i2sSck": { "label": "i2S SCK", - "description": "GPIO pin to use for i2S SCK" + "description": "Broche GPIO utilisée pour i2S SCK" } }, "cannedMessage": { - "title": "Canned Message Settings", - "description": "Settings for the Canned Message module", + "title": "Paramètres des messages pré-enregistrés", + "description": "Paramètres du module de messages pré-enregistrés\n", "moduleEnabled": { - "label": "Module Enabled", - "description": "Enable Canned Message" + "label": "Module activé", + "description": "Active les messages pré-enregistrés" }, "rotary1Enabled": { - "label": "Rotary Encoder #1 Enabled", - "description": "Enable the rotary encoder" + "label": "Encodeur rotatif #1 activé", + "description": "Active l’encodeur rotatif" }, "inputbrokerPinA": { - "label": "Encoder Pin A", - "description": "GPIO Pin Value (1-39) For encoder port A" + "label": "Broche A de l’encodeur", + "description": "Valeur GPIO (1-39) pour le port A de l’encodeur" }, "inputbrokerPinB": { - "label": "Encoder Pin B", - "description": "GPIO Pin Value (1-39) For encoder port B" + "label": "Broche B de l’encodeur", + "description": "Valeur GPIO (1-39) pour le port B de l’encodeur" }, "inputbrokerPinPress": { - "label": "Encoder Pin Press", - "description": "GPIO Pin Value (1-39) For encoder Press" + "label": "Broche de pression de l’encodeur", + "description": "Valeur GPIO (1-39) pour la pression sur l’encodeur" }, "inputbrokerEventCw": { - "label": "Clockwise event", - "description": "Select input event." + "label": "Événement horaire", + "description": "Sélectionner l’événement d’entrée" }, "inputbrokerEventCcw": { - "label": "Counter Clockwise event", - "description": "Select input event." + "label": "Événement antihoraire", + "description": "Sélectionner l’événement d’entrée" }, "inputbrokerEventPress": { - "label": "Press event", - "description": "Select input event" + "label": "Événement pression", + "description": "Sélectionner l’événement d’entrée" }, "updown1Enabled": { - "label": "Up Down enabled", - "description": "Enable the up / down encoder" + "label": "Encodeur haut/bas activé", + "description": "Active l’encodeur haut/bas" }, "allowInputSource": { - "label": "Allow Input Source", - "description": "Select from: '_any', 'rotEnc1', 'upDownEnc1', 'cardkb'" + "label": "Autoriser la source d’entrée", + "description": "Sélectionner parmi : '_any', 'rotEnc1', 'upDownEnc1', 'cardkb'" }, "sendBell": { - "label": "Send Bell", - "description": "Sends a bell character with each message" + "label": "Envoyer un bip", + "description": "Envoie un caractère de cloche avec chaque message" } }, "detectionSensor": { - "title": "Detection Sensor Settings", - "description": "Settings for the Detection Sensor module", + "title": "Paramètres du capteur de détection", + "description": "Paramètres du module de capteur de détection", "enabled": { "label": "Activé", - "description": "Enable or disable Detection Sensor Module" + "description": "Activer ou désactiver le module de détection" }, "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" + "label": "Intervalle minimum d’émission (s)", + "description": "L'intervalle en secondes de la fréquence à laquelle nous pouvons envoyer un message au maillage quand un changement d'état est détecté" }, "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" + "label": "Intervalle d’état (s)", + "description": "Temps entre deux messages d’état envoyés, même sans changement" }, "sendBell": { - "label": "Send Bell", - "description": "Send ASCII bell with alert message" + "label": "Envoyer un bip", + "description": "Envoyer un caractère ASCII 'bell' avec le message d’alerte" }, "name": { - "label": "Friendly Name", - "description": "Used to format the message sent to mesh, max 20 Characters" + "label": "Nom convivial", + "description": "Utilisé pour formater le message envoyé au réseau, max. 20 caractères" }, "monitorPin": { - "label": "Monitor Pin", - "description": "The GPIO pin to monitor for state changes" + "label": "Broche de monitoring", + "description": "Broche GPIO pour surveiller les changements d'état" }, "detectionTriggerType": { - "label": "Detection Triggered Type", - "description": "The type of trigger event to be used" + "label": "Type du déclencheur de détection", + "description": "Le type d'événement déclencheur à utiliser" }, "usePullup": { - "label": "Use Pullup", - "description": "Whether or not use INPUT_PULLUP mode for GPIO pin" + "label": "Utiliser Pullup", + "description": "Utiliser ou non le mode INPUT_PULLUP pour la broche GPIO" } }, "externalNotification": { - "title": "External Notification Settings", - "description": "Configure the external notification module", + "title": "Paramètres de la notification extérieure", + "description": "Configurer le module de notification externe", "enabled": { - "label": "Module Enabled", - "description": "Enable External Notification" + "label": "Module activé", + "description": "Activer les notifications externes" }, "outputMs": { - "label": "Output MS", - "description": "Output MS" + "label": "Sortie MS", + "description": "Sortie MS" }, "output": { - "label": "Output", - "description": "Output" + "label": "Sortie", + "description": "Sortie" }, "outputVibra": { - "label": "Output Vibrate", - "description": "Output Vibrate" + "label": "Sortie vibreur", + "description": "Sortie vibreur" }, "outputBuzzer": { - "label": "Output Buzzer", - "description": "Output Buzzer" + "label": "Sortie buzzer", + "description": "Sortie buzzer" }, "active": { - "label": "Active", - "description": "Active" + "label": "Actif", + "description": "Actif" }, "alertMessage": { - "label": "Alert Message", - "description": "Alert Message" + "label": "Message d'alerte", + "description": "Message d'alerte" }, "alertMessageVibra": { - "label": "Alert Message Vibrate", - "description": "Alert Message Vibrate" + "label": "Message d'alerte vibreur", + "description": "Message d'alerte vibreur" }, "alertMessageBuzzer": { - "label": "Alert Message Buzzer", - "description": "Alert Message Buzzer" + "label": "Message d'alerte buzzer", + "description": "Message d'alerte buzzer" }, "alertBell": { - "label": "Alert Bell", - "description": "Should an alert be triggered when receiving an incoming bell?" + "label": "Bip d'alerte", + "description": "Une alerte doit-elle être déclenchée lors de la réception d'un bip entrant ?" }, "alertBellVibra": { - "label": "Alert Bell Vibrate", - "description": "Alert Bell Vibrate" + "label": "Bip d'alerte vibreur", + "description": "Bip d'alerte vibreur" }, "alertBellBuzzer": { - "label": "Alert Bell Buzzer", - "description": "Alert Bell Buzzer" + "label": "Bip d'alerte buzzer", + "description": "Bip d'alerte buzzer" }, "usePwm": { - "label": "Use PWM", - "description": "Use PWM" + "label": "Utiliser PWM", + "description": "Utiliser PWM" }, "nagTimeout": { - "label": "Nag Timeout", - "description": "Nag Timeout" + "label": "Délai d'expiration du message", + "description": "Délai d'expiration du message" }, "useI2sAsBuzzer": { - "label": "Use I²S Pin as Buzzer", - "description": "Designate I²S Pin as Buzzer Output" + "label": "Utiliser la broche I2S comme Buzzer", + "description": "Désigner la broche I2S comme sortie Buzzer" } }, "mqtt": { - "title": "MQTT Settings", - "description": "Settings for the MQTT module", + "title": "Paramètres MQTT", + "description": "Paramètres du module MQTT", "enabled": { "label": "Activé", - "description": "Enable or disable MQTT" + "description": "Activer ou désactiver MQTT" }, "address": { - "label": "MQTT Server Address", - "description": "MQTT server address to use for default/custom servers" + "label": "Adresse du serveur MQTT", + "description": "Adresse du serveur MQTT à utiliser pour les serveurs par défaut/personnalisés" }, "username": { - "label": "MQTT Username", - "description": "MQTT username to use for default/custom servers" + "label": "Nom d'utilisateur MQTT", + "description": "Nom d'utilisateur MQTT à utiliser pour les serveurs par défaut/personnalisés" }, "password": { - "label": "MQTT Password", - "description": "MQTT password to use for default/custom servers" + "label": "Mot de passe MQTT", + "description": "Mot de passe MQTT à utiliser pour les serveurs par défaut/personnalisés" }, "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." + "label": "Chiffrement activé", + "description": "Activer ou désactiver le chiffrement MQTT. Remarque : Tous les messages sont envoyés au broker MQTT non chiffré si cette option n'est pas activée, même si vos canaux uplink ont des clés de chiffrement. Cela inclut les données de position." }, "jsonEnabled": { - "label": "JSON Enabled", - "description": "Whether to send/consume JSON packets on MQTT" + "label": "JSON activé", + "description": "S'il faut envoyer/consommer des paquets JSON sur MQTT" }, "tlsEnabled": { - "label": "TLS Enabled", - "description": "Enable or disable TLS" + "label": "TLS activé", + "description": "Activer ou désactiver TLS" }, "root": { "label": "Sujet principal", - "description": "MQTT root topic to use for default/custom servers" + "description": "Sujet racine MQTT à utiliser pour les serveurs par défaut/personnalisés" }, "proxyToClientEnabled": { - "label": "MQTT Client Proxy Enabled", - "description": "Utilizes the network connection to proxy MQTT messages to the client." + "label": "Proxy client MQTT activé", + "description": "Utilise la connexion réseau pour transmettre les messages MQTT au 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." + "label": "Rapport cartographique activé", + "description": "Votre nœud enverra périodiquement un paquet de rapport de position non chiffré au serveur MQTT configuré. Ce paquet inclut l'identifiant, les noms long et court, la position approximative, le modèle matériel, le rôle, la version du micrologiciel, la région LoRa, le préréglage du modem et le nom du canal principal." }, "mapReportSettings": { "publishIntervalSecs": { - "label": "Map Report Publish Interval (s)", - "description": "Interval in seconds to publish map reports" + "label": "Intervalles de publication du rapport de carte", + "description": "Intervalle en secondes pour publier les rapports de carte" }, "positionPrecision": { - "label": "Approximate Location", - "description": "Position shared will be accurate within this distance", + "label": "Position approximative", + "description": "La position partagée sera précise dans cette 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" + "metric_km23": "A moins de 23 km", + "metric_km12": "A moins de 12 km", + "metric_km5_8": "A moins de 5.8 km", + "metric_km2_9": "A moins de 2.9 km", + "metric_km1_5": "A moins de 1.5 km", + "metric_m700": "A moins de 700 m", + "metric_m350": "A moins de 350 m", + "metric_m200": "À moins de 200 m", + "metric_m90": "A moins de 90 m", + "metric_m50": "A moins de 50 m", + "imperial_mi15": "À moins de 15 miles", + "imperial_mi7_3": "À moins de 7,3 miles", + "imperial_mi3_6": "À moins de 3,6 miles", + "imperial_mi1_8": "À moins de 1,8 miles", + "imperial_mi0_9": "À moins de 0,9 miles", + "imperial_mi0_5": "À moins de 0,5 miles", + "imperial_mi0_2": "À moins de 0,2 miles", + "imperial_ft600": "À moins de 600 pieds", + "imperial_ft300": "À moins de 300 pieds", + "imperial_ft150": "À moins de 150 pieds" } } } }, "neighborInfo": { - "title": "Neighbor Info Settings", - "description": "Settings for the Neighbor Info module", + "title": "Paramètres des informations du voisinage", + "description": "Paramètres pour le module informations du voisinage", "enabled": { "label": "Activé", - "description": "Enable or disable Neighbor Info Module" + "description": "Activer ou désactiver le module informations du voisinage" }, "updateInterval": { - "label": "Update Interval", - "description": "Interval in seconds of how often we should try to send our Neighbor Info to the mesh" + "label": "Intervalle de mise à jour", + "description": "Intervalle en secondes de la fréquence à laquelle nous devrions essayer d'envoyer nos informations de Voisinage au maillage" } }, "paxcounter": { - "title": "Paxcounter Settings", - "description": "Settings for the Paxcounter module", + "title": "Paramètres Paxcounter", + "description": "Paramètres du module Paxcounter", "enabled": { - "label": "Module Enabled", - "description": "Enable Paxcounter" + "label": "Module activé", + "description": "Activer Paxcounter" }, "paxcounterUpdateInterval": { - "label": "Update Interval (seconds)", - "description": "How long to wait between sending paxcounter packets" + "label": "Intervalle de mise à jour (secondes)", + "description": "Durée d'attente entre l'envoi de paquets paxcounter" }, "wifiThreshold": { - "label": "WiFi RSSI Threshold", - "description": "At what WiFi RSSI level should the counter increase. Defaults to -80." + "label": "Seuil RSSI WiFi", + "description": "A quel niveau de WiFi RSSI devrait augmenter le compteur. Par défaut, -80." }, "bleThreshold": { - "label": "BLE RSSI Threshold", - "description": "At what BLE RSSI level should the counter increase. Defaults to -80." + "label": "Seuil RSSI BLE", + "description": "A quel niveau de BLE RSSI devrait augmenter le compteur. Par défaut, -80." } }, "rangeTest": { - "title": "Range Test Settings", - "description": "Settings for the Range Test module", + "title": "Paramètres de test de portée", + "description": "Paramètres du module de test de portée", "enabled": { - "label": "Module Enabled", - "description": "Enable Range Test" + "label": "Module activé", + "description": "Activer le test de portée" }, "sender": { - "label": "Message Interval", - "description": "How long to wait between sending test packets" + "label": "Intervalle de message", + "description": "Durée d'attente entre l'envoi de paquets de test" }, "save": { - "label": "Save CSV to storage", - "description": "ESP32 Only" + "label": "Enregistrer le CSV dans le stockage", + "description": "ESP32 seulement" } }, "serial": { - "title": "Serial Settings", - "description": "Settings for the Serial module", + "title": "Paramètres série", + "description": "Paramètres du module série", "enabled": { - "label": "Module Enabled", - "description": "Enable Serial output" + "label": "Module activé", + "description": "Activer la sortie série" }, "echo": { "label": "Écho", - "description": "Any packets you send will be echoed back to your device" + "description": "Tous les paquets que vous envoyez seront renvoyés vers votre appareil" }, "rxd": { - "label": "Receive Pin", - "description": "Set the GPIO pin to the RXD pin you have set up." + "label": "Broche de réception", + "description": "Réglez la broche GPIO sur la broche RXD que vous avez configurée." }, "txd": { - "label": "Transmit Pin", - "description": "Set the GPIO pin to the TXD pin you have set up." + "label": "Broche de transmission", + "description": "Réglez la broche GPIO sur la broche TXD que vous avez configurée." }, "baud": { - "label": "Baud Rate", - "description": "The serial baud rate" + "label": "Vitesse en bauds", + "description": "Vitesse de transmission série" }, "timeout": { "label": "Délai d'expiration", - "description": "Seconds to wait before we consider your packet as 'done'" + "description": "Secondes à attendre avant de considérer votre paquet comme \"fini\"" }, "mode": { "label": "Mode", - "description": "Select Mode" + "description": "Sélection de mode" }, "overrideConsoleSerialPort": { - "label": "Override Console Serial Port", - "description": "If you have a serial port connected to the console, this will override it." + "label": "Outrepasser le port série de la console", + "description": "Si vous avez un port série connecté à la console, cela va le remplacer." } }, "storeForward": { - "title": "Store & Forward Settings", - "description": "Settings for the Store & Forward module", + "title": "Paramètres de stockage et transfert", + "description": "Paramètres du module stockage et transfert", "enabled": { - "label": "Module Enabled", - "description": "Enable Store & Forward" + "label": "Module activé", + "description": "Activer stockage et transfert" }, "heartbeat": { - "label": "Heartbeat Enabled", - "description": "Enable Store & Forward heartbeat" + "label": "Pulsations activées", + "description": "Activer les pulsations stockage et transfert" }, "records": { "label": "Nombre d'enregistrements", - "description": "Number of records to store" + "description": "Nombre d'enregistrements à stocker" }, "historyReturnMax": { - "label": "History return max", - "description": "Max number of records to return" + "label": "Limite d’historique renvoyé", + "description": "Nombre maximum d'enregistrements à retourner" }, "historyReturnWindow": { - "label": "History return window", - "description": "Max number of records to return" + "label": "Fenêtre de retour d’historique", + "description": "Nombre maximum d'enregistrements à retourner" } }, "telemetry": { - "title": "Telemetry Settings", - "description": "Settings for the Telemetry module", + "title": "Paramètres de télémétrie", + "description": "Paramètres du module télémétrie", "deviceUpdateInterval": { - "label": "Device Metrics", + "label": "Métriques de l’appareil", "description": "Intervalle de mise à jour des métriques de l'appareil (secondes)" }, "environmentUpdateInterval": { @@ -413,36 +413,36 @@ "description": "" }, "environmentMeasurementEnabled": { - "label": "Module Enabled", - "description": "Enable the Environment Telemetry" + "label": "Module activé", + "description": "Activer la télémétrie d'environnement" }, "environmentScreenEnabled": { - "label": "Displayed on Screen", - "description": "Show the Telemetry Module on the OLED" + "label": "Affiché à l'écran", + "description": "Afficher le module de télémétrie sur OLED" }, "environmentDisplayFahrenheit": { - "label": "Display Fahrenheit", - "description": "Display temp in Fahrenheit" + "label": "Afficher en Fahrenheit", + "description": "Afficher la température en Fahrenheit" }, "airQualityEnabled": { - "label": "Air Quality Enabled", - "description": "Enable the Air Quality Telemetry" + "label": "Qualité de l'air activée", + "description": "Activer la télémétrie de qualité de l'air" }, "airQualityInterval": { - "label": "Air Quality Update Interval", - "description": "How often to send Air Quality data over the mesh" + "label": "Intervalle de mise à jour de la qualité de l'air", + "description": "Fréquence d'envoi des données de qualité de l'air sur le maillage" }, "powerMeasurementEnabled": { - "label": "Power Measurement Enabled", - "description": "Enable the Power Measurement Telemetry" + "label": "Mesure de puissance activée", + "description": "Activer la télémétrie de mesure d'énergie" }, "powerUpdateInterval": { - "label": "Power Update Interval", - "description": "How often to send Power data over the mesh" + "label": "Intervalle de mise à jour de l'alimentation", + "description": "Fréquence d'envoi de données d'alimentation sur le maillage" }, "powerScreenEnabled": { - "label": "Power Screen Enabled", - "description": "Enable the Power Telemetry Screen" + "label": "Écran d'alimentation activé", + "description": "Activer l'écran de télémétrie d'alimentation" } } } diff --git a/packages/web/public/i18n/locales/fr-FR/nodes.json b/packages/web/public/i18n/locales/fr-FR/nodes.json index 591c7e29..604aec64 100644 --- a/packages/web/public/i18n/locales/fr-FR/nodes.json +++ b/packages/web/public/i18n/locales/fr-FR/nodes.json @@ -1,63 +1,63 @@ { "nodeDetail": { "publicKeyEnabled": { - "label": "Public Key Enabled" + "label": "Clé publique activée" }, "noPublicKey": { - "label": "No Public Key" + "label": "Aucune clé publique" }, "directMessage": { - "label": "Direct Message {{shortName}}" + "label": "Message direct à {{shortName}}" }, "favorite": { "label": "Favoris", - "tooltip": "Add or remove this node from your favorites" + "tooltip": "Ajouter ou retirer ce nœud de vos favoris" }, "notFavorite": { - "label": "Not a Favorite" + "label": "Non favori" }, "error": { "label": "Erreur", - "text": "An error occurred while fetching node details. Please try again later." + "text": "Une erreur est survenue lors du chargement des détails du nœud. Veuillez réessayer." }, "status": { "heard": "Capté", "mqtt": "MQTT" }, "elevation": { - "label": "Elevation" + "label": "Altitude" }, "channelUtil": { - "label": "Channel Util" + "label": "Utilisation du canal" }, "airtimeUtil": { - "label": "Airtime Util" + "label": "Utilisation du temps d’antenne" } }, "nodesTable": { "headings": { - "longName": "Long Name", - "connection": "Connection", - "lastHeard": "Last Heard", - "encryption": "Encryption", - "model": "Model", - "macAddress": "MAC Address" + "longName": "Nom long", + "connection": "Connexion", + "lastHeard": "Dernière écoute", + "encryption": "Chiffrement", + "model": "Modèle", + "macAddress": "Adresse MAC" }, "connectionStatus": { "direct": "Direk", - "away": "away", + "away": "distant", "unknown": "-", "viaMqtt": ", via MQTT" }, "lastHeardStatus": { - "never": "Never" + "never": "Jamais" } }, "actions": { - "added": "Added", - "removed": "Removed", - "ignoreNode": "Ignore Node", - "unignoreNode": "Unignore Node", - "requestPosition": "Request Position" + "added": "Ajouté", + "removed": "Supprimé", + "ignoreNode": "Ignorer le nœud", + "unignoreNode": "Ne plus ignorer le nœud", + "requestPosition": "Demander la position" } } diff --git a/packages/web/public/i18n/locales/fr-FR/ui.json b/packages/web/public/i18n/locales/fr-FR/ui.json index 1b6fac74..5b5f99c4 100644 --- a/packages/web/public/i18n/locales/fr-FR/ui.json +++ b/packages/web/public/i18n/locales/fr-FR/ui.json @@ -3,109 +3,109 @@ "title": "Navigation", "messages": "Messages", "map": "Carte", - "config": "Config", - "radioConfig": "Radio Config", - "moduleConfig": "Module Config", + "config": "Configuration", + "radioConfig": "Configuration radio", + "moduleConfig": "Configuration du module", "channels": "Canaux", "nodes": "Noeuds" }, "app": { "title": "Meshtastic", - "logo": "Meshtastic Logo" + "logo": "Logo Meshtastic" }, "sidebar": { "collapseToggle": { "button": { - "open": "Open sidebar", - "close": "Close sidebar" + "open": "Ouvrir la barre latérale", + "close": "Fermer la barre latérale" } }, "deviceInfo": { "volts": "{{voltage}} volts", "firmware": { - "title": "Firmware", + "title": "Micrologiciel", "version": "v{{version}}", - "buildDate": "Build date: {{date}}" + "buildDate": "Date de compilation : {{date}}" }, "deviceName": { - "title": "Device Name", - "changeName": "Change Device Name", - "placeholder": "Enter device name" + "title": "Nom de l'appareil", + "changeName": "Changer le nom de l'appareil", + "placeholder": "Saisissez le nom de l'appareil" }, - "editDeviceName": "Edit device name" + "editDeviceName": "Éditer le nom de l'appareil" } }, "batteryStatus": { - "charging": "{{level}}% charging", - "pluggedIn": "Plugged in", + "charging": "{{level}}% en charge", + "pluggedIn": "Branché", "title": "Batterie" }, "search": { - "nodes": "Search nodes...", - "channels": "Search channels...", - "commandPalette": "Search commands..." + "nodes": "Recherche de nœuds...", + "channels": "Rechercher des canaux...", + "commandPalette": "Rechercher des commandes..." }, "toast": { "positionRequestSent": { - "title": "Position request sent." + "title": "Requête de position envoyée." }, "requestingPosition": { - "title": "Requesting position, please wait..." + "title": "Requête de position en cours, veuillez patienter..." }, "sendingTraceroute": { - "title": "Sending Traceroute, please wait..." + "title": "Envoi du traceroute en cours, veuillez patienter..." }, "tracerouteSent": { - "title": "Traceroute sent." + "title": "Traceroute envoyé." }, "savedChannel": { - "title": "Saved Channel: {{channelName}}" + "title": "Canal enregistré : {{channelName}}" }, "messages": { "pkiEncryption": { - "title": "Chat is using PKI encryption." + "title": "La discussion utilise un chiffrement PKI." }, "pskEncryption": { - "title": "Chat is using PSK encryption." + "title": "La discussion utilise un chiffrement PSK." } }, "configSaveError": { - "title": "Error Saving Config", - "description": "An error occurred while saving the configuration." + "title": "Erreur lors de l’enregistrement", + "description": "Une erreur est survenue lors de l’enregistrement de la configuration." }, "validationError": { - "title": "Config Errors Exist", - "description": "Please fix the configuration errors before saving." + "title": "Des erreurs de configuration existent", + "description": "Veuillez corriger les erreurs de configuration avant d’enregistrer." }, "saveSuccess": { - "title": "Saving Config", - "description": "The configuration change {{case}} has been saved." + "title": "Configuration enregistrée", + "description": "Le changement de configuration {{case}} a été enregistré." }, "favoriteNode": { - "title": "{{action}} {{nodeName}} {{direction}} favorites.", + "title": "{{action}} {{nodeName}} {{direction}} des favoris.", "action": { - "added": "Added", - "removed": "Removed", - "to": "to", - "from": "from" + "added": "Ajouté", + "removed": "Supprimé", + "to": "à", + "from": "de" } }, "ignoreNode": { - "title": "{{action}} {{nodeName}} {{direction}} ignore list", + "title": "{{action}} {{nodeName}} {{direction}} de la liste d’ignorés", "action": { - "added": "Added", - "removed": "Removed", - "to": "to", - "from": "from" + "added": "Ajouté", + "removed": "Supprimé", + "to": "à", + "from": "de" } } }, "notifications": { "copied": { - "label": "Copied!" + "label": "Copié !" }, "copyToClipboard": { - "label": "Copy to clipboard" + "label": "Copier dans le presse-papiers" }, "hidePassword": { "label": "Masquer le mot de passe" @@ -114,20 +114,20 @@ "label": "Afficher le mot de passe" }, "deliveryStatus": { - "delivered": "Delivered", - "failed": "Delivery Failed", + "delivered": "Distribué", + "failed": "Échec de l'envoi", "waiting": "En attente . . .", "unknown": "Inconnu" } }, "general": { - "label": "General" + "label": "Général" }, "hardware": { "label": "Matériel" }, "metrics": { - "label": "Metrics" + "label": "Métriques" }, "role": { "label": "Rôle" @@ -136,93 +136,93 @@ "label": "Filtre" }, "advanced": { - "label": "Advanced" + "label": "Avancé" }, "clearInput": { - "label": "Clear input" + "label": "Effacer la saisie" }, "resetFilters": { - "label": "Reset Filters" + "label": "Réinitialiser les filtres" }, "nodeName": { - "label": "Node name/number", + "label": "Nom/numéro de nœud", "placeholder": "Meshtastic 1234" }, "airtimeUtilization": { - "label": "Airtime Utilization (%)" + "label": "Utilisation du temps d’antenne (%)" }, "batteryLevel": { - "label": "Battery level (%)", - "labelText": "Battery level (%): {{value}}" + "label": "Niveau de batterie (%)", + "labelText": "Niveau de batterie (%) : {{value}}" }, "batteryVoltage": { - "label": "Battery voltage (V)", + "label": "Tension de batterie (V)", "title": "Tension" }, "channelUtilization": { - "label": "Channel Utilization (%)" + "label": "Utilisation du canal (%)" }, "hops": { "direct": "Direk", - "label": "Number of hops", - "text": "Number of hops: {{value}}" + "label": "Nombre de sauts", + "text": "Nombre de sauts : {{value}}" }, "lastHeard": { "label": "Dernière écoute", - "labelText": "Last heard: {{value}}", - "nowLabel": "Now" + "labelText": "Dernier signal reçu : {{value}}", + "nowLabel": "Maintenant" }, "snr": { "label": "SNR (db)" }, "favorites": { - "label": "Favorites" + "label": "Favoris" }, "hide": { - "label": "Hide" + "label": "Masquer" }, "showOnly": { - "label": "Show Only" + "label": "Montrer seulement" }, "viaMqtt": { - "label": "Connected via MQTT" + "label": "Connecté via MQTT" }, "hopsUnknown": { - "label": "Unknown number of hops" + "label": "Nombre de sauts inconnu" }, "showUnheard": { - "label": "Never heard" + "label": "Jamais entendu" }, "language": { "label": "Langue", - "changeLanguage": "Change Language" + "changeLanguage": "Changer la langue" }, "theme": { "dark": "Sombre", "light": "Clair", - "system": "Automatic", - "changeTheme": "Change Color Scheme" + "system": "Automatique", + "changeTheme": "Changer le schéma de couleurs" }, "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.
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:", + "title": "C'est un peu embarrassant...", + "description1": "Nous sommes vraiment désolés mais une erreur est survenue dans le client web qui l'a fait planter.
Ce n'est pas censé se produire, et nous travaillons dur pour le corriger.", + "description2": "La meilleure façon d'éviter que cela ne se reproduise à vous ou à qui que ce soit d'autre consiste à nous signaler le problème.", + "reportInstructions": "Veuillez inclure les informations suivantes dans votre rapport :", "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", - "dashboardLink": "Return to the <0>dashboard", - "detailsSummary": "Error Details", - "errorMessageLabel": "Error message:", - "stackTraceLabel": "Stack trace:", + "step1": "Ce que vous faisiez lorsque l'erreur s'est produite", + "step2": "Ce que vous vous attendiez à se produire", + "step3": "Ce qui s'est réellement passé", + "step4": "Toute autre information pertinente" + }, + "reportLink": "Vous pouvez signaler le problème à notre <0>GitHub", + "dashboardLink": "Retourner au <0>tableau de bord", + "detailsSummary": "Détails de l'erreur", + "errorMessageLabel": "Message d'erreur :", + "stackTraceLabel": "État de la pile :", "fallbackError": "{{error}}" }, "footer": { - "text": "Powered by <0>▲ Vercel | Meshtastic® is a registered trademark of Meshtastic LLC. | <1>Legal Information", - "commitSha": "Commit SHA: {{sha}}" + "text": "Propulsé par <0>▲ Vercel | Meshtastic® est une marque déposée de Meshtastic LLC. | <1>Informations légales", + "commitSha": "SHA : {{sha}}" } } diff --git a/packages/web/public/i18n/locales/it-IT/commandPalette.json b/packages/web/public/i18n/locales/it-IT/commandPalette.json index c730ffe9..2e28f004 100644 --- a/packages/web/public/i18n/locales/it-IT/commandPalette.json +++ b/packages/web/public/i18n/locales/it-IT/commandPalette.json @@ -1,50 +1,51 @@ { - "emptyState": "Nessun risultato trovato.", - "page": { - "title": "Menu Comandi" - }, - "pinGroup": { - "label": "Fissa gruppo comandi" - }, - "unpinGroup": { - "label": "Rimuovi gruppo comandi" - }, - "goto": { - "label": "Vai a", - "command": { - "messages": "Messaggi", - "map": "Mappa", - "config": "Configurazione", - "channels": "Canali", - "nodes": "Nodi" - } - }, - "manage": { - "label": "Gestisci", - "command": { - "switchNode": "Cambia Nodo", - "connectNewNode": "Connetti Nuovo Nodo" - } - }, - "contextual": { - "label": "Contestuale", - "command": { - "qrCode": "Codice QR", - "qrGenerator": "Generatore", - "qrImport": "Importa", - "scheduleShutdown": "Pianifica Spegnimento", - "scheduleReboot": "Pianifica Riavvio", - "rebootToOtaMode": "Riavvia In Modalità OTA", - "resetNodeDb": "Resetta DB dei Nodi", - "factoryResetDevice": "Factory reset dispositivo", - "factoryResetConfig": "Factory reset impostazioni" - } - }, - "debug": { - "label": "Debug", - "command": { - "reconfigure": "Riconfigura", - "clearAllStoredMessages": "Cancella Tutti i Messaggi Memorizzati" - } - } + "emptyState": "Nessun risultato trovato.", + "page": { + "title": "Menu Comandi" + }, + "pinGroup": { + "label": "Fissa gruppo comandi" + }, + "unpinGroup": { + "label": "Rimuovi gruppo comandi" + }, + "goto": { + "label": "Vai a", + "command": { + "messages": "Messaggi", + "map": "Mappa", + "config": "Configurazione", + "channels": "Canali", + "nodes": "Nodi" + } + }, + "manage": { + "label": "Gestisci", + "command": { + "switchNode": "Cambia Nodo", + "connectNewNode": "Connetti Nuovo Nodo" + } + }, + "contextual": { + "label": "Contestuale", + "command": { + "qrCode": "Codice QR", + "qrGenerator": "Generatore", + "qrImport": "Importa", + "scheduleShutdown": "Pianifica Spegnimento", + "scheduleReboot": "Pianifica Riavvio", + "rebootToOtaMode": "Riavvia In Modalità OTA", + "resetNodeDb": "Resetta DB dei Nodi", + "factoryResetDevice": "Factory reset dispositivo", + "factoryResetConfig": "Factory reset impostazioni", + "disconnect": "Disconnetti" + } + }, + "debug": { + "label": "Debug", + "command": { + "reconfigure": "Riconfigura", + "clearAllStoredMessages": "Cancella Tutti i Messaggi Memorizzati" + } + } } diff --git a/packages/web/public/i18n/locales/it-IT/dialog.json b/packages/web/public/i18n/locales/it-IT/dialog.json index d5c14b5b..91e9fdf8 100644 --- a/packages/web/public/i18n/locales/it-IT/dialog.json +++ b/packages/web/public/i18n/locales/it-IT/dialog.json @@ -7,7 +7,13 @@ "description": "Il dispositivo verrà riavviato una volta salvata la configurazione.", "longName": "Nome Lungo", "shortName": "Nome Breve", - "title": "Cambia Nome Dispositivo" + "title": "Cambia Nome Dispositivo", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { "description": "La configurazione attuale di LoRa sarà sovrascritta.", @@ -21,9 +27,10 @@ "title": "Importa Set Canale" }, "locationResponse": { + "title": "Posizione: {{identifier}}", "altitude": "Altitudine: ", "coordinates": "Coordinate: ", - "title": "Posizione: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { "title": "Rigenerare La Chiave Pre-Condivisa?", @@ -60,11 +67,15 @@ }, "bluetoothConnection": { "noDevicesPaired": "Nessun dispositivo ancora abbinato.", - "newDeviceButton": "Nuovo dispositivo" + "newDeviceButton": "Nuovo dispositivo", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth. Please use a supported browser, like Chrome or Edge.", - "requiresWebSerial": "This connection type requires <0>Web Serial. Please use a supported browser, like Chrome or Edge.", + "requiresFeatures": "Questo tipo di connessione richiede <0>. Si prega di utilizzare un browser supportato, come Chrome o Edge.", "requiresSecureContext": "Questa applicazione richiede un <0>contesto sicuro. Si prega di connettersi utilizzando HTTPS o localhost.", "additionallyRequiresSecureContext": "Inoltre, richiede un <0>contesto sicuro. Si prega di connettersi utilizzando HTTPS o localhost." } @@ -166,6 +177,6 @@ "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 only be changed through Remote Admin messages. This setting is not required for remote node administration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/ja-JP/commandPalette.json b/packages/web/public/i18n/locales/ja-JP/commandPalette.json index af26a208..b913a820 100644 --- a/packages/web/public/i18n/locales/ja-JP/commandPalette.json +++ b/packages/web/public/i18n/locales/ja-JP/commandPalette.json @@ -1,50 +1,51 @@ { - "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": "ノード" - } - }, - "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" - } - } + "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": "ノード" + } + }, + "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", + "disconnect": "Disconnect" + } + }, + "debug": { + "label": "Debug", + "command": { + "reconfigure": "Reconfigure", + "clearAllStoredMessages": "Clear All Stored Message" + } + } } diff --git a/packages/web/public/i18n/locales/ja-JP/dialog.json b/packages/web/public/i18n/locales/ja-JP/dialog.json index 6bd1ed54..4ec87f41 100644 --- a/packages/web/public/i18n/locales/ja-JP/dialog.json +++ b/packages/web/public/i18n/locales/ja-JP/dialog.json @@ -7,7 +7,13 @@ "description": "The Device will restart once the config is saved.", "longName": "Long Name", "shortName": "Short Name", - "title": "Change Device Name" + "title": "Change Device Name", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { "description": "The current LoRa configuration will be overridden.", @@ -21,9 +27,10 @@ "title": "Import Channel Set" }, "locationResponse": { + "title": "Location: {{identifier}}", "altitude": "Altitude: ", "coordinates": "Coordinates: ", - "title": "Location: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { "title": "Regenerate Pre-Shared Key?", @@ -60,11 +67,15 @@ }, "bluetoothConnection": { "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "New device" + "newDeviceButton": "New device", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth. Please use a supported browser, like Chrome or Edge.", - "requiresWebSerial": "This connection type requires <0>Web Serial. Please use a supported browser, like Chrome or Edge.", + "requiresFeatures": "This connection type requires <0>. Please use a supported browser, like Chrome or Edge.", "requiresSecureContext": "This application requires a <0>secure context. Please connect using HTTPS or localhost.", "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context. Please connect using HTTPS or localhost." } @@ -166,6 +177,6 @@ "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 only be changed through Remote Admin messages. This setting is not required for remote node administration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/ko-KR/channels.json b/packages/web/public/i18n/locales/ko-KR/channels.json index 982f237a..cbb0a1ab 100644 --- a/packages/web/public/i18n/locales/ko-KR/channels.json +++ b/packages/web/public/i18n/locales/ko-KR/channels.json @@ -1,69 +1,69 @@ { "page": { "sectionLabel": "채널", - "channelName": "Channel: {{channelName}}", - "broadcastLabel": "Primary", + "channelName": "채널 {{channelName}}", + "broadcastLabel": "주 채널", "channelIndex": "Ch {{index}}" }, "validation": { - "pskInvalid": "Please enter a valid {{bits}} bit PSK." + "pskInvalid": "유효한 {{bits}} bit PSK를 입력해 주세요." }, "settings": { "label": "채널 설정", - "description": "Crypto, MQTT & misc settings" + "description": "암호화, MQTT 및 기타 설정" }, "role": { "label": "역할", - "description": "Device telemetry is sent over PRIMARY. Only one PRIMARY allowed", + "description": "장치 텔레메트리 데이터는 주 채널을 통해 전송됩니다. 주 채널은 하나만 허용됩니다", "options": { - "primary": "PRIMARY", - "disabled": "DISABLED", - "secondary": "SECONDARY" + "primary": "주 채널", + "disabled": "비활성화", + "secondary": "보조 채널" } }, "psk": { - "label": "Pre-Shared Key", - "description": "Supported PSK lengths: 256-bit, 128-bit, 8-bit, Empty (0-bit)", - "generate": "Generate" + "label": "사전 공유 키", + "description": "지원되는 PSK 길이: 256-bit, 128-bit, 8-bit, Empty (0-bit)", + "generate": "생성" }, "name": { "label": "이름", - "description": "A unique name for the channel <12 bytes, leave blank for default" + "description": "채널의 고유 이름 12 바이트 미만, 기본 값을 사용하려면 빈칸으로 두세요" }, "uplinkEnabled": { - "label": "Uplink Enabled", - "description": "Send messages from the local mesh to MQTT" + "label": "업링크 활성화", + "description": "로컬 메쉬에서 MQTT로 메시지를 전송합니다" }, "downlinkEnabled": { - "label": "Downlink Enabled", - "description": "Send messages from MQTT to the local mesh" + "label": "다운링크 활성화", + "description": "MQTT를 통해 로컬 메쉬로 메시지를 전송합니다" }, "positionPrecision": { - "label": "Location", - "description": "The precision of the location to share with the channel. Can be disabled.", + "label": "위치", + "description": "채널에 공유할 위치 정확도. 비활성화 할 수 있습니다.", "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" + "none": "위치를 공유하지 않습니다", + "precise": "정확한 위치", + "metric_km23": "23 km 이내", + "metric_km12": "12 km 이내", + "metric_km5_8": "5.8 km 이내", + "metric_km2_9": "2.9 km 이내", + "metric_km1_5": "1.5 km 이내", + "metric_m700": "700 m 이내", + "metric_m350": "350 m 이내", + "metric_m200": "200 m 이내", + "metric_m90": "90 m 이내", + "metric_m50": "50 m 이내", + "imperial_mi15": "15 miles 이내", + "imperial_mi7_3": "7.3 miles 이내", + "imperial_mi3_6": "3.6 miles 이내", + "imperial_mi1_8": "1.8 miles 이내", + "imperial_mi0_9": "0.9 miles 이내", + "imperial_mi0_5": "0.5 miles 이내", + "imperial_mi0_2": "0.2 miles 이내", + "imperial_ft600": "600 feet 이내", + "imperial_ft300": "300 feet 이내", + "imperial_ft150": "150 feet 이내" } } } diff --git a/packages/web/public/i18n/locales/ko-KR/commandPalette.json b/packages/web/public/i18n/locales/ko-KR/commandPalette.json index 744c2faf..c87764bf 100644 --- a/packages/web/public/i18n/locales/ko-KR/commandPalette.json +++ b/packages/web/public/i18n/locales/ko-KR/commandPalette.json @@ -1,50 +1,51 @@ { - "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" - } - } + "emptyState": "검색된 결과 없음.", + "page": { + "title": "명령 메뉴" + }, + "pinGroup": { + "label": "명령 그룹 고정" + }, + "unpinGroup": { + "label": "명령 그룹 고정 해제" + }, + "goto": { + "label": "메뉴", + "command": { + "messages": "메시지기기", + "map": "지도", + "config": "설정", + "channels": "채널", + "nodes": "노드" + } + }, + "manage": { + "label": "관리", + "command": { + "switchNode": "노드 변경", + "connectNewNode": "새로운 노드 연결" + } + }, + "contextual": { + "label": "관련 기능", + "command": { + "qrCode": "QR 코드", + "qrGenerator": "생성", + "qrImport": "불러오기", + "scheduleShutdown": "종료 예약", + "scheduleReboot": "재부팅 예약", + "rebootToOtaMode": "OTA 모드로 재부팅", + "resetNodeDb": "노드 목록 초기화", + "factoryResetDevice": "공장 초기화", + "factoryResetConfig": "설정 초기", + "disconnect": "연결 끊기" + } + }, + "debug": { + "label": "디버그", + "command": { + "reconfigure": "재설정", + "clearAllStoredMessages": "저장된 모든 메시지 삭제" + } + } } diff --git a/packages/web/public/i18n/locales/ko-KR/common.json b/packages/web/public/i18n/locales/ko-KR/common.json index 98150685..9af55ab8 100644 --- a/packages/web/public/i18n/locales/ko-KR/common.json +++ b/packages/web/public/i18n/locales/ko-KR/common.json @@ -1,37 +1,37 @@ { "button": { "apply": "적용", - "backupKey": "Backup Key", + "backupKey": "백업 키", "cancel": "취소", - "clearMessages": "Clear Messages", + "clearMessages": "메시지 삭제", "close": "닫기", - "confirm": "Confirm", + "confirm": "확인", "delete": "삭제", - "dismiss": "Dismiss", - "download": "Download", - "export": "Export", - "generate": "Generate", - "regenerate": "Regenerate", + "dismiss": "취소", + "download": "다운로드", + "export": "내보내기", + "generate": "생성", + "regenerate": "재생성", "import": "불러오기", "message": "메시지", - "now": "Now", + "now": "지금", "ok": "확인", - "print": "Print", - "rebootOtaNow": "Reboot to OTA Mode Now", + "print": "인쇄", + "rebootOtaNow": "지금 OTA 모드로 재부팅", "remove": "지우기", - "requestNewKeys": "Request New Keys", - "requestPosition": "Request Position", + "requestNewKeys": "새로운 키 요청", + "requestPosition": "위치 요청", "reset": "초기화", "save": "저장", "scanQr": " QR코드 스캔", - "traceRoute": "Trace Route", - "submit": "Submit" + "traceRoute": "추적 루트", + "submit": "제출" }, "app": { "title": "Meshtastic", - "fullTitle": "Meshtastic Web Client" + "fullTitle": "Meshtastic 웹 클라이언트" }, - "loading": "Loading...", + "loading": "로딩 중...", "unit": { "cps": "CPS", "dbm": "dBm", @@ -41,55 +41,55 @@ "plural": "Hops" }, "hopsAway": { - "one": "{{count}} hop away", - "plural": "{{count}} hops away", - "unknown": "Unknown hops away" + "one": "{{count}} hop 떨어짐", + "plural": "{{count}} hops 떨어짐", + "unknown": "알 수 없는 hops 떨어짐" }, "megahertz": "MHz", "raw": "raw", "meter": { - "one": "Meter", - "plural": "Meters", + "one": "미터", + "plural": "미터", "suffix": "m" }, "minute": { - "one": "Minute", - "plural": "Minutes" + "one": "분", + "plural": "분" }, "hour": { - "one": "Hour", - "plural": "Hours" + "one": "시", + "plural": "시" }, "millisecond": { - "one": "Millisecond", - "plural": "Milliseconds", + "one": "밀리초", + "plural": "밀리초", "suffix": "ms" }, "second": { - "one": "Second", - "plural": "Seconds" + "one": "초", + "plural": "초" }, "day": { - "one": "Day", - "plural": "Days" + "one": "일", + "plural": "일" }, "month": { - "one": "Month", - "plural": "Months" + "one": "월", + "plural": "달" }, "year": { - "one": "Year", - "plural": "Years" + "one": "년", + "plural": "년" }, "snr": "SNR", "volt": { - "one": "Volt", - "plural": "Volts", + "one": "볼트", + "plural": "볼트", "suffix": "V" }, "record": { - "one": "Records", - "plural": "Records" + "one": "레코드", + "plural": "레코드" } }, "security": { @@ -99,7 +99,7 @@ "256bit": "256 bit" }, "unknown": { - "longName": "Unknown", + "longName": "알 수 없는", "shortName": "UNK", "notAvailable": "N/A", "num": "??" @@ -107,35 +107,35 @@ "nodeUnknownPrefix": "!", "unset": "UNSET", "fallbackName": "Meshtastic {{last4}}", - "node": "Node", + "node": "노드", "formValidation": { - "unsavedChanges": "Unsaved changes", + "unsavedChanges": "변경 내용이 저장되지 않았습니다", "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." + "string": "너무 깁니다. {{maximum}} 문자 이하", + "number": "너무 큽니다. {{maximum}} 이하", + "bytes": "너무 큽니다. {{params.maximum}} 바이트 이하" }, "tooSmall": { - "string": "Too short, expected more than or equal to {{minimum}} characters.", - "number": "Too small, expected a number larger than or equal to {{minimum}}." + "string": "너무 짧습니다. {{minimum}} 이상", + "number": "너무 작습니다. {{minimum}} 이상" }, "invalidFormat": { - "ipv4": "Invalid format, expected an IPv4 address.", - "key": "Invalid format, expected a Base64 encoded pre-shared key (PSK)." + "ipv4": "잘못된 형식입니다. IPv4 주소", + "key": "잘못된 형식입니다. Base64로 인코딩된 사전 공유키 (PSK)" }, "invalidType": { - "number": "Invalid type, expected a number." + "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)." + "0bit": "키는 비어있어야 합니다.", + "8bit": "8 bit 사전공유키 (PSK) 가 필요합니다.", + "128bit": "128 bit 사전공유키 (PSK) 가 필요합니다.", + "256bit": "256 bit 사전공유키 (PSK) 가 필요합니다." }, "required": { - "generic": "This field is required.", - "managed": "At least one admin key is requred if the node is managed.", - "key": "Key is required." + "generic": "필수 입력 사항입니다.", + "managed": "노드 관리를 위해 최소 한 개의 관리자 키가 필요합니다.", + "key": "키가 필요합니다." } } } diff --git a/packages/web/public/i18n/locales/ko-KR/dashboard.json b/packages/web/public/i18n/locales/ko-KR/dashboard.json index 69430571..150c2f7b 100644 --- a/packages/web/public/i18n/locales/ko-KR/dashboard.json +++ b/packages/web/public/i18n/locales/ko-KR/dashboard.json @@ -1,12 +1,12 @@ { "dashboard": { - "title": "Connected Devices", - "description": "Manage your connected Meshtastic devices.", + "title": "연결된 장치", + "description": "연결된 Meshtastic 장치를 관리하세요.", "connectionType_ble": "BLE", "connectionType_serial": "시리얼", "connectionType_network": "네트워크", - "noDevicesTitle": "No devices connected", - "noDevicesDescription": "Connect a new device to get started.", - "button_newConnection": "New Connection" + "noDevicesTitle": "연결된 장치 없음", + "noDevicesDescription": "새로운 장치를 연결하여 시작하세요.", + "button_newConnection": "새 연결" } } diff --git a/packages/web/public/i18n/locales/ko-KR/deviceConfig.json b/packages/web/public/i18n/locales/ko-KR/deviceConfig.json index 35212bd1..49018765 100644 --- a/packages/web/public/i18n/locales/ko-KR/deviceConfig.json +++ b/packages/web/public/i18n/locales/ko-KR/deviceConfig.json @@ -1,8 +1,8 @@ { "page": { - "title": "Configuration", + "title": "설정", "tabBluetooth": "블루투스", - "tabDevice": "기기", + "tabDevice": "장치", "tabDisplay": "화면", "tabLora": "LoRa", "tabNetwork": "네트워크", @@ -11,150 +11,150 @@ "tabSecurity": "보안" }, "sidebar": { - "label": "Modules" + "label": "모듈" }, "device": { - "title": "Device Settings", - "description": "Settings for the device", + "title": "장치 설정", + "description": "장치 설정", "buttonPin": { - "description": "Button pin override", - "label": "Button Pin" + "description": "버튼 핀 오버라이드", + "label": "버튼 핀" }, "buzzerPin": { - "description": "Buzzer pin override", - "label": "Buzzer Pin" + "description": "부저 핀 오버라이드", + "label": "부저 핀" }, "disableTripleClick": { - "description": "Disable triple click", - "label": "Disable Triple Click" + "description": "세 번 클릭 끄기", + "label": "세 번 클릭 끄기" }, "doubleTapAsButtonPress": { - "description": "Treat double tap as button press", - "label": "Double Tap as Button Press" + "description": "더블 탭하여 버튼 누름", + "label": "더블 탭하여 버튼 누름" }, "ledHeartbeatDisabled": { - "description": "Disable default blinking LED", - "label": "LED Heartbeat Disabled" + "description": "기본 깜빡이는 LED를 비활성화", + "label": "LED 깜빡임 비활성화" }, "nodeInfoBroadcastInterval": { - "description": "How often to broadcast node info", - "label": "Node Info Broadcast Interval" + "description": "노드 정보의 발송 주기를 설정", + "label": "노드 정보 발송 주기" }, "posixTimezone": { - "description": "The POSIX timezone string for the device", + "description": "장치의 Posix Timezone String 입력", "label": "POSIX 시간대" }, "rebroadcastMode": { - "description": "How to handle rebroadcasting", - "label": "Rebroadcast Mode" + "description": "중계를 처리하는 방법 설정", + "label": "중계 모드" }, "role": { - "description": "What role the device performs on the mesh", + "description": "해당 장치가 메쉬에서 수행하는 역할을 설정", "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.", + "title": "블루투스 설정", + "description": "블루투스 설정", + "note": "참고: 일부 장치(ESP32)는 블루투스와 와이파이를 동시에 사용할 수 없습니다.", "enabled": { - "description": "Enable or disable Bluetooth", - "label": "Enabled" + "description": "블루투스를 켜거나 끕니다.", + "label": "활성화" }, "pairingMode": { - "description": "Pin selection behaviour.", + "description": "핀 선택", "label": "페어링 모드" }, "pin": { - "description": "Pin to use when pairing", - "label": "Pin" + "description": "페어링에 사용할 핀", + "label": "핀" } }, "display": { - "description": "Settings for the device display", - "title": "Display Settings", + "description": "장치의 디스플레이 설정", + "title": "디스플레이 설정", "headingBold": { - "description": "Bolden the heading text", - "label": "Bold Heading" + "description": "상태표시줄 볼드체 적용하기", + "label": "상태표시줄 볼드체" }, "carouselDelay": { - "description": "How fast to cycle through windows", - "label": "Carousel Delay" + "description": "화면 전환 사이클 시간을 입력", + "label": "전환 시간" }, "compassNorthTop": { - "description": "Fix north to the top of compass", - "label": "Compass North Top" + "description": "나침반 상단을 북쪽으로 고정", + "label": "나침반 북쪽 고정" }, "displayMode": { - "description": "Screen layout variant", - "label": "Display Mode" + "description": "스크린 레이아웃 변형", + "label": "디스플레이 모드" }, "displayUnits": { - "description": "Display metric or imperial units", - "label": "Display Units" + "description": "단위 표시 형식", + "label": "단위 표시" }, "flipScreen": { - "description": "Flip display 180 degrees", - "label": "Flip Screen" + "description": "화면 180도 뒤집기", + "label": "화면 뒤집기" }, "gpsDisplayUnits": { - "description": "Coordinate display format", - "label": "GPS Display Units" + "description": "좌표 표시 형식", + "label": "GPS 표시 단위" }, "oledType": { - "description": "Type of OLED screen attached to the device", - "label": "OLED Type" + "description": "장치에 부착된 OLED 화면의 유형", + "label": "OLED 타입" }, "screenTimeout": { - "description": "Turn off the display after this long", - "label": "Screen Timeout" + "description": "디스플레이가 꺼지기까지 걸리는 시간", + "label": "화면 끄기 시간" }, "twelveHourClock": { - "description": "Use 12-hour clock format", - "label": "12-Hour Clock" + "description": "12시간제 보기", + "label": "12시간제" }, "wakeOnTapOrMotion": { - "description": "Wake the device on tap or motion", - "label": "Wake on Tap or Motion" + "description": "탭하거나 모션으로 깨우기", + "label": "탭하거나 모션으로 깨우기" } }, "lora": { - "title": "Mesh Settings", - "description": "Settings for the LoRa mesh", + "title": "Mesh 설정", + "description": "LoRa mesh 설정", "bandwidth": { - "description": "Channel bandwidth in MHz", + "description": "채널 대역폭 MHz", "label": "대역폭" }, "boostedRxGain": { - "description": "Boosted RX gain", - "label": "Boosted RX Gain" + "description": "수신 부스트 gain", + "label": "수신 부스트 Gain" }, "codingRate": { - "description": "The denominator of the coding rate", - "label": "Coding Rate" + "description": "Coding rate의 분모", + "label": "Coding rate" }, "frequencyOffset": { - "description": "Frequency offset to correct for crystal calibration errors", - "label": "Frequency Offset" + "description": "크리스탈 교정 오차를 보정하기 위한 주파수 오프셋", + "label": "주파수 오프셋" }, "frequencySlot": { - "description": "LoRa frequency channel number", - "label": "Frequency Slot" + "description": "LoRa 주파수 채널 번호", + "label": "주파수 슬롯" }, "hopLimit": { - "description": "Maximum number of hops", - "label": "Hop Limit" + "description": "최고 hops 수", + "label": "Hop 제한" }, "ignoreMqtt": { - "description": "Don't forward MQTT messages over the mesh", + "description": "MQTT로 부터 mesh로 메시지를를 전달하지 않습니다", "label": "MQTT로 부터 수신 무시" }, "modemPreset": { - "description": "Modem preset to use", + "description": "모뎀 프리셋 사용", "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", + "description": "이 설정을 true로 하면 사용자가 패킷을 MQTT에 업로드하는 것을 허용하고, false 이면 원격 노드들은 패킷을 MQTT로 전달하지 않도록 요청됩니다", "label": "MQTT로 전송 허용" }, "overrideDutyCycle": { @@ -162,118 +162,118 @@ "label": "Duty Cycle 무시" }, "overrideFrequency": { - "description": "Override frequency", - "label": "Override Frequency" + "description": "해당 주파수 강제 설정", + "label": "주파수 오버라이드" }, "region": { - "description": "Sets the region for your node", + "description": "당신의 노드의 지역을 설정하세요", "label": "지역" }, "spreadingFactor": { "description": "Indicates the number of chirps per symbol", - "label": "Spreading Factor" + "label": "Spread factor" }, "transmitEnabled": { - "description": "Enable/Disable transmit (TX) from the LoRa radio", - "label": "Transmit Enabled" + "description": "LoRa 전송(TX)을 활성화/비활성화합니다", + "label": "전송 활성화" }, "transmitPower": { - "description": "Max transmit power", - "label": "Transmit Power" + "description": "최대 전송 출력", + "label": "전송 출력" }, "usePreset": { - "description": "Use one of the predefined modem presets", - "label": "Use Preset" + "description": "사전 정의된 모뎀프리셋을 사용하세요", + "label": "프리셋 사용" }, "meshSettings": { - "description": "Settings for the LoRa mesh", - "label": "Mesh Settings" + "description": "LoRa mesh 설정", + "label": "Mesh 설정" }, "waveformSettings": { - "description": "Settings for the LoRa waveform", - "label": "Waveform Settings" + "description": "LoRa 파형 설정", + "label": "파형 설정" }, "radioSettings": { - "label": "Radio Settings", - "description": "Settings for the LoRa radio" + "label": "무선 설정", + "description": "LoRa 무선 설정" } }, "network": { - "title": "WiFi Config", - "description": "WiFi radio configuration", - "note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.", + "title": "WiFi 설정", + "description": "WiFi 설정", + "note": "참고: 일부 장치(ESP32)는 블루투스와 와이파이를 동시에 사용할 수 없습니다.", "addressMode": { - "description": "Address assignment selection", - "label": "Address Mode" + "description": "주소 할당 선택", + "label": "주소 모드" }, "dns": { - "description": "DNS Server", + "description": "DNS 서버", "label": "DNS" }, "ethernetEnabled": { - "description": "Enable or disable the Ethernet port", - "label": "Enabled" + "description": "이더넷 포트 활성화하거나 비활성화", + "label": "활성화" }, "gateway": { - "description": "Default Gateway", + "description": "기본 게이트웨이", "label": "게이트웨이" }, "ip": { - "description": "IP Address", + "description": "IP 주소", "label": "IP" }, "psk": { - "description": "Network password", + "description": "네트워크 암호", "label": "PSK" }, "ssid": { - "description": "Network name", + "description": "네트워크 이름", "label": "SSID" }, "subnet": { - "description": "Subnet Mask", + "description": "서브넷 마스크", "label": "서브넷" }, "wifiEnabled": { - "description": "Enable or disable the WiFi radio", - "label": "Enabled" + "description": "WiFi를 활성화하거나 비활성화", + "label": "활성화" }, "meshViaUdp": { - "label": "Mesh via UDP" + "label": "UDP를 통한 Mesh" }, "ntpServer": { - "label": "NTP Server" + "label": "NTP 서버" }, "rsyslogServer": { - "label": "Rsyslog Server" + "label": "Rsyslog 서버" }, "ethernetConfigSettings": { - "description": "Ethernet port configuration", - "label": "Ethernet Config" + "description": "이더넷 포트 설정", + "label": "이더넷 설정" }, "ipConfigSettings": { - "description": "IP configuration", - "label": "IP Config" + "description": "IP 설정", + "label": "IP 설정" }, "ntpConfigSettings": { - "description": "NTP configuration", - "label": "NTP Config" + "description": "NTP 설정", + "label": "NTP 설정" }, "rsyslogConfigSettings": { - "description": "Rsyslog configuration", - "label": "Rsyslog Config" + "description": "Rsyslog 설정", + "label": "Rsyslog 설정" }, "udpConfigSettings": { - "description": "UDP over Mesh configuration", + "description": "UDP over Mesh 설정", "label": "UDP 설정" } }, "position": { - "title": "Position Settings", - "description": "Settings for the position module", + "title": "위치 설정", + "description": "위치 설정", "broadcastInterval": { - "description": "How often your position is sent out over the mesh", - "label": "Broadcast Interval" + "description": "메쉬를 통해 당신의 위치 정보가 전송되는 빈도", + "label": "전송 간격" }, "enablePin": { "description": "GPS module enable pin override", @@ -357,7 +357,7 @@ }, "powerSavingEnabled": { "description": "Select if powered from a low-current source (i.e. solar), to minimize power consumption as much as possible.", - "label": "저젼력 모드 설정" + "label": "저전력 모드 설정" }, "shutdownOnBatteryDelay": { "description": "Automatically shutdown node after this long when on battery, 0 for indefinite", @@ -379,7 +379,7 @@ "security": { "description": "Settings for the Security configuration", "title": "Security Settings", - "button_backupKey": "Backup Key", + "button_backupKey": "백업 키", "adminChannelEnabled": { "description": "Allow incoming device control over the insecure legacy admin channel", "label": "Allow Legacy Admin" diff --git a/packages/web/public/i18n/locales/ko-KR/dialog.json b/packages/web/public/i18n/locales/ko-KR/dialog.json index 786932fa..d0e10dd0 100644 --- a/packages/web/public/i18n/locales/ko-KR/dialog.json +++ b/packages/web/public/i18n/locales/ko-KR/dialog.json @@ -1,13 +1,19 @@ { "deleteMessages": { - "description": "This action will clear all message history. This cannot be undone. Are you sure you want to continue?", - "title": "Clear All Messages" + "description": "이 작업은 모든 메시지 기록을 삭제합니다. 이 작업은 되돌릴 수 없습니다. 계속하시겠습니까?", + "title": "모든 메시지 삭제" }, "deviceName": { "description": "The Device will restart once the config is saved.", - "longName": "Long Name", - "shortName": "Short Name", - "title": "Change Device Name" + "longName": "긴 이름", + "shortName": "짧은 이름", + "title": "장치 이름 변경", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { "description": "The current LoRa configuration will be overridden.", @@ -21,14 +27,15 @@ "title": "Import Channel Set" }, "locationResponse": { + "title": "Location: {{identifier}}", "altitude": "Altitude: ", "coordinates": "Coordinates: ", - "title": "Location: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { "title": "Regenerate Pre-Shared Key?", "description": "Are you sure you want to regenerate the pre-shared key?", - "regenerate": "Regenerate" + "regenerate": "재생성" }, "newDeviceDialog": { "title": "Connect New Device", @@ -39,7 +46,7 @@ "tabSerial": "시리얼", "useHttps": "Use HTTPS", "connecting": "Connecting...", - "connect": "Connect", + "connect": "연결", "connectionFailedAlert": { "title": "Connection Failed", "descriptionPrefix": "Could not connect to the device. ", @@ -60,19 +67,23 @@ }, "bluetoothConnection": { "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "New device" + "newDeviceButton": "New device", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth. Please use a supported browser, like Chrome or Edge.", - "requiresWebSerial": "This connection type requires <0>Web Serial. Please use a supported browser, like Chrome or Edge.", + "requiresFeatures": "This connection type requires <0>. Please use a supported browser, like Chrome or Edge.", "requiresSecureContext": "This application requires a <0>secure context. Please connect using HTTPS or localhost.", "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context. Please connect using HTTPS or localhost." } }, "nodeDetails": { "message": "메시지", - "requestPosition": "Request Position", - "traceRoute": "Trace Route", + "requestPosition": "위치 요청", + "traceRoute": "추적 루트", "airTxUtilization": "Air TX utilization", "allRawMetrics": "All Raw Metrics:", "batteryLevel": "Battery level", @@ -121,13 +132,13 @@ "title": "Generate QR Code" }, "rebootOta": { - "title": "Schedule Reboot", + "title": "재부팅 예약", "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", + "title": "재부팅 예약", "description": "Reboot the connected node after x minutes." }, "refreshKeys": { @@ -144,7 +155,7 @@ "title": "Remove Node?" }, "shutdown": { - "title": "Schedule Shutdown", + "title": "종료 예약", "description": "Turn off the connected node after x minutes." }, "traceRoute": { @@ -166,6 +177,6 @@ "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 only be changed through Remote Admin messages. This setting is not required for remote node administration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/ko-KR/messages.json b/packages/web/public/i18n/locales/ko-KR/messages.json index 330bf054..22c5a152 100644 --- a/packages/web/public/i18n/locales/ko-KR/messages.json +++ b/packages/web/public/i18n/locales/ko-KR/messages.json @@ -1,39 +1,39 @@ { "page": { - "title": "Messages: {{chatName}}", - "placeholder": "Enter Message" + "title": "메시지: {{chatName}}", + "placeholder": "메시지 입력" }, "emptyState": { - "title": "Select a Chat", - "text": "No messages yet." + "title": "채팅 선택", + "text": "아직 메시지가 없습니다." }, "selectChatPrompt": { - "text": "Select a channel or node to start messaging." + "text": "채널 또는 노드를 선택하여 메시지 전송을 시작하세요." }, "sendMessage": { - "placeholder": "Enter your message here...", + "placeholder": "여기에 메시지를 입력하세요...", "sendButton": "보내기" }, "actionsMenu": { - "addReactionLabel": "Add Reaction", - "replyLabel": "Reply" + "addReactionLabel": "반응 추가", + "replyLabel": "답장" }, "deliveryStatus": { "delivered": { - "label": "Message delivered", - "displayText": "Message delivered" + "label": "메시지 전송", + "displayText": "메시지 전송됨" }, "failed": { - "label": "Message delivery failed", - "displayText": "Delivery failed" + "label": "메시지 전송 실패", + "displayText": "전송 실패" }, "unknown": { - "label": "Message status unknown", - "displayText": "Unknown state" + "label": "메시지 상태 알 수 없음", + "displayText": "알 수 없는 상태" }, "waiting": { - "label": "Sending message", - "displayText": "Waiting for delivery" + "label": "메시지 전송 중", + "displayText": "전송 대기 중" } } } diff --git a/packages/web/public/i18n/locales/ko-KR/moduleConfig.json b/packages/web/public/i18n/locales/ko-KR/moduleConfig.json index afe8287e..54aba35d 100644 --- a/packages/web/public/i18n/locales/ko-KR/moduleConfig.json +++ b/packages/web/public/i18n/locales/ko-KR/moduleConfig.json @@ -121,7 +121,7 @@ "title": "Detection Sensor Settings", "description": "Settings for the Detection Sensor module", "enabled": { - "label": "Enabled", + "label": "활성화", "description": "Enable or disable Detection Sensor Module" }, "minimumBroadcastSecs": { @@ -221,7 +221,7 @@ "title": "MQTT Settings", "description": "Settings for the MQTT module", "enabled": { - "label": "Enabled", + "label": "활성화", "description": "Enable or disable MQTT" }, "address": { @@ -279,16 +279,16 @@ "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" + "imperial_mi15": "15 miles 이내", + "imperial_mi7_3": "7.3 miles 이내", + "imperial_mi3_6": "3.6 miles 이내", + "imperial_mi1_8": "1.8 miles 이내", + "imperial_mi0_9": "0.9 miles 이내", + "imperial_mi0_5": "0.5 miles 이내", + "imperial_mi0_2": "0.2 miles 이내", + "imperial_ft600": "600 feet 이내", + "imperial_ft300": "300 feet 이내", + "imperial_ft150": "150 feet 이내" } } } @@ -297,7 +297,7 @@ "title": "Neighbor Info Settings", "description": "Settings for the Neighbor Info module", "enabled": { - "label": "Enabled", + "label": "활성화", "description": "Enable or disable Neighbor Info Module" }, "updateInterval": { @@ -365,7 +365,7 @@ "description": "The serial baud rate" }, "timeout": { - "label": "시간 초과됨", + "label": "시간 초과", "description": "Seconds to wait before we consider your packet as 'done'" }, "mode": { @@ -406,7 +406,7 @@ "description": "Settings for the Telemetry module", "deviceUpdateInterval": { "label": "Device Metrics", - "description": "기기 메트릭 업데이트 간격 (초)" + "description": "장치 메트릭 업데이트 간격 (초)" }, "environmentUpdateInterval": { "label": "환경 메트릭 업데이트 간격 (초)", diff --git a/packages/web/public/i18n/locales/ko-KR/nodes.json b/packages/web/public/i18n/locales/ko-KR/nodes.json index 00895f4f..a1e4ccc3 100644 --- a/packages/web/public/i18n/locales/ko-KR/nodes.json +++ b/packages/web/public/i18n/locales/ko-KR/nodes.json @@ -1,63 +1,63 @@ { "nodeDetail": { "publicKeyEnabled": { - "label": "Public Key Enabled" + "label": "공개 키 활성화" }, "noPublicKey": { - "label": "No Public Key" + "label": "공개 키 없음" }, "directMessage": { - "label": "Direct Message {{shortName}}" + "label": "DM {{shortName}}" }, "favorite": { "label": "즐겨찾기", - "tooltip": "Add or remove this node from your favorites" + "tooltip": "이 노드를 즐겨찾기에 추가하거나 삭제" }, "notFavorite": { - "label": "Not a Favorite" + "label": "즐겨찾기 아님" }, "error": { - "label": "오류", - "text": "An error occurred while fetching node details. Please try again later." + "label": "Error", + "text": "노드 정보를 가져오는 과정에서 오류가 발생했습니다. 나중에 다시 시도해 주세요." }, "status": { - "heard": "Heard", + "heard": "수신", "mqtt": "MQTT" }, "elevation": { - "label": "Elevation" + "label": "고도" }, "channelUtil": { - "label": "Channel Util" + "label": "채널 사용률" }, "airtimeUtil": { - "label": "Airtime Util" + "label": "통신 사용률" } }, "nodesTable": { "headings": { - "longName": "Long Name", - "connection": "Connection", - "lastHeard": "Last Heard", - "encryption": "Encryption", - "model": "Model", - "macAddress": "MAC Address" + "longName": "긴 이름", + "connection": "연결", + "lastHeard": "최근 수신", + "encryption": "암호화", + "model": "하드웨어", + "macAddress": "MAC 주소" }, "connectionStatus": { "direct": "직접 연결", - "away": "away", + "away": "떨어짐", "unknown": "-", - "viaMqtt": ", via MQTT" + "viaMqtt": ", MQTT 경유" }, "lastHeardStatus": { - "never": "Never" + "never": "수신 된 적 없음" } }, "actions": { - "added": "Added", - "removed": "Removed", - "ignoreNode": "Ignore Node", - "unignoreNode": "Unignore Node", - "requestPosition": "Request Position" + "added": "추가됨", + "removed": "삭제됨", + "ignoreNode": "노드 무시하기", + "unignoreNode": "노드 무시 해제", + "requestPosition": "위치 요청" } } diff --git a/packages/web/public/i18n/locales/ko-KR/ui.json b/packages/web/public/i18n/locales/ko-KR/ui.json index dd413f43..3b9bca41 100644 --- a/packages/web/public/i18n/locales/ko-KR/ui.json +++ b/packages/web/public/i18n/locales/ko-KR/ui.json @@ -1,111 +1,111 @@ { "navigation": { - "title": "Navigation", - "messages": "메시지", + "title": "메뉴", + "messages": "메시지기기", "map": "지도", - "config": "Config", - "radioConfig": "Radio Config", - "moduleConfig": "Module Config", + "config": "설정", + "radioConfig": "무선 설정", + "moduleConfig": "모듈 설정", "channels": "채널", - "nodes": "Nodes" + "nodes": "노드" }, "app": { "title": "Meshtastic", - "logo": "Meshtastic Logo" + "logo": "Meshtastic 로고" }, "sidebar": { "collapseToggle": { "button": { - "open": "Open sidebar", - "close": "Close sidebar" + "open": "사이드바 열기", + "close": "사이드바 닫기" } }, "deviceInfo": { - "volts": "{{voltage}} volts", + "volts": "{{voltage}} V", "firmware": { "title": "펌웨어", "version": "v{{version}}", - "buildDate": "Build date: {{date}}" + "buildDate": "빌드 날짜: {{date}}" }, "deviceName": { - "title": "Device Name", - "changeName": "Change Device Name", - "placeholder": "Enter device name" + "title": "장치 이름", + "changeName": "장치 이름 변경", + "placeholder": "장치 이름 입력" }, - "editDeviceName": "Edit device name" + "editDeviceName": "장치 이름 수정" } }, "batteryStatus": { - "charging": "{{level}}% charging", - "pluggedIn": "Plugged in", + "charging": "{{level}}% 충전중", + "pluggedIn": "전원 연결됨", "title": "배터리" }, "search": { - "nodes": "Search nodes...", - "channels": "Search channels...", - "commandPalette": "Search commands..." + "nodes": "노드 검색...", + "channels": "채널 검색...", + "commandPalette": "명령 검색..." }, "toast": { "positionRequestSent": { - "title": "Position request sent." + "title": "위치 요청 보냄." }, "requestingPosition": { - "title": "Requesting position, please wait..." + "title": "위치 요청 중, 기다려주세요." }, "sendingTraceroute": { - "title": "Sending Traceroute, please wait..." + "title": "추적 루트 요청, 기다려주세요." }, "tracerouteSent": { - "title": "Traceroute sent." + "title": "추적 루트 보냄." }, "savedChannel": { - "title": "Saved Channel: {{channelName}}" + "title": "저장된 채널: {{channelName}}" }, "messages": { "pkiEncryption": { - "title": "Chat is using PKI encryption." + "title": "채팅은 PKI 암호화를 사용하고 있습니다." }, "pskEncryption": { - "title": "Chat is using PSK encryption." + "title": "채팅은 PSK 암호화를 사용하고 있습니다." } }, "configSaveError": { - "title": "Error Saving Config", - "description": "An error occurred while saving the configuration." + "title": "설정 저장 오류", + "description": "설정을 저장하는 과정에서 오류가 발생했습니다." }, "validationError": { - "title": "Config Errors Exist", - "description": "Please fix the configuration errors before saving." + "title": "설정 오류", + "description": "저장하기 전에 설정 오류를 수정해 주시기 바랍니다." }, "saveSuccess": { - "title": "Saving Config", - "description": "The configuration change {{case}} has been saved." + "title": "설정 저장됨", + "description": "설정 변경 사항 {{case}}가 저장되었습니다." }, "favoriteNode": { - "title": "{{action}} {{nodeName}} {{direction}} favorites.", + "title": "{{nodeName}}이 즐겨찾기{{direction}} {{action}}", "action": { - "added": "Added", - "removed": "Removed", - "to": "to", - "from": "from" + "added": "추가됨", + "removed": "삭제됨", + "to": "에", + "from": "에서" } }, "ignoreNode": { - "title": "{{action}} {{nodeName}} {{direction}} ignore list", + "title": "{{nodeName}}이 무시 목록{{direction}} {{action}}", "action": { - "added": "Added", - "removed": "Removed", - "to": "to", - "from": "from" + "added": "추가됨", + "removed": "삭제됨", + "to": "에", + "from": "에서" } } }, "notifications": { "copied": { - "label": "Copied!" + "label": "저장됨!" }, "copyToClipboard": { - "label": "Copy to clipboard" + "label": "클립보드에 복사" }, "hidePassword": { "label": "비밀번호 숨김" @@ -114,20 +114,20 @@ "label": "비밀번호 보기" }, "deliveryStatus": { - "delivered": "Delivered", - "failed": "Delivery Failed", - "waiting": "Waiting", - "unknown": "Unknown" + "delivered": "전송됨", + "failed": "전송 실패", + "waiting": "대기 중", + "unknown": "알 수 없는" } }, "general": { - "label": "General" + "label": "일반" }, "hardware": { "label": "하드웨어" }, "metrics": { - "label": "Metrics" + "label": "메트릭" }, "role": { "label": "역할" @@ -136,93 +136,93 @@ "label": "필터" }, "advanced": { - "label": "Advanced" + "label": "고급" }, "clearInput": { - "label": "Clear input" + "label": "입력 지우기" }, "resetFilters": { - "label": "Reset Filters" + "label": "필터 초기화" }, "nodeName": { - "label": "Node name/number", + "label": "노드 이름/숫자", "placeholder": "Meshtastic 1234" }, "airtimeUtilization": { - "label": "Airtime Utilization (%)" + "label": "통신 사용률 (%)" }, "batteryLevel": { - "label": "Battery level (%)", - "labelText": "Battery level (%): {{value}}" + "label": "배터리 잔량 (%)", + "labelText": "배터리 잔량 (%): {{value}}" }, "batteryVoltage": { - "label": "Battery voltage (V)", + "label": "배터리 전압 (V)", "title": "전압" }, "channelUtilization": { - "label": "Channel Utilization (%)" + "label": "채널 사용률 (%)" }, "hops": { "direct": "직접 연결", - "label": "Number of hops", - "text": "Number of hops: {{value}}" + "label": "Hops 수", + "text": "Hops 수: {{value}}" }, "lastHeard": { "label": "최근 수신", - "labelText": "Last heard: {{value}}", - "nowLabel": "Now" + "labelText": "최근 수신: {{value}}", + "nowLabel": "지금" }, "snr": { "label": "SNR (db)" }, "favorites": { - "label": "Favorites" + "label": "즐겨찾기" }, "hide": { - "label": "Hide" + "label": "숨기기" }, "showOnly": { - "label": "Show Only" + "label": "만 보이기" }, "viaMqtt": { - "label": "Connected via MQTT" + "label": "MQTT로 연결된" }, "hopsUnknown": { - "label": "Unknown number of hops" + "label": "Hops 알 수 없음" }, "showUnheard": { - "label": "Never heard" + "label": "수신된 적 없음" }, "language": { "label": "언어", - "changeLanguage": "Change Language" + "changeLanguage": "언어 선택" }, "theme": { "dark": "다크", "light": "라이트", - "system": "Automatic", - "changeTheme": "Change Color Scheme" + "system": "자동", + "changeTheme": "컬러 선택" }, "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.
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:", + "title": "이건 좀 부끄러운 일이에요...", + "description1": "정말 죄송합니다. 웹 클라이언트에서 오류가 발생하여 강제 종료되었습니다.
이 문제는 발생하지 않아야 하는 것이며, 현재 이를 해결하기 위해 최선을 다하고 있습니다.", + "description2": "이 문제가 다시 발생하지 않도록 하는 가장 좋은 방법은 해당 문제를 저희에게 신고해 주시는 것입니다.", + "reportInstructions": "보고서에 다음 정보를 포함해 주시기 바랍니다:", "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", - "dashboardLink": "Return to the <0>dashboard", - "detailsSummary": "Error Details", - "errorMessageLabel": "Error message:", - "stackTraceLabel": "Stack trace:", + "step1": "오류가 발생했을 때 무엇을 하고 계셨나요?", + "step2": "어떤 상황을 예상 하셨나요?", + "step3": "실제로 무슨 일이 일어났나요?", + "step4": "기타 관련 정보" + }, + "reportLink": "이 문제를 저희 <0>GitHub에 보고해주세요", + "dashboardLink": "<0>메인으로 돌아가기", + "detailsSummary": "오류 세부 정보", + "errorMessageLabel": "오류 메시지:", + "stackTraceLabel": "스택 추적:", "fallbackError": "{{error}}" }, "footer": { - "text": "Powered by <0>▲ Vercel | Meshtastic® is a registered trademark of Meshtastic LLC. | <1>Legal Information", + "text": "Powered by <0>▲ Vercel | Meshtastic®는 Meshtastic LLC의 등록 상표입니다. | <1>법적 정보", "commitSha": "Commit SHA: {{sha}}" } } diff --git a/packages/web/public/i18n/locales/nl-NL/commandPalette.json b/packages/web/public/i18n/locales/nl-NL/commandPalette.json index 1a357977..2f0c6866 100644 --- a/packages/web/public/i18n/locales/nl-NL/commandPalette.json +++ b/packages/web/public/i18n/locales/nl-NL/commandPalette.json @@ -1,50 +1,51 @@ { - "emptyState": "No results found.", - "page": { - "title": "Command Menu" - }, - "pinGroup": { - "label": "Pin command group" - }, - "unpinGroup": { - "label": "Unpin command group" - }, - "goto": { - "label": "Goto", - "command": { - "messages": "Berichten", - "map": "Kaart", - "config": "Config", - "channels": "Kanalen", - "nodes": "Nodes" - } - }, - "manage": { - "label": "Manage", - "command": { - "switchNode": "Switch Node", - "connectNewNode": "Connect New Node" - } - }, - "contextual": { - "label": "Contextual", - "command": { - "qrCode": "QR Code", - "qrGenerator": "Generator", - "qrImport": "Importeer", - "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" - } - } + "emptyState": "No results found.", + "page": { + "title": "Command Menu" + }, + "pinGroup": { + "label": "Pin command group" + }, + "unpinGroup": { + "label": "Unpin command group" + }, + "goto": { + "label": "Goto", + "command": { + "messages": "Berichten", + "map": "Kaart", + "config": "Config", + "channels": "Kanalen", + "nodes": "Nodes" + } + }, + "manage": { + "label": "Manage", + "command": { + "switchNode": "Switch Node", + "connectNewNode": "Connect New Node" + } + }, + "contextual": { + "label": "Contextual", + "command": { + "qrCode": "QR Code", + "qrGenerator": "Generator", + "qrImport": "Importeer", + "scheduleShutdown": "Schedule Shutdown", + "scheduleReboot": "Schedule Reboot", + "rebootToOtaMode": "Reboot To OTA Mode", + "resetNodeDb": "Reset Node DB", + "factoryResetDevice": "Factory Reset Device", + "factoryResetConfig": "Factory Reset Config", + "disconnect": "Verbinding verbreken" + } + }, + "debug": { + "label": "Debug", + "command": { + "reconfigure": "Reconfigure", + "clearAllStoredMessages": "Clear All Stored Message" + } + } } diff --git a/packages/web/public/i18n/locales/nl-NL/dialog.json b/packages/web/public/i18n/locales/nl-NL/dialog.json index 796ecc6f..099886dd 100644 --- a/packages/web/public/i18n/locales/nl-NL/dialog.json +++ b/packages/web/public/i18n/locales/nl-NL/dialog.json @@ -7,7 +7,13 @@ "description": "The Device will restart once the config is saved.", "longName": "Long Name", "shortName": "Short Name", - "title": "Change Device Name" + "title": "Change Device Name", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { "description": "The current LoRa configuration will be overridden.", @@ -21,9 +27,10 @@ "title": "Import Channel Set" }, "locationResponse": { + "title": "Location: {{identifier}}", "altitude": "Altitude: ", "coordinates": "Coordinates: ", - "title": "Location: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { "title": "Regenerate Pre-Shared Key?", @@ -60,11 +67,15 @@ }, "bluetoothConnection": { "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "New device" + "newDeviceButton": "New device", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth. Please use a supported browser, like Chrome or Edge.", - "requiresWebSerial": "This connection type requires <0>Web Serial. Please use a supported browser, like Chrome or Edge.", + "requiresFeatures": "This connection type requires <0>. Please use a supported browser, like Chrome or Edge.", "requiresSecureContext": "This application requires a <0>secure context. Please connect using HTTPS or localhost.", "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context. Please connect using HTTPS or localhost." } @@ -166,6 +177,6 @@ "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 only be changed through Remote Admin messages. This setting is not required for remote node administration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/pl-PL/channels.json b/packages/web/public/i18n/locales/pl-PL/channels.json index 4ae50c88..5710e5dd 100644 --- a/packages/web/public/i18n/locales/pl-PL/channels.json +++ b/packages/web/public/i18n/locales/pl-PL/channels.json @@ -1,69 +1,69 @@ { "page": { "sectionLabel": "Kanały", - "channelName": "Channel: {{channelName}}", + "channelName": "Kanał: {{channelName}}", "broadcastLabel": "Podstawowy", - "channelIndex": "Ch {{index}}" + "channelIndex": "Kan. {{index}}" }, "validation": { - "pskInvalid": "Please enter a valid {{bits}} bit PSK." + "pskInvalid": "Musisz wprowadzić prawidłowy {{bits}} bitowy klucz." }, "settings": { "label": "Ustawienia kanału", - "description": "Crypto, MQTT & misc settings" + "description": "Kryptografia, MQTT i inne ustawienia" }, "role": { "label": "Rola", - "description": "Device telemetry is sent over PRIMARY. Only one PRIMARY allowed", + "description": "Telemetria urządzenia jest tylko wysyłania przez GŁOWNY. Tylko jeden GŁOWNY jest dozwolony", "options": { - "primary": "PRIMARY", - "disabled": "DISABLED", - "secondary": "SECONDARY" + "primary": "GŁOWNY", + "disabled": "WYŁĄCZONY", + "secondary": "DODATKOWY" } }, "psk": { - "label": "Pre-Shared Key", - "description": "Supported PSK lengths: 256-bit, 128-bit, 8-bit, Empty (0-bit)", - "generate": "Generate" + "label": "Klucz współdzielony", + "description": "Wspierane długości klucza: 256, 128, 8, pusty (0) bitów", + "generate": "Wygeneruj" }, "name": { "label": "Nazwa", - "description": "A unique name for the channel <12 bytes, leave blank for default" + "description": "Unikalna nazwa kanału mniejsza niż 12 bajtów, pusty jako domyślny" }, "uplinkEnabled": { - "label": "Uplink Enabled", - "description": "Send messages from the local mesh to MQTT" + "label": "Wysył włączony", + "description": "Wysyłaj wiadomości z lokalnej sieci do MQTT" }, "downlinkEnabled": { - "label": "Downlink Enabled", - "description": "Send messages from MQTT to the local mesh" + "label": "Odbiór włączony", + "description": "Wysyłaj wiadomości z MQTT to lokalnej sieci" }, "positionPrecision": { - "label": "Location", - "description": "The precision of the location to share with the channel. Can be disabled.", + "label": "Lokalizacja", + "description": "Precyzja lokalizacji, która jest wysyłana na kanale. Może zostać wyłączona.", "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" + "none": "Nie udostępniaj lokalizacji", + "precise": "Precyzyjna lokalizacja", + "metric_km23": "W zasięgu 23 kilometrów", + "metric_km12": "W zasięgu 12 kilometrów", + "metric_km5_8": "W zasięgu 5,8 kilometrów", + "metric_km2_9": "W zasięgu 2,9 kilometrów", + "metric_km1_5": "W zasięgu 1,5 kilometra", + "metric_m700": "W zasięgu 700 metrów", + "metric_m350": "W zasięgu 350 metrów", + "metric_m200": "W zasięgu 200 metrów", + "metric_m90": "W zasięgu 90 metrów", + "metric_m50": "W zasięgu 50 metrów", + "imperial_mi15": "W zasięgu 15 mil", + "imperial_mi7_3": "W zasięgu 7,3 mil", + "imperial_mi3_6": "W zasięgu 3,6 mil", + "imperial_mi1_8": "W zasięgu 1,8 mil", + "imperial_mi0_9": "W zasięgu 0,9 mil", + "imperial_mi0_5": "W zasięgu 0,5 mili", + "imperial_mi0_2": "W zasięgu 0,2 mil", + "imperial_ft600": "W zasięgu 600 stóp", + "imperial_ft300": "W zasięgu 300 stóp", + "imperial_ft150": "W zasięgu 150 stóp" } } } diff --git a/packages/web/public/i18n/locales/pl-PL/commandPalette.json b/packages/web/public/i18n/locales/pl-PL/commandPalette.json index 364c4d44..dd4e6ec7 100644 --- a/packages/web/public/i18n/locales/pl-PL/commandPalette.json +++ b/packages/web/public/i18n/locales/pl-PL/commandPalette.json @@ -1,50 +1,51 @@ { - "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" - } - } + "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", + "disconnect": "Rozłącz" + } + }, + "debug": { + "label": "Debug", + "command": { + "reconfigure": "Reconfigure", + "clearAllStoredMessages": "Clear All Stored Message" + } + } } diff --git a/packages/web/public/i18n/locales/pl-PL/common.json b/packages/web/public/i18n/locales/pl-PL/common.json index bd884f19..26550e78 100644 --- a/packages/web/public/i18n/locales/pl-PL/common.json +++ b/packages/web/public/i18n/locales/pl-PL/common.json @@ -10,7 +10,7 @@ "dismiss": "Zamknij", "download": "Download", "export": "Export", - "generate": "Generate", + "generate": "Wygeneruj", "regenerate": "Regenerate", "import": "Import", "message": "Wiadomość", @@ -20,7 +20,7 @@ "rebootOtaNow": "Reboot to OTA Mode Now", "remove": "Usuń", "requestNewKeys": "Request New Keys", - "requestPosition": "Request Position", + "requestPosition": "Poproś o pozycję", "reset": "Zresetuj", "save": "Zapisz", "scanQr": "Scan QR Code", @@ -88,15 +88,15 @@ "suffix": "V" }, "record": { - "one": "Records", - "plural": "Records" + "one": "Rekordy", + "plural": "Rekordy" } }, "security": { - "0bit": "Empty", - "8bit": "8 bit", - "128bit": "128 bit", - "256bit": "256 bit" + "0bit": "Pusty", + "8bit": "8-bitowy", + "128bit": "128-bitowy", + "256bit": "256-bitowy" }, "unknown": { "longName": "Nieznany", @@ -107,9 +107,9 @@ "nodeUnknownPrefix": "!", "unset": "UNSET", "fallbackName": "Meshtastic {{last4}}", - "node": "Node", + "node": "Węzeł", "formValidation": { - "unsavedChanges": "Unsaved changes", + "unsavedChanges": "Niezapisane zmiany", "tooBig": { "string": "Too long, expected less than or equal to {{maximum}} characters.", "number": "Too big, expected a number smaller than or equal to {{maximum}}.", @@ -120,22 +120,22 @@ "number": "Too small, expected a number larger than or equal to {{minimum}}." }, "invalidFormat": { - "ipv4": "Invalid format, expected an IPv4 address.", + "ipv4": "Nieprawidłowy format, oczekiwany adres IPv4.", "key": "Invalid format, expected a Base64 encoded pre-shared key (PSK)." }, "invalidType": { - "number": "Invalid type, expected a number." + "number": "Nieprawidłowy typ, oczekiwana liczba." }, "pskLength": { - "0bit": "Key is required to be empty.", + "0bit": "Klucz musi być pusty.", "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." + "generic": "To pole jest wymagane.", + "managed": "Co najmniej jeden klucz administratora jest wymagany, jeśli węzeł jest zarządzany.", + "key": "Klucz jest wymagany." } } } diff --git a/packages/web/public/i18n/locales/pl-PL/deviceConfig.json b/packages/web/public/i18n/locales/pl-PL/deviceConfig.json index d614ad08..55d0f3ca 100644 --- a/packages/web/public/i18n/locales/pl-PL/deviceConfig.json +++ b/packages/web/public/i18n/locales/pl-PL/deviceConfig.json @@ -1,6 +1,6 @@ { "page": { - "title": "Configuration", + "title": "Konfiguracja", "tabBluetooth": "Bluetooth", "tabDevice": "Urządzenie", "tabDisplay": "Wyświetlacz", @@ -11,10 +11,10 @@ "tabSecurity": "Bezpieczeństwo" }, "sidebar": { - "label": "Modules" + "label": "Moduły" }, "device": { - "title": "Device Settings", + "title": "Ustawienia Urządzenia", "description": "Settings for the device", "buttonPin": { "description": "Button pin override", @@ -54,7 +54,7 @@ } }, "bluetooth": { - "title": "Bluetooth Settings", + "title": "Ustawienia Bluetooth", "description": "Settings for the Bluetooth module", "note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.", "enabled": { @@ -63,7 +63,7 @@ }, "pairingMode": { "description": "Pin selection behaviour.", - "label": "Pairing mode" + "label": "Tryb parowania" }, "pin": { "description": "Pin to use when pairing", diff --git a/packages/web/public/i18n/locales/pl-PL/dialog.json b/packages/web/public/i18n/locales/pl-PL/dialog.json index a17d7255..f46dae09 100644 --- a/packages/web/public/i18n/locales/pl-PL/dialog.json +++ b/packages/web/public/i18n/locales/pl-PL/dialog.json @@ -5,9 +5,15 @@ }, "deviceName": { "description": "The Device will restart once the config is saved.", - "longName": "Long Name", + "longName": "Długa nazwa", "shortName": "Short Name", - "title": "Change Device Name" + "title": "Change Device Name", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { "description": "The current LoRa configuration will be overridden.", @@ -21,9 +27,10 @@ "title": "Import Channel Set" }, "locationResponse": { + "title": "Location: {{identifier}}", "altitude": "Altitude: ", "coordinates": "Coordinates: ", - "title": "Location: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { "title": "Regenerate Pre-Shared Key?", @@ -39,7 +46,7 @@ "tabSerial": "Seryjny", "useHttps": "Use HTTPS", "connecting": "Connecting...", - "connect": "Connect", + "connect": "Połącz", "connectionFailedAlert": { "title": "Connection Failed", "descriptionPrefix": "Could not connect to the device. ", @@ -60,18 +67,22 @@ }, "bluetoothConnection": { "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "New device" + "newDeviceButton": "New device", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth. Please use a supported browser, like Chrome or Edge.", - "requiresWebSerial": "This connection type requires <0>Web Serial. Please use a supported browser, like Chrome or Edge.", + "requiresFeatures": "This connection type requires <0>. Please use a supported browser, like Chrome or Edge.", "requiresSecureContext": "This application requires a <0>secure context. Please connect using HTTPS or localhost.", "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context. Please connect using HTTPS or localhost." } }, "nodeDetails": { "message": "Wiadomość", - "requestPosition": "Request Position", + "requestPosition": "Poproś o pozycję", "traceRoute": "Trace Route", "airTxUtilization": "Air TX utilization", "allRawMetrics": "All Raw Metrics:", @@ -166,6 +177,6 @@ "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 only be changed through Remote Admin messages. This setting is not required for remote node administration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/pl-PL/messages.json b/packages/web/public/i18n/locales/pl-PL/messages.json index ae66f746..2d546141 100644 --- a/packages/web/public/i18n/locales/pl-PL/messages.json +++ b/packages/web/public/i18n/locales/pl-PL/messages.json @@ -1,39 +1,39 @@ { "page": { - "title": "Messages: {{chatName}}", - "placeholder": "Enter Message" + "title": "Wiadomości: {{chatName}}", + "placeholder": "Wpisz wiadomość" }, "emptyState": { - "title": "Select a Chat", - "text": "No messages yet." + "title": "Wybierz czat", + "text": "Brak wiadomości." }, "selectChatPrompt": { - "text": "Select a channel or node to start messaging." + "text": "Wybierz kanał lub węzeł do wysyłania wiadomości." }, "sendMessage": { - "placeholder": "Enter your message here...", + "placeholder": "Wpisz tutaj swoją wiadomość...", "sendButton": "Wyślij" }, "actionsMenu": { - "addReactionLabel": "Add Reaction", + "addReactionLabel": "Dodaj reakcję", "replyLabel": "Odpowiedz" }, "deliveryStatus": { "delivered": { - "label": "Message delivered", - "displayText": "Message delivered" + "label": "Wiadomość doręczona", + "displayText": "Wiadomość doręczona" }, "failed": { - "label": "Message delivery failed", - "displayText": "Delivery failed" + "label": "Nie udało się dostarczyć wiadomości", + "displayText": "Dostawa nie powiodła się" }, "unknown": { - "label": "Message status unknown", - "displayText": "Unknown state" + "label": "Status wiadomości nieznany", + "displayText": "Nieznany stan" }, "waiting": { - "label": "Sending message", - "displayText": "Waiting for delivery" + "label": "Wysyłanie wiadomości", + "displayText": "Oczekiwanie na dostawę" } } } diff --git a/packages/web/public/i18n/locales/pl-PL/moduleConfig.json b/packages/web/public/i18n/locales/pl-PL/moduleConfig.json index f776830f..9f502c00 100644 --- a/packages/web/public/i18n/locales/pl-PL/moduleConfig.json +++ b/packages/web/public/i18n/locales/pl-PL/moduleConfig.json @@ -25,15 +25,15 @@ "description": "Sets the current for the LED output. Default is 10" }, "red": { - "label": "Red", + "label": "Czerwony", "description": "Sets the red LED level. Values are 0-255" }, "green": { - "label": "Green", + "label": "Zielony", "description": "Sets the green LED level. Values are 0-255" }, "blue": { - "label": "Blue", + "label": "Niebieski", "description": "Sets the blue LED level. Values are 0-255" } }, @@ -279,16 +279,16 @@ "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" + "imperial_mi15": "W zasięgu 15 mil", + "imperial_mi7_3": "W zasięgu 7,3 mil", + "imperial_mi3_6": "W zasięgu 3,6 mil", + "imperial_mi1_8": "W zasięgu 1,8 mil", + "imperial_mi0_9": "W zasięgu 0,9 mil", + "imperial_mi0_5": "W zasięgu 0,5 mili", + "imperial_mi0_2": "W zasięgu 0,2 mil", + "imperial_ft600": "W zasięgu 600 stóp", + "imperial_ft300": "W zasięgu 300 stóp", + "imperial_ft150": "W zasięgu 150 stóp" } } } diff --git a/packages/web/public/i18n/locales/pl-PL/nodes.json b/packages/web/public/i18n/locales/pl-PL/nodes.json index 095aa95b..9cf22ee2 100644 --- a/packages/web/public/i18n/locales/pl-PL/nodes.json +++ b/packages/web/public/i18n/locales/pl-PL/nodes.json @@ -1,63 +1,63 @@ { "nodeDetail": { "publicKeyEnabled": { - "label": "Public Key Enabled" + "label": "Publiczny klucz włączony" }, "noPublicKey": { - "label": "No Public Key" + "label": "Brak klucza publicznego" }, "directMessage": { - "label": "Direct Message {{shortName}}" + "label": "Wiadomość bezpośrednia {{shortName}}" }, "favorite": { "label": "Ulubiony", - "tooltip": "Add or remove this node from your favorites" + "tooltip": "Dodaj lub usuń ten węzeł z ulubionych" }, "notFavorite": { - "label": "Not a Favorite" + "label": "Nie ulubiony" }, "error": { "label": "Błąd", - "text": "An error occurred while fetching node details. Please try again later." + "text": "Wystąpił błąd podczas pobierania danych węzła. Spróbuj ponownie później." }, "status": { "heard": "Usłyszano", "mqtt": "MQTT" }, "elevation": { - "label": "Elevation" + "label": "Elewacja" }, "channelUtil": { - "label": "Channel Util" + "label": "Użycie kanału" }, "airtimeUtil": { - "label": "Airtime Util" + "label": "Użycie czasu ant" } }, "nodesTable": { "headings": { - "longName": "Long Name", - "connection": "Connection", - "lastHeard": "Last Heard", - "encryption": "Encryption", + "longName": "Długa nazwa", + "connection": "Połączenie", + "lastHeard": "Ostatnio słyszany", + "encryption": "Szyfrowanie", "model": "Model", - "macAddress": "MAC Address" + "macAddress": "Adres MAC" }, "connectionStatus": { "direct": "Bezpośrednio", "away": "away", "unknown": "-", - "viaMqtt": ", via MQTT" + "viaMqtt": ", przez MQTT" }, "lastHeardStatus": { - "never": "Never" + "never": "Nigdy" } }, "actions": { - "added": "Added", - "removed": "Removed", - "ignoreNode": "Ignore Node", - "unignoreNode": "Unignore Node", - "requestPosition": "Request Position" + "added": "Dodano", + "removed": "Usunięto", + "ignoreNode": "Ignoruj węzeł", + "unignoreNode": "Od-ignoruj węzeł", + "requestPosition": "Poproś o pozycję" } } diff --git a/packages/web/public/i18n/locales/pl-PL/ui.json b/packages/web/public/i18n/locales/pl-PL/ui.json index ea2cc67c..bcb6cd02 100644 --- a/packages/web/public/i18n/locales/pl-PL/ui.json +++ b/packages/web/public/i18n/locales/pl-PL/ui.json @@ -23,7 +23,7 @@ "deviceInfo": { "volts": "{{voltage}} volts", "firmware": { - "title": "Firmware", + "title": "Oprogramowanie", "version": "v{{version}}", "buildDate": "Build date: {{date}}" }, @@ -84,8 +84,8 @@ "favoriteNode": { "title": "{{action}} {{nodeName}} {{direction}} favorites.", "action": { - "added": "Added", - "removed": "Removed", + "added": "Dodano", + "removed": "Usunięto", "to": "to", "from": "from" } @@ -93,8 +93,8 @@ "ignoreNode": { "title": "{{action}} {{nodeName}} {{direction}} ignore list", "action": { - "added": "Added", - "removed": "Removed", + "added": "Dodano", + "removed": "Usunięto", "to": "to", "from": "from" } diff --git a/packages/web/public/i18n/locales/pt-BR/channels.json b/packages/web/public/i18n/locales/pt-BR/channels.json new file mode 100644 index 00000000..71ea2c74 --- /dev/null +++ b/packages/web/public/i18n/locales/pt-BR/channels.json @@ -0,0 +1,69 @@ +{ + "page": { + "sectionLabel": "Canais", + "channelName": "Channel: {{channelName}}", + "broadcastLabel": "Primário", + "channelIndex": "Ch {{index}}" + }, + "validation": { + "pskInvalid": "Please enter a valid {{bits}} bit PSK." + }, + "settings": { + "label": "Configurações de Canal", + "description": "Crypto, MQTT & misc settings" + }, + "role": { + "label": "Função", + "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": "Nome", + "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" + } + } +} diff --git a/packages/web/public/i18n/locales/pt-BR/commandPalette.json b/packages/web/public/i18n/locales/pt-BR/commandPalette.json new file mode 100644 index 00000000..b8d676f5 --- /dev/null +++ b/packages/web/public/i18n/locales/pt-BR/commandPalette.json @@ -0,0 +1,51 @@ +{ + "emptyState": "No results found.", + "page": { + "title": "Command Menu" + }, + "pinGroup": { + "label": "Pin command group" + }, + "unpinGroup": { + "label": "Unpin command group" + }, + "goto": { + "label": "Goto", + "command": { + "messages": "Mensagens", + "map": "Mapa", + "config": "Config", + "channels": "Canais", + "nodes": "Nós" + } + }, + "manage": { + "label": "Manage", + "command": { + "switchNode": "Switch Node", + "connectNewNode": "Connect New Node" + } + }, + "contextual": { + "label": "Contextual", + "command": { + "qrCode": "QR Code", + "qrGenerator": "Generator", + "qrImport": "Importar", + "scheduleShutdown": "Schedule Shutdown", + "scheduleReboot": "Schedule Reboot", + "rebootToOtaMode": "Reboot To OTA Mode", + "resetNodeDb": "Reset Node DB", + "factoryResetDevice": "Factory Reset Device", + "factoryResetConfig": "Factory Reset Config", + "disconnect": "Desconectar" + } + }, + "debug": { + "label": "Debug", + "command": { + "reconfigure": "Reconfigure", + "clearAllStoredMessages": "Clear All Stored Message" + } + } +} diff --git a/packages/web/public/i18n/locales/pt-BR/common.json b/packages/web/public/i18n/locales/pt-BR/common.json new file mode 100644 index 00000000..2e7d287e --- /dev/null +++ b/packages/web/public/i18n/locales/pt-BR/common.json @@ -0,0 +1,141 @@ +{ + "button": { + "apply": "Aplicar", + "backupKey": "Backup Key", + "cancel": "Cancelar", + "clearMessages": "Clear Messages", + "close": "Fechar", + "confirm": "Confirm", + "delete": "Excluir", + "dismiss": "Ignorar", + "download": "Baixar", + "export": "Export", + "generate": "Generate", + "regenerate": "Regenerate", + "import": "Importar", + "message": "Mensagem", + "now": "Now", + "ok": "Ok", + "print": "Print", + "rebootOtaNow": "Reboot to OTA Mode Now", + "remove": "Excluir", + "requestNewKeys": "Request New Keys", + "requestPosition": "Request Position", + "reset": "Redefinir", + "save": "Salvar", + "scanQr": "Escanear Código 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": "Desconhecido", + "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." + } + } +} diff --git a/packages/web/public/i18n/locales/pt-BR/dashboard.json b/packages/web/public/i18n/locales/pt-BR/dashboard.json new file mode 100644 index 00000000..3a2d606c --- /dev/null +++ b/packages/web/public/i18n/locales/pt-BR/dashboard.json @@ -0,0 +1,12 @@ +{ + "dashboard": { + "title": "Connected Devices", + "description": "Manage your connected Meshtastic devices.", + "connectionType_ble": "BLE", + "connectionType_serial": "Serial", + "connectionType_network": "Rede", + "noDevicesTitle": "No devices connected", + "noDevicesDescription": "Connect a new device to get started.", + "button_newConnection": "New Connection" + } +} diff --git a/packages/web/public/i18n/locales/pt-BR/deviceConfig.json b/packages/web/public/i18n/locales/pt-BR/deviceConfig.json new file mode 100644 index 00000000..c19644b4 --- /dev/null +++ b/packages/web/public/i18n/locales/pt-BR/deviceConfig.json @@ -0,0 +1,428 @@ +{ + "page": { + "title": "Configuration", + "tabBluetooth": "Bluetooth", + "tabDevice": "Dispositivo", + "tabDisplay": "Tela", + "tabLora": "LoRa", + "tabNetwork": "Rede", + "tabPosition": "Posição", + "tabPower": "Energia", + "tabSecurity": "Segurança" + }, + "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": "Fuso horário POSIX" + }, + "rebroadcastMode": { + "description": "How to handle rebroadcasting", + "label": "Rebroadcast Mode" + }, + "role": { + "description": "What role the device performs on the mesh", + "label": "Função" + } + }, + "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": "Modo de pareamento" + }, + "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": "Largura da banda" + }, + "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": "Ignorar MQTT" + }, + "modemPreset": { + "description": "Modem preset to use", + "label": "Predefinição do modem" + }, + "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 para MQTT" + }, + "overrideDutyCycle": { + "description": "Ignorar ciclo de trabalho", + "label": "Ignorar ciclo de trabalho" + }, + "overrideFrequency": { + "description": "Override frequency", + "label": "Override Frequency" + }, + "region": { + "description": "Sets the region for your node", + "label": "Região" + }, + "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": "Gateway" + }, + "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": "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": "Configuração 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": "Data e hora", + "unset": "Não definido", + "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": "Ativar modo de economia de energia" + }, + "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": "Configuração de Energia" + }, + "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": "Chave Privada" + }, + "publicKey": { + "description": "Sent out to other nodes on the mesh to allow them to compute a shared secret key", + "label": "Chave Publica" + }, + "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" + } + } +} diff --git a/packages/web/public/i18n/locales/pt-BR/dialog.json b/packages/web/public/i18n/locales/pt-BR/dialog.json new file mode 100644 index 00000000..98708da5 --- /dev/null +++ b/packages/web/public/i18n/locales/pt-BR/dialog.json @@ -0,0 +1,182 @@ +{ + "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", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } + }, + "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": { + "title": "Location: {{identifier}}", + "altitude": "Altitude: ", + "coordinates": "Coordinates: ", + "noCoordinates": "No Coordinates" + }, + "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": "Serial", + "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", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" + }, + "validation": { + "requiresFeatures": "This connection type requires <0>. Please use a supported browser, like Chrome or Edge.", + "requiresSecureContext": "This application requires a <0>secure context. Please connect using HTTPS or localhost.", + "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context. Please connect using HTTPS or localhost." + } + }, + "nodeDetails": { + "message": "Mensagem", + "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": "Voltagem", + "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": "Você tem certeza?" + }, + "managedMode": { + "confirmUnderstanding": "Yes, I know what I'm doing", + "title": "Você tem certeza?", + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." + } +} diff --git a/packages/web/public/i18n/locales/pt-BR/messages.json b/packages/web/public/i18n/locales/pt-BR/messages.json new file mode 100644 index 00000000..a4647b95 --- /dev/null +++ b/packages/web/public/i18n/locales/pt-BR/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": "Enviar" + }, + "actionsMenu": { + "addReactionLabel": "Add Reaction", + "replyLabel": "Responder" + }, + "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" + } + } +} diff --git a/packages/web/public/i18n/locales/pt-BR/moduleConfig.json b/packages/web/public/i18n/locales/pt-BR/moduleConfig.json new file mode 100644 index 00000000..357f449c --- /dev/null +++ b/packages/web/public/i18n/locales/pt-BR/moduleConfig.json @@ -0,0 +1,448 @@ +{ + "page": { + "tabAmbientLighting": "Luz Ambiente", + "tabAudio": "Áudio", + "tabCannedMessage": "Canned", + "tabDetectionSensor": "Sensor de Detecção", + "tabExternalNotification": "Ext Notif", + "tabMqtt": "MQTT", + "tabNeighborInfo": "Informações do Vizinho", + "tabPaxcounter": "Medidor de Fluxo de Pessoas", + "tabRangeTest": "Teste de Alcance", + "tabSerial": "Serial", + "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": "Atual", + "description": "Sets the current for the LED output. Default is 10" + }, + "red": { + "label": "Vermelho", + "description": "Sets the red LED level. Values are 0-255" + }, + "green": { + "label": "Verde", + "description": "Sets the green LED level. Values are 0-255" + }, + "blue": { + "label": "Azul", + "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": "Tópico principal", + "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": "Tempo esgotado", + "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": "Número de registros", + "description": "Number of records to store" + }, + "historyReturnMax": { + "label": "Histórico de retorno máximo", + "description": "Max number of records to return" + }, + "historyReturnWindow": { + "label": "Janela de retorno do histórico", + "description": "Max number of records to return" + } + }, + "telemetry": { + "title": "Telemetry Settings", + "description": "Settings for the Telemetry module", + "deviceUpdateInterval": { + "label": "Device Metrics", + "description": "Intervalo de atualização das métricas do dispositivo (segundos)" + }, + "environmentUpdateInterval": { + "label": "Intervalo de atualização das métricas de ambiente (segundos)", + "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" + } + } +} diff --git a/packages/web/public/i18n/locales/pt-BR/nodes.json b/packages/web/public/i18n/locales/pt-BR/nodes.json new file mode 100644 index 00000000..d48164d1 --- /dev/null +++ b/packages/web/public/i18n/locales/pt-BR/nodes.json @@ -0,0 +1,63 @@ +{ + "nodeDetail": { + "publicKeyEnabled": { + "label": "Public Key Enabled" + }, + "noPublicKey": { + "label": "No Public Key" + }, + "directMessage": { + "label": "Direct Message {{shortName}}" + }, + "favorite": { + "label": "Favorito", + "tooltip": "Add or remove this node from your favorites" + }, + "notFavorite": { + "label": "Not a Favorite" + }, + "error": { + "label": "Erro", + "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": "Direto", + "away": "away", + "unknown": "-", + "viaMqtt": ", via MQTT" + }, + "lastHeardStatus": { + "never": "Never" + } + }, + "actions": { + "added": "Added", + "removed": "Removed", + "ignoreNode": "Ignore Node", + "unignoreNode": "Unignore Node", + "requestPosition": "Request Position" + } +} diff --git a/packages/web/public/i18n/locales/pt-BR/ui.json b/packages/web/public/i18n/locales/pt-BR/ui.json new file mode 100644 index 00000000..fe4fd02b --- /dev/null +++ b/packages/web/public/i18n/locales/pt-BR/ui.json @@ -0,0 +1,228 @@ +{ + "navigation": { + "title": "Navigation", + "messages": "Mensagens", + "map": "Mapa", + "config": "Config", + "radioConfig": "Radio Config", + "moduleConfig": "Module Config", + "channels": "Canais", + "nodes": "Nós" + }, + "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": "Ocultar senha" + }, + "showPassword": { + "label": "Mostrar senha" + }, + "deliveryStatus": { + "delivered": "Delivered", + "failed": "Delivery Failed", + "waiting": "Waiting", + "unknown": "Desconhecido" + } + }, + "general": { + "label": "General" + }, + "hardware": { + "label": "Hardware" + }, + "metrics": { + "label": "Metrics" + }, + "role": { + "label": "Função" + }, + "filter": { + "label": "Filtro" + }, + "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": "Voltagem" + }, + "channelUtilization": { + "label": "Channel Utilization (%)" + }, + "hops": { + "direct": "Direto", + "label": "Number of hops", + "text": "Number of hops: {{value}}" + }, + "lastHeard": { + "label": "Visto pela última vez", + "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": "Idioma", + "changeLanguage": "Change Language" + }, + "theme": { + "dark": "Escuro", + "light": "Claro", + "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.
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", + "dashboardLink": "Return to the <0>dashboard", + "detailsSummary": "Error Details", + "errorMessageLabel": "Error message:", + "stackTraceLabel": "Stack trace:", + "fallbackError": "{{error}}" + }, + "footer": { + "text": "Powered by <0>▲ Vercel | Meshtastic® is a registered trademark of Meshtastic LLC. | <1>Legal Information", + "commitSha": "Commit SHA: {{sha}}" + } +} diff --git a/packages/web/public/i18n/locales/pt-PT/commandPalette.json b/packages/web/public/i18n/locales/pt-PT/commandPalette.json index 494ee494..3fd50eca 100644 --- a/packages/web/public/i18n/locales/pt-PT/commandPalette.json +++ b/packages/web/public/i18n/locales/pt-PT/commandPalette.json @@ -1,50 +1,51 @@ { - "emptyState": "No results found.", - "page": { - "title": "Command Menu" - }, - "pinGroup": { - "label": "Pin command group" - }, - "unpinGroup": { - "label": "Unpin command group" - }, - "goto": { - "label": "Goto", - "command": { - "messages": "Mensagens", - "map": "Mapa", - "config": "Config", - "channels": "Canal", - "nodes": "Nodes" - } - }, - "manage": { - "label": "Manage", - "command": { - "switchNode": "Switch Node", - "connectNewNode": "Connect New Node" - } - }, - "contextual": { - "label": "Contextual", - "command": { - "qrCode": "QR Code", - "qrGenerator": "Generator", - "qrImport": "Importar", - "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": "Depuração", - "command": { - "reconfigure": "Reconfigure", - "clearAllStoredMessages": "Clear All Stored Message" - } - } + "emptyState": "No results found.", + "page": { + "title": "Command Menu" + }, + "pinGroup": { + "label": "Pin command group" + }, + "unpinGroup": { + "label": "Unpin command group" + }, + "goto": { + "label": "Goto", + "command": { + "messages": "Mensagens", + "map": "Mapa", + "config": "Config", + "channels": "Canal", + "nodes": "Nodes" + } + }, + "manage": { + "label": "Manage", + "command": { + "switchNode": "Switch Node", + "connectNewNode": "Connect New Node" + } + }, + "contextual": { + "label": "Contextual", + "command": { + "qrCode": "QR Code", + "qrGenerator": "Generator", + "qrImport": "Importar", + "scheduleShutdown": "Schedule Shutdown", + "scheduleReboot": "Schedule Reboot", + "rebootToOtaMode": "Reboot To OTA Mode", + "resetNodeDb": "Reset Node DB", + "factoryResetDevice": "Factory Reset Device", + "factoryResetConfig": "Factory Reset Config", + "disconnect": "Desligar" + } + }, + "debug": { + "label": "Depuração", + "command": { + "reconfigure": "Reconfigure", + "clearAllStoredMessages": "Clear All Stored Message" + } + } } diff --git a/packages/web/public/i18n/locales/pt-PT/deviceConfig.json b/packages/web/public/i18n/locales/pt-PT/deviceConfig.json index 45175adb..8e280fc0 100644 --- a/packages/web/public/i18n/locales/pt-PT/deviceConfig.json +++ b/packages/web/public/i18n/locales/pt-PT/deviceConfig.json @@ -1,6 +1,6 @@ { "page": { - "title": "Configuration", + "title": "Configuração", "tabBluetooth": "Bluetooth", "tabDevice": "Dispositivo", "tabDisplay": "Ecrã", @@ -11,11 +11,11 @@ "tabSecurity": "Segurança" }, "sidebar": { - "label": "Modules" + "label": "Módulos" }, "device": { - "title": "Device Settings", - "description": "Settings for the device", + "title": "Definições do dispositivo", + "description": "Configurações para o dispositivo", "buttonPin": { "description": "Button pin override", "label": "Button Pin" @@ -111,7 +111,7 @@ }, "twelveHourClock": { "description": "Use 12-hour clock format", - "label": "12-Hour Clock" + "label": "Relógio 12-Horas" }, "wakeOnTapOrMotion": { "description": "Wake the device on tap or motion", diff --git a/packages/web/public/i18n/locales/pt-PT/dialog.json b/packages/web/public/i18n/locales/pt-PT/dialog.json index 56b52943..bd9d1502 100644 --- a/packages/web/public/i18n/locales/pt-PT/dialog.json +++ b/packages/web/public/i18n/locales/pt-PT/dialog.json @@ -7,7 +7,13 @@ "description": "The Device will restart once the config is saved.", "longName": "Long Name", "shortName": "Short Name", - "title": "Change Device Name" + "title": "Change Device Name", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { "description": "The current LoRa configuration will be overridden.", @@ -21,9 +27,10 @@ "title": "Import Channel Set" }, "locationResponse": { + "title": "Location: {{identifier}}", "altitude": "Altitude: ", "coordinates": "Coordinates: ", - "title": "Location: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { "title": "Regenerate Pre-Shared Key?", @@ -60,11 +67,15 @@ }, "bluetoothConnection": { "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "New device" + "newDeviceButton": "New device", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth. Please use a supported browser, like Chrome or Edge.", - "requiresWebSerial": "This connection type requires <0>Web Serial. Please use a supported browser, like Chrome or Edge.", + "requiresFeatures": "This connection type requires <0>. Please use a supported browser, like Chrome or Edge.", "requiresSecureContext": "This application requires a <0>secure context. Please connect using HTTPS or localhost.", "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context. Please connect using HTTPS or localhost." } @@ -166,6 +177,6 @@ "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 only be changed through Remote Admin messages. This setting is not required for remote node administration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/sv-SE/commandPalette.json b/packages/web/public/i18n/locales/sv-SE/commandPalette.json index 9786b163..b53e90be 100644 --- a/packages/web/public/i18n/locales/sv-SE/commandPalette.json +++ b/packages/web/public/i18n/locales/sv-SE/commandPalette.json @@ -1,50 +1,51 @@ { - "emptyState": "Inga resultat hittades.", - "page": { - "title": "Snabbmeny" - }, - "pinGroup": { - "label": "Lägg till grupp i favoriter" - }, - "unpinGroup": { - "label": "Ta bort grupp från favoriter" - }, - "goto": { - "label": "Gå till", - "command": { - "messages": "Meddelanden", - "map": "Karta", - "config": "Inställningar", - "channels": "Kanaler", - "nodes": "Noder" - } - }, - "manage": { - "label": "Hantera", - "command": { - "switchNode": "Byt nod", - "connectNewNode": "Anslut ny nod" - } - }, - "contextual": { - "label": "Kontextuell", - "command": { - "qrCode": "QR-kod", - "qrGenerator": "Generator", - "qrImport": "Import", - "scheduleShutdown": "Schemalägg avstängning", - "scheduleReboot": "Schemalägg omstart", - "rebootToOtaMode": "Starta om till OTA-läge", - "resetNodeDb": "Töm noddatabasen", - "factoryResetDevice": "Fabriksåterställ enhet", - "factoryResetConfig": "Fabriksåterställ konfigurationen" - } - }, - "debug": { - "label": "Felsökning", - "command": { - "reconfigure": "Konfigurera om", - "clearAllStoredMessages": "Radera alla sparade meddelanden" - } - } + "emptyState": "Inga resultat hittades.", + "page": { + "title": "Snabbmeny" + }, + "pinGroup": { + "label": "Lägg till grupp i favoriter" + }, + "unpinGroup": { + "label": "Ta bort grupp från favoriter" + }, + "goto": { + "label": "Gå till", + "command": { + "messages": "Meddelanden", + "map": "Karta", + "config": "Inställningar", + "channels": "Kanaler", + "nodes": "Noder" + } + }, + "manage": { + "label": "Hantera", + "command": { + "switchNode": "Byt nod", + "connectNewNode": "Anslut ny nod" + } + }, + "contextual": { + "label": "Kontextuell", + "command": { + "qrCode": "QR-kod", + "qrGenerator": "Generator", + "qrImport": "Import", + "scheduleShutdown": "Schemalägg avstängning", + "scheduleReboot": "Schemalägg omstart", + "rebootToOtaMode": "Starta om till OTA-läge", + "resetNodeDb": "Töm noddatabasen", + "factoryResetDevice": "Fabriksåterställ enhet", + "factoryResetConfig": "Fabriksåterställ konfigurationen", + "disconnect": "Koppla från" + } + }, + "debug": { + "label": "Felsökning", + "command": { + "reconfigure": "Konfigurera om", + "clearAllStoredMessages": "Radera alla sparade meddelanden" + } + } } diff --git a/packages/web/public/i18n/locales/sv-SE/dialog.json b/packages/web/public/i18n/locales/sv-SE/dialog.json index 853bb802..39ce60b6 100644 --- a/packages/web/public/i18n/locales/sv-SE/dialog.json +++ b/packages/web/public/i18n/locales/sv-SE/dialog.json @@ -7,7 +7,13 @@ "description": "Enheten kommer att starta om när inställningarna har sparats.", "longName": "Långt namn", "shortName": "Kort namn", - "title": "Ändra enhetens namn" + "title": "Ändra enhetens namn", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { "description": "Den aktuella LoRa konfigurationen kommer att skrivas över.", @@ -21,9 +27,10 @@ "title": "Importera kanaluppsättning" }, "locationResponse": { + "title": "Plats: {{identifier}}", "altitude": "Höjd:", "coordinates": "Koordinater: ", - "title": "Plats: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { "title": "Förnya nyckel?", @@ -60,11 +67,15 @@ }, "bluetoothConnection": { "noDevicesPaired": "Inga enheter parkopplade ännu.", - "newDeviceButton": "Ny enhet" + "newDeviceButton": "Ny enhet", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "Den här anslutningstypen kräver <0>Web Bluetooth. Använd en webbläsare som stöds, till exempel Chrome eller Edge.", - "requiresWebSerial": "Den här anslutningstypen kräver <0>Web Serial. Använd en webbläsare som stöds, till exempel Chrome eller Edge.", + "requiresFeatures": "Den här anslutningstypen kräver <0>. Använd en webbläsare som stöds, till exempel Chrome eller Edge.", "requiresSecureContext": "Denna applikation kräver en <0>säker kontext. Anslut med HTTPS eller localhost.", "additionallyRequiresSecureContext": "Dessutom kräver den ett <0>säker kontext. Vänligen anslut med HTTPS eller localhost." } @@ -166,6 +177,6 @@ "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 endast ändras via fjärradministratörsmeddelanden. Den här inställningen krävs inte för fjärradministration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/tr-TR/commandPalette.json b/packages/web/public/i18n/locales/tr-TR/commandPalette.json index a958e966..ef279df6 100644 --- a/packages/web/public/i18n/locales/tr-TR/commandPalette.json +++ b/packages/web/public/i18n/locales/tr-TR/commandPalette.json @@ -1,50 +1,51 @@ { - "emptyState": "No results found.", - "page": { - "title": "Command Menu" - }, - "pinGroup": { - "label": "Pin command group" - }, - "unpinGroup": { - "label": "Unpin command group" - }, - "goto": { - "label": "Goto", - "command": { - "messages": "Mesajlar", - "map": "Harita", - "config": "Config", - "channels": "Kanallar", - "nodes": "Nodes" - } - }, - "manage": { - "label": "Manage", - "command": { - "switchNode": "Switch Node", - "connectNewNode": "Connect New Node" - } - }, - "contextual": { - "label": "Contextual", - "command": { - "qrCode": "QR Code", - "qrGenerator": "Generator", - "qrImport": "İçeri aktar", - "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": "Hata Ayıklama", - "command": { - "reconfigure": "Reconfigure", - "clearAllStoredMessages": "Clear All Stored Message" - } - } + "emptyState": "No results found.", + "page": { + "title": "Command Menu" + }, + "pinGroup": { + "label": "Pin command group" + }, + "unpinGroup": { + "label": "Unpin command group" + }, + "goto": { + "label": "Goto", + "command": { + "messages": "Mesajlar", + "map": "Harita", + "config": "Config", + "channels": "Kanallar", + "nodes": "Düğümler" + } + }, + "manage": { + "label": "Manage", + "command": { + "switchNode": "Switch Node", + "connectNewNode": "Connect New Node" + } + }, + "contextual": { + "label": "Contextual", + "command": { + "qrCode": "QR Code", + "qrGenerator": "Generator", + "qrImport": "İçeri aktar", + "scheduleShutdown": "Schedule Shutdown", + "scheduleReboot": "Schedule Reboot", + "rebootToOtaMode": "Reboot To OTA Mode", + "resetNodeDb": "Reset Node DB", + "factoryResetDevice": "Factory Reset Device", + "factoryResetConfig": "Factory Reset Config", + "disconnect": "Bağlantıyı Kes" + } + }, + "debug": { + "label": "Hata Ayıklama", + "command": { + "reconfigure": "Reconfigure", + "clearAllStoredMessages": "Clear All Stored Message" + } + } } diff --git a/packages/web/public/i18n/locales/tr-TR/deviceConfig.json b/packages/web/public/i18n/locales/tr-TR/deviceConfig.json index b3ce988e..2cbbaad9 100644 --- a/packages/web/public/i18n/locales/tr-TR/deviceConfig.json +++ b/packages/web/public/i18n/locales/tr-TR/deviceConfig.json @@ -151,7 +151,7 @@ }, "modemPreset": { "description": "Modem preset to use", - "label": "Modem Preset" + "label": "Modem Ön Ayarı" }, "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", diff --git a/packages/web/public/i18n/locales/tr-TR/dialog.json b/packages/web/public/i18n/locales/tr-TR/dialog.json index edcbcb4b..59b379b4 100644 --- a/packages/web/public/i18n/locales/tr-TR/dialog.json +++ b/packages/web/public/i18n/locales/tr-TR/dialog.json @@ -7,7 +7,13 @@ "description": "The Device will restart once the config is saved.", "longName": "Long Name", "shortName": "Short Name", - "title": "Change Device Name" + "title": "Change Device Name", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { "description": "The current LoRa configuration will be overridden.", @@ -21,9 +27,10 @@ "title": "Import Channel Set" }, "locationResponse": { + "title": "Location: {{identifier}}", "altitude": "Altitude: ", "coordinates": "Coordinates: ", - "title": "Location: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { "title": "Regenerate Pre-Shared Key?", @@ -60,11 +67,15 @@ }, "bluetoothConnection": { "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "New device" + "newDeviceButton": "New device", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth. Please use a supported browser, like Chrome or Edge.", - "requiresWebSerial": "This connection type requires <0>Web Serial. Please use a supported browser, like Chrome or Edge.", + "requiresFeatures": "This connection type requires <0>. Please use a supported browser, like Chrome or Edge.", "requiresSecureContext": "This application requires a <0>secure context. Please connect using HTTPS or localhost.", "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context. Please connect using HTTPS or localhost." } @@ -166,6 +177,6 @@ "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 only be changed through Remote Admin messages. This setting is not required for remote node administration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/tr-TR/messages.json b/packages/web/public/i18n/locales/tr-TR/messages.json index fa7d1657..334caadc 100644 --- a/packages/web/public/i18n/locales/tr-TR/messages.json +++ b/packages/web/public/i18n/locales/tr-TR/messages.json @@ -16,7 +16,7 @@ }, "actionsMenu": { "addReactionLabel": "Add Reaction", - "replyLabel": "Reply" + "replyLabel": "Yanıtla" }, "deliveryStatus": { "delivered": { diff --git a/packages/web/public/i18n/locales/tr-TR/ui.json b/packages/web/public/i18n/locales/tr-TR/ui.json index f93a86f5..2ea967e1 100644 --- a/packages/web/public/i18n/locales/tr-TR/ui.json +++ b/packages/web/public/i18n/locales/tr-TR/ui.json @@ -7,7 +7,7 @@ "radioConfig": "Radio Config", "moduleConfig": "Module Config", "channels": "Kanallar", - "nodes": "Nodes" + "nodes": "Düğümler" }, "app": { "title": "Meshtastic", diff --git a/packages/web/public/i18n/locales/uk-UA/commandPalette.json b/packages/web/public/i18n/locales/uk-UA/commandPalette.json index 296be301..27210ff9 100644 --- a/packages/web/public/i18n/locales/uk-UA/commandPalette.json +++ b/packages/web/public/i18n/locales/uk-UA/commandPalette.json @@ -1,50 +1,51 @@ { - "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": "Вузли" - } - }, - "manage": { - "label": "Manage", - "command": { - "switchNode": "Switch Node", - "connectNewNode": "Connect New Node" - } - }, - "contextual": { - "label": "Contextual", - "command": { - "qrCode": "QR-код", - "qrGenerator": "Генератор", - "qrImport": "Import", - "scheduleShutdown": "Розклад вимкнення", - "scheduleReboot": "Розклад перезавантаження", - "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" - } - } + "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": "Вузли" + } + }, + "manage": { + "label": "Manage", + "command": { + "switchNode": "Switch Node", + "connectNewNode": "Connect New Node" + } + }, + "contextual": { + "label": "Contextual", + "command": { + "qrCode": "QR-код", + "qrGenerator": "Генератор", + "qrImport": "Імпортувати", + "scheduleShutdown": "Розклад вимкнення", + "scheduleReboot": "Розклад перезавантаження", + "rebootToOtaMode": "Reboot To OTA Mode", + "resetNodeDb": "Reset Node DB", + "factoryResetDevice": "Factory Reset Device", + "factoryResetConfig": "Factory Reset Config", + "disconnect": "Disconnect" + } + }, + "debug": { + "label": "Debug", + "command": { + "reconfigure": "Reconfigure", + "clearAllStoredMessages": "Clear All Stored Message" + } + } } diff --git a/packages/web/public/i18n/locales/uk-UA/common.json b/packages/web/public/i18n/locales/uk-UA/common.json index 5ca17b84..74b3fb85 100644 --- a/packages/web/public/i18n/locales/uk-UA/common.json +++ b/packages/web/public/i18n/locales/uk-UA/common.json @@ -10,20 +10,20 @@ "dismiss": "Dismiss", "download": "Download", "export": "Export", - "generate": "Generate", - "regenerate": "Regenerate", - "import": "Import", + "generate": "Згенерувати", + "regenerate": "Перегенерувати", + "import": "Імпортувати", "message": "Повідомлення", - "now": "Now", + "now": "Зараз", "ok": "Гаразд", "print": "Print", "rebootOtaNow": "Reboot to OTA Mode Now", "remove": "Видалити", "requestNewKeys": "Request New Keys", - "requestPosition": "Request Position", + "requestPosition": "Запитати позицію", "reset": "Скинути", "save": "Зберегти", - "scanQr": "Scan QR Code", + "scanQr": "Сканувати QR-код", "traceRoute": "Trace Route", "submit": "Submit" }, diff --git a/packages/web/public/i18n/locales/uk-UA/deviceConfig.json b/packages/web/public/i18n/locales/uk-UA/deviceConfig.json index cea5ac50..c89688af 100644 --- a/packages/web/public/i18n/locales/uk-UA/deviceConfig.json +++ b/packages/web/public/i18n/locales/uk-UA/deviceConfig.json @@ -42,7 +42,7 @@ }, "posixTimezone": { "description": "The POSIX timezone string for the device", - "label": "POSIX Timezone" + "label": "Часова зона POSIX" }, "rebroadcastMode": { "description": "How to handle rebroadcasting", @@ -50,7 +50,7 @@ }, "role": { "description": "What role the device performs on the mesh", - "label": "Role" + "label": "Роль" } }, "bluetooth": { @@ -212,7 +212,7 @@ }, "ethernetEnabled": { "description": "Enable or disable the Ethernet port", - "label": "Enabled" + "label": "Увімкнено" }, "gateway": { "description": "Default Gateway", @@ -220,7 +220,7 @@ }, "ip": { "description": "IP Address", - "label": "IP" + "label": "IP-адреса" }, "psk": { "description": "Network password", @@ -236,7 +236,7 @@ }, "wifiEnabled": { "description": "Увімкнути або вимкнути WiFi радіо", - "label": "Enabled" + "label": "Увімкнено" }, "meshViaUdp": { "label": "Mesh via UDP" @@ -328,7 +328,7 @@ "hdopVdop": "If DOP is set, use HDOP / VDOP values instead of PDOP", "numSatellites": "Number of satellites", "sequenceNumber": "Sequence number", - "timestamp": "Timestamp", + "timestamp": "Мітка часу", "unset": "Скинути", "vehicleHeading": "Vehicle heading", "vehicleSpeed": "Vehicle speed" @@ -357,7 +357,7 @@ }, "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" + "label": "Увімкнути енергоощадний режим" }, "shutdownOnBatteryDelay": { "description": "Automatically shutdown node after this long when on battery, 0 for indefinite", diff --git a/packages/web/public/i18n/locales/uk-UA/dialog.json b/packages/web/public/i18n/locales/uk-UA/dialog.json index e662a301..0905f211 100644 --- a/packages/web/public/i18n/locales/uk-UA/dialog.json +++ b/packages/web/public/i18n/locales/uk-UA/dialog.json @@ -7,7 +7,13 @@ "description": "The Device will restart once the config is saved.", "longName": "Довга назва", "shortName": "Коротка назва", - "title": "Змінити назву пристрою" + "title": "Змінити назву пристрою", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { "description": "The current LoRa configuration will be overridden.", @@ -21,9 +27,10 @@ "title": "Import Channel Set" }, "locationResponse": { + "title": "Розташування: {{identifier}}", "altitude": "Висота: ", "coordinates": "Координати: ", - "title": "Розташування: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { "title": "Regenerate Pre-Shared Key?", @@ -36,7 +43,7 @@ "http": "http", "tabHttp": "HTTP", "tabBluetooth": "Bluetooth", - "tabSerial": "Serial", + "tabSerial": "Серійний порт", "useHttps": "Використовувати HTTPS", "connecting": "Підключення...", "connect": "Connect", @@ -55,23 +62,27 @@ }, "serialConnection": { "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "New device", + "newDeviceButton": "Новий пристрій", "deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}" }, "bluetoothConnection": { "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "Новий пристрій" + "newDeviceButton": "Новий пристрій", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth. Please use a supported browser, like Chrome or Edge.", - "requiresWebSerial": "This connection type requires <0>Web Serial. Please use a supported browser, like Chrome or Edge.", + "requiresFeatures": "This connection type requires <0>. Please use a supported browser, like Chrome or Edge.", "requiresSecureContext": "This application requires a <0>secure context. Please connect using HTTPS or localhost.", "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context. Please connect using HTTPS or localhost." } }, "nodeDetails": { "message": "Повідомлення", - "requestPosition": "Request Position", + "requestPosition": "Запитати позицію", "traceRoute": "Trace Route", "airTxUtilization": "Air TX utilization", "allRawMetrics": "All Raw Metrics:", @@ -86,7 +97,7 @@ "position": "Position:", "role": "Role: ", "uptime": "Uptime: ", - "voltage": "Voltage", + "voltage": "Напруга", "title": "Node Details for {{identifier}}", "ignoreNode": "Ignore node", "removeNode": "Remove node", @@ -144,7 +155,7 @@ "title": "Remove Node?" }, "shutdown": { - "title": "Schedule Shutdown", + "title": "Розклад вимкнення", "description": "Turn off the connected node after x minutes." }, "traceRoute": { @@ -155,7 +166,7 @@ "title": "Traceroute: {{identifier}}" }, "unsafeRoles": { - "confirmUnderstanding": "Yes, I know what I'm doing", + "confirmUnderstanding": "Я знаю, що роблю", "conjunction": " and the blog post about ", "postamble": " and understand the implications of changing the role.", "preamble": "I have read the ", @@ -166,6 +177,6 @@ "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 only be changed through Remote Admin messages. This setting is not required for remote node administration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } } diff --git a/packages/web/public/i18n/locales/uk-UA/moduleConfig.json b/packages/web/public/i18n/locales/uk-UA/moduleConfig.json index 56714297..42cc76d8 100644 --- a/packages/web/public/i18n/locales/uk-UA/moduleConfig.json +++ b/packages/web/public/i18n/locales/uk-UA/moduleConfig.json @@ -9,7 +9,7 @@ "tabNeighborInfo": "Neighbor Info", "tabPaxcounter": "Paxcounter", "tabRangeTest": "Тест дальності", - "tabSerial": "Serial", + "tabSerial": "Серійний порт", "tabStoreAndForward": "S&F", "tabTelemetry": "Телеметрія" }, @@ -121,7 +121,7 @@ "title": "Detection Sensor Settings", "description": "Settings for the Detection Sensor module", "enabled": { - "label": "Enabled", + "label": "Увімкнено", "description": "Enable or disable Detection Sensor Module" }, "minimumBroadcastSecs": { @@ -221,7 +221,7 @@ "title": "Налаштування MQTT", "description": "Settings for the MQTT module", "enabled": { - "label": "Enabled", + "label": "Увімкнено", "description": "Enable or disable MQTT" }, "address": { @@ -279,16 +279,16 @@ "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" + "imperial_mi15": "У межах 15 миль", + "imperial_mi7_3": "У межах 7,3 милі", + "imperial_mi3_6": "У межах 3,6 милі", + "imperial_mi1_8": "У межах 1,8 милі", + "imperial_mi0_9": "У межах 0,9 милі", + "imperial_mi0_5": "У межах 0,5 милі", + "imperial_mi0_2": "У межах 0,2 милі", + "imperial_ft600": "У межах 600 фт", + "imperial_ft300": "У межах 300 фт", + "imperial_ft150": "У межах 150 фт" } } } @@ -297,7 +297,7 @@ "title": "Neighbor Info Settings", "description": "Settings for the Neighbor Info module", "enabled": { - "label": "Enabled", + "label": "Увімкнено", "description": "Enable or disable Neighbor Info Module" }, "updateInterval": { @@ -365,7 +365,7 @@ "description": "The serial baud rate" }, "timeout": { - "label": "Timeout", + "label": "Таймаут", "description": "Seconds to wait before we consider your packet as 'done'" }, "mode": { diff --git a/packages/web/public/i18n/locales/uk-UA/nodes.json b/packages/web/public/i18n/locales/uk-UA/nodes.json index d690219e..e5f2c553 100644 --- a/packages/web/public/i18n/locales/uk-UA/nodes.json +++ b/packages/web/public/i18n/locales/uk-UA/nodes.json @@ -10,7 +10,7 @@ "label": "Direct Message {{shortName}}" }, "favorite": { - "label": "Favorite", + "label": "Обране", "tooltip": "Add or remove this node from your favorites" }, "notFavorite": { diff --git a/packages/web/public/i18n/locales/uk-UA/ui.json b/packages/web/public/i18n/locales/uk-UA/ui.json index a876bd8a..ac3d679d 100644 --- a/packages/web/public/i18n/locales/uk-UA/ui.json +++ b/packages/web/public/i18n/locales/uk-UA/ui.json @@ -25,14 +25,14 @@ "firmware": { "title": "Прошивка", "version": "v{{version}}", - "buildDate": "Build date: {{date}}" + "buildDate": "Дата збірки: {{date}}" }, "deviceName": { - "title": "Device Name", - "changeName": "Change Device Name", - "placeholder": "Enter device name" + "title": "Назва пристрою", + "changeName": "Змінити назву пристрою", + "placeholder": "Уведіть назву пристрою" }, - "editDeviceName": "Edit device name" + "editDeviceName": "Змінити назву пристрою" } }, "batteryStatus": { @@ -41,13 +41,13 @@ "title": "Батарея" }, "search": { - "nodes": "Search nodes...", - "channels": "Search channels...", - "commandPalette": "Search commands..." + "nodes": "Пошук вузлів...", + "channels": "Пошук каналів...", + "commandPalette": "Пошук команд..." }, "toast": { "positionRequestSent": { - "title": "Position request sent." + "title": "Запит на позицію надіслано." }, "requestingPosition": { "title": "Requesting position, please wait..." @@ -63,14 +63,14 @@ }, "messages": { "pkiEncryption": { - "title": "Chat is using PKI encryption." + "title": "Чат використовує шифрування PKI." }, "pskEncryption": { - "title": "Chat is using PSK encryption." + "title": "Чат використовує PSK шифрування." } }, "configSaveError": { - "title": "Error Saving Config", + "title": "Помилка збереження налаштувань", "description": "An error occurred while saving the configuration." }, "validationError": { @@ -87,7 +87,7 @@ "added": "Додано", "removed": "Видалено", "to": "до", - "from": "from" + "from": "від" } }, "ignoreNode": { @@ -96,7 +96,7 @@ "added": "Додано", "removed": "Видалено", "to": "до", - "from": "from" + "from": "від" } } }, @@ -105,13 +105,13 @@ "label": "Скопійовано!" }, "copyToClipboard": { - "label": "Copy to clipboard" + "label": "Копіювати до буфера обміну" }, "hidePassword": { - "label": "Hide password" + "label": "Приховати пароль" }, "showPassword": { - "label": "Show password" + "label": "Показати пароль" }, "deliveryStatus": { "delivered": "Доставлено", @@ -130,7 +130,7 @@ "label": "Метрики" }, "role": { - "label": "Role" + "label": "Роль" }, "filter": { "label": "Фільтри" @@ -142,7 +142,7 @@ "label": "Clear input" }, "resetFilters": { - "label": "Reset Filters" + "label": "Скинути фільтри" }, "nodeName": { "label": "Node name/number", @@ -152,11 +152,11 @@ "label": "Airtime Utilization (%)" }, "batteryLevel": { - "label": "Battery level (%)", - "labelText": "Battery level (%): {{value}}" + "label": "Рівень заряду батареї (%)", + "labelText": "Рівень заряду батареї (%): {{value}}" }, "batteryVoltage": { - "label": "Battery voltage (V)", + "label": "Напруга батареї (В)", "title": "Напруга" }, "channelUtilization": { @@ -176,7 +176,7 @@ "label": "SNR (дБ)" }, "favorites": { - "label": "Favorites" + "label": "Обране" }, "hide": { "label": "Сховати" @@ -185,7 +185,7 @@ "label": "Show Only" }, "viaMqtt": { - "label": "Connected via MQTT" + "label": "Під'єднано за допомогою MQTT" }, "hopsUnknown": { "label": "Unknown number of hops" @@ -214,8 +214,8 @@ "step3": "What actually happened", "step4": "Any other relevant information" }, - "reportLink": "You can report the issue to our <0>GitHub", - "dashboardLink": "Return to the <0>dashboard", + "reportLink": "Ви можете повідомити про проблему на нашому <0>GitHub", + "dashboardLink": "Поверніться до <0>панелі", "detailsSummary": "Інформація про помилку", "errorMessageLabel": "Помилка:", "stackTraceLabel": "Stack trace:", @@ -223,6 +223,6 @@ }, "footer": { "text": "Powered by <0>▲ Vercel | Meshtastic® is a registered trademark of Meshtastic LLC. | <1>Legal Information", - "commitSha": "Commit SHA: {{sha}}" + "commitSha": "SHA коміту: {{sha}}" } } diff --git a/packages/web/public/i18n/locales/zh-CN/commandPalette.json b/packages/web/public/i18n/locales/zh-CN/commandPalette.json index 1dd5161c..ec411c5f 100644 --- a/packages/web/public/i18n/locales/zh-CN/commandPalette.json +++ b/packages/web/public/i18n/locales/zh-CN/commandPalette.json @@ -1,50 +1,51 @@ { - "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": "配置", - "channels": "频道", - "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": "调试", - "command": { - "reconfigure": "Reconfigure", - "clearAllStoredMessages": "Clear All Stored Message" - } - } + "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": "配置", + "channels": "频道", + "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", + "disconnect": "断开" + } + }, + "debug": { + "label": "调试", + "command": { + "reconfigure": "Reconfigure", + "clearAllStoredMessages": "Clear All Stored Message" + } + } } diff --git a/packages/web/public/i18n/locales/zh-CN/common.json b/packages/web/public/i18n/locales/zh-CN/common.json index 35e41c5e..16f13b76 100644 --- a/packages/web/public/i18n/locales/zh-CN/common.json +++ b/packages/web/public/i18n/locales/zh-CN/common.json @@ -8,14 +8,14 @@ "confirm": "Confirm", "delete": "删除", "dismiss": "收起键盘", - "download": "Download", + "download": "下载", "export": "Export", "generate": "Generate", "regenerate": "Regenerate", "import": "导入", "message": "信息", "now": "Now", - "ok": "好的", + "ok": "确定", "print": "Print", "rebootOtaNow": "Reboot to OTA Mode Now", "remove": "移除", diff --git a/packages/web/public/i18n/locales/zh-CN/dialog.json b/packages/web/public/i18n/locales/zh-CN/dialog.json index 293638cb..bdf743ed 100644 --- a/packages/web/public/i18n/locales/zh-CN/dialog.json +++ b/packages/web/public/i18n/locales/zh-CN/dialog.json @@ -7,7 +7,13 @@ "description": "The Device will restart once the config is saved.", "longName": "长名称", "shortName": "短名称", - "title": "Change Device Name" + "title": "Change Device Name", + "validation": { + "longNameMax": "Long name must not be more than 40 characters", + "shortNameMax": "Short name must not be more than 4 characters", + "longNameMin": "Long name must have at least 1 character", + "shortNameMin": "Short name must have at least 1 character" + } }, "import": { "description": "The current LoRa configuration will be overridden.", @@ -21,9 +27,10 @@ "title": "Import Channel Set" }, "locationResponse": { + "title": "Location: {{identifier}}", "altitude": "Altitude: ", "coordinates": "Coordinates: ", - "title": "Location: {{identifier}}" + "noCoordinates": "No Coordinates" }, "pkiRegenerateDialog": { "title": "Regenerate Pre-Shared Key?", @@ -60,11 +67,15 @@ }, "bluetoothConnection": { "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "New device" + "newDeviceButton": "New device", + "connectionFailed": "Connection failed", + "deviceDisconnected": "Device disconnected", + "unknownDevice": "Unknown Device", + "errorLoadingDevices": "Error loading devices", + "unknownErrorLoadingDevices": "Unknown error loading devices" }, "validation": { - "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth. Please use a supported browser, like Chrome or Edge.", - "requiresWebSerial": "This connection type requires <0>Web Serial. Please use a supported browser, like Chrome or Edge.", + "requiresFeatures": "This connection type requires <0>. Please use a supported browser, like Chrome or Edge.", "requiresSecureContext": "This application requires a <0>secure context. Please connect using HTTPS or localhost.", "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context. Please connect using HTTPS or localhost." } @@ -166,6 +177,6 @@ "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 only be changed through Remote Admin messages. This setting is not required for remote node administration." + "description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can only be changed through Remote Admin messages. This setting is not required for remote node administration." } }