diff --git a/packages/web/public/i18n/locales/be-BY/common.json b/packages/web/public/i18n/locales/be-BY/common.json index 188f259d..94f0712f 100644 --- a/packages/web/public/i18n/locales/be-BY/common.json +++ b/packages/web/public/i18n/locales/be-BY/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Apply", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Backup Key", "cancel": "Cancel", + "connect": "Connect", "clearMessages": "Clear Messages", "close": "Close", "confirm": "Confirm", "delete": "Delete", "dismiss": "Dismiss", "download": "Download", + "disconnect": "Disconnect", "export": "Export", "generate": "Generate", "regenerate": "Regenerate", @@ -21,7 +25,10 @@ "requestNewKeys": "Request New Keys", "requestPosition": "Request Position", "reset": "Reset", + "retry": "Retry", "save": "Save", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "Scan QR Code", "traceRoute": "Trace Route", "submit": "Submit" diff --git a/packages/web/public/i18n/locales/be-BY/connections.json b/packages/web/public/i18n/locales/be-BY/connections.json index bc119e1b..6d24fa19 100644 --- a/packages/web/public/i18n/locales/be-BY/connections.json +++ b/packages/web/public/i18n/locales/be-BY/connections.json @@ -1,10 +1,34 @@ { - "title": "Connected Devices", - "description": "Manage your connected Meshtastic devices.", - "connectionType_ble": "BLE", - "connectionType_serial": "Serial", - "connectionType_network": "Network", - "noDevicesTitle": "No devices connected", - "noDevicesDescription": "Connect a new device to get started.", - "button_newConnection": "New Connection" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Serial", + "connectionType_network": "Сетка", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Злучаны", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Адлучана", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." + } } diff --git a/packages/web/public/i18n/locales/be-BY/dialog.json b/packages/web/public/i18n/locales/be-BY/dialog.json index 0cdad4b0..daaa7436 100644 --- a/packages/web/public/i18n/locales/be-BY/dialog.json +++ b/packages/web/public/i18n/locales/be-BY/dialog.json @@ -3,18 +3,6 @@ "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": { @@ -41,48 +29,77 @@ "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" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "Прылада", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/be-BY/ui.json b/packages/web/public/i18n/locales/be-BY/ui.json index 277a515c..c8460b9f 100644 --- a/packages/web/public/i18n/locales/be-BY/ui.json +++ b/packages/web/public/i18n/locales/be-BY/ui.json @@ -1,228 +1,230 @@ { - "navigation": { - "title": "Navigation", - "messages": "Messages", - "map": "Map", - "config": "Config", - "radioConfig": "Radio Config", - "moduleConfig": "Module Config", - "channels": "Channels", - "nodes": "Nodes" - }, - "app": { - "title": "Meshtastic", - "logo": "Meshtastic Logo" - }, - "sidebar": { - "collapseToggle": { - "button": { - "open": "Open sidebar", - "close": "Close sidebar" - } - }, - "deviceInfo": { - "volts": "{{voltage}} volts", - "firmware": { - "title": "Firmware", - "version": "v{{version}}", - "buildDate": "Build date: {{date}}" - }, - "deviceName": { - "title": "Device Name", - "changeName": "Change Device Name", - "placeholder": "Enter device name" - }, - "editDeviceName": "Edit device name" - } - }, - "batteryStatus": { - "charging": "{{level}}% charging", - "pluggedIn": "Plugged in", - "title": "Battery" - }, - "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": "Hide password" - }, - "showPassword": { - "label": "Show password" - }, - "deliveryStatus": { - "delivered": "Delivered", - "failed": "Delivery Failed", - "waiting": "Waiting", - "unknown": "Unknown" - } - }, - "general": { - "label": "General" - }, - "hardware": { - "label": "Hardware" - }, - "metrics": { - "label": "Metrics" - }, - "role": { - "label": "Role" - }, - "filter": { - "label": "Filter" - }, - "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": "Voltage" - }, - "channelUtilization": { - "label": "Channel Utilization (%)" - }, - "hops": { - "direct": "Direct", - "label": "Number of hops", - "text": "Number of hops: {{value}}" - }, - "lastHeard": { - "label": "Last heard", - "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": "Language", - "changeLanguage": "Change Language" - }, - "theme": { - "dark": "Dark", - "light": "Light", - "system": "Automatic", - "changeTheme": "Change Color Scheme" - }, - "errorPage": { - "title": "This is a little embarrassing...", - "description1": "We are really sorry but an error occurred in the web client that caused it to crash.
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", - "connectionsLink": "Return to the <0>connections", - "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}}" - } + "navigation": { + "title": "Navigation", + "messages": "Messages", + "map": "Map", + "settings": "Settings", + "channels": "Channels", + "radioConfig": "Radio Config", + "deviceConfig": "Device Config", + "moduleConfig": "Module Config", + "manageConnections": "Manage Connections", + "nodes": "Nodes" + }, + "app": { + "title": "Meshtastic", + "logo": "Meshtastic Logo" + }, + "sidebar": { + "collapseToggle": { + "button": { + "open": "Open sidebar", + "close": "Close sidebar" + } + }, + "deviceInfo": { + "volts": "{{voltage}} volts", + "firmware": { + "title": "Firmware", + "version": "v{{version}}", + "buildDate": "Build date: {{date}}" + } + } + }, + "batteryStatus": { + "charging": "{{level}}% charging", + "pluggedIn": "Plugged in", + "title": "Battery" + }, + "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." + }, + "saveAllSuccess": { + "title": "Saved", + "description": "All configuration changes have 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": "Hide password" + }, + "showPassword": { + "label": "Show password" + }, + "deliveryStatus": { + "delivered": "Delivered", + "failed": "Delivery Failed", + "waiting": "Waiting", + "unknown": "Unknown" + } + }, + "general": { + "label": "General" + }, + "hardware": { + "label": "Hardware" + }, + "metrics": { + "label": "Metrics" + }, + "role": { + "label": "Role" + }, + "filter": { + "label": "Filter" + }, + "advanced": { + "label": "Advanced" + }, + "clearInput": { + "label": "Clear input" + }, + "resetFilters": { + "label": "Reset Filters" + }, + "nodeName": { + "label": "Node name/number", + "placeholder": "Meshtastic 1234" + }, + "airtimeUtilization": { + "label": "Airtime Utilization (%)", + "short": "Airtime Util. (%)" + }, + "batteryLevel": { + "label": "Battery level (%)", + "labelText": "Battery level (%): {{value}}" + }, + "batteryVoltage": { + "label": "Battery voltage (V)", + "title": "Voltage" + }, + "channelUtilization": { + "label": "Channel Utilization (%)", + "short": "Channel Util. (%)" + }, + "hops": { + "direct": "Direct", + "label": "Number of hops", + "text": "Number of hops: {{value}}" + }, + "lastHeard": { + "label": "Last heard", + "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": "Language", + "changeLanguage": "Change Language" + }, + "theme": { + "dark": "Dark", + "light": "Light", + "system": "Automatic", + "changeTheme": "Change Color Scheme" + }, + "errorPage": { + "title": "This is a little embarrassing...", + "description1": "We are really sorry but an error occurred in the web client that caused it to crash.
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", + "connectionsLink": "Return to the <0>connections", + "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/bg-BG/channels.json b/packages/web/public/i18n/locales/bg-BG/channels.json index 2bba778f..32a59114 100644 --- a/packages/web/public/i18n/locales/bg-BG/channels.json +++ b/packages/web/public/i18n/locales/bg-BG/channels.json @@ -3,7 +3,7 @@ "sectionLabel": "Канали", "channelName": "Канал: {{channelName}}", "broadcastLabel": "Първичен", - "channelIndex": "Ch {{index}}", + "channelIndex": "К {{index}}", "import": "Импортиране", "export": "Експортиране" }, @@ -33,11 +33,11 @@ "description": "Уникално име за канала <12 байта, оставете празно за подразбиране" }, "uplinkEnabled": { - "label": "Uplink Enabled", + "label": "Uplink е активиран", "description": "Изпращане на съобщения от локалната mesh към MQTT" }, "downlinkEnabled": { - "label": "Downlink Enabled", + "label": "Downlink е активиран", "description": "Изпращане на съобщения от MQTT към локалната mesh" }, "positionPrecision": { diff --git a/packages/web/public/i18n/locales/bg-BG/common.json b/packages/web/public/i18n/locales/bg-BG/common.json index 793a8bb0..aa9e902a 100644 --- a/packages/web/public/i18n/locales/bg-BG/common.json +++ b/packages/web/public/i18n/locales/bg-BG/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Приложи", + "addConnection": "Добавяне на връзка", + "saveConnection": "Запазване на връзката", "backupKey": "Резервно копие на ключа", "cancel": "Отказ", + "connect": "Свързване", "clearMessages": "Изчистване на съобщенията", "close": "Затвори", "confirm": "Потвърждаване", "delete": "Изтриване", "dismiss": "Отхвърляне", "download": "Изтегляне", + "disconnect": "Прекъсване на връзката", "export": "Експортиране", "generate": "Генериране", "regenerate": "Регенериране", @@ -21,7 +25,10 @@ "requestNewKeys": "Заявка за нови ключове", "requestPosition": "Request Position", "reset": "Нулиране", + "retry": "Retry", "save": "Запис", + "setDefault": "Задаване по подразбиране", + "unsetDefault": "Unset default", "scanQr": "Сканиране на QR кода", "traceRoute": "Trace Route", "submit": "Изпращане" @@ -52,9 +59,9 @@ "suffix": "m" }, "kilometer": { - "one": "Kilometer", - "plural": "Kilometers", - "suffix": "km" + "one": "Километър", + "plural": "Километри", + "suffix": "км" }, "minute": { "one": "Минута", @@ -76,8 +83,8 @@ "day": { "one": "Ден", "plural": "Дни", - "today": "Today", - "yesterday": "Yesterday" + "today": "Днес", + "yesterday": "Вчера" }, "month": { "one": "Месец", @@ -98,8 +105,8 @@ "plural": "Записи" }, "degree": { - "one": "Degree", - "plural": "Degrees", + "one": "Градус", + "plural": "Градуса", "suffix": "°" } }, @@ -149,7 +156,7 @@ "key": "Ключът е задължителен." }, "invalidOverrideFreq": { - "number": "Invalid format, expected a value in the range 410-930 MHz or 0 (use default)." + "number": "Невалиден формат, очаквана е стойност в диапазона 410-930 MHz или 0 (използвайте стойността по подразбиране)." } }, "yes": "Да", diff --git a/packages/web/public/i18n/locales/bg-BG/connections.json b/packages/web/public/i18n/locales/bg-BG/connections.json index 6ceb36fb..c3ce42e1 100644 --- a/packages/web/public/i18n/locales/bg-BG/connections.json +++ b/packages/web/public/i18n/locales/bg-BG/connections.json @@ -1,12 +1,34 @@ { - "connections": { - "title": "Свързани устройства", - "description": "Управлявайте свързаните си устройства Meshtastic.", - "connectionType_ble": "BLE", - "connectionType_serial": "Серийна", - "connectionType_network": "Мрежа", - "noDevicesTitle": "Няма свързани устройства", - "noDevicesDescription": "Свържете ново устройство, за да започнете.", - "button_newConnection": "Нова връзка" - } + "page": { + "title": "Свързване с устройство Meshtastic", + "description": "Добавете връзка с устройството чрез HTTP, Bluetooth или сериен порт. Запазените ви връзки ще бъдат запазени във вашия браузър." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Серийна", + "connectionType_network": "Мрежа", + "deleteConnection": "Изтриване на връзката", + "areYouSure": "Това ще премахне {{name}}. Не можете да отмените това действие.", + "moreActions": "Още действия", + "noConnections": { + "title": "Все още няма връзки.", + "description": "Създайте първата си връзка. Тя ще се свърже веднага и ще бъде запазена за по-късно." + }, + "lastConnectedAt": "Последно свързване: {{date}}", + "neverConnected": "Никога не е бил свързан", + "toasts": { + "connected": "Свързано", + "nowConnected": "{{name}} е свързан сега", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Прекъсната връзка", + "failed": "Свързването не е успешно", + "checkConnetion": "Проверете устройството или настройките си и опитайте отново", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Изтрит", + "deletedByName": "{{name}} беше премахнат", + "pickConnectionAgain": "Не можа да се свърже. Може да се наложи да изберете отново устройството/порта.", + "added": "Връзката е добавена", + "savedByName": "{{name}} е запазен.", + "savedCantConnect": "Връзката беше запазена, но не можа да се осъществи свързване." + } } diff --git a/packages/web/public/i18n/locales/bg-BG/dialog.json b/packages/web/public/i18n/locales/bg-BG/dialog.json index fa8d9186..d1244fdf 100644 --- a/packages/web/public/i18n/locales/bg-BG/dialog.json +++ b/packages/web/public/i18n/locales/bg-BG/dialog.json @@ -3,31 +3,19 @@ "description": "Това действие ще изчисти цялата история на съобщенията. Това не може да бъде отменено. Сигурни ли сте, че искате да продължите?", "title": "Изчистване на всички съобщения" }, - "deviceName": { - "description": "Устройството ще се рестартира, след като конфигурацията бъде запазена.", - "longName": "Дълго име", - "shortName": "Кратко име", - "title": "Промяна на името на устройството", - "validation": { - "longNameMax": "Дългото име не трябва да е повече от 40 знака", - "shortNameMax": "Краткото име не трябва да е повече от 4 знака", - "longNameMin": "Дългото име трябва да съдържа поне 1 символ", - "shortNameMin": "Краткото име трябва да съдържа поне 1 символ" - } - }, "import": { "description": "Текущата конфигурация на LoRa ще бъде презаписана.", "error": { "invalidUrl": "Невалиден Meshtastic URL" }, "channelPrefix": "Канал: ", - "primary": "Primary ", + "primary": "Първичен ", "doNotImport": "No not import", "channelName": "Име", "channelSlot": "Слот", "channelSetUrl": "Channel Set/QR Code URL", - "useLoraConfig": "Import LoRa Config", - "presetDescription": "The current LoRa Config will be replaced.", + "useLoraConfig": "Импортиране на конфигурация на LoRa", + "presetDescription": "Текущата конфигурация na LoRa ще бъде заменена.", "title": "Import Channel Set" }, "locationResponse": { @@ -41,48 +29,77 @@ "description": "Сигурни ли сте, че искате да регенерирате предварително споделения ключ?", "regenerate": "Регенериране" }, - "newDeviceDialog": { - "title": "Свързване на ново устройство", - "https": "https", - "http": "http", - "tabHttp": "HTTP", - "tabBluetooth": "Bluetooth", - "tabSerial": "Серийна", - "useHttps": "Използване на HTTPS", - "connecting": "Свързване...", - "connect": "Свързване", - "connectionFailedAlert": { - "title": "Връзката е неуспешна", - "descriptionPrefix": "Не може да се свърже с устройството.", - "httpsHint": "Ако използвате HTTPS, може да се наложи първо да приемете самоподписан сертификат. ", - "openLinkPrefix": "Моля, отворете", - "openLinkSuffix": "в нов раздел", - "acceptTlsWarningSuffix": ", accept any TLS warnings if prompted, then try again", - "learnMoreLink": "Научете повече" - }, - "httpConnection": { - "label": "IP адрес/Име на хост", - "placeholder": "000.000.000.000 / meshtastic.local" - }, - "serialConnection": { - "noDevicesPaired": "Все още няма сдвоени устройства.", - "newDeviceButton": "Ново устройство", - "deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}" - }, - "bluetoothConnection": { - "noDevicesPaired": "Все още няма сдвоени устройства.", - "newDeviceButton": "Ново устройство", - "connectionFailed": "Връзката е неуспешна", - "deviceDisconnected": "Устройството не е свързано", - "unknownDevice": "Неизвестно устройство", - "errorLoadingDevices": "Грешка при зареждане на устройствата", - "unknownErrorLoadingDevices": "Неизвестна грешка при зареждане на устройствата" - }, + "addConnection": { + "title": "Добавяне на връзка", + "description": "Изберете тип връзка и попълнете данните", "validation": { "requiresWebBluetooth": "Този тип връзка изисква <0>Web Bluetooth. Моля, използвайте поддържан браузър, като Chrome или Edge.", "requiresWebSerial": "Този тип връзка изисква <0>Web Serial. Моля, използвайте поддържан браузър, като Chrome или Edge.", "requiresSecureContext": "Това приложение изисква <0>secure context. Моля, свържете се чрез HTTPS или localhost.", "additionallyRequiresSecureContext": "Освен това, изисква <0>secure context. Моля, свържете се чрез HTTPS или localhost." + }, + "bluetoothConnection": { + "namePlaceholder": "Моят Bluetooth възел", + "supported": { + "title": "Поддържа се Web Bluetooth" + }, + "notSupported": { + "title": "Не се поддържа Web Bluetooth", + "description": "Вашият браузър или устройство не поддържа Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth устройство", + "device": "Устройство", + "selectDevice": "Изберете устройство", + "selected": "Избрано Bluetooth устройство", + "notSelected": "Няма избрано устройство", + "helperText": "Използва услугата Meshtastic Bluetooth за откриване." + }, + "serialConnection": { + "namePlaceholder": "Моят сериен възел", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Порт", + "selectPort": "Изберете порт", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "Няма избран порт" + }, + "httpConnection": { + "namePlaceholder": "Моят HTTP възел", + "inputPlaceholder": "192.168.1.10 или meshtastic.local", + "heading": "URL или IP", + "useHttps": "Използване на HTTPS", + "invalidUrl": { + "title": "Невалиден URL", + "description": "Моля, въведете валиден HTTP или HTTPS URL." + }, + "connectionTest": { + "description": "Тествайте връзката, преди да я запазите, за да се уверите, че устройството е достъпно.", + "button": { + "loading": "Тестване...", + "label": "Тестване на връзката" + }, + "reachable": "Достъпно", + "notReachable": "Не е достъпно", + "success": { + "title": "Тестът на връзката е успешен", + "description": "Устройството изглежда е достъпно." + }, + "failure": { + "title": "Тестът на връзката не е успешен", + "description": "Не можа да се осъществи връзка с устройството. Проверете URL-а и опитайте отново." + } + } } }, "nodeDetails": { @@ -108,7 +125,7 @@ "removeNode": "Премахване на възела", "unignoreNode": "Премахване на игнорирането на възела", "security": "Сигурност:", - "publicKey": "Public Key: ", + "publicKey": "Публичен ключ:", "messageable": "Messageable: ", "KeyManuallyVerifiedTrue": "Публичният ключ е проверен ръчно", "KeyManuallyVerifiedFalse": "Публичният ключ не е проверен ръчно" @@ -155,7 +172,7 @@ "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: " + "unableToSendDmPrefix": "Вашият възел не може да изпрати директно съобщение до възел:" }, "acceptNewKeys": "риемане на нови ключове", "title": "Keys Mismatch - {{identifier}}" diff --git a/packages/web/public/i18n/locales/bg-BG/map.json b/packages/web/public/i18n/locales/bg-BG/map.json index f994073f..775c0da2 100644 --- a/packages/web/public/i18n/locales/bg-BG/map.json +++ b/packages/web/public/i18n/locales/bg-BG/map.json @@ -1,38 +1,38 @@ { "maplibre": { - "GeolocateControl.FindMyLocation": "Find my location", - "NavigationControl.ZoomIn": "Zoom in", - "NavigationControl.ZoomOut": "Zoom out", + "GeolocateControl.FindMyLocation": "Намиране на местоположението ми", + "NavigationControl.ZoomIn": "Увеличаване", + "NavigationControl.ZoomOut": "Намаляване", "CooperativeGesturesHandler.WindowsHelpText": "Use Ctrl + scroll to zoom the map", "CooperativeGesturesHandler.MacHelpText": "Use ⌘ + scroll to zoom the map", - "CooperativeGesturesHandler.MobileHelpText": "Use two fingers to move the map" + "CooperativeGesturesHandler.MobileHelpText": "Използвайте два пръста, за да местите картата" }, "layerTool": { - "nodeMarkers": "Show nodes", - "directNeighbors": "Show direct connections", - "remoteNeighbors": "Show remote connections", + "nodeMarkers": "Показване на възли", + "directNeighbors": "Показване на директни връзки", + "remoteNeighbors": "Показване на отдалечени връзки", "positionPrecision": "Show position precision", "traceroutes": "Show traceroutes", "waypoints": "Show waypoints" }, "mapMenu": { "locateAria": "Locate my node", - "layersAria": "Change map style" + "layersAria": "Промяна на стила на картата" }, "waypointDetail": { "edit": "Редактирай", - "description": "Description:", - "createdBy": "Edited by:", - "createdDate": "Created:", - "updated": "Updated:", - "expires": "Expires:", - "distance": "Distance:", + "description": "Описание:", + "createdBy": "Редактирано от:", + "createdDate": "Създадено:", + "updated": "Актуализирано:", + "expires": "Изтича:", + "distance": "Разстояние:", "bearing": "Absolute bearing:", - "lockedTo": "Locked by:", - "latitude": "Latitude:", - "longitude": "Longitude:" + "lockedTo": "Заключено от:", + "latitude": "Географска ширина:", + "longitude": "Географска дължина:" }, "myNode": { - "tooltip": "This device" + "tooltip": "Това устройство" } } diff --git a/packages/web/public/i18n/locales/bg-BG/ui.json b/packages/web/public/i18n/locales/bg-BG/ui.json index a63d6d3a..a58b34ae 100644 --- a/packages/web/public/i18n/locales/bg-BG/ui.json +++ b/packages/web/public/i18n/locales/bg-BG/ui.json @@ -1,228 +1,230 @@ { - "navigation": { - "title": "Навигация", - "messages": "Съобщения", - "map": "Карта", - "config": "Конфигурация", - "radioConfig": "Конфигурация на радиото", - "moduleConfig": "Конфигурация на модула", - "channels": "Канали", - "nodes": "Възли" - }, - "app": { - "title": "Meshtastic", - "logo": "Лого на Meshtastic" - }, - "sidebar": { - "collapseToggle": { - "button": { - "open": "Отваряне на страничната лента", - "close": "Затваряне на страничната лента" - } - }, - "deviceInfo": { - "volts": "{{voltage}} волта", - "firmware": { - "title": "Фърмуер", - "version": "v{{version}}", - "buildDate": "Дата на компилация: {{date}}" - }, - "deviceName": { - "title": "Име на устройството", - "changeName": "Промяна на името на устройството", - "placeholder": "Въвеждане на име на устройството" - }, - "editDeviceName": "Редактиране на името на устройство" - } - }, - "batteryStatus": { - "charging": "{{level}}% зареждане", - "pluggedIn": "Включен в ел. мрежа", - "title": "Батерия" - }, - "search": { - "nodes": "Търсене на възли...", - "channels": "Търсене на канали...", - "commandPalette": "Търсене на команди..." - }, - "toast": { - "positionRequestSent": { - "title": "Заявката за позиция е изпратена." - }, - "requestingPosition": { - "title": "Запитване за позиция, моля изчакайте..." - }, - "sendingTraceroute": { - "title": "Sending Traceroute, please wait..." - }, - "tracerouteSent": { - "title": "Traceroute sent." - }, - "savedChannel": { - "title": "Запазен канал: {{channelName}}" - }, - "messages": { - "pkiEncryption": { - "title": "Чатът използва PKI криптиране." - }, - "pskEncryption": { - "title": "Чатът използва PSK криптиране." - } - }, - "configSaveError": { - "title": "Грешка при запазване на конфигурацията", - "description": "Възникна грешка при запазване на конфигурацията." - }, - "validationError": { - "title": "Съществуват грешки в конфигурацията", - "description": "Моля, коригирайте грешките в конфигурацията, преди да я запазите." - }, - "saveSuccess": { - "title": "Запазване на конфигурацията", - "description": "Промяната в конфигурацията {{case}} е запазена." - }, - "favoriteNode": { - "title": "{{action}} {{nodeName}} {{direction}} любими.", - "action": { - "added": "Добавен", - "removed": "Премахнат", - "to": "в", - "from": "от" - } - }, - "ignoreNode": { - "title": "{{action}} {{nodeName}} {{direction}} списък с игнорирани", - "action": { - "added": "Добавен", - "removed": "Премахнат", - "to": "в", - "from": "от" - } - } - }, - "notifications": { - "copied": { - "label": "Копирано!" - }, - "copyToClipboard": { - "label": "Копиране в клипборда" - }, - "hidePassword": { - "label": "Скриване на паролата" - }, - "showPassword": { - "label": "Показване на паролата" - }, - "deliveryStatus": { - "delivered": "Доставено", - "failed": "Неуспешна доставка", - "waiting": "Изчакване", - "unknown": "Неизвестно" - } - }, - "general": { - "label": "General" - }, - "hardware": { - "label": "Хардуер" - }, - "metrics": { - "label": "Метрики" - }, - "role": { - "label": "Роля" - }, - "filter": { - "label": "Филтър" - }, - "advanced": { - "label": "Разширени" - }, - "clearInput": { - "label": "Clear input" - }, - "resetFilters": { - "label": "Нулиране на филтрите" - }, - "nodeName": { - "label": "Име/номер на възел", - "placeholder": "Meshtastic 1234" - }, - "airtimeUtilization": { - "label": "Използване на ефира (%)" - }, - "batteryLevel": { - "label": "Ниво на батерията (%)", - "labelText": "Ниво на батерията (%): {{value}}" - }, - "batteryVoltage": { - "label": "Напрежение на батерията (V)", - "title": "Напрежение" - }, - "channelUtilization": { - "label": "Използване на канала (%)" - }, - "hops": { - "direct": "Директно", - "label": "Брой хопове", - "text": "Брой хопове: {{value}}" - }, - "lastHeard": { - "label": "Последно чут", - "labelText": "Последно чут: {{value}}", - "nowLabel": "Сега" - }, - "snr": { - "label": "SNR (db)" - }, - "favorites": { - "label": "Любими" - }, - "hide": { - "label": "Скриване" - }, - "showOnly": { - "label": "Показване само" - }, - "viaMqtt": { - "label": "Свързан чрез MQTT" - }, - "hopsUnknown": { - "label": "Неизвестен брой хопове" - }, - "showUnheard": { - "label": "Никога не е чуван" - }, - "language": { - "label": "Език", - "changeLanguage": "Промяна на езика" - }, - "theme": { - "dark": "Тъмна", - "light": "Светла", - "system": "Автоматично", - "changeTheme": "Промяна на цветовата схема" - }, - "errorPage": { - "title": "Това е малко смущаващо...", - "description1": "Наистина съжаляваме, но възникна грешка в web клиента, която доведе до срив.
Това не би трябвало да се случва и работим усилено, за да го поправим.", - "description2": "Най-добрият начин да предотвратите това да се случи отново с вас или с някой друг е да ни съобщите за проблема.", - "reportInstructions": "Моля, включете следната информация в доклада си:", - "reportSteps": { - "step1": "Какво правехте, когато възникна грешката", - "step2": "Какво очаквахте да се случи", - "step3": "Какво всъщност се случи", - "step4": "Всяка друга подходяща информация" - }, - "reportLink": "Можете да съобщите за проблема в нашия <0>GitHub", - "connectionsLink": "Връщане към <0>таблото", - "detailsSummary": "Подробности за грешката", - "errorMessageLabel": "Съобщение за грешка:", - "stackTraceLabel": "Stack trace:", - "fallbackError": "{{error}}" - }, - "footer": { - "text": "Задвижвано от <0>▲ Vercel | Meshtastic® е регистрирана търговска марка на Meshtastic LLC. | <1>Правна информация", - "commitSha": "Commit SHA: {{sha}}" - } + "navigation": { + "title": "Навигация", + "messages": "Съобщения", + "map": "Карта", + "settings": "Настройки", + "channels": "Канали", + "radioConfig": "Конфигурация на радиото", + "deviceConfig": "Конфигуриране на устройството", + "moduleConfig": "Конфигурация на модула", + "manageConnections": "Управление на връзките", + "nodes": "Възли" + }, + "app": { + "title": "Meshtastic", + "logo": "Лого на Meshtastic" + }, + "sidebar": { + "collapseToggle": { + "button": { + "open": "Отваряне на страничната лента", + "close": "Затваряне на страничната лента" + } + }, + "deviceInfo": { + "volts": "{{voltage}} волта", + "firmware": { + "title": "Фърмуер", + "version": "v{{version}}", + "buildDate": "Дата на компилация: {{date}}" + } + } + }, + "batteryStatus": { + "charging": "{{level}}% зареждане", + "pluggedIn": "Включен в ел. мрежа", + "title": "Батерия" + }, + "search": { + "nodes": "Търсене на възли...", + "channels": "Търсене на канали...", + "commandPalette": "Търсене на команди..." + }, + "toast": { + "positionRequestSent": { + "title": "Заявката за позиция е изпратена." + }, + "requestingPosition": { + "title": "Запитване за позиция, моля изчакайте..." + }, + "sendingTraceroute": { + "title": "Sending Traceroute, please wait..." + }, + "tracerouteSent": { + "title": "Traceroute sent." + }, + "savedChannel": { + "title": "Запазен канал: {{channelName}}" + }, + "messages": { + "pkiEncryption": { + "title": "Чатът използва PKI криптиране." + }, + "pskEncryption": { + "title": "Чатът използва PSK криптиране." + } + }, + "configSaveError": { + "title": "Грешка при запазване на конфигурацията", + "description": "Възникна грешка при запазване на конфигурацията." + }, + "validationError": { + "title": "Съществуват грешки в конфигурацията", + "description": "Моля, коригирайте грешките в конфигурацията, преди да я запазите." + }, + "saveSuccess": { + "title": "Запазване на конфигурацията", + "description": "Промяната в конфигурацията {{case}} е запазена." + }, + "saveAllSuccess": { + "title": "Запазено", + "description": "Всички промени в конфигурацията са запазени." + }, + "favoriteNode": { + "title": "{{action}} {{nodeName}} {{direction}} любими.", + "action": { + "added": "Добавен", + "removed": "Премахнат", + "to": "в", + "from": "от" + } + }, + "ignoreNode": { + "title": "{{action}} {{nodeName}} {{direction}} списък с игнорирани", + "action": { + "added": "Добавен", + "removed": "Премахнат", + "to": "в", + "from": "от" + } + } + }, + "notifications": { + "copied": { + "label": "Копирано!" + }, + "copyToClipboard": { + "label": "Копиране в клипборда" + }, + "hidePassword": { + "label": "Скриване на паролата" + }, + "showPassword": { + "label": "Показване на паролата" + }, + "deliveryStatus": { + "delivered": "Доставено", + "failed": "Неуспешна доставка", + "waiting": "Изчакване", + "unknown": "Неизвестно" + } + }, + "general": { + "label": "General" + }, + "hardware": { + "label": "Хардуер" + }, + "metrics": { + "label": "Метрики" + }, + "role": { + "label": "Роля" + }, + "filter": { + "label": "Филтър" + }, + "advanced": { + "label": "Разширени" + }, + "clearInput": { + "label": "Clear input" + }, + "resetFilters": { + "label": "Нулиране на филтрите" + }, + "nodeName": { + "label": "Име/номер на възел", + "placeholder": "Meshtastic 1234" + }, + "airtimeUtilization": { + "label": "Използване на ефира (%)", + "short": "Airtime Util. (%)" + }, + "batteryLevel": { + "label": "Ниво на батерията (%)", + "labelText": "Ниво на батерията (%): {{value}}" + }, + "batteryVoltage": { + "label": "Напрежение на батерията (V)", + "title": "Напрежение" + }, + "channelUtilization": { + "label": "Използване на канала (%)", + "short": "Channel Util. (%)" + }, + "hops": { + "direct": "Директно", + "label": "Брой хопове", + "text": "Брой хопове: {{value}}" + }, + "lastHeard": { + "label": "Последно чут", + "labelText": "Последно чут: {{value}}", + "nowLabel": "Сега" + }, + "snr": { + "label": "SNR (db)" + }, + "favorites": { + "label": "Любими" + }, + "hide": { + "label": "Скриване" + }, + "showOnly": { + "label": "Показване само" + }, + "viaMqtt": { + "label": "Свързан чрез MQTT" + }, + "hopsUnknown": { + "label": "Неизвестен брой хопове" + }, + "showUnheard": { + "label": "Никога не е чуван" + }, + "language": { + "label": "Език", + "changeLanguage": "Промяна на езика" + }, + "theme": { + "dark": "Тъмна", + "light": "Светла", + "system": "Автоматично", + "changeTheme": "Промяна на цветовата схема" + }, + "errorPage": { + "title": "Това е малко смущаващо...", + "description1": "Наистина съжаляваме, но възникна грешка в web клиента, която доведе до срив.
Това не би трябвало да се случва и работим усилено, за да го поправим.", + "description2": "Най-добрият начин да предотвратите това да се случи отново с вас или с някой друг е да ни съобщите за проблема.", + "reportInstructions": "Моля, включете следната информация в доклада си:", + "reportSteps": { + "step1": "Какво правехте, когато възникна грешката", + "step2": "Какво очаквахте да се случи", + "step3": "Какво всъщност се случи", + "step4": "Всяка друга подходяща информация" + }, + "reportLink": "Можете да съобщите за проблема в нашия <0>GitHub", + "connectionsLink": "Return to the <0>connections", + "detailsSummary": "Подробности за грешката", + "errorMessageLabel": "Съобщение за грешка:", + "stackTraceLabel": "Stack trace:", + "fallbackError": "{{error}}" + }, + "footer": { + "text": "Задвижвано от <0>▲ Vercel | Meshtastic® е регистрирана търговска марка на Meshtastic LLC. | <1>Правна информация", + "commitSha": "Commit SHA: {{sha}}" + } } diff --git a/packages/web/public/i18n/locales/cs-CZ/common.json b/packages/web/public/i18n/locales/cs-CZ/common.json index 799b4872..f1469a1c 100644 --- a/packages/web/public/i18n/locales/cs-CZ/common.json +++ b/packages/web/public/i18n/locales/cs-CZ/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Použít", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Backup Key", "cancel": "Zrušit", + "connect": "Připojit", "clearMessages": "Clear Messages", "close": "Zavřít", "confirm": "Confirm", "delete": "Smazat", "dismiss": "Dismiss", "download": "Download", + "disconnect": "Odpojit", "export": "Export", "generate": "Generate", "regenerate": "Regenerate", @@ -21,7 +25,10 @@ "requestNewKeys": "Request New Keys", "requestPosition": "Request Position", "reset": "Reset", + "retry": "Retry", "save": "Uložit", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "Naskenovat QR kód", "traceRoute": "Trace Route", "submit": "Submit" diff --git a/packages/web/public/i18n/locales/cs-CZ/connections.json b/packages/web/public/i18n/locales/cs-CZ/connections.json index f114cc28..6e23864e 100644 --- a/packages/web/public/i18n/locales/cs-CZ/connections.json +++ b/packages/web/public/i18n/locales/cs-CZ/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Connected Devices", - "description": "Manage your connected Meshtastic devices.", - "connectionType_ble": "BLE", - "connectionType_serial": "Sériový", - "connectionType_network": "Síť", - "noDevicesTitle": "No devices connected", - "noDevicesDescription": "Connect a new device to get started.", - "button_newConnection": "New Connection" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Sériový", + "connectionType_network": "Síť", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Připojeno", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Odpojeno", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/cs-CZ/dialog.json b/packages/web/public/i18n/locales/cs-CZ/dialog.json index edffa4cc..077947e8 100644 --- a/packages/web/public/i18n/locales/cs-CZ/dialog.json +++ b/packages/web/public/i18n/locales/cs-CZ/dialog.json @@ -3,18 +3,6 @@ "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": { @@ -41,48 +29,77 @@ "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": "Sériový", - "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" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "Zařízení", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/cs-CZ/ui.json b/packages/web/public/i18n/locales/cs-CZ/ui.json index c609446a..bc4862d8 100644 --- a/packages/web/public/i18n/locales/cs-CZ/ui.json +++ b/packages/web/public/i18n/locales/cs-CZ/ui.json @@ -1,228 +1,230 @@ { - "navigation": { - "title": "Navigation", - "messages": "Zprávy", - "map": "Mapa", - "config": "Config", - "radioConfig": "Radio Config", - "moduleConfig": "Module Config", - "channels": "Kanály", - "nodes": "Uzly" - }, - "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": "Baterie" - }, - "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": "Skrýt heslo" - }, - "showPassword": { - "label": "Zobrazit heslo" - }, - "deliveryStatus": { - "delivered": "Delivered", - "failed": "Delivery Failed", - "waiting": "Waiting", - "unknown": "Unknown" - } - }, - "general": { - "label": "General" - }, - "hardware": { - "label": "Hardware" - }, - "metrics": { - "label": "Metriky" - }, - "role": { - "label": "Role" - }, - "filter": { - "label": "Filtr" - }, - "advanced": { - "label": "Advanced" - }, - "clearInput": { - "label": "Clear input" - }, - "resetFilters": { - "label": "Reset Filters" - }, - "nodeName": { - "label": "Node name/number", - "placeholder": "Meshtastic 1234" - }, - "airtimeUtilization": { - "label": "Airtime Utilization (%)" - }, - "batteryLevel": { - "label": "Battery level (%)", - "labelText": "Battery level (%): {{value}}" - }, - "batteryVoltage": { - "label": "Battery voltage (V)", - "title": "Napětí" - }, - "channelUtilization": { - "label": "Channel Utilization (%)" - }, - "hops": { - "direct": "Přímý", - "label": "Number of hops", - "text": "Number of hops: {{value}}" - }, - "lastHeard": { - "label": "Naposledy slyšen", - "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": "Jazyk", - "changeLanguage": "Change Language" - }, - "theme": { - "dark": "Tmavý", - "light": "Světlý", - "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", - "connectionsLink": "Return to the <0>connections", - "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}}" - } + "navigation": { + "title": "Navigation", + "messages": "Zprávy", + "map": "Mapa", + "settings": "Nastavení", + "channels": "Kanály", + "radioConfig": "Radio Config", + "deviceConfig": "Nastavení zařízení", + "moduleConfig": "Module Config", + "manageConnections": "Manage Connections", + "nodes": "Uzly" + }, + "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}}" + } + } + }, + "batteryStatus": { + "charging": "{{level}}% charging", + "pluggedIn": "Plugged in", + "title": "Baterie" + }, + "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." + }, + "saveAllSuccess": { + "title": "Saved", + "description": "All configuration changes have 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": "Skrýt heslo" + }, + "showPassword": { + "label": "Zobrazit heslo" + }, + "deliveryStatus": { + "delivered": "Delivered", + "failed": "Delivery Failed", + "waiting": "Waiting", + "unknown": "Unknown" + } + }, + "general": { + "label": "General" + }, + "hardware": { + "label": "Hardware" + }, + "metrics": { + "label": "Metriky" + }, + "role": { + "label": "Role" + }, + "filter": { + "label": "Filtr" + }, + "advanced": { + "label": "Advanced" + }, + "clearInput": { + "label": "Clear input" + }, + "resetFilters": { + "label": "Reset Filters" + }, + "nodeName": { + "label": "Node name/number", + "placeholder": "Meshtastic 1234" + }, + "airtimeUtilization": { + "label": "Airtime Utilization (%)", + "short": "Airtime Util. (%)" + }, + "batteryLevel": { + "label": "Battery level (%)", + "labelText": "Battery level (%): {{value}}" + }, + "batteryVoltage": { + "label": "Battery voltage (V)", + "title": "Napětí" + }, + "channelUtilization": { + "label": "Channel Utilization (%)", + "short": "Channel Util. (%)" + }, + "hops": { + "direct": "Přímý", + "label": "Number of hops", + "text": "Number of hops: {{value}}" + }, + "lastHeard": { + "label": "Naposledy slyšen", + "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": "Jazyk", + "changeLanguage": "Change Language" + }, + "theme": { + "dark": "Tmavý", + "light": "Světlý", + "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", + "connectionsLink": "Return to the <0>connections", + "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/de-DE/common.json b/packages/web/public/i18n/locales/de-DE/common.json index ec3d84f5..8de6f70d 100644 --- a/packages/web/public/i18n/locales/de-DE/common.json +++ b/packages/web/public/i18n/locales/de-DE/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Anwenden", + "addConnection": "Verbindung hinzufügen", + "saveConnection": "Verbindung speichern", "backupKey": "Schlüssel sichern", "cancel": "Abbrechen", + "connect": "Verbindung herstellen", "clearMessages": "Nachrichten löschen", "close": "Schließen", "confirm": "Bestätigen", "delete": "Löschen", "dismiss": "Tastatur ausblenden", "download": "Herunterladen", + "disconnect": "Verbindung trennen", "export": "Exportieren", "generate": "Erzeugen", "regenerate": "Neu erzeugen", @@ -21,7 +25,10 @@ "requestNewKeys": "Neue Schlüssel anfordern", "requestPosition": "Standort anfordern", "reset": "Zurücksetzen", + "retry": "Erneut versuchen", "save": "Speichern", + "setDefault": "Als Standard festlegen", + "unsetDefault": "Standard entfernen", "scanQr": "QR Code scannen", "traceRoute": "Route verfolgen", "submit": "Absenden" diff --git a/packages/web/public/i18n/locales/de-DE/connections.json b/packages/web/public/i18n/locales/de-DE/connections.json index 5ec2de3d..510f3d29 100644 --- a/packages/web/public/i18n/locales/de-DE/connections.json +++ b/packages/web/public/i18n/locales/de-DE/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Verbundene Geräte", - "description": "Verwalten Sie Ihre verbundenen Meshtastic Geräte.", - "connectionType_ble": "BLE", - "connectionType_serial": "Seriell", - "connectionType_network": "Netzwerk", - "noDevicesTitle": "Keine Geräte verbunden", - "noDevicesDescription": "Verbinden Sie ein neues Gerät, um zu beginnen.", - "button_newConnection": "Neue Verbindung" + "page": { + "title": "Mit einem Meshtastic Gerät verbinden", + "description": "Fügen Sie eine Geräteverbindung über HTTP, Bluetooth oder serielle Schnittstelle hinzu. Ihre gespeicherten Verbindungen werden in Ihrem Browser gespeichert." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Seriell", + "connectionType_network": "Netzwerk", + "deleteConnection": "Verbindung löschen", + "areYouSure": "Dies entfernt {{name}}. Sie können diese Aktion nicht rückgängig machen.", + "moreActions": "Weitere Aktionen", + "noConnections": { + "title": "Noch keine Verbindungen.", + "description": "Erstellen Sie Ihre erste Verbindung. Sie wird sofort verbunden und später gespeichert." + }, + "lastConnectedAt": "Letzte Verbindung: {{date}}", + "neverConnected": "Nie verbunden", + "toasts": { + "connected": "Verbunden", + "nowConnected": "{{name}} ist jetzt verbunden", + "nowDisconnected": "{{name}} ist jetzt getrennt", + "disconnected": "Verbindung getrennt", + "failed": "Verbindung fehlgeschlagen", + "checkConnetion": "Überprüfen Sie Ihr Gerät oder Ihre Einstellungen und versuchen Sie es erneut", + "defaultSet": "Standard festgelegt", + "defaultConnection": "Standardverbindung ist jetzt {{nameisconnected}}", + "deleted": "Gelöscht", + "deletedByName": "{{name}} wurde entfernt", + "pickConnectionAgain": "Verbindung fehlgeschlagen. Eventuell müssen Sie das Gerät/den Anschluss neu wählen.", + "added": "Verbindung hinzugefügt", + "savedByName": "{{name}} gespeichert.", + "savedCantConnect": "Die Verbindung wurde gespeichert, konnte sich aber nicht verbinden." } } diff --git a/packages/web/public/i18n/locales/de-DE/dialog.json b/packages/web/public/i18n/locales/de-DE/dialog.json index 37a8a5be..bee7cf98 100644 --- a/packages/web/public/i18n/locales/de-DE/dialog.json +++ b/packages/web/public/i18n/locales/de-DE/dialog.json @@ -3,18 +3,6 @@ "description": "Diese Aktion wird den Nachrichtenverlauf löschen. Dies kann nicht rückgängig gemacht werden. Sind Sie sicher, dass Sie fortfahren möchten?", "title": "Alle Nachrichten löschen" }, - "deviceName": { - "description": "Das Gerät wird neu gestartet, sobald die Einstellung gespeichert ist.", - "longName": "Langer Name", - "shortName": "Kurzname", - "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.", "error": { @@ -41,48 +29,77 @@ "description": "Sind Sie sicher, dass Sie den vorab verteilten Schlüssel neu erstellen möchten?", "regenerate": "Neu erstellen" }, - "newDeviceDialog": { - "title": "Neues Gerät verbinden", - "https": "https", - "http": "http", - "tabHttp": "HTTP", - "tabBluetooth": "Bluetooth", - "tabSerial": "Seriell", - "useHttps": "HTTPS verwenden", - "connecting": "Wird verbunden...", - "connect": "Verbindung herstellen", - "connectionFailedAlert": { - "title": "Verbindung fehlgeschlagen", - "descriptionPrefix": "Verbindung zum Gerät fehlgeschlagen. ", - "httpsHint": "Wenn Sie HTTPS verwenden, müssen Sie möglicherweise zuerst ein selbstsigniertes Zertifikat akzeptieren. ", - "openLinkPrefix": "Öffnen Sie ", - "openLinkSuffix": "in einem neuen Tab", - "acceptTlsWarningSuffix": ", akzeptieren Sie alle TLS-Warnungen, wenn Sie dazu aufgefordert werden, dann versuchen Sie es erneut", - "learnMoreLink": "Mehr erfahren" - }, - "httpConnection": { - "label": "IP Adresse/Hostname", - "placeholder": "000.000.000.000 / meshtastic.local" - }, - "serialConnection": { - "noDevicesPaired": "Noch keine Geräte gekoppelt.", - "newDeviceButton": "Neues Gerät", - "deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}" - }, - "bluetoothConnection": { - "noDevicesPaired": "Noch keine Geräte gekoppelt.", - "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" - }, + "addConnection": { + "title": "Verbindung hinzufügen", + "description": "Wählen Sie einen Verbindungstyp aus und geben Sie die Details ein", "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.", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "Mein Bluetooth Knoten", + "supported": { + "title": "Web Bluetooth wird unterstützt" + }, + "notSupported": { + "title": "Web Bluetooth wird nicht unterstützt", + "description": "Ihr Browser oder Ihr Gerät unterstützt kein Bluetooth im Web" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Gerät", + "device": "Gerät", + "selectDevice": "Gerät auswählen", + "selected": "Bluetooth Gerät ausgewählt", + "notSelected": "Kein Gerät ausgewählt", + "helperText": "Verwendet den Meshtastic Bluetooth Dienst zur Erkennung." + }, + "serialConnection": { + "namePlaceholder": "Mein serieller Knoten", + "helperText": "Die Auswahl eines Anschlusses erteilt der App die Berechtigung, diesen zu öffnen und eine Verbindung herzustellen.", + "supported": { + "title": "Web Seriell unterstützt" + }, + "notSupported": { + "title": "Web Seriell nicht unterstützt", + "description": "Ihr Browser oder Ihr Gerät unterstützt kein Web Seriell" + }, + "portSelected": { + "title": "Serieller Anschluss ausgewählt", + "description": "Anschlussberechtigungen gewährt." + }, + "port": "Anschluss", + "selectPort": "Anschluss auswählen", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "Kein Anschluss ausgewählt" + }, + "httpConnection": { + "namePlaceholder": "Mein HTTP Knoten", + "inputPlaceholder": "192.168.1.10 oder meshtastic.local", + "heading": "URL oder IP", + "useHttps": "HTTPS verwenden", + "invalidUrl": { + "title": "Ungültige URL", + "description": "Bitte geben Sie eine gültige HTTP oder HTTPS URL ein." + }, + "connectionTest": { + "description": "Testen Sie die Verbindung, bevor Sie speichern um zu überprüfen, dass das Gerät erreichbar ist.", + "button": { + "loading": "Wird getestet...", + "label": "Verbindung testen" + }, + "reachable": "Erreichbar", + "notReachable": "Nicht erreichbar", + "success": { + "title": "Verbindungstest erfolgreich", + "description": "Das Gerät scheint erreichbar zu sein." + }, + "failure": { + "title": "Verbindungstest fehlgeschlagen", + "description": "Das Gerät konnte nicht erreicht werden. Überprüfen Sie die URL und versuchen Sie es erneut." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/de-DE/ui.json b/packages/web/public/i18n/locales/de-DE/ui.json index e3ecc73a..43670bee 100644 --- a/packages/web/public/i18n/locales/de-DE/ui.json +++ b/packages/web/public/i18n/locales/de-DE/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Funkgerätekonfiguration", "deviceConfig": "Geräteeinstellungen", "moduleConfig": "Moduleinstellungen", + "manageConnections": "Verbindungen verwalten", "nodes": "Knoten" }, "app": { @@ -216,7 +217,7 @@ "step4": "Sonstige relevante Informationen" }, "reportLink": "Sie können das Problem auf unserem <0>GitHub melden", - "dashboardLink": "Zurück zum <0>Dashboard", + "connectionsLink": "Zurück zu den <0>Verbindungen", "detailsSummary": "Fehlerdetails", "errorMessageLabel": "Fehlermeldungen:", "stackTraceLabel": "Stapelabzug:", diff --git a/packages/web/public/i18n/locales/es-ES/common.json b/packages/web/public/i18n/locales/es-ES/common.json index 0b8d04c0..ec687659 100644 --- a/packages/web/public/i18n/locales/es-ES/common.json +++ b/packages/web/public/i18n/locales/es-ES/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Aplique", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Clave de la copia de seguridad", "cancel": "Cancelar", + "connect": "Conectar", "clearMessages": "Borrar mensajes", "close": "Cerrar", "confirm": "Confirmar", "delete": "Eliminar", "dismiss": "Descartar", "download": "Descarga", + "disconnect": "Desconectar", "export": "Exportar", "generate": "Generar", "regenerate": "Regenerar", @@ -21,7 +25,10 @@ "requestNewKeys": "Solicitar nuevas claves", "requestPosition": "Solicitar ubicación", "reset": "Reiniciar", + "retry": "Retry", "save": "Guardar", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "Escanear el código QR", "traceRoute": "Trazar ruta", "submit": "Enviar" diff --git a/packages/web/public/i18n/locales/es-ES/connections.json b/packages/web/public/i18n/locales/es-ES/connections.json index c285b488..6b2dc2e6 100644 --- a/packages/web/public/i18n/locales/es-ES/connections.json +++ b/packages/web/public/i18n/locales/es-ES/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Dispositivos conectados", - "description": "Administra tus dispositivos Meshtastic conectados.", - "connectionType_ble": "BLE", - "connectionType_serial": "Conexión Serial", - "connectionType_network": "Conexión Red", - "noDevicesTitle": "No hay dispositivos conectados", - "noDevicesDescription": "Conecta un nuevo dispositivo para empezar.", - "button_newConnection": "Conexión Nueva" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Conexión Serial", + "connectionType_network": "Conexión Red", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Conectado", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Desconectado", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/es-ES/dialog.json b/packages/web/public/i18n/locales/es-ES/dialog.json index 323d2f19..e0435207 100644 --- a/packages/web/public/i18n/locales/es-ES/dialog.json +++ b/packages/web/public/i18n/locales/es-ES/dialog.json @@ -3,18 +3,6 @@ "description": "This action will clear all message history. This cannot be undone. Are you sure you want to continue?", "title": "Borrar todos los mensajes" }, - "deviceName": { - "description": "El dispositivo se reiniciará una vez que se guarde la configuración.", - "longName": "Nombre largo", - "shortName": "Nombre Corto", - "title": "Cambiar nombre del dispositivo", - "validation": { - "longNameMax": "El nombre largo no debe tener más de 40 caracteres", - "shortNameMax": "El nombre corto no debe tener más de 4 caracteres", - "longNameMin": "El nombre largo debe tener al menos 1 carácter", - "shortNameMin": "El nombre corto debe tener al menos 1 carácter" - } - }, "import": { "description": "Se anulará la configuración actual de LoRa.", "error": { @@ -41,48 +29,77 @@ "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": "Conexión Serial", - "useHttps": "Use HTTPS", - "connecting": "Connecting...", - "connect": "Conectar", - "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" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "Dispositivo", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/es-ES/ui.json b/packages/web/public/i18n/locales/es-ES/ui.json index f84ce68b..bcf13398 100644 --- a/packages/web/public/i18n/locales/es-ES/ui.json +++ b/packages/web/public/i18n/locales/es-ES/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Radio Config", "deviceConfig": "Configuración del dispositivo", "moduleConfig": "Module Config", + "manageConnections": "Manage Connections", "nodes": "Nodos" }, "app": { @@ -216,7 +217,7 @@ "step4": "Any other relevant information" }, "reportLink": "You can report the issue to our <0>GitHub", - "dashboardLink": "Return to the <0>dashboard", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "Error Details", "errorMessageLabel": "Error message:", "stackTraceLabel": "Stack trace:", diff --git a/packages/web/public/i18n/locales/fi-FI/common.json b/packages/web/public/i18n/locales/fi-FI/common.json index 08287e12..34530d8b 100644 --- a/packages/web/public/i18n/locales/fi-FI/common.json +++ b/packages/web/public/i18n/locales/fi-FI/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Hyväksy", + "addConnection": "Lisää yhteys", + "saveConnection": "Tallenna yhteys", "backupKey": "Varmuuskopioi avain", "cancel": "Peruuta", + "connect": "Yhdistä", "clearMessages": "Tyhjennä viestit", "close": "Sulje", "confirm": "Vahvista", "delete": "Poista", "dismiss": "Hylkää", "download": "Lataa", + "disconnect": "Katkaise yhteys", "export": "Vie", "generate": "Luo", "regenerate": "Luo uudelleen", @@ -21,7 +25,10 @@ "requestNewKeys": "Pyydä uudet avaimet", "requestPosition": "Pyydä sijaintia", "reset": "Palauta", + "retry": "Yritä uudelleen", "save": "Tallenna", + "setDefault": "Aseta oletukseksi", + "unsetDefault": "Poista oletusasetus", "scanQr": "Skannaa QR-koodi", "traceRoute": "Reitinselvitys", "submit": "Lähetä" diff --git a/packages/web/public/i18n/locales/fi-FI/connections.json b/packages/web/public/i18n/locales/fi-FI/connections.json index 43ce8a7f..a0a12cd8 100644 --- a/packages/web/public/i18n/locales/fi-FI/connections.json +++ b/packages/web/public/i18n/locales/fi-FI/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Yhdistetyt laitteet", - "description": "Hallitse yhdistettyjä Meshtastic laitteitasi.", - "connectionType_ble": "BLE", - "connectionType_serial": "Sarjaliitäntä", - "connectionType_network": "Verkko", - "noDevicesTitle": "Ei laitteita yhdistettynä", - "noDevicesDescription": "Yhdistä uusi laite aloittaaksesi.", - "button_newConnection": "Uusi yhteys" + "page": { + "title": "Yhdistä Meshtastic-laitteeseen", + "description": "Lisää laiteyhteys HTTP:n, Bluetoothin tai sarjaportin kautta. Tallennetut yhteydet tallennetaan selaimeesi." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Sarjaliitäntä", + "connectionType_network": "Verkko", + "deleteConnection": "Poista yhteys", + "areYouSure": "Tämä poistaa kohteen {{name}}. Tätä toimintoa ei voi perua.", + "moreActions": "Lisää toimintoja", + "noConnections": { + "title": "Ei yhteyksiä vielä.", + "description": "Luo ensimmäinen yhteytesi. Yhteys muodostetaan heti ja tallennetaan myöhempää käyttöä varten." + }, + "lastConnectedAt": "Viimeksi yhdistetty: {{date}}", + "neverConnected": "Ei koskaan yhdistetty", + "toasts": { + "connected": "Yhdistetty", + "nowConnected": "{{name}} on nyt yhdistetty", + "nowDisconnected": "{{name}} ei ole enää yhteydessä", + "disconnected": "Ei yhdistetty", + "failed": "Yhteyden muodostaminen epäonnistui", + "checkConnetion": "Tarkista laitteesi tai asetukset ja yritä uudelleen", + "defaultSet": "Asetettu oletukseksi", + "defaultConnection": "Oletusyhteys on nyt {{nameisconnected}}", + "deleted": "Poistettu", + "deletedByName": "{{name}} poistettiin", + "pickConnectionAgain": "Yhteyttä ei voitu muodostaa. Saatat joutua valitsemaan laitteen tai portin uudelleen.", + "added": "Yhteys lisätty", + "savedByName": "{{name}} tallennettu.", + "savedCantConnect": "Yhteys tallennettiin, mutta siihen ei voitu yhdistää." } } diff --git a/packages/web/public/i18n/locales/fi-FI/dialog.json b/packages/web/public/i18n/locales/fi-FI/dialog.json index 31bd03c9..6f4ab5ed 100644 --- a/packages/web/public/i18n/locales/fi-FI/dialog.json +++ b/packages/web/public/i18n/locales/fi-FI/dialog.json @@ -3,18 +3,6 @@ "description": "Tämä toiminto poistaa kaiken viestihistorian. Toimintoa ei voi perua. Haluatko varmasti jatkaa?", "title": "Tyhjennä kaikki viestit" }, - "deviceName": { - "description": "Laite käynnistyy uudelleen, kun asetus on tallennettu.", - "longName": "Pitkä nimi", - "shortName": "Lyhytnimi", - "title": "Vaihda laitteen nimi", - "validation": { - "longNameMax": "Pitkässä nimessä saa olla enintään 40 merkkiä", - "shortNameMax": "Lyhytnimessä ei saa olla enempää kuin 4 merkkiä", - "longNameMin": "Pitkässä nimessä täytyy olla vähintään yksi merkki", - "shortNameMin": "Lyhytnimessä täytyy olla vähintään ykis merkki" - } - }, "import": { "description": "Nykyinen LoRa-asetus ylikirjoitetaan.", "error": { @@ -41,48 +29,77 @@ "description": "Haluatko varmasti luoda ennalta jaetun avaimen uudelleen?", "regenerate": "Luo uudelleen" }, - "newDeviceDialog": { - "title": "Yhdistä uuteen laitteeseen", - "https": "https", - "http": "http", - "tabHttp": "HTTP", - "tabBluetooth": "Bluetooth", - "tabSerial": "Sarjaliitäntä", - "useHttps": "Käytä HTTPS", - "connecting": "Yhdistetään...", - "connect": "Yhdistä", - "connectionFailedAlert": { - "title": "Yhteys epäonnistui", - "descriptionPrefix": "Laitteeseen ei saatu yhteyttä. ", - "httpsHint": "Jos käytät HTTPS:ää, sinun on ehkä ensin hyväksyttävä itse allekirjoitettu varmenne. ", - "openLinkPrefix": "Avaa ", - "openLinkSuffix": " uuteen välilehteen", - "acceptTlsWarningSuffix": ", hyväksy mahdolliset TLS-varoitukset, jos niitä ilmenee ja yritä sitten uudelleen.", - "learnMoreLink": "Lue lisää" - }, - "httpConnection": { - "label": "IP-osoite / isäntänimi", - "placeholder": "000.000.000 / meshtastinen.paikallinen" - }, - "serialConnection": { - "noDevicesPaired": "Yhtään laitetta ei ole vielä yhdistetty.", - "newDeviceButton": "Uusi laite", - "deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}" - }, - "bluetoothConnection": { - "noDevicesPaired": "Yhtään laitetta ei ole vielä yhdistetty.", - "newDeviceButton": "Uusi laite", - "connectionFailed": "Yhdistäminen epäonnistui", - "deviceDisconnected": "Yhteys laitteeseen katkaistu", - "unknownDevice": "Tuntematon laite", - "errorLoadingDevices": "Virhe ladattaessa laitteita", - "unknownErrorLoadingDevices": "Tuntematon virhe laitteita ladattaessa" - }, + "addConnection": { + "title": "Lisää yhteys", + "description": "Valitse yhteystyyppi ja täytä tiedot", "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ä.", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "Bluetoothilla yhdistetty laite", + "supported": { + "title": "Verkkoselaimen Bluetooth-tuettu" + }, + "notSupported": { + "title": "Verkkoselaimen Bluetooth ei ole tuettu", + "description": "Selaimesi tai laitteesi ei tue Web Bluetooth -toimintoa" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth-laite", + "device": "Laite", + "selectDevice": "Valitse laite", + "selected": "Bluetooth-laite valittu", + "notSelected": "Ei laitetta valittuna", + "helperText": "Käyttää Meshtasticin Bluetooth-palvelua laitteiden etsintään." + }, + "serialConnection": { + "namePlaceholder": "Sarjaliitännällä yhdistetty laite", + "helperText": "Portin valitseminen antaa sovellukselle luvan avata sen yhteyden muodostamista varten.", + "supported": { + "title": "Verkkoselaimen sarjaliitäntä tuettu" + }, + "notSupported": { + "title": "Verkkoselaimen sarjaliitäntä ei ole tuettu", + "description": "Selaimesi tai laitteesi ei tue Web Serial -toimintoa" + }, + "portSelected": { + "title": "Sarjaportti valittu", + "description": "Porttioikeudet myönnetty." + }, + "port": "Portti", + "selectPort": "Valitse portti", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "Ei porttia valittuna" + }, + "httpConnection": { + "namePlaceholder": "HTTP-yhteydellä toimiva laite", + "inputPlaceholder": "192.168.1.10 tai meshtastic.local", + "heading": "URL tai IP", + "useHttps": "Käytä HTTTPS", + "invalidUrl": { + "title": "Virheellinen URL-osoite", + "description": "Anna kelvollinen HTTP- tai HTTPS-osoite." + }, + "connectionTest": { + "description": "Testaa yhteys ennen tallennusta varmistaaksesi, että laite on tavoitettavissa.", + "button": { + "loading": "Testataan...", + "label": "Testaa yhteys" + }, + "reachable": "Yhteys toimii", + "notReachable": "Yhteys ei toimi", + "success": { + "title": "Yhteystesti onnistui", + "description": "Laite vaikuttaa olevan tavoitettavissa." + }, + "failure": { + "title": "Yhteystesti epäonnistui", + "description": "Laitetta ei voitu tavoittaa. Tarkista URL-osoite ja yritä uudelleen." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/fi-FI/ui.json b/packages/web/public/i18n/locales/fi-FI/ui.json index ead3dbfd..9c59a3d9 100644 --- a/packages/web/public/i18n/locales/fi-FI/ui.json +++ b/packages/web/public/i18n/locales/fi-FI/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Radion asetukset", "deviceConfig": "Laitteen asetukset", "moduleConfig": "Moduulin asetukset", + "manageConnections": "Hallinnoi yhteyksiä", "nodes": "Laitteet" }, "app": { @@ -216,7 +217,7 @@ "step4": "Muut mahdollisesti oleelliset tiedot" }, "reportLink": "Voit raportoida ongelmasta <0>GitHubissa", - "dashboardLink": "Palaa takaisin <0>hallintapaneeliin", + "connectionsLink": "Palaa <0>yhteyksiin", "detailsSummary": "Virheen tiedot", "errorMessageLabel": "Virheilmoitus:", "stackTraceLabel": "Virheen jäljityslista:", diff --git a/packages/web/public/i18n/locales/fr-FR/common.json b/packages/web/public/i18n/locales/fr-FR/common.json index b0996045..fd495b9f 100644 --- a/packages/web/public/i18n/locales/fr-FR/common.json +++ b/packages/web/public/i18n/locales/fr-FR/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Appliquer", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Clé de sauvegarde", "cancel": "Annuler", + "connect": "Connecter", "clearMessages": "Effacer les messages", "close": "Fermer", "confirm": "Confirmer", "delete": "Effacer", "dismiss": "Annuler", "download": "Télécharger", + "disconnect": "Déconnecter", "export": "Exporter", "generate": "Générer", "regenerate": "Regénérer", @@ -21,7 +25,10 @@ "requestNewKeys": "Demander de nouvelles clés", "requestPosition": "Demander la position", "reset": "Réinitialiser", + "retry": "Retry", "save": "Sauvegarder", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "Scanner le code QR", "traceRoute": "Analyse du trajet réseau", "submit": "Envoyer" diff --git a/packages/web/public/i18n/locales/fr-FR/connections.json b/packages/web/public/i18n/locales/fr-FR/connections.json index dcda5257..996e1fe2 100644 --- a/packages/web/public/i18n/locales/fr-FR/connections.json +++ b/packages/web/public/i18n/locales/fr-FR/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "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": "Aucun appareil connecté", - "noDevicesDescription": "Connectez un nouvel appareil pour commencer.", - "button_newConnection": "Nouvelle connexion" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Série", + "connectionType_network": "Réseau", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Connecté", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Déconnecté", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/fr-FR/dialog.json b/packages/web/public/i18n/locales/fr-FR/dialog.json index 2301e7b9..1d1ec587 100644 --- a/packages/web/public/i18n/locales/fr-FR/dialog.json +++ b/packages/web/public/i18n/locales/fr-FR/dialog.json @@ -3,18 +3,6 @@ "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": "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": "Le nom long ne doit pas contenir plus de 40 caractères", - "shortNameMax": "Le nom court ne doit pas contenir plus de 4 caractères", - "longNameMin": "Le nom long doit contenir au moins 1 caractère", - "shortNameMin": "Le nom court doit contenir au moins 1 caractère" - } - }, "import": { "description": "La configuration LoRa actuelle sera écrasée.", "error": { @@ -41,48 +29,77 @@ "description": "Êtes-vous sûr de vouloir régénérer la clé pré-partagée ?", "regenerate": "Régénérer" }, - "newDeviceDialog": { - "title": "Connecter un nouvel appareil", - "https": "https", - "http": "http", - "tabHttp": "HTTP", - "tabBluetooth": "Bluetooth", - "tabSerial": "Série", - "useHttps": "Utiliser HTTPS", - "connecting": "Connexion...", - "connect": "Connecter", - "connectionFailedAlert": { - "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": "Adresse IP / nom d'hôte", - "placeholder": "000.000.000.000 / meshtastic.local" - }, - "serialConnection": { - "noDevicesPaired": "Aucun appareil appairé pour l’instant.", - "newDeviceButton": "Nouvel appareil", - "deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}" - }, - "bluetoothConnection": { - "noDevicesPaired": "Aucun appareil appairé pour l’instant.", - "newDeviceButton": "Nouvel appareil", - "connectionFailed": "Échec de la connexion", - "deviceDisconnected": "Périphérique déconnecté", - "unknownDevice": "Périphérique inconnu", - "errorLoadingDevices": "Erreur lors du chargement des périphériques", - "unknownErrorLoadingDevices": "Erreur inconnue lors du chargement des périphériques" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "validation": { "requiresWebBluetooth": "Ce type de connexion nécessite <0>Web Bluetooth. Veuillez utiliser un navigateur compatible, comme Chrome ou Edge.<0>", "requiresWebSerial": "Ce type de connexion nécessite <0>Web Serial. Veuillez utiliser un navigateur compatible, comme Chrome ou 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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "Appareil", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/fr-FR/ui.json b/packages/web/public/i18n/locales/fr-FR/ui.json index 1f5eb84b..4d6f1622 100644 --- a/packages/web/public/i18n/locales/fr-FR/ui.json +++ b/packages/web/public/i18n/locales/fr-FR/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Configuration radio", "deviceConfig": "Configuration de l'appareil", "moduleConfig": "Configuration du module", + "manageConnections": "Manage Connections", "nodes": "Noeuds" }, "app": { @@ -216,7 +217,7 @@ "step4": "Toute autre information pertinente" }, "reportLink": "Vous pouvez signaler le problème à notre <0>GitHub", - "dashboardLink": "Retourner au <0>tableau de bord", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "Détails de l'erreur", "errorMessageLabel": "Message d'erreur :", "stackTraceLabel": "État de la pile :", diff --git a/packages/web/public/i18n/locales/hu-HU/common.json b/packages/web/public/i18n/locales/hu-HU/common.json index 1cca49f8..e662e72e 100644 --- a/packages/web/public/i18n/locales/hu-HU/common.json +++ b/packages/web/public/i18n/locales/hu-HU/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Alkalmaz", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Kulcs biztonsági mentése", "cancel": "Megszakítani", + "connect": "Csatlakozás", "clearMessages": "Üzenetek törlése", "close": "Bezárás", "confirm": "Megerősítés", "delete": "Törlés", "dismiss": "Bezárás", "download": "Letöltés", + "disconnect": "Leválasztás", "export": "Exportálás", "generate": "Generálás", "regenerate": "Újragenerálás", @@ -21,7 +25,10 @@ "requestNewKeys": "Új kulcsok kérése", "requestPosition": "Pozíció kérése", "reset": "Újraindítás", + "retry": "Retry", "save": "Mentés", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "QR-kód beolvasása", "traceRoute": "Traceroute", "submit": "Mentés" diff --git a/packages/web/public/i18n/locales/hu-HU/connections.json b/packages/web/public/i18n/locales/hu-HU/connections.json index 59aa4b65..379b5486 100644 --- a/packages/web/public/i18n/locales/hu-HU/connections.json +++ b/packages/web/public/i18n/locales/hu-HU/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Connected Devices", - "description": "Manage your connected Meshtastic devices.", - "connectionType_ble": "BLE", - "connectionType_serial": "Soros port", - "connectionType_network": "Hálózat", - "noDevicesTitle": "No devices connected", - "noDevicesDescription": "Connect a new device to get started.", - "button_newConnection": "New Connection" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Soros port", + "connectionType_network": "Hálózat", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Csatlakoztatva", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Szétkapcsolva", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/hu-HU/dialog.json b/packages/web/public/i18n/locales/hu-HU/dialog.json index ff156dfa..beae8ae7 100644 --- a/packages/web/public/i18n/locales/hu-HU/dialog.json +++ b/packages/web/public/i18n/locales/hu-HU/dialog.json @@ -3,18 +3,6 @@ "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": { @@ -41,48 +29,77 @@ "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": "Soros port", - "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" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "Eszköz", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/hu-HU/ui.json b/packages/web/public/i18n/locales/hu-HU/ui.json index 3235e55d..8ea0a0ee 100644 --- a/packages/web/public/i18n/locales/hu-HU/ui.json +++ b/packages/web/public/i18n/locales/hu-HU/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Radio Config", "deviceConfig": "Eszközbeállítások", "moduleConfig": "Module Config", + "manageConnections": "Manage Connections", "nodes": "Csomópontok" }, "app": { @@ -216,7 +217,7 @@ "step4": "Any other relevant information" }, "reportLink": "You can report the issue to our <0>GitHub", - "dashboardLink": "Return to the <0>dashboard", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "Error Details", "errorMessageLabel": "Error message:", "stackTraceLabel": "Stack trace:", diff --git a/packages/web/public/i18n/locales/it-IT/common.json b/packages/web/public/i18n/locales/it-IT/common.json index 94cca341..d467aff8 100644 --- a/packages/web/public/i18n/locales/it-IT/common.json +++ b/packages/web/public/i18n/locales/it-IT/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Applica", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Backup della chiave", "cancel": "Annulla", + "connect": "Connetti", "clearMessages": "Cancella Messaggi", "close": "Chiudi", "confirm": "Conferma", "delete": "Elimina", "dismiss": "Annulla", "download": "Scarica", + "disconnect": "Disconnetti", "export": "Esporta", "generate": "Genera", "regenerate": "Rigenera", @@ -21,7 +25,10 @@ "requestNewKeys": "Richiedi Nuove Chiavi", "requestPosition": "Richiedi posizione", "reset": "Reset", + "retry": "Retry", "save": "Salva", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "Scansiona codice QR", "traceRoute": "Trace Route", "submit": "Submit" diff --git a/packages/web/public/i18n/locales/it-IT/connections.json b/packages/web/public/i18n/locales/it-IT/connections.json index c31423a9..07796f3b 100644 --- a/packages/web/public/i18n/locales/it-IT/connections.json +++ b/packages/web/public/i18n/locales/it-IT/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Dispositivi Connessi", - "description": "Gestisci i tuoi dispositivi Meshtastic collegati.", - "connectionType_ble": "BLE", - "connectionType_serial": "Seriale", - "connectionType_network": "Rete", - "noDevicesTitle": "Nessun dispositivo connesso", - "noDevicesDescription": "Connetti un nuovo dispositivo per iniziare.", - "button_newConnection": "Nuova connessione" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Seriale", + "connectionType_network": "Rete", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Connesso", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Disconnesso", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/it-IT/dialog.json b/packages/web/public/i18n/locales/it-IT/dialog.json index 39da617e..9124b0dc 100644 --- a/packages/web/public/i18n/locales/it-IT/dialog.json +++ b/packages/web/public/i18n/locales/it-IT/dialog.json @@ -3,18 +3,6 @@ "description": "Questa azione cancellerà tutta la cronologia dei messaggi. Non può essere annullata. Sei sicuro di voler continuare?", "title": "Cancella Tutti I Messaggi" }, - "deviceName": { - "description": "Il dispositivo verrà riavviato una volta salvata la configurazione.", - "longName": "Nome Lungo", - "shortName": "Nome Breve", - "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.", "error": { @@ -41,48 +29,77 @@ "description": "Sei sicuro di voler rigenerare la chiave pre-condivisa?", "regenerate": "Rigenera" }, - "newDeviceDialog": { - "title": "Connetti Nuovo Dispositivo", - "https": "https", - "http": "http", - "tabHttp": "HTTP", - "tabBluetooth": "Bluetooth", - "tabSerial": "Seriale", - "useHttps": "Usa HTTPS", - "connecting": "Connessione in corso...", - "connect": "Connetti", - "connectionFailedAlert": { - "title": "Connessione fallita", - "descriptionPrefix": "Impossibile connettersi al dispositivo.", - "httpsHint": "Se si utilizza HTTPS, potrebbe essere necessario prima accettare un certificato autofirmato. ", - "openLinkPrefix": "Apri per favore ", - "openLinkSuffix": " in una nuova scheda", - "acceptTlsWarningSuffix": ", accetta eventuali avvisi TLS se richiesto, quindi riprova", - "learnMoreLink": "Maggiori informazioni" - }, - "httpConnection": { - "label": "Indirizzo IP/Hostname", - "placeholder": "000.000.000.000 / meshtastic.local" - }, - "serialConnection": { - "noDevicesPaired": "Nessun dispositivo ancora abbinato.", - "newDeviceButton": "Nuovo dispositivo", - "deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}" - }, - "bluetoothConnection": { - "noDevicesPaired": "Nessun dispositivo ancora abbinato.", - "newDeviceButton": "Nuovo dispositivo", - "connectionFailed": "Connection failed", - "deviceDisconnected": "Device disconnected", - "unknownDevice": "Unknown Device", - "errorLoadingDevices": "Error loading devices", - "unknownErrorLoadingDevices": "Unknown error loading devices" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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": "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "Dispositivo", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/it-IT/ui.json b/packages/web/public/i18n/locales/it-IT/ui.json index d1c2163e..2f8960ee 100644 --- a/packages/web/public/i18n/locales/it-IT/ui.json +++ b/packages/web/public/i18n/locales/it-IT/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Configurazione Radio", "deviceConfig": "Configurazione Dispositivo", "moduleConfig": "Configurazione Modulo", + "manageConnections": "Manage Connections", "nodes": "Nodi" }, "app": { @@ -216,7 +217,7 @@ "step4": "Altre informazioni rilevanti" }, "reportLink": "Puoi segnalare il problema al nostro <0>GitHub", - "dashboardLink": "Ritorna alla <0>dashboard", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "Dettagli Errore", "errorMessageLabel": "Messaggio di errore:", "stackTraceLabel": "Stack trace:", diff --git a/packages/web/public/i18n/locales/ja-JP/common.json b/packages/web/public/i18n/locales/ja-JP/common.json index 9c9c9643..4e5c1b8c 100644 --- a/packages/web/public/i18n/locales/ja-JP/common.json +++ b/packages/web/public/i18n/locales/ja-JP/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "適用", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Backup Key", "cancel": "キャンセル", + "connect": "Connect", "clearMessages": "Clear Messages", "close": "終了", "confirm": "Confirm", "delete": "削除", "dismiss": "Dismiss", "download": "Download", + "disconnect": "Disconnect", "export": "Export", "generate": "Generate", "regenerate": "Regenerate", @@ -21,7 +25,10 @@ "requestNewKeys": "Request New Keys", "requestPosition": "Request Position", "reset": "リセット", + "retry": "Retry", "save": "保存", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "QRコードをスキャン", "traceRoute": "Trace Route", "submit": "Submit" diff --git a/packages/web/public/i18n/locales/ja-JP/connections.json b/packages/web/public/i18n/locales/ja-JP/connections.json index 890b4644..3393425a 100644 --- a/packages/web/public/i18n/locales/ja-JP/connections.json +++ b/packages/web/public/i18n/locales/ja-JP/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Connected Devices", - "description": "Manage your connected Meshtastic devices.", - "connectionType_ble": "BLE", - "connectionType_serial": "シリアル", - "connectionType_network": "ネットワーク", - "noDevicesTitle": "No devices connected", - "noDevicesDescription": "Connect a new device to get started.", - "button_newConnection": "New Connection" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "シリアル", + "connectionType_network": "ネットワーク", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Connected", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "切断", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/ja-JP/dialog.json b/packages/web/public/i18n/locales/ja-JP/dialog.json index 2b12cd96..48bac99b 100644 --- a/packages/web/public/i18n/locales/ja-JP/dialog.json +++ b/packages/web/public/i18n/locales/ja-JP/dialog.json @@ -3,18 +3,6 @@ "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": { @@ -41,48 +29,77 @@ "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": "シリアル", - "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" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "接続するデバイスを選択", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/ja-JP/ui.json b/packages/web/public/i18n/locales/ja-JP/ui.json index 68b3e10d..6afb22e0 100644 --- a/packages/web/public/i18n/locales/ja-JP/ui.json +++ b/packages/web/public/i18n/locales/ja-JP/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Radio Config", "deviceConfig": "デバイスの設定", "moduleConfig": "Module Config", + "manageConnections": "Manage Connections", "nodes": "ノード" }, "app": { @@ -216,7 +217,7 @@ "step4": "Any other relevant information" }, "reportLink": "You can report the issue to our <0>GitHub", - "dashboardLink": "Return to the <0>dashboard", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "Error Details", "errorMessageLabel": "Error message:", "stackTraceLabel": "Stack trace:", diff --git a/packages/web/public/i18n/locales/ko-KR/common.json b/packages/web/public/i18n/locales/ko-KR/common.json index 15fa4fac..2d2fc4bc 100644 --- a/packages/web/public/i18n/locales/ko-KR/common.json +++ b/packages/web/public/i18n/locales/ko-KR/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "적용", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "백업 키", "cancel": "취소", + "connect": "연결", "clearMessages": "메시지 삭제", "close": "닫기", "confirm": "확인", "delete": "삭제", "dismiss": "취소", "download": "다운로드", + "disconnect": "연결 끊기", "export": "내보내기", "generate": "생성", "regenerate": "재생성", @@ -21,7 +25,10 @@ "requestNewKeys": "새로운 키 요청", "requestPosition": "위치 요청", "reset": "초기화", + "retry": "Retry", "save": "저장", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": " QR코드 스캔", "traceRoute": "추적 루트", "submit": "제출" diff --git a/packages/web/public/i18n/locales/ko-KR/connections.json b/packages/web/public/i18n/locales/ko-KR/connections.json index f4e6d8f7..298176cb 100644 --- a/packages/web/public/i18n/locales/ko-KR/connections.json +++ b/packages/web/public/i18n/locales/ko-KR/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "연결된 장치", - "description": "연결된 Meshtastic 장치를 관리하세요.", - "connectionType_ble": "BLE", - "connectionType_serial": "시리얼", - "connectionType_network": "네트워크", - "noDevicesTitle": "연결된 장치 없음", - "noDevicesDescription": "새로운 장치를 연결하여 시작하세요.", - "button_newConnection": "새 연결" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "시리얼", + "connectionType_network": "네트워크", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "연결됨", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "연결 끊김", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/ko-KR/dialog.json b/packages/web/public/i18n/locales/ko-KR/dialog.json index a48f72cc..545a9e44 100644 --- a/packages/web/public/i18n/locales/ko-KR/dialog.json +++ b/packages/web/public/i18n/locales/ko-KR/dialog.json @@ -3,18 +3,6 @@ "description": "이 작업은 모든 메시지 기록을 삭제합니다. 이 작업은 되돌릴 수 없습니다. 계속하시겠습니까?", "title": "모든 메시지 삭제" }, - "deviceName": { - "description": "The Device will restart once the config is saved.", - "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.", "error": { @@ -41,48 +29,77 @@ "description": "Are you sure you want to regenerate the pre-shared key?", "regenerate": "재생성" }, - "newDeviceDialog": { - "title": "Connect New Device", - "https": "https", - "http": "http", - "tabHttp": "HTTP", - "tabBluetooth": "블루투스", - "tabSerial": "시리얼", - "useHttps": "Use HTTPS", - "connecting": "Connecting...", - "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" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "장치", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/ko-KR/ui.json b/packages/web/public/i18n/locales/ko-KR/ui.json index 5edaf2a3..e1b19321 100644 --- a/packages/web/public/i18n/locales/ko-KR/ui.json +++ b/packages/web/public/i18n/locales/ko-KR/ui.json @@ -8,6 +8,7 @@ "radioConfig": "무선 설정", "deviceConfig": "장치 설정", "moduleConfig": "모듈 설정", + "manageConnections": "Manage Connections", "nodes": "노드" }, "app": { @@ -216,7 +217,7 @@ "step4": "기타 관련 정보" }, "reportLink": "이 문제를 저희 <0>GitHub에 보고해주세요", - "dashboardLink": "<0>메인으로 돌아가기", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "오류 세부 정보", "errorMessageLabel": "오류 메시지:", "stackTraceLabel": "스택 추적:", diff --git a/packages/web/public/i18n/locales/nl-NL/common.json b/packages/web/public/i18n/locales/nl-NL/common.json index 11a2e6f0..a416f7d4 100644 --- a/packages/web/public/i18n/locales/nl-NL/common.json +++ b/packages/web/public/i18n/locales/nl-NL/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Toepassen", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Backup Key", "cancel": "Annuleer", + "connect": "Verbinding maken", "clearMessages": "Clear Messages", "close": "Sluit", "confirm": "Confirm", "delete": "Verwijder", "dismiss": "Dismiss", "download": "Download", + "disconnect": "Verbinding verbreken", "export": "Export", "generate": "Generate", "regenerate": "Regenerate", @@ -21,7 +25,10 @@ "requestNewKeys": "Request New Keys", "requestPosition": "Request Position", "reset": "Reset", + "retry": "Retry", "save": "Opslaan", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "Scan QR-code", "traceRoute": "Trace Route", "submit": "Submit" diff --git a/packages/web/public/i18n/locales/nl-NL/connections.json b/packages/web/public/i18n/locales/nl-NL/connections.json index 3f7c26d6..2cda5df9 100644 --- a/packages/web/public/i18n/locales/nl-NL/connections.json +++ b/packages/web/public/i18n/locales/nl-NL/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Connected Devices", - "description": "Manage your connected Meshtastic devices.", - "connectionType_ble": "BLE", - "connectionType_serial": "Serieel", - "connectionType_network": "Netwerk", - "noDevicesTitle": "No devices connected", - "noDevicesDescription": "Connect a new device to get started.", - "button_newConnection": "New Connection" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Serieel", + "connectionType_network": "Netwerk", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Verbonden", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Niet verbonden", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/nl-NL/dialog.json b/packages/web/public/i18n/locales/nl-NL/dialog.json index ddfe5d20..715c9dc5 100644 --- a/packages/web/public/i18n/locales/nl-NL/dialog.json +++ b/packages/web/public/i18n/locales/nl-NL/dialog.json @@ -3,18 +3,6 @@ "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": { @@ -41,48 +29,77 @@ "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": "Serieel", - "useHttps": "Use HTTPS", - "connecting": "Connecting...", - "connect": "Verbinding maken", - "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" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "Apparaat", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/nl-NL/ui.json b/packages/web/public/i18n/locales/nl-NL/ui.json index 9d57f2a8..ca37de0a 100644 --- a/packages/web/public/i18n/locales/nl-NL/ui.json +++ b/packages/web/public/i18n/locales/nl-NL/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Radio Config", "deviceConfig": "Apparaat Configuratie", "moduleConfig": "Module Config", + "manageConnections": "Manage Connections", "nodes": "Nodes" }, "app": { @@ -216,7 +217,7 @@ "step4": "Any other relevant information" }, "reportLink": "You can report the issue to our <0>GitHub", - "dashboardLink": "Return to the <0>dashboard", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "Error Details", "errorMessageLabel": "Error message:", "stackTraceLabel": "Stack trace:", diff --git a/packages/web/public/i18n/locales/pl-PL/common.json b/packages/web/public/i18n/locales/pl-PL/common.json index a85625ec..d0b0e0a4 100644 --- a/packages/web/public/i18n/locales/pl-PL/common.json +++ b/packages/web/public/i18n/locales/pl-PL/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Zastosuj", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Backup Key", "cancel": "Anuluj", + "connect": "Połącz", "clearMessages": "Clear Messages", "close": "Zamknij", "confirm": "Confirm", "delete": "Usuń", "dismiss": "Zamknij", "download": "Download", + "disconnect": "Rozłącz", "export": "Export", "generate": "Wygeneruj", "regenerate": "Regenerate", @@ -21,7 +25,10 @@ "requestNewKeys": "Request New Keys", "requestPosition": "Poproś o pozycję", "reset": "Zresetuj", + "retry": "Retry", "save": "Zapisz", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "Scan QR Code", "traceRoute": "Trace Route", "submit": "Submit" diff --git a/packages/web/public/i18n/locales/pl-PL/connections.json b/packages/web/public/i18n/locales/pl-PL/connections.json index f479246f..ff20044b 100644 --- a/packages/web/public/i18n/locales/pl-PL/connections.json +++ b/packages/web/public/i18n/locales/pl-PL/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Connected Devices", - "description": "Manage your connected Meshtastic devices.", - "connectionType_ble": "BLE", - "connectionType_serial": "Seryjny", - "connectionType_network": "Sieć", - "noDevicesTitle": "No devices connected", - "noDevicesDescription": "Connect a new device to get started.", - "button_newConnection": "New Connection" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Seryjny", + "connectionType_network": "Sieć", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Połączony", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Rozłączono", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/pl-PL/dialog.json b/packages/web/public/i18n/locales/pl-PL/dialog.json index f23778e3..68d72f77 100644 --- a/packages/web/public/i18n/locales/pl-PL/dialog.json +++ b/packages/web/public/i18n/locales/pl-PL/dialog.json @@ -3,18 +3,6 @@ "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": "Długa nazwa", - "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": { @@ -41,48 +29,77 @@ "description": "Are you sure you want to regenerate the pre-shared key?", "regenerate": "Regenerate" }, - "newDeviceDialog": { - "title": "Connect New Device", - "https": "https", - "http": "http", - "tabHttp": "HTTP", - "tabBluetooth": "Bluetooth", - "tabSerial": "Seryjny", - "useHttps": "Use HTTPS", - "connecting": "Connecting...", - "connect": "Połącz", - "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}}" + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", + "validation": { + "requiresWebBluetooth": "Ten typ połączenia wymaga <0>Web Bluetooth. Użyj obsługiwanej przeglądarki, takiej jak Chrome lub Edge.", + "requiresWebSerial": "Ten typ połączenia wymaga <0>Web Serial. Użyj obsługiwanej przeglądarki, takiej jak Chrome lub Edge.", + "requiresSecureContext": "Ta aplikacja wymaga <0>bezpiecznego kontekstu. Połącz się używając HTTPS lub localhost.", + "additionallyRequiresSecureContext": "Dodatkowo, wymaga to <0>bezpiecznego kontekstu. Połącz się używając HTTPS lub localhost." }, "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" + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "Urządzenie", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." }, - "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." + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/pl-PL/ui.json b/packages/web/public/i18n/locales/pl-PL/ui.json index d8c569a7..206a8bb0 100644 --- a/packages/web/public/i18n/locales/pl-PL/ui.json +++ b/packages/web/public/i18n/locales/pl-PL/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Radio Config", "deviceConfig": "Konfiguracja urządzenia", "moduleConfig": "Module Config", + "manageConnections": "Manage Connections", "nodes": "Nodes" }, "app": { @@ -216,7 +217,7 @@ "step4": "Any other relevant information" }, "reportLink": "You can report the issue to our <0>GitHub", - "dashboardLink": "Return to the <0>dashboard", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "Error Details", "errorMessageLabel": "Error message:", "stackTraceLabel": "Stack trace:", diff --git a/packages/web/public/i18n/locales/pt-BR/common.json b/packages/web/public/i18n/locales/pt-BR/common.json index b89677fc..8769af8a 100644 --- a/packages/web/public/i18n/locales/pt-BR/common.json +++ b/packages/web/public/i18n/locales/pt-BR/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Aplicar", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Backup Key", "cancel": "Cancelar", + "connect": "Connect", "clearMessages": "Clear Messages", "close": "Fechar", "confirm": "Confirm", "delete": "Excluir", "dismiss": "Ignorar", "download": "Baixar", + "disconnect": "Desconectar", "export": "Export", "generate": "Generate", "regenerate": "Regenerate", @@ -21,7 +25,10 @@ "requestNewKeys": "Request New Keys", "requestPosition": "Request Position", "reset": "Redefinir", + "retry": "Retry", "save": "Salvar", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "Escanear Código QR", "traceRoute": "Trace Route", "submit": "Submit" diff --git a/packages/web/public/i18n/locales/pt-BR/connections.json b/packages/web/public/i18n/locales/pt-BR/connections.json index 38e86966..db3fd9de 100644 --- a/packages/web/public/i18n/locales/pt-BR/connections.json +++ b/packages/web/public/i18n/locales/pt-BR/connections.json @@ -1,12 +1,34 @@ { - "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" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Serial", + "connectionType_network": "Rede", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Conectado", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Desconectado", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/pt-BR/dialog.json b/packages/web/public/i18n/locales/pt-BR/dialog.json index 75918905..871acce4 100644 --- a/packages/web/public/i18n/locales/pt-BR/dialog.json +++ b/packages/web/public/i18n/locales/pt-BR/dialog.json @@ -3,18 +3,6 @@ "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": { @@ -41,48 +29,77 @@ "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" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "Dispositivo", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/pt-BR/ui.json b/packages/web/public/i18n/locales/pt-BR/ui.json index 4aaf8a24..ad841067 100644 --- a/packages/web/public/i18n/locales/pt-BR/ui.json +++ b/packages/web/public/i18n/locales/pt-BR/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Radio Config", "deviceConfig": "Configuração do Dispositivo", "moduleConfig": "Module Config", + "manageConnections": "Manage Connections", "nodes": "Nós" }, "app": { @@ -216,7 +217,7 @@ "step4": "Any other relevant information" }, "reportLink": "You can report the issue to our <0>GitHub", - "dashboardLink": "Return to the <0>dashboard", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "Error Details", "errorMessageLabel": "Error message:", "stackTraceLabel": "Stack trace:", diff --git a/packages/web/public/i18n/locales/pt-PT/common.json b/packages/web/public/i18n/locales/pt-PT/common.json index 7dee9abc..ae3da753 100644 --- a/packages/web/public/i18n/locales/pt-PT/common.json +++ b/packages/web/public/i18n/locales/pt-PT/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Aplicar", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Backup Key", "cancel": "Cancelar", + "connect": "Ligar", "clearMessages": "Clear Messages", "close": "Fechar", "confirm": "Confirm", "delete": "Excluir", "dismiss": "Dismiss", "download": "Download", + "disconnect": "Desligar", "export": "Export", "generate": "Generate", "regenerate": "Regenerate", @@ -21,7 +25,10 @@ "requestNewKeys": "Request New Keys", "requestPosition": "Request Position", "reset": "Redefinir", + "retry": "Retry", "save": "Salvar", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "Ler código QR", "traceRoute": "Trace Route", "submit": "Submit" diff --git a/packages/web/public/i18n/locales/pt-PT/connections.json b/packages/web/public/i18n/locales/pt-PT/connections.json index b68c6190..dc9aa03a 100644 --- a/packages/web/public/i18n/locales/pt-PT/connections.json +++ b/packages/web/public/i18n/locales/pt-PT/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Connected Devices", - "description": "Manage your connected Meshtastic devices.", - "connectionType_ble": "BLE", - "connectionType_serial": "Série", - "connectionType_network": "Rede", - "noDevicesTitle": "No devices connected", - "noDevicesDescription": "Connect a new device to get started.", - "button_newConnection": "New Connection" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Série", + "connectionType_network": "Rede", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Ligado", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Desconectado", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/pt-PT/dialog.json b/packages/web/public/i18n/locales/pt-PT/dialog.json index c09d4f54..1a458b52 100644 --- a/packages/web/public/i18n/locales/pt-PT/dialog.json +++ b/packages/web/public/i18n/locales/pt-PT/dialog.json @@ -3,18 +3,6 @@ "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": { @@ -41,48 +29,77 @@ "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": "Série", - "useHttps": "Use HTTPS", - "connecting": "Connecting...", - "connect": "Ligar", - "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" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "Dispositivo", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/pt-PT/ui.json b/packages/web/public/i18n/locales/pt-PT/ui.json index 8e476d18..6763befe 100644 --- a/packages/web/public/i18n/locales/pt-PT/ui.json +++ b/packages/web/public/i18n/locales/pt-PT/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Radio Config", "deviceConfig": "Configuração do Dispositivo", "moduleConfig": "Module Config", + "manageConnections": "Manage Connections", "nodes": "Nodes" }, "app": { @@ -216,7 +217,7 @@ "step4": "Any other relevant information" }, "reportLink": "You can report the issue to our <0>GitHub", - "dashboardLink": "Return to the <0>dashboard", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "Error Details", "errorMessageLabel": "Error message:", "stackTraceLabel": "Stack trace:", diff --git a/packages/web/public/i18n/locales/sv-SE/common.json b/packages/web/public/i18n/locales/sv-SE/common.json index 94c41ecf..24dd52ce 100644 --- a/packages/web/public/i18n/locales/sv-SE/common.json +++ b/packages/web/public/i18n/locales/sv-SE/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Verkställ", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Säkerhetskopiera nyckel", "cancel": "Avbryt", + "connect": "Anslut", "clearMessages": "Ta bort meddelanden", "close": "Stäng", "confirm": "Bekräfta", "delete": "Radera", "dismiss": "Stäng", "download": "Ladda ner", + "disconnect": "Koppla från", "export": "Exportera", "generate": "Generera", "regenerate": "Förnya", @@ -21,7 +25,10 @@ "requestNewKeys": "Begär nya nycklar", "requestPosition": "Begär position", "reset": "Nollställ", + "retry": "Retry", "save": "Spara", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "Skanna QR-kod", "traceRoute": "Spåra rutt", "submit": "Spara" diff --git a/packages/web/public/i18n/locales/sv-SE/connections.json b/packages/web/public/i18n/locales/sv-SE/connections.json index f9ac6a24..f3541e68 100644 --- a/packages/web/public/i18n/locales/sv-SE/connections.json +++ b/packages/web/public/i18n/locales/sv-SE/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Anslutna enheter", - "description": "Hantera dina anslutna Meshtastic-enheter.", - "connectionType_ble": "BLE", - "connectionType_serial": "Seriell kommunikation", - "connectionType_network": "Nätverk", - "noDevicesTitle": "Inga anslutna enheter ", - "noDevicesDescription": "Anslut en ny enhet för att komma igång.", - "button_newConnection": "Ny anslutning" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Seriell kommunikation", + "connectionType_network": "Nätverk", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Ansluten", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Frånkopplad", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/sv-SE/dialog.json b/packages/web/public/i18n/locales/sv-SE/dialog.json index 09b0f157..578ece07 100644 --- a/packages/web/public/i18n/locales/sv-SE/dialog.json +++ b/packages/web/public/i18n/locales/sv-SE/dialog.json @@ -3,18 +3,6 @@ "description": "Den här åtgärden kommer att rensa all meddelandehistorik. Detta kan inte ångras. Är du säker på att du vill fortsätta?", "title": "Rensa alla meddelanden" }, - "deviceName": { - "description": "Enheten kommer att starta om när inställningarna har sparats.", - "longName": "Långt namn", - "shortName": "Kort namn", - "title": "Ändra enhetens namn", - "validation": { - "longNameMax": "Långt namn får inte vara längre än 40 tecken", - "shortNameMax": "Kort namn får inte vara längre än 4 tecken", - "longNameMin": "Långt namn måste ha minst 1 tecken", - "shortNameMin": "Kort namn måste ha minst 1 tecken" - } - }, "import": { "description": "Den aktuella LoRa konfigurationen kommer att skrivas över.", "error": { @@ -41,48 +29,77 @@ "description": "Är du säker på att du vill förnya den fördelade nyckeln?", "regenerate": "Förnya" }, - "newDeviceDialog": { - "title": "Anslut ny enhet", - "https": "https", - "http": "http", - "tabHttp": "HTTP", - "tabBluetooth": "Bluetooth", - "tabSerial": "Seriell kommunikation", - "useHttps": "Använd HTTPS", - "connecting": "Ansluter...", - "connect": "Anslut", - "connectionFailedAlert": { - "title": "Anslutningen misslyckades", - "descriptionPrefix": "Kunde inte ansluta till enheten. ", - "httpsHint": "Om du använder HTTPS kan du behöva godkänna ett självsignerat certifikat först. ", - "openLinkPrefix": "Vänligen öppna ", - "openLinkSuffix": " i en ny flik", - "acceptTlsWarningSuffix": ", acceptera eventuella TLS-varningar om du uppmanas och försök igen", - "learnMoreLink": "Läs mer" - }, - "httpConnection": { - "label": "IP-adress/värdnamn", - "placeholder": "000.000.000.000 / meshtastic.lokal" - }, - "serialConnection": { - "noDevicesPaired": "Inga enheter parkopplade ännu.", - "newDeviceButton": "Ny enhet", - "deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}" - }, - "bluetoothConnection": { - "noDevicesPaired": "Inga enheter parkopplade ännu.", - "newDeviceButton": "Ny enhet", - "connectionFailed": "Anslutningen misslyckades", - "deviceDisconnected": "Enheten frånkopplad", - "unknownDevice": "Okänd enhet", - "errorLoadingDevices": "Fel vid inläsning av enheter", - "unknownErrorLoadingDevices": "Okänt fel vid inläsning av enheter" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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.", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "Enhet", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/sv-SE/ui.json b/packages/web/public/i18n/locales/sv-SE/ui.json index 40f1a5eb..0369fafc 100644 --- a/packages/web/public/i18n/locales/sv-SE/ui.json +++ b/packages/web/public/i18n/locales/sv-SE/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Radioinställningar", "deviceConfig": "Device Config", "moduleConfig": "Modulinställningar", + "manageConnections": "Manage Connections", "nodes": "Noder" }, "app": { @@ -216,7 +217,7 @@ "step4": "All annan relevant information" }, "reportLink": "Du kan rapportera problemet på vår <0>GitHub", - "dashboardLink": "Återvänd till <0>start", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "Detaljer om felet", "errorMessageLabel": "Felmeddelande:", "stackTraceLabel": "Stackspårning:", diff --git a/packages/web/public/i18n/locales/tr-TR/common.json b/packages/web/public/i18n/locales/tr-TR/common.json index df4c8c2b..e3ba20af 100644 --- a/packages/web/public/i18n/locales/tr-TR/common.json +++ b/packages/web/public/i18n/locales/tr-TR/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Uygula", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Yedekleme Anahtarı", "cancel": "İptal", + "connect": "Bağlan", "clearMessages": "Mesajları Sil", "close": "Kapat", "confirm": "Onayla", "delete": "Sil", "dismiss": "Vazgeç", "download": "Yükle", + "disconnect": "Bağlantıyı Kes", "export": "Dışa Aktar", "generate": "Oluştur", "regenerate": "Yeniden Oluştur", @@ -21,7 +25,10 @@ "requestNewKeys": "Yeni Anahtar İste", "requestPosition": "Konum İste", "reset": "Sıfırla", + "retry": "Retry", "save": "Kaydet", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "QR Kodu Tara", "traceRoute": "Rotayı Takip Et", "submit": "Gönder" diff --git a/packages/web/public/i18n/locales/tr-TR/connections.json b/packages/web/public/i18n/locales/tr-TR/connections.json index 5815cf25..d0fd1a0a 100644 --- a/packages/web/public/i18n/locales/tr-TR/connections.json +++ b/packages/web/public/i18n/locales/tr-TR/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Bağlanan Cihazlar", - "description": "Bağlanan Meshtastic cihazlarını yönet.", - "connectionType_ble": "BLE", - "connectionType_serial": "Seri", - "connectionType_network": "Ağ", - "noDevicesTitle": "Bağlı cihaz yok", - "noDevicesDescription": "Başlamak için yeni cihaz bağla.", - "button_newConnection": "Yeni Bağlantı" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Seri", + "connectionType_network": "Ağ", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Bağlandı", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Bağlantı kesildi", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/tr-TR/dialog.json b/packages/web/public/i18n/locales/tr-TR/dialog.json index 3166643f..7cd6c1d4 100644 --- a/packages/web/public/i18n/locales/tr-TR/dialog.json +++ b/packages/web/public/i18n/locales/tr-TR/dialog.json @@ -3,18 +3,6 @@ "description": "Bu işlem tüm mesaj geçmişini temizleyecektir. Bu işlem geri alınamaz. Devam etmek istediğinizden emin misiniz?", "title": "Tüm Mesajları Sil" }, - "deviceName": { - "description": "Yapılandırma kaydedildikten sonra Cihaz yeniden başlatılacaktır.", - "longName": "Uzun Ad", - "shortName": "Kısa Ad", - "title": "Cihazın Adını Değiştir", - "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": { @@ -41,48 +29,77 @@ "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": "Seri", - "useHttps": "Use HTTPS", - "connecting": "Connecting...", - "connect": "Bağlan", - "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": "Bilinmeyen Cihaz", - "errorLoadingDevices": "Cihazları yüklerken hata oluştu", - "unknownErrorLoadingDevices": "Cihazları yüklerken bilinmeyen hata oluştu" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "validation": { "requiresWebBluetooth": "Bu bağlantı tipi <0>Web Bluetooth gerektirir. Lütfen desteklenen bir tarayıcı kullan, Chrome yada Edge gibi.", "requiresWebSerial": "Bu bağlantı tipi <0>Web Serial gerektirir. Lütfen desteklenen bir tarayıcı kullan, Chrome yada Edge gibi.", - "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." + "requiresSecureContext": "Bu uygulama <0>güvenli bir bağlam gerektiriyor. Lütfen HTTPS veya localhost kullanarak bağlanın.", + "additionallyRequiresSecureContext": "Ek olarak, <0>güvenli bir bağlam gerektiriyor. Lütfen HTTPS veya localhost kullanarak bağlanın." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "Cihaz", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/tr-TR/ui.json b/packages/web/public/i18n/locales/tr-TR/ui.json index ef41b068..31c79f48 100644 --- a/packages/web/public/i18n/locales/tr-TR/ui.json +++ b/packages/web/public/i18n/locales/tr-TR/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Radio Config", "deviceConfig": "Cihaz Ayarı", "moduleConfig": "Module Config", + "manageConnections": "Manage Connections", "nodes": "Düğümler" }, "app": { @@ -216,7 +217,7 @@ "step4": "Any other relevant information" }, "reportLink": "You can report the issue to our <0>GitHub", - "dashboardLink": "Return to the <0>dashboard", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "Error Details", "errorMessageLabel": "Error message:", "stackTraceLabel": "Stack trace:", diff --git a/packages/web/public/i18n/locales/uk-UA/common.json b/packages/web/public/i18n/locales/uk-UA/common.json index 5a663451..6d7989ef 100644 --- a/packages/web/public/i18n/locales/uk-UA/common.json +++ b/packages/web/public/i18n/locales/uk-UA/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "Застосувати", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Backup Key", "cancel": "Скасувати", + "connect": "Connect", "clearMessages": "Clear Messages", "close": "Закрити", "confirm": "Confirm", "delete": "Видалити", "dismiss": "Dismiss", "download": "Download", + "disconnect": "Disconnect", "export": "Export", "generate": "Згенерувати", "regenerate": "Перегенерувати", @@ -21,7 +25,10 @@ "requestNewKeys": "Request New Keys", "requestPosition": "Запитати позицію", "reset": "Скинути", + "retry": "Retry", "save": "Зберегти", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "Сканувати QR-код", "traceRoute": "Trace Route", "submit": "Submit" diff --git a/packages/web/public/i18n/locales/uk-UA/connections.json b/packages/web/public/i18n/locales/uk-UA/connections.json index 4fad3e69..6d61136e 100644 --- a/packages/web/public/i18n/locales/uk-UA/connections.json +++ b/packages/web/public/i18n/locales/uk-UA/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Connected Devices", - "description": "Manage your connected Meshtastic devices.", - "connectionType_ble": "BLE", - "connectionType_serial": "Серійний порт", - "connectionType_network": "Мережа", - "noDevicesTitle": "No devices connected", - "noDevicesDescription": "Connect a new device to get started.", - "button_newConnection": "New Connection" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "Серійний порт", + "connectionType_network": "Мережа", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "Connected", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "Відключено", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/uk-UA/dialog.json b/packages/web/public/i18n/locales/uk-UA/dialog.json index 1585b69a..4aa88cc4 100644 --- a/packages/web/public/i18n/locales/uk-UA/dialog.json +++ b/packages/web/public/i18n/locales/uk-UA/dialog.json @@ -3,18 +3,6 @@ "description": "This action will clear all message history. This cannot be undone. Are you sure you want to continue?", "title": "Очистити всі повідомлення" }, - "deviceName": { - "description": "The Device will restart once the config is saved.", - "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.", "error": { @@ -41,48 +29,77 @@ "description": "Are you sure you want to regenerate the pre-shared key?", "regenerate": "Перегенерувати" }, - "newDeviceDialog": { - "title": "Connect New Device", - "https": "https", - "http": "http", - "tabHttp": "HTTP", - "tabBluetooth": "Bluetooth", - "tabSerial": "Серійний порт", - "useHttps": "Використовувати HTTPS", - "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": "Новий пристрій", - "deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}" - }, - "bluetoothConnection": { - "noDevicesPaired": "No devices paired yet.", - "newDeviceButton": "Новий пристрій", - "connectionFailed": "Connection failed", - "deviceDisconnected": "Device disconnected", - "unknownDevice": "Unknown Device", - "errorLoadingDevices": "Error loading devices", - "unknownErrorLoadingDevices": "Unknown error loading devices" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "Пристрій", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/uk-UA/ui.json b/packages/web/public/i18n/locales/uk-UA/ui.json index fc6348e8..8ad2d724 100644 --- a/packages/web/public/i18n/locales/uk-UA/ui.json +++ b/packages/web/public/i18n/locales/uk-UA/ui.json @@ -8,6 +8,7 @@ "radioConfig": "Налаштування радіо", "deviceConfig": "Налаштування пристрою", "moduleConfig": "Module Config", + "manageConnections": "Manage Connections", "nodes": "Вузли" }, "app": { @@ -216,7 +217,7 @@ "step4": "Any other relevant information" }, "reportLink": "Ви можете повідомити про проблему на нашому <0>GitHub", - "dashboardLink": "Поверніться до <0>панелі", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "Інформація про помилку", "errorMessageLabel": "Помилка:", "stackTraceLabel": "Stack trace:", diff --git a/packages/web/public/i18n/locales/zh-CN/common.json b/packages/web/public/i18n/locales/zh-CN/common.json index 49e57172..e371112a 100644 --- a/packages/web/public/i18n/locales/zh-CN/common.json +++ b/packages/web/public/i18n/locales/zh-CN/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "申请", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "Backup Key", "cancel": "取消", + "connect": "连接", "clearMessages": "Clear Messages", "close": "关闭", "confirm": "Confirm", "delete": "删除", "dismiss": "收起键盘", "download": "下载", + "disconnect": "断开", "export": "Export", "generate": "Generate", "regenerate": "Regenerate", @@ -21,7 +25,10 @@ "requestNewKeys": "Request New Keys", "requestPosition": "Request Position", "reset": "重置", + "retry": "Retry", "save": "保存", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "扫描二维码", "traceRoute": "Trace Route", "submit": "Submit" diff --git a/packages/web/public/i18n/locales/zh-CN/connections.json b/packages/web/public/i18n/locales/zh-CN/connections.json index a7b78399..c7d82b16 100644 --- a/packages/web/public/i18n/locales/zh-CN/connections.json +++ b/packages/web/public/i18n/locales/zh-CN/connections.json @@ -1,12 +1,34 @@ { - "dashboard": { - "title": "Connected Devices", - "description": "Manage your connected Meshtastic devices.", - "connectionType_ble": "BLE", - "connectionType_serial": "串口", - "connectionType_network": "网络", - "noDevicesTitle": "No devices connected", - "noDevicesDescription": "Connect a new device to get started.", - "button_newConnection": "New Connection" + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "BLE", + "connectionType_serial": "串口", + "connectionType_network": "网络", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "已连接", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "已断开连接", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." } } diff --git a/packages/web/public/i18n/locales/zh-CN/dialog.json b/packages/web/public/i18n/locales/zh-CN/dialog.json index 4d5a4577..88e0bc23 100644 --- a/packages/web/public/i18n/locales/zh-CN/dialog.json +++ b/packages/web/public/i18n/locales/zh-CN/dialog.json @@ -3,18 +3,6 @@ "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": "长名称", - "shortName": "短名称", - "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": { @@ -41,48 +29,77 @@ "description": "Are you sure you want to regenerate the pre-shared key?", "regenerate": "Regenerate" }, - "newDeviceDialog": { - "title": "Connect New Device", - "https": "https", - "http": "http", - "tabHttp": "HTTP", - "tabBluetooth": "蓝牙", - "tabSerial": "串口", - "useHttps": "Use HTTPS", - "connecting": "Connecting...", - "connect": "连接", - "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" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "设备", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/zh-CN/ui.json b/packages/web/public/i18n/locales/zh-CN/ui.json index 52ce6497..7269d6f5 100644 --- a/packages/web/public/i18n/locales/zh-CN/ui.json +++ b/packages/web/public/i18n/locales/zh-CN/ui.json @@ -1,228 +1,230 @@ { - "navigation": { - "title": "Navigation", - "messages": "消息", - "map": "地图", - "config": "配置", - "radioConfig": "Radio Config", - "moduleConfig": "Module Config", - "channels": "频道", - "nodes": "节点" - }, - "app": { - "title": "Meshtastic", - "logo": "Meshtastic Logo" - }, - "sidebar": { - "collapseToggle": { - "button": { - "open": "Open sidebar", - "close": "Close sidebar" - } - }, - "deviceInfo": { - "volts": "{{voltage}} volts", - "firmware": { - "title": "固件", - "version": "v{{version}}", - "buildDate": "Build date: {{date}}" - }, - "deviceName": { - "title": "Device Name", - "changeName": "Change Device Name", - "placeholder": "Enter device name" - }, - "editDeviceName": "Edit device name" - } - }, - "batteryStatus": { - "charging": "{{level}}% charging", - "pluggedIn": "Plugged in", - "title": "电池" - }, - "search": { - "nodes": "Search nodes...", - "channels": "Search channels...", - "commandPalette": "Search commands..." - }, - "toast": { - "positionRequestSent": { - "title": "Position request sent." - }, - "requestingPosition": { - "title": "Requesting position, please wait..." - }, - "sendingTraceroute": { - "title": "Sending Traceroute, please wait..." - }, - "tracerouteSent": { - "title": "Traceroute sent." - }, - "savedChannel": { - "title": "Saved Channel: {{channelName}}" - }, - "messages": { - "pkiEncryption": { - "title": "Chat is using PKI encryption." - }, - "pskEncryption": { - "title": "Chat is using PSK encryption." - } - }, - "configSaveError": { - "title": "Error Saving Config", - "description": "An error occurred while saving the configuration." - }, - "validationError": { - "title": "Config Errors Exist", - "description": "Please fix the configuration errors before saving." - }, - "saveSuccess": { - "title": "Saving Config", - "description": "The configuration change {{case}} has been saved." - }, - "favoriteNode": { - "title": "{{action}} {{nodeName}} {{direction}} favorites.", - "action": { - "added": "Added", - "removed": "Removed", - "to": "to", - "from": "from" - } - }, - "ignoreNode": { - "title": "{{action}} {{nodeName}} {{direction}} ignore list", - "action": { - "added": "Added", - "removed": "Removed", - "to": "to", - "from": "from" - } - } - }, - "notifications": { - "copied": { - "label": "Copied!" - }, - "copyToClipboard": { - "label": "Copy to clipboard" - }, - "hidePassword": { - "label": "隐藏密码" - }, - "showPassword": { - "label": "显示密码" - }, - "deliveryStatus": { - "delivered": "Delivered", - "failed": "Delivery Failed", - "waiting": "等待中...", - "unknown": "未知" - } - }, - "general": { - "label": "General" - }, - "hardware": { - "label": "硬件" - }, - "metrics": { - "label": "Metrics" - }, - "role": { - "label": "角色" - }, - "filter": { - "label": "筛选器csvfganw" - }, - "advanced": { - "label": "高级" - }, - "clearInput": { - "label": "Clear input" - }, - "resetFilters": { - "label": "Reset Filters" - }, - "nodeName": { - "label": "Node name/number", - "placeholder": "Meshtastic 1234" - }, - "airtimeUtilization": { - "label": "Airtime Utilization (%)" - }, - "batteryLevel": { - "label": "Battery level (%)", - "labelText": "Battery level (%): {{value}}" - }, - "batteryVoltage": { - "label": "Battery voltage (V)", - "title": "电压" - }, - "channelUtilization": { - "label": "Channel Utilization (%)" - }, - "hops": { - "direct": "直频", - "label": "Number of hops", - "text": "Number of hops: {{value}}" - }, - "lastHeard": { - "label": "最后听到", - "labelText": "Last heard: {{value}}", - "nowLabel": "Now" - }, - "snr": { - "label": "SNR (db)" - }, - "favorites": { - "label": "Favorites" - }, - "hide": { - "label": "Hide" - }, - "showOnly": { - "label": "Show Only" - }, - "viaMqtt": { - "label": "Connected via MQTT" - }, - "hopsUnknown": { - "label": "Unknown number of hops" - }, - "showUnheard": { - "label": "Never heard" - }, - "language": { - "label": "语言", - "changeLanguage": "Change Language" - }, - "theme": { - "dark": "深色", - "light": "浅色", - "system": "Automatic", - "changeTheme": "Change Color Scheme" - }, - "errorPage": { - "title": "This is a little embarrassing...", - "description1": "We are really sorry but an error occurred in the web client that caused it to crash.
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", - "connectionsLink": "Return to the <0>connections", - "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}}" - } + "navigation": { + "title": "Navigation", + "messages": "消息", + "map": "地图", + "settings": "设置", + "channels": "频道", + "radioConfig": "Radio Config", + "deviceConfig": "设备配置", + "moduleConfig": "Module Config", + "manageConnections": "Manage Connections", + "nodes": "节点" + }, + "app": { + "title": "Meshtastic", + "logo": "Meshtastic Logo" + }, + "sidebar": { + "collapseToggle": { + "button": { + "open": "Open sidebar", + "close": "Close sidebar" + } + }, + "deviceInfo": { + "volts": "{{voltage}} volts", + "firmware": { + "title": "固件", + "version": "v{{version}}", + "buildDate": "Build date: {{date}}" + } + } + }, + "batteryStatus": { + "charging": "{{level}}% charging", + "pluggedIn": "Plugged in", + "title": "电池" + }, + "search": { + "nodes": "Search nodes...", + "channels": "Search channels...", + "commandPalette": "Search commands..." + }, + "toast": { + "positionRequestSent": { + "title": "Position request sent." + }, + "requestingPosition": { + "title": "Requesting position, please wait..." + }, + "sendingTraceroute": { + "title": "Sending Traceroute, please wait..." + }, + "tracerouteSent": { + "title": "Traceroute sent." + }, + "savedChannel": { + "title": "Saved Channel: {{channelName}}" + }, + "messages": { + "pkiEncryption": { + "title": "Chat is using PKI encryption." + }, + "pskEncryption": { + "title": "Chat is using PSK encryption." + } + }, + "configSaveError": { + "title": "Error Saving Config", + "description": "An error occurred while saving the configuration." + }, + "validationError": { + "title": "Config Errors Exist", + "description": "Please fix the configuration errors before saving." + }, + "saveSuccess": { + "title": "Saving Config", + "description": "The configuration change {{case}} has been saved." + }, + "saveAllSuccess": { + "title": "Saved", + "description": "All configuration changes have been saved." + }, + "favoriteNode": { + "title": "{{action}} {{nodeName}} {{direction}} favorites.", + "action": { + "added": "Added", + "removed": "Removed", + "to": "to", + "from": "from" + } + }, + "ignoreNode": { + "title": "{{action}} {{nodeName}} {{direction}} ignore list", + "action": { + "added": "Added", + "removed": "Removed", + "to": "to", + "from": "from" + } + } + }, + "notifications": { + "copied": { + "label": "Copied!" + }, + "copyToClipboard": { + "label": "Copy to clipboard" + }, + "hidePassword": { + "label": "隐藏密码" + }, + "showPassword": { + "label": "显示密码" + }, + "deliveryStatus": { + "delivered": "Delivered", + "failed": "Delivery Failed", + "waiting": "等待中...", + "unknown": "未知" + } + }, + "general": { + "label": "General" + }, + "hardware": { + "label": "硬件" + }, + "metrics": { + "label": "Metrics" + }, + "role": { + "label": "角色" + }, + "filter": { + "label": "筛选器csvfganw" + }, + "advanced": { + "label": "高级" + }, + "clearInput": { + "label": "Clear input" + }, + "resetFilters": { + "label": "Reset Filters" + }, + "nodeName": { + "label": "Node name/number", + "placeholder": "Meshtastic 1234" + }, + "airtimeUtilization": { + "label": "Airtime Utilization (%)", + "short": "Airtime Util. (%)" + }, + "batteryLevel": { + "label": "Battery level (%)", + "labelText": "Battery level (%): {{value}}" + }, + "batteryVoltage": { + "label": "Battery voltage (V)", + "title": "电压" + }, + "channelUtilization": { + "label": "Channel Utilization (%)", + "short": "Channel Util. (%)" + }, + "hops": { + "direct": "直频", + "label": "Number of hops", + "text": "Number of hops: {{value}}" + }, + "lastHeard": { + "label": "最后听到", + "labelText": "Last heard: {{value}}", + "nowLabel": "Now" + }, + "snr": { + "label": "SNR (db)" + }, + "favorites": { + "label": "Favorites" + }, + "hide": { + "label": "Hide" + }, + "showOnly": { + "label": "Show Only" + }, + "viaMqtt": { + "label": "Connected via MQTT" + }, + "hopsUnknown": { + "label": "Unknown number of hops" + }, + "showUnheard": { + "label": "Never heard" + }, + "language": { + "label": "语言", + "changeLanguage": "Change Language" + }, + "theme": { + "dark": "深色", + "light": "浅色", + "system": "Automatic", + "changeTheme": "Change Color Scheme" + }, + "errorPage": { + "title": "This is a little embarrassing...", + "description1": "We are really sorry but an error occurred in the web client that caused it to crash.
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", + "connectionsLink": "Return to the <0>connections", + "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/zh-TW/common.json b/packages/web/public/i18n/locales/zh-TW/common.json index 9e429e70..34af367f 100644 --- a/packages/web/public/i18n/locales/zh-TW/common.json +++ b/packages/web/public/i18n/locales/zh-TW/common.json @@ -1,14 +1,18 @@ { "button": { "apply": "套用", + "addConnection": "Add Connection", + "saveConnection": "Save connection", "backupKey": "備份金鑰", "cancel": "取消", + "connect": "連線", "clearMessages": "清除訊息", "close": "關閉", "confirm": "確認", "delete": "刪除", "dismiss": "關閉", "download": "下載", + "disconnect": "中斷連線", "export": "匯出", "generate": "生成", "regenerate": "重新產生", @@ -21,7 +25,10 @@ "requestNewKeys": "請求新金鑰", "requestPosition": "請求位置", "reset": "重設", + "retry": "Retry", "save": "儲存", + "setDefault": "Set as default", + "unsetDefault": "Unset default", "scanQr": "掃描QR碼", "traceRoute": "追蹤路由", "submit": "套用" diff --git a/packages/web/public/i18n/locales/zh-TW/connections.json b/packages/web/public/i18n/locales/zh-TW/connections.json new file mode 100644 index 00000000..1eab52a1 --- /dev/null +++ b/packages/web/public/i18n/locales/zh-TW/connections.json @@ -0,0 +1,34 @@ +{ + "page": { + "title": "Connect to a Meshtastic device", + "description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser." + }, + "connectionType_ble": "低功耗藍牙", + "connectionType_serial": "序列埠", + "connectionType_network": "網路", + "deleteConnection": "Delete connection", + "areYouSure": "This will remove {{name}}. You canot undo this action.", + "moreActions": "More actions", + "noConnections": { + "title": "No connections yet.", + "description": "Create your first connection. It will connect immediately and be saved for later." + }, + "lastConnectedAt": "Last connected: {{date}}", + "neverConnected": "Never connected", + "toasts": { + "connected": "已連線", + "nowConnected": "{{name}} is now connected", + "nowDisconnected": "{{name}} are now disconnecte", + "disconnected": "已中斷連線", + "failed": "Failed to connect", + "checkConnetion": "Check your device or settings and try again", + "defaultSet": "Default set", + "defaultConnection": "Default connection is now {{nameisconnected}}", + "deleted": "Deleted", + "deletedByName": "{{name}} was removed", + "pickConnectionAgain": "Could not connect. You may need to reselect the device/port.", + "added": "Connection added", + "savedByName": "{{name}} saved.", + "savedCantConnect": "The connection was saved but could not connect." + } +} diff --git a/packages/web/public/i18n/locales/zh-TW/dialog.json b/packages/web/public/i18n/locales/zh-TW/dialog.json index 15423c74..f2ef748d 100644 --- a/packages/web/public/i18n/locales/zh-TW/dialog.json +++ b/packages/web/public/i18n/locales/zh-TW/dialog.json @@ -3,18 +3,6 @@ "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": "Import a Channel Set from a Meshtastic URL.
Valid Meshtasic URLs start with \"https://meshtastic.org/e/...\"", "error": { @@ -41,48 +29,77 @@ "description": "Are you sure you want to regenerate the pre-shared key?", "regenerate": "Regenerate" }, - "newDeviceDialog": { - "title": "Connect New Device", - "https": "https", - "http": "http", - "tabHttp": "HTTP", - "tabBluetooth": "藍芽", - "tabSerial": "序列埠", - "useHttps": "Use HTTPS", - "connecting": "Connecting...", - "connect": "連線", - "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" - }, + "addConnection": { + "title": "Add connection", + "description": "Choose a connection type and fill in the details", "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." + }, + "bluetoothConnection": { + "namePlaceholder": "My Bluetooth Node", + "supported": { + "title": "Web Bluetooth supported" + }, + "notSupported": { + "title": "Web Bluetooth not supported", + "description": "Your browser or device does not support Web Bluetooth" + }, + "short": "BT: {{deviceName}}", + "long": "Bluetooth Device", + "device": "裝置", + "selectDevice": "Select device", + "selected": "Bluetooth device selected", + "notSelected": "No device selected", + "helperText": "Uses the Meshtastic Bluetooth service for discovery." + }, + "serialConnection": { + "namePlaceholder": "My Serial Node", + "helperText": "Selecting a port grants permission so the app can open it to connect.", + "supported": { + "title": "Web Serial supported" + }, + "notSupported": { + "title": "Web Serial not supported", + "description": "Your browser or device does not support Web Serial" + }, + "portSelected": { + "title": "Serial port selected", + "description": "Port permissions granted." + }, + "port": "Port", + "selectPort": "Select port", + "deviceName": "USB {{vendorId}}:{{productId}}", + "notSelected": "No port selected" + }, + "httpConnection": { + "namePlaceholder": "My HTTP Node", + "inputPlaceholder": "192.168.1.10 or meshtastic.local", + "heading": "URL or IP", + "useHttps": "Use HTTTPS", + "invalidUrl": { + "title": "Invalid URL", + "description": "Please enter a valid HTTP or HTTPS URL." + }, + "connectionTest": { + "description": "Test the connetion before saving to verify the device is reachable.", + "button": { + "loading": "Testing...", + "label": "Test connection" + }, + "reachable": "Reachable", + "notReachable": "Not reachable", + "success": { + "title": "Connection test successful", + "description": "The device appears to be reachable." + }, + "failure": { + "title": "Connection test failed", + "description": "Could not reach the device. Check the URL and try again." + } + } } }, "nodeDetails": { diff --git a/packages/web/public/i18n/locales/zh-TW/ui.json b/packages/web/public/i18n/locales/zh-TW/ui.json index ecc99333..ac98cfdc 100644 --- a/packages/web/public/i18n/locales/zh-TW/ui.json +++ b/packages/web/public/i18n/locales/zh-TW/ui.json @@ -8,6 +8,7 @@ "radioConfig": "無線電設定", "deviceConfig": "設備設置", "moduleConfig": "模組設定", + "manageConnections": "Manage Connections", "nodes": "節點" }, "app": { @@ -216,7 +217,7 @@ "step4": "其他相關資訊" }, "reportLink": "您可以將此問題回報到我們的 <0>GitHub", - "dashboardLink": "返回 <0>dashboard", + "connectionsLink": "Return to the <0>connections", "detailsSummary": "錯誤詳情", "errorMessageLabel": "錯誤訊息:", "stackTraceLabel": "Stack trace:",