mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-06-14 22:55:12 +10:00
Enhance USB error handling and improve user feedback
- Updated the _friendlyErrorMessage method in UsbScreen to provide more user-friendly error messages based on specific PlatformException codes. - Added localized error messages for various USB-related errors, improving clarity for users. - Modified the UsbSerialService to rethrow exceptions instead of throwing StateError, allowing for better error propagation. - Updated the usb_flow_test to reflect changes in the USB display label behavior, ensuring the test accurately describes the functionality.
This commit is contained in:
committed by
just-stuff-tm
parent
5b4535d5dc
commit
38d40ca0a4
+861
-849
File diff suppressed because it is too large
Load Diff
+290
-278
File diff suppressed because it is too large
Load Diff
+13
-1
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"@@locale": "en",
|
||||
"appTitle": "MeshCore Open",
|
||||
"nav_contacts": "Contacts",
|
||||
@@ -53,6 +53,18 @@
|
||||
"usbScreenStatus": "Select a USB device",
|
||||
"usbScreenNote": "USB serial is active on supported Android devices and desktop platforms.",
|
||||
"usbScreenEmptyState": "No USB devices found. Plug one in and refresh.",
|
||||
"usbErrorPermissionDenied": "USB permission was denied.",
|
||||
"usbErrorDeviceMissing": "The selected USB device is no longer available.",
|
||||
"usbErrorInvalidPort": "Select a valid USB device.",
|
||||
"usbErrorBusy": "Another USB connection request is already in progress.",
|
||||
"usbErrorNotConnected": "No USB device is connected.",
|
||||
"usbErrorOpenFailed": "Failed to open the selected USB device.",
|
||||
"usbErrorConnectFailed": "Failed to connect to the selected USB device.",
|
||||
"usbErrorUnsupported": "USB serial is not supported on this platform.",
|
||||
"usbErrorAlreadyActive": "A USB connection is already active.",
|
||||
"usbErrorNoDeviceSelected": "No USB device was selected.",
|
||||
"usbErrorPortClosed": "The USB connection is not open.",
|
||||
"usbErrorConnectTimedOut": "Timed out waiting for the device to respond.",
|
||||
"scanner_scanning": "Scanning for devices...",
|
||||
"scanner_connecting": "Connecting...",
|
||||
"scanner_disconnecting": "Disconnecting...",
|
||||
|
||||
+357
-345
File diff suppressed because it is too large
Load Diff
+523
-511
File diff suppressed because it is too large
Load Diff
+112
-100
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"channels_channelDeleteFailed": "Impossibile eliminare il canale \"{name}\"",
|
||||
"@channels_channelDeleteFailed": {
|
||||
"placeholders": {
|
||||
@@ -35,7 +35,7 @@
|
||||
"common_disable": "Disattivare",
|
||||
"common_reboot": "Riavvia",
|
||||
"common_loading": "Caricamento...",
|
||||
"common_notAvailable": "—",
|
||||
"common_notAvailable": "—",
|
||||
"common_voltageValue": "{volts} V",
|
||||
"@common_voltageValue": {
|
||||
"placeholders": {
|
||||
@@ -98,11 +98,11 @@
|
||||
"settings_locationInvalid": "Latitudine o longitudine non valida.",
|
||||
"settings_latitude": "Latitudine",
|
||||
"settings_longitude": "Longitudine",
|
||||
"settings_privacyMode": "Modalità Privacy",
|
||||
"settings_privacyMode": "Modalità Privacy",
|
||||
"settings_privacyModeSubtitle": "Nascondere nome/luogo negli annunci",
|
||||
"settings_privacyModeToggle": "Attiva la modalità privacy per nascondere il tuo nome e la tua posizione negli annunci.",
|
||||
"settings_privacyModeEnabled": "Modalità privacy abilitata",
|
||||
"settings_privacyModeDisabled": "Modalità privacy disabilitata",
|
||||
"settings_privacyModeToggle": "Attiva la modalità privacy per nascondere il tuo nome e la tua posizione negli annunci.",
|
||||
"settings_privacyModeEnabled": "Modalità privacy abilitata",
|
||||
"settings_privacyModeDisabled": "Modalità privacy disabilitata",
|
||||
"settings_actions": "Azioni",
|
||||
"settings_sendAdvertisement": "Invia Annuncio",
|
||||
"settings_sendAdvertisementSubtitle": "Presenza trasmessa ora",
|
||||
@@ -165,18 +165,18 @@
|
||||
"appSettings_language": "Lingua",
|
||||
"appSettings_languageSystem": "Predefinito di sistema",
|
||||
"appSettings_languageEn": "English",
|
||||
"appSettings_languageFr": "Français",
|
||||
"appSettings_languageEs": "Español",
|
||||
"appSettings_languageFr": "Français",
|
||||
"appSettings_languageEs": "Español",
|
||||
"appSettings_languageDe": "Deutsch",
|
||||
"appSettings_languagePl": "Polski",
|
||||
"appSettings_languageSl": "SlovenÅ¡Äina",
|
||||
"appSettings_languagePt": "Português",
|
||||
"appSettings_languageSl": "Slovenščina",
|
||||
"appSettings_languagePt": "Português",
|
||||
"appSettings_languageIt": "Italiano",
|
||||
"appSettings_languageZh": "䏿–‡",
|
||||
"appSettings_languageZh": "中文",
|
||||
"appSettings_languageSv": "Svenska",
|
||||
"appSettings_languageNl": "Nederlands",
|
||||
"appSettings_languageSk": "SlovenÄina",
|
||||
"appSettings_languageBg": "БългарÑки",
|
||||
"appSettings_languageSk": "Slovenčina",
|
||||
"appSettings_languageBg": "Български",
|
||||
"appSettings_notifications": "Notifiche",
|
||||
"appSettings_enableNotifications": "Abilita Notifiche",
|
||||
"appSettings_enableNotificationsSubtitle": "Ricevi notifiche per messaggi e annunci",
|
||||
@@ -195,7 +195,7 @@
|
||||
"appSettings_pathsWillBeCleared": "I percorsi verranno puliti dopo 5 tentativi falliti.",
|
||||
"appSettings_pathsWillNotBeCleared": "I percorsi non verranno eliminati automaticamente.",
|
||||
"appSettings_autoRouteRotation": "Rotazione Percorso Automatico",
|
||||
"appSettings_autoRouteRotationSubtitle": "Alterna tra i percorsi migliori e la modalità alluvione",
|
||||
"appSettings_autoRouteRotationSubtitle": "Alterna tra i percorsi migliori e la modalità alluvione",
|
||||
"appSettings_autoRouteRotationEnabled": "Rotazione percorso automatico abilitata",
|
||||
"appSettings_autoRouteRotationDisabled": "Rotazione del percorso automatico disabilitata",
|
||||
"appSettings_battery": "Batteria",
|
||||
@@ -284,8 +284,8 @@
|
||||
},
|
||||
"contacts_newGroup": "Nuovo Gruppo",
|
||||
"contacts_groupName": "Nome gruppo",
|
||||
"contacts_groupNameRequired": "Il nome del gruppo è obbligatorio.",
|
||||
"contacts_groupAlreadyExists": "Il gruppo \"{name}\" esiste già .",
|
||||
"contacts_groupNameRequired": "Il nome del gruppo è obbligatorio.",
|
||||
"contacts_groupAlreadyExists": "Il gruppo \"{name}\" esiste già.",
|
||||
"@contacts_groupAlreadyExists": {
|
||||
"placeholders": {
|
||||
"name": {
|
||||
@@ -345,7 +345,7 @@
|
||||
"channels_muteChannel": "Silenzia canale",
|
||||
"channels_unmuteChannel": "Attiva notifiche canale",
|
||||
"channels_deleteChannel": "Elimina canale",
|
||||
"channels_deleteChannelConfirm": "Eliminare \"{name}\"? Non può essere annullato.",
|
||||
"channels_deleteChannelConfirm": "Eliminare \"{name}\"? Non può essere annullato.",
|
||||
"@channels_deleteChannelConfirm": {
|
||||
"placeholders": {
|
||||
"name": {
|
||||
@@ -477,7 +477,7 @@
|
||||
"debugLog_enableInSettings": "Abilita il logging di debug dell'app nelle impostazioni",
|
||||
"debugLog_frames": "Frame",
|
||||
"debugLog_rawLogRx": "Log Raw-RX",
|
||||
"debugLog_noBleActivity": "Nessuna attività BLE rilevata ancora.",
|
||||
"debugLog_noBleActivity": "Nessuna attività BLE rilevata ancora.",
|
||||
"debugFrame_length": "Lunghezza del Frame: {count} byte",
|
||||
"@debugFrame_length": {
|
||||
"placeholders": {
|
||||
@@ -542,11 +542,11 @@
|
||||
},
|
||||
"debugFrame_hexDump": "Dumpa Esadecimale:",
|
||||
"chat_pathManagement": "Gestione Percorsi",
|
||||
"chat_routingMode": "Modalità di routing",
|
||||
"chat_routingMode": "Modalità di routing",
|
||||
"chat_autoUseSavedPath": "Utilizza il percorso salvato",
|
||||
"chat_forceFloodMode": "Modalità Inondamento Forzato",
|
||||
"chat_forceFloodMode": "Modalità Inondamento Forzato",
|
||||
"chat_recentAckPaths": "Percorsi ACK Recenti (tocca per usare):",
|
||||
"chat_pathHistoryFull": "La cronologia del percorso è piena. Rimuovi gli elementi per aggiungere nuovi.",
|
||||
"chat_pathHistoryFull": "La cronologia del percorso è piena. Rimuovi gli elementi per aggiungere nuovi.",
|
||||
"chat_hopSingular": "salta",
|
||||
"chat_hopPlural": "salta",
|
||||
"chat_hopsCount": "{count} {count, plural, =1{salto} other{salti}}",
|
||||
@@ -559,15 +559,15 @@
|
||||
},
|
||||
"chat_successes": "successi",
|
||||
"chat_removePath": "Rimuovi percorso",
|
||||
"chat_noPathHistoryYet": "Non c'è ancora una cronologia del percorso.\nInvia un messaggio per scoprire i percorsi.",
|
||||
"chat_noPathHistoryYet": "Non c'è ancora una cronologia del percorso.\nInvia un messaggio per scoprire i percorsi.",
|
||||
"chat_pathActions": "Azioni Percorso:",
|
||||
"chat_setCustomPath": "Imposta Percorso Personalizzato",
|
||||
"chat_setCustomPathSubtitle": "Specifica manualmente il percorso di routing",
|
||||
"chat_clearPath": "Cancella Percorso",
|
||||
"chat_clearPathSubtitle": "Riprova la scoperta alla prossima invio",
|
||||
"chat_pathCleared": "Percorso sgomberato. Il prossimo messaggio riidentifierà il percorso.",
|
||||
"chat_pathCleared": "Percorso sgomberato. Il prossimo messaggio riidentifierà il percorso.",
|
||||
"chat_floodModeSubtitle": "Utilizza l'interruttore di routing nella barra delle applicazioni",
|
||||
"chat_floodModeEnabled": "Modalità alluvione abilitata. Disattivala tramite l'icona di routing nella barra in alto.",
|
||||
"chat_floodModeEnabled": "Modalità alluvione abilitata. Disattivala tramite l'icona di routing nella barra in alto.",
|
||||
"chat_fullPath": "Percorso Completo",
|
||||
"chat_pathDetailsNotAvailable": "I dettagli del percorso non sono ancora disponibili. Prova a inviare un messaggio per ricaricare.",
|
||||
"chat_pathSetHops": "Percorso impostato: {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}",
|
||||
@@ -660,7 +660,7 @@
|
||||
"map_sendToChannel": "Invia al canale",
|
||||
"map_noChannelsAvailable": "Nessun canale disponibile",
|
||||
"map_publicLocationShare": "Condividi in una posizione pubblica",
|
||||
"map_publicLocationShareConfirm": "Stai per condividere una posizione in {channelLabel}. Questo canale è pubblico e chiunque abbia la PSK può vederlo.",
|
||||
"map_publicLocationShareConfirm": "Stai per condividere una posizione in {channelLabel}. Questo canale è pubblico e chiunque abbia la PSK può vederlo.",
|
||||
"@map_publicLocationShareConfirm": {
|
||||
"placeholders": {
|
||||
"channelLabel": {
|
||||
@@ -810,13 +810,13 @@
|
||||
"login_password": "Password",
|
||||
"login_enterPassword": "Inserisci password",
|
||||
"login_savePassword": "Salva password",
|
||||
"login_savePasswordSubtitle": "La password verrà memorizzata in modo sicuro su questo dispositivo.",
|
||||
"login_savePasswordSubtitle": "La password verrà memorizzata in modo sicuro su questo dispositivo.",
|
||||
"login_repeaterDescription": "Inserisci la password del ripetitore per accedere alle impostazioni e allo stato.",
|
||||
"login_roomDescription": "Inserisci la password della stanza per accedere alle impostazioni e allo stato.",
|
||||
"login_routing": "Instradamento",
|
||||
"login_routingMode": "Modalità di routing",
|
||||
"login_routingMode": "Modalità di routing",
|
||||
"login_autoUseSavedPath": "Utilizza il percorso salvato",
|
||||
"login_forceFloodMode": "Modalità Inondamento Forzato",
|
||||
"login_forceFloodMode": "Modalità Inondamento Forzato",
|
||||
"login_managePaths": "Gestisci Percorsi",
|
||||
"login_login": "Accedi",
|
||||
"login_attempt": "Prova {current}/{max}",
|
||||
@@ -838,7 +838,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"login_failedMessage": "Accesso fallito. La password non è corretta oppure il ripetitore non è raggiungibile.",
|
||||
"login_failedMessage": "Accesso fallito. La password non è corretta oppure il ripetitore non è raggiungibile.",
|
||||
"common_reload": "Ricaricare",
|
||||
"common_clear": "Cancella",
|
||||
"path_currentPath": "Percorso corrente: {path}",
|
||||
@@ -862,7 +862,7 @@
|
||||
"path_hexPrefixInstructions": "Inserire i prefissi esadecimali a 2 caratteri per ogni salto, separati da virgole.",
|
||||
"path_hexPrefixExample": "Esempio: A1,F2,3C (ogni nodo utilizza il primo byte della sua chiave pubblica)",
|
||||
"path_labelHexPrefixes": "Prefisso esadecimale (percorso)",
|
||||
"path_helperMaxHops": "Massimo 64 salti. Ogni prefisso è composto da 2 caratteri esadecimali (1 byte)",
|
||||
"path_helperMaxHops": "Massimo 64 salti. Ogni prefisso è composto da 2 caratteri esadecimali (1 byte)",
|
||||
"path_selectFromContacts": "Seleziona da contatti:",
|
||||
"path_noRepeatersFound": "Non sono stati trovati ripetitori o server di stanza.",
|
||||
"path_customPathsRequire": "I percorsi personalizzati richiedono salti intermedi che possono inoltrare messaggi.",
|
||||
@@ -874,7 +874,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"path_tooLong": "Il percorso è troppo lungo. Massimo 64 salti consentiti.",
|
||||
"path_tooLong": "Il percorso è troppo lungo. Massimo 64 salti consentiti.",
|
||||
"path_setPath": "Imposta Percorso",
|
||||
"repeater_management": "Gestione Ripetitori",
|
||||
"repeater_managementTools": "Strumenti di Gestione",
|
||||
@@ -887,9 +887,9 @@
|
||||
"repeater_settings": "Impostazioni",
|
||||
"repeater_settingsSubtitle": "Configura i parametri del ripetitore",
|
||||
"repeater_statusTitle": "Stato del Ripetitore",
|
||||
"repeater_routingMode": "Modalità di routing",
|
||||
"repeater_routingMode": "Modalità di routing",
|
||||
"repeater_autoUseSavedPath": "Percorso salvato automatico",
|
||||
"repeater_forceFloodMode": "Modalità Inondamento Forzato",
|
||||
"repeater_forceFloodMode": "Modalità Inondamento Forzato",
|
||||
"repeater_pathManagement": "Gestione dei percorsi",
|
||||
"repeater_refresh": "Aggiorna",
|
||||
"repeater_statusRequestTimeout": "Richiesta stato scaduta.",
|
||||
@@ -904,7 +904,7 @@
|
||||
"repeater_systemInformation": "Informazioni di sistema",
|
||||
"repeater_battery": "Batteria",
|
||||
"repeater_clockAtLogin": "Orologio (all'accesso)",
|
||||
"repeater_uptime": "Disponibilità ",
|
||||
"repeater_uptime": "Disponibilità",
|
||||
"repeater_queueLength": "Lunghezza della coda",
|
||||
"repeater_debugFlags": "Impostazioni Debug",
|
||||
"repeater_radioStatistics": "Statistiche Radio",
|
||||
@@ -1007,10 +1007,10 @@
|
||||
"repeater_packetForwardingSubtitle": "Abilita il ripetitore per inoltrare i pacchetti",
|
||||
"repeater_guestAccess": "Accesso Ospite",
|
||||
"repeater_guestAccessSubtitle": "Consenti l'accesso ospite in sola lettura",
|
||||
"repeater_privacyMode": "Modalità Privacy",
|
||||
"repeater_privacyMode": "Modalità Privacy",
|
||||
"repeater_privacyModeSubtitle": "Nascondere nome/luogo negli annunci",
|
||||
"repeater_advertisementSettings": "Impostazioni Annuncio",
|
||||
"repeater_localAdvertInterval": "Intervallo Pubblicità Locale",
|
||||
"repeater_localAdvertInterval": "Intervallo Pubblicità Locale",
|
||||
"repeater_localAdvertIntervalMinutes": "{minutes} minuti",
|
||||
"@repeater_localAdvertIntervalMinutes": {
|
||||
"placeholders": {
|
||||
@@ -1019,7 +1019,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"repeater_floodAdvertInterval": "Intervallo Pubblicità Inondazione",
|
||||
"repeater_floodAdvertInterval": "Intervallo Pubblicità Inondazione",
|
||||
"repeater_floodAdvertIntervalHours": "{hours} ore",
|
||||
"@repeater_floodAdvertIntervalHours": {
|
||||
"placeholders": {
|
||||
@@ -1033,13 +1033,13 @@
|
||||
"repeater_rebootRepeater": "Riavvia Ripetitore",
|
||||
"repeater_rebootRepeaterSubtitle": "Riavvia il dispositivo ripetitore",
|
||||
"repeater_rebootRepeaterConfirm": "Sei sicuro di voler riavviare questo ripetitore?",
|
||||
"repeater_regenerateIdentityKey": "Rigenera Chiave Identità ",
|
||||
"repeater_regenerateIdentityKey": "Rigenera Chiave Identità",
|
||||
"repeater_regenerateIdentityKeySubtitle": "Genera una nuova coppia di chiavi pubblica/privata",
|
||||
"repeater_regenerateIdentityKeyConfirm": "Questo genererà una nuova identità per il ripetitore. Procedere?",
|
||||
"repeater_regenerateIdentityKeyConfirm": "Questo genererà una nuova identità per il ripetitore. Procedere?",
|
||||
"repeater_eraseFileSystem": "Elimina File System",
|
||||
"repeater_eraseFileSystemSubtitle": "Formatta il file system del ripetitore",
|
||||
"repeater_eraseFileSystemConfirm": "ATTENZIONE: Ciò cancellerà tutti i dati sul ripetitore. Non può essere annullato!",
|
||||
"repeater_eraseSerialOnly": "Elimina è disponibile solo tramite console seriale.",
|
||||
"repeater_eraseFileSystemConfirm": "ATTENZIONE: Ciò cancellerà tutti i dati sul ripetitore. Non può essere annullato!",
|
||||
"repeater_eraseSerialOnly": "Elimina è disponibile solo tramite console seriale.",
|
||||
"repeater_commandSent": "Comando inviato: {command}",
|
||||
"@repeater_commandSent": {
|
||||
"placeholders": {
|
||||
@@ -1072,7 +1072,7 @@
|
||||
"repeater_refreshLocationSettings": "Aggiorna le Impostazioni della Posizione",
|
||||
"repeater_refreshPacketForwarding": "Aggiorna il inoltro pacchetti",
|
||||
"repeater_refreshGuestAccess": "Aggiorna Accesso Ospite",
|
||||
"repeater_refreshPrivacyMode": "Aggiorna Modalità Privacy",
|
||||
"repeater_refreshPrivacyMode": "Aggiorna Modalità Privacy",
|
||||
"repeater_refreshAdvertisementSettings": "Aggiorna le Impostazioni dell'Annuncio",
|
||||
"repeater_refreshed": "{label} aggiornato",
|
||||
"@repeater_refreshed": {
|
||||
@@ -1117,7 +1117,7 @@
|
||||
"repeater_cliQuickAdvertise": "Pubblicare",
|
||||
"repeater_cliQuickClock": "Orologio",
|
||||
"repeater_cliHelpAdvert": "Invia un pacchetto pubblicitario",
|
||||
"repeater_cliHelpReboot": "Riavvia il dispositivo. (nota, potresti ottenere 'Timeout' che è normale)",
|
||||
"repeater_cliHelpReboot": "Riavvia il dispositivo. (nota, potresti ottenere 'Timeout' che è normale)",
|
||||
"repeater_cliHelpClock": "Mostra l'ora corrente per l'orologio di ciascun dispositivo.",
|
||||
"repeater_cliHelpPassword": "Imposta una nuova password di amministratore per il dispositivo.",
|
||||
"repeater_cliHelpVersion": "Mostra la versione del dispositivo e la data di costruzione del firmware.",
|
||||
@@ -1125,12 +1125,12 @@
|
||||
"repeater_cliHelpSetAf": "Imposta il fattore di tempo di trasmissione.",
|
||||
"repeater_cliHelpSetTx": "Imposta la potenza di trasmissione LoRa in dBm (riavvia per applicare).",
|
||||
"repeater_cliHelpSetRepeat": "Abilita o disabilita il ruolo del ripetitore per questo nodo.",
|
||||
"repeater_cliHelpSetAllowReadOnly": "(Server della stanza) Se 'on', allora l'accesso con una password vuota sarà consentito, ma non sarà possibile pubblicare nella stanza. (solo lettura).",
|
||||
"repeater_cliHelpSetAllowReadOnly": "(Server della stanza) Se 'on', allora l'accesso con una password vuota sarà consentito, ma non sarà possibile pubblicare nella stanza. (solo lettura).",
|
||||
"repeater_cliHelpSetFloodMax": "Imposta il numero massimo di salti per i pacchetti di inondazione in entrata (se >= max, il pacchetto non viene inoltrato)",
|
||||
"repeater_cliHelpSetIntThresh": "Imposta il Limite di Interferenza (in dB). Il valore predefinito è 14. Imposta su 0 per disabilitare il rilevamento delle interferenze del canale.",
|
||||
"repeater_cliHelpSetIntThresh": "Imposta il Limite di Interferenza (in dB). Il valore predefinito è 14. Imposta su 0 per disabilitare il rilevamento delle interferenze del canale.",
|
||||
"repeater_cliHelpSetAgcResetInterval": "Imposta l'intervallo per resettare il controllore Automatico del Guadagno. Imposta su 0 per disabilitare.",
|
||||
"repeater_cliHelpSetMultiAcks": "Abilita o disabilita la funzione 'double ACKs'.",
|
||||
"repeater_cliHelpSetAdvertInterval": "Imposta l'intervallo del timer in minuti per inviare un pacchetto di pubblicità locale (senza salto). Imposta su 0 per disabilitare.",
|
||||
"repeater_cliHelpSetAdvertInterval": "Imposta l'intervallo del timer in minuti per inviare un pacchetto di pubblicità locale (senza salto). Imposta su 0 per disabilitare.",
|
||||
"repeater_cliHelpSetFloodAdvertInterval": "Imposta l'intervallo del timer in ore per inviare un pacchetto pubblicitario di massa. Imposta su 0 per disabilitare.",
|
||||
"repeater_cliHelpSetGuestPassword": "Imposta/aggiorna la password dell'ospite. (per ripetitori, gli accessi degli ospiti possono inviare la richiesta \"Get Stats\")",
|
||||
"repeater_cliHelpSetName": "Imposta il nome dell'annuncio.",
|
||||
@@ -1138,33 +1138,33 @@
|
||||
"repeater_cliHelpSetLon": "Imposta la longitudine della mappa pubblicitaria. (gradi decimali)",
|
||||
"repeater_cliHelpSetRadio": "Imposta completamente nuovi parametri radio e li salva nelle preferenze. Richiede un comando \"reboot\" per l'applicazione.",
|
||||
"repeater_cliHelpSetRxDelay": "Impostazioni (experimental) base (deve essere > 1 per l'effetto) per applicare un leggero ritardo ai pacchetti ricevuti, in base alla forza del segnale/punteggio. Imposta a 0 per disabilitare.",
|
||||
"repeater_cliHelpSetTxDelay": "Imposta un fattore moltiplicato con il tempo di mantenimento per un pacchetto di modalità allagamento e con un sistema di slot casuale, per ritardarne la trasmissione (per diminuire la probabilità di collisioni).",
|
||||
"repeater_cliHelpSetDirectTxDelay": "Uguale a txdelay, ma per applicare un ritardo casuale alla inoltrata di pacchetti in modalità diretta.",
|
||||
"repeater_cliHelpSetTxDelay": "Imposta un fattore moltiplicato con il tempo di mantenimento per un pacchetto di modalità allagamento e con un sistema di slot casuale, per ritardarne la trasmissione (per diminuire la probabilità di collisioni).",
|
||||
"repeater_cliHelpSetDirectTxDelay": "Uguale a txdelay, ma per applicare un ritardo casuale alla inoltrata di pacchetti in modalità diretta.",
|
||||
"repeater_cliHelpSetBridgeEnabled": "Abilita/Disabilita ponte.",
|
||||
"repeater_cliHelpSetBridgeDelay": "Imposta il ritardo prima di ritrasmettere i pacchetti.",
|
||||
"repeater_cliHelpSetBridgeSource": "Scegliere se il ponte dovrà ritrasmettere i pacchetti ricevuti o i pacchetti trasmessi.",
|
||||
"repeater_cliHelpSetBridgeBaud": "Imposta la velocità di trasmissione per i ponti rs232.",
|
||||
"repeater_cliHelpSetBridgeSource": "Scegliere se il ponte dovrà ritrasmettere i pacchetti ricevuti o i pacchetti trasmessi.",
|
||||
"repeater_cliHelpSetBridgeBaud": "Imposta la velocità di trasmissione per i ponti rs232.",
|
||||
"repeater_cliHelpSetBridgeSecret": "Imposta il segreto per i ponti espnow.",
|
||||
"repeater_cliHelpSetAdcMultiplier": "Imposta un fattore personalizzato per regolare la tensione della batteria riportata (supportato solo su schede selezionate).",
|
||||
"repeater_cliHelpTempRadio": "Imposta parametri radio temporanei per il numero specificato di minuti, per poi tornare ai parametri radio originali. (non salva nelle preferenze).",
|
||||
"repeater_cliHelpSetPerm": "Modifica l'ACL. Rimuove l'entrata corrispondente (per prefisso di pubkey) se \"permissions\" è zero. Aggiunge una nuova entrata se il pubkey-hex ha lunghezza completa e non è attualmente nell'ACL. Aggiorna l'entrata per corrispondenza del prefisso di pubkey. I bit di permesso variano per ogni ruolo di firmware, ma i primi 2 bit sono: 0 (Guest), 1 (solo lettura), 2 (lettura/scrittura), 3 (Admin)",
|
||||
"repeater_cliHelpSetPerm": "Modifica l'ACL. Rimuove l'entrata corrispondente (per prefisso di pubkey) se \"permissions\" è zero. Aggiunge una nuova entrata se il pubkey-hex ha lunghezza completa e non è attualmente nell'ACL. Aggiorna l'entrata per corrispondenza del prefisso di pubkey. I bit di permesso variano per ogni ruolo di firmware, ma i primi 2 bit sono: 0 (Guest), 1 (solo lettura), 2 (lettura/scrittura), 3 (Admin)",
|
||||
"repeater_cliHelpGetBridgeType": "Ottiene tipo ponte nessuno, rs232, espnow",
|
||||
"repeater_cliHelpLogStart": "Avvia registrazione pacchetti nel file system.",
|
||||
"repeater_cliHelpLogStop": "Interrompi la registrazione dei pacchetti al file system.",
|
||||
"repeater_cliHelpLogErase": "Elimina i log del pacchetto dal file system.",
|
||||
"repeater_cliHelpNeighbors": "Mostra un elenco di altri nodi repeater ricevuti tramite annunci zero-hop. Ogni riga è id-prefisso-esadecimale:timestamp:snr-volte-4",
|
||||
"repeater_cliHelpNeighbors": "Mostra un elenco di altri nodi repeater ricevuti tramite annunci zero-hop. Ogni riga è id-prefisso-esadecimale:timestamp:snr-volte-4",
|
||||
"repeater_cliHelpNeighborRemove": "Rimuove la prima corrispondenza in base al prefisso (esadecimale) della pubkey, dalla lista dei vicini.",
|
||||
"repeater_cliHelpRegion": "(solo serie) Elenca tutte le regioni definite e le autorizzazioni di allagamento correnti.",
|
||||
"repeater_cliHelpRegionLoad": "NOTA: questo è un'invocazione multi-comando speciale. Ogni comando successivo è un nome di regione (indentato con spazi per indicare la gerarchia parentale, con almeno uno spazio). Terminata inviando una riga vuota/comando.",
|
||||
"repeater_cliHelpRegionLoad": "NOTA: questo è un'invocazione multi-comando speciale. Ogni comando successivo è un nome di regione (indentato con spazi per indicare la gerarchia parentale, con almeno uno spazio). Terminata inviando una riga vuota/comando.",
|
||||
"repeater_cliHelpRegionGet": "Cerca la regione con il prefisso del nome dato (o \"\" per l'ambito globale). Risponde con \"-> nome-regione (nome-genitore) 'F'\"",
|
||||
"repeater_cliHelpRegionPut": "Aggiunge o aggiorna una definizione di regione con il nome specificato.",
|
||||
"repeater_cliHelpRegionRemove": "Rimuove una definizione di regione con il dato nome. (deve corrispondere esattamente e non avere regioni figlio)",
|
||||
"repeater_cliHelpRegionAllowf": "Imposta il permesso di 'F'lood per la regione specificata. ('' per lo scope globale/legacy)",
|
||||
"repeater_cliHelpRegionDenyf": "Rimuove il permesso 'F'lood per la regione specificata. (NOTA: a questo stadio non è consigliato utilizzarlo sullo scope globale/legacy!!).",
|
||||
"repeater_cliHelpRegionDenyf": "Rimuove il permesso 'F'lood per la regione specificata. (NOTA: a questo stadio non è consigliato utilizzarlo sullo scope globale/legacy!!).",
|
||||
"repeater_cliHelpRegionHome": "Risposte con la regione 'home' corrente. (Nota applicata finora, riservata per il futuro)",
|
||||
"repeater_cliHelpRegionHomeSet": "Imposta la regione 'home'.",
|
||||
"repeater_cliHelpRegionSave": "Persiste l'elenco/mappa delle regioni all'archiviazione.",
|
||||
"repeater_cliHelpGps": "Mostra lo stato del GPS. Quando il GPS è spento, risponde solo \"spento\", se è acceso risponde con \"acceso\", \"stato\", \"fix\" e numero di satelliti.",
|
||||
"repeater_cliHelpGps": "Mostra lo stato del GPS. Quando il GPS è spento, risponde solo \"spento\", se è acceso risponde con \"acceso\", \"stato\", \"fix\" e numero di satelliti.",
|
||||
"repeater_cliHelpGpsOnOff": "Attiva/disattiva l'alimentazione del GPS.",
|
||||
"repeater_cliHelpGpsSync": "Sincronizza l'orario del nodo con l'orologio GPS.",
|
||||
"repeater_cliHelpGpsSetLoc": "Imposta la posizione del nodo alle coordinate GPS e salva le preferenze.",
|
||||
@@ -1180,7 +1180,7 @@
|
||||
"repeater_regionManagementRepeaterOnly": "Gestione Regione (solo Ripetitore)",
|
||||
"repeater_regionNote": "Sono state introdotte le comandi di regione per gestire le definizioni e le autorizzazioni delle regioni.",
|
||||
"repeater_gpsManagement": "Gestione GPS",
|
||||
"repeater_gpsNote": "è stata introdotta una funzione gps per gestire le tematiche relative alla posizione.",
|
||||
"repeater_gpsNote": "è stata introdotta una funzione gps per gestire le tematiche relative alla posizione.",
|
||||
"telemetry_receivedData": "Dati Telemetria Ricevuti",
|
||||
"telemetry_requestTimeout": "Richiesta di telemetria scaduta.",
|
||||
"telemetry_errorLoading": "Errore nel caricamento della telemetria: {error}",
|
||||
@@ -1232,7 +1232,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F",
|
||||
"telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F",
|
||||
"@telemetry_temperatureValue": {
|
||||
"placeholders": {
|
||||
"celsius": {
|
||||
@@ -1254,7 +1254,7 @@
|
||||
"channelPath_repeatsLabel": "Ripeti",
|
||||
"channelPath_pathLabel": "Percorso {index}",
|
||||
"channelPath_observedLabel": "Osservato",
|
||||
"channelPath_observedPathTitle": "Percorso osservato {index} • {hops}",
|
||||
"channelPath_observedPathTitle": "Percorso osservato {index} • {hops}",
|
||||
"@channelPath_observedPathTitle": {
|
||||
"placeholders": {
|
||||
"index": {
|
||||
@@ -1329,7 +1329,7 @@
|
||||
},
|
||||
"channelPath_pathLabelTitle": "Percorso",
|
||||
"channelPath_observedPathHeader": "Percorso Osservato",
|
||||
"channelPath_selectedPathLabel": "{label} • {prefixes}",
|
||||
"channelPath_selectedPathLabel": "{label} • {prefixes}",
|
||||
"@channelPath_selectedPathLabel": {
|
||||
"placeholders": {
|
||||
"label": {
|
||||
@@ -1373,11 +1373,11 @@
|
||||
"channels_joinPrivateChannel": "Unisciti a un Canale Privato",
|
||||
"channels_joinPrivateChannelDesc": "Inserire manualmente una chiave segreta.",
|
||||
"channels_joinPublicChannel": "Unisciti al Canale Pubblico",
|
||||
"channels_joinPublicChannelDesc": "Chiunque può unirsi a questo canale.",
|
||||
"channels_joinPublicChannelDesc": "Chiunque può unirsi a questo canale.",
|
||||
"channels_joinHashtagChannel": "Unisciti a un Canale con Hashtag",
|
||||
"channels_joinHashtagChannelDesc": "Chiunque può unirsi ai canali hashtag.",
|
||||
"channels_joinHashtagChannelDesc": "Chiunque può unirsi ai canali hashtag.",
|
||||
"channels_scanQrCode": "Scansiona un codice QR",
|
||||
"channels_scanQrCodeComingSoon": "Arriverà presto",
|
||||
"channels_scanQrCodeComingSoon": "Arriverà presto",
|
||||
"channels_enterHashtag": "Inserisci hashtag",
|
||||
"channels_hashtagHint": "es. #team",
|
||||
"@neighbors_unknownContact": {
|
||||
@@ -1459,35 +1459,35 @@
|
||||
}
|
||||
},
|
||||
"common_ok": "OK",
|
||||
"community_title": "Comunità ",
|
||||
"community_create": "Crea Comunità ",
|
||||
"community_createDesc": "Crea una nuova comunità e condividila tramite codice QR.",
|
||||
"community_title": "Comunità",
|
||||
"community_create": "Crea Comunità",
|
||||
"community_createDesc": "Crea una nuova comunità e condividila tramite codice QR.",
|
||||
"community_join": "Unisciti",
|
||||
"community_joinTitle": "Unisciti alla Community",
|
||||
"community_joinConfirmation": "Vuoi unirti alla community \"{name}\"?",
|
||||
"community_scanQr": "Scansiona il QR Code della Community",
|
||||
"community_scanInstructions": "Punta la fotocamera su un codice QR della comunità ",
|
||||
"community_scanInstructions": "Punta la fotocamera su un codice QR della comunità",
|
||||
"community_showQr": "Mostra il codice QR",
|
||||
"community_publicChannel": "Comunità Pubblica",
|
||||
"community_hashtagChannel": "Hashtag della Comunità ",
|
||||
"community_name": "Nome della Comunità ",
|
||||
"community_enterName": "Inserisci il nome della comunità ",
|
||||
"community_created": "Comunità \"{name}\" creata",
|
||||
"community_joined": "Unito alla comunità \"{name}\"",
|
||||
"community_qrTitle": "Condividi Comunità ",
|
||||
"community_publicChannel": "Comunità Pubblica",
|
||||
"community_hashtagChannel": "Hashtag della Comunità",
|
||||
"community_name": "Nome della Comunità",
|
||||
"community_enterName": "Inserisci il nome della comunità",
|
||||
"community_created": "Comunità \"{name}\" creata",
|
||||
"community_joined": "Unito alla comunità \"{name}\"",
|
||||
"community_qrTitle": "Condividi Comunità",
|
||||
"community_qrInstructions": "Scansiona questo codice QR per unirti a {name}",
|
||||
"community_hashtagPrivacyHint": "I canali hashtag della community sono accessibili solo ai membri della community",
|
||||
"community_invalidQrCode": "Codice QR della community non valido",
|
||||
"community_alreadyMember": "Già membro",
|
||||
"community_alreadyMemberMessage": "Sei già un membro di \"{name}\".",
|
||||
"community_addPublicChannel": "Aggiungi Canale Pubblico della Comunità ",
|
||||
"community_alreadyMember": "Già membro",
|
||||
"community_alreadyMemberMessage": "Sei già un membro di \"{name}\".",
|
||||
"community_addPublicChannel": "Aggiungi Canale Pubblico della Comunità",
|
||||
"community_addPublicChannelHint": "Aggiungi automaticamente il canale pubblico per questa community",
|
||||
"community_noCommunities": "Nessun gruppo aggiunto finora",
|
||||
"community_scanOrCreate": "Scansiona un codice QR o crea una community per iniziare.",
|
||||
"community_manageCommunities": "Gestisci Comunità ",
|
||||
"community_delete": "Lascia la Comunità ",
|
||||
"community_manageCommunities": "Gestisci Comunità",
|
||||
"community_delete": "Lascia la Comunità",
|
||||
"community_deleteConfirm": "Uscire da \"{name}\"?",
|
||||
"community_deleteChannelsWarning": "Questo eliminerà anche {count} canale/i e i loro messaggi.",
|
||||
"community_deleteChannelsWarning": "Questo eliminerà anche {count} canale/i e i loro messaggi.",
|
||||
"@community_deleteChannelsWarning": {
|
||||
"placeholders": {
|
||||
"count": {
|
||||
@@ -1495,14 +1495,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"community_deleted": "Hai lasciato la comunità \"{name}\"",
|
||||
"community_deleted": "Hai lasciato la comunità \"{name}\"",
|
||||
"community_addHashtagChannel": "Aggiungi Hashtag della Community",
|
||||
"community_addHashtagChannelDesc": "Aggiungi un canale con hashtag per questa community",
|
||||
"community_selectCommunity": "Seleziona Comunità ",
|
||||
"community_selectCommunity": "Seleziona Comunità",
|
||||
"community_regularHashtag": "Hashtag regolare",
|
||||
"community_regularHashtagDesc": "Hashtag pubblico (chiunque può unirsi)",
|
||||
"community_communityHashtag": "Hashtag della Comunità ",
|
||||
"community_communityHashtagDesc": "Visibile solo ai membri della comunità ",
|
||||
"community_regularHashtagDesc": "Hashtag pubblico (chiunque può unirsi)",
|
||||
"community_communityHashtag": "Hashtag della Comunità",
|
||||
"community_communityHashtagDesc": "Visibile solo ai membri della comunità",
|
||||
"community_forCommunity": "Per {name}",
|
||||
"@community_regenerateSecretConfirm": {
|
||||
"placeholders": {
|
||||
@@ -1567,16 +1567,16 @@
|
||||
"contacts_floodAdvert": "Annuncio alluvionale",
|
||||
"contacts_copyAdvertToClipboard": "Copia Annuncio negli Appunti",
|
||||
"contacts_addContactFromClipboard": "Aggiungere contatto dalla clipboard",
|
||||
"contacts_clipboardEmpty": "La clipboard è vuota.",
|
||||
"contacts_clipboardEmpty": "La clipboard è vuota.",
|
||||
"contacts_ShareContact": "Copia contatto negli Appunti",
|
||||
"contacts_contactImported": "Il contatto è stato importato.",
|
||||
"contacts_contactImported": "Il contatto è stato importato.",
|
||||
"contacts_contactImportFailed": "Contatto non importato con successo.",
|
||||
"contacts_zeroHopContactAdvertSent": "Inviato contatto tramite annuncio.",
|
||||
"contacts_contactAdvertCopyFailed": "Copia dell'annuncio nella Clipboard non riuscita.",
|
||||
"contacts_ShareContactZeroHop": "Condividi contatto tramite annuncio",
|
||||
"contacts_zeroHopContactAdvertFailed": "Invio del contatto non riuscito.",
|
||||
"contacts_contactAdvertCopied": "Annuncio copiato negli Appunti.",
|
||||
"notification_activityTitle": "Attività MeshCore",
|
||||
"notification_activityTitle": "Attività MeshCore",
|
||||
"notification_messagesCount": "{count} {count, plural, =1{messaggio} other{messaggi}}",
|
||||
"notification_channelMessagesCount": "{count} {count, plural, =1{messaggio del canale} other{messaggi del canale}}",
|
||||
"notification_newNodesCount": "{count} {count, plural, =1{nuovo nodo} other{nuovi nodi}}",
|
||||
@@ -1587,7 +1587,7 @@
|
||||
"settings_gpxExportSuccess": "Esportazione del file GPX completata con successo.",
|
||||
"settings_gpxExportNoContacts": "Nessun contatto da esportare.",
|
||||
"settings_gpxExportNotAvailable": "Non supportato sul tuo dispositivo/Sistema Operativo",
|
||||
"settings_gpxExportError": "Si è verificato un errore durante l'esportazione.",
|
||||
"settings_gpxExportError": "Si è verificato un errore durante l'esportazione.",
|
||||
"settings_gpxExportRepeatersSubtitle": "Esporta ripetitori / roomserver con una posizione in un file GPX.",
|
||||
"settings_gpxExportContactsSubtitle": "Esporta i compagni con una posizione in un file GPX.",
|
||||
"settings_gpxExportAll": "Esporta tutti i contatti in GPX",
|
||||
@@ -1597,13 +1597,13 @@
|
||||
"settings_gpxExportAllContacts": "Tutte le posizioni dei contatti",
|
||||
"settings_gpxExportShareText": "Dati mappa esportati da meshcore-open",
|
||||
"settings_gpxExportShareSubject": "meshcore-open esportazione dati mappa GPX",
|
||||
"pathTrace_someHopsNoLocation": "Uno o più dei luppoli mancano di una posizione!",
|
||||
"pathTrace_someHopsNoLocation": "Uno o più dei luppoli mancano di una posizione!",
|
||||
"map_removeLast": "Rimuovi ultimo",
|
||||
"map_pathTraceCancelled": "Tracciamento del percorso annullato.",
|
||||
"pathTrace_clearTooltip": "Pulisci percorso",
|
||||
"map_runTrace": "Esegui Path Trace",
|
||||
"map_tapToAdd": "Tocca i nodi per aggiungerli al percorso.",
|
||||
"scanner_bluetoothOff": "Il Bluetooth è disattivato.",
|
||||
"scanner_bluetoothOff": "Il Bluetooth è disattivato.",
|
||||
"scanner_bluetoothOffMessage": "Si prega di attivare il Bluetooth per effettuare la scansione dei dispositivi.",
|
||||
"scanner_chromeRequired": "Browser Chrome richiesto",
|
||||
"scanner_chromeRequiredMessage": "Questa applicazione web richiede Google Chrome o un browser basato su Chromium per il supporto Bluetooth.",
|
||||
@@ -1612,10 +1612,10 @@
|
||||
"snrIndicator_lastSeen": "Ultimo accesso",
|
||||
"chat_ShowAllPaths": "Mostra tutti i percorsi",
|
||||
"settings_clientRepeat": "Ripetizione \"fuori dalla rete\"",
|
||||
"settings_clientRepeatFreqWarning": "Per la comunicazione fuori rete, è necessario utilizzare frequenze di 433, 869 o 918 MHz.",
|
||||
"settings_clientRepeatFreqWarning": "Per la comunicazione fuori rete, è necessario utilizzare frequenze di 433, 869 o 918 MHz.",
|
||||
"settings_clientRepeatSubtitle": "Permetti a questo dispositivo di ripetere i pacchetti di rete per gli altri.",
|
||||
"settings_aboutOpenMeteoAttribution": "Dati di elevazione LOS: Open-Meteo (CC BY 4.0)",
|
||||
"appSettings_unitsTitle": "Unità ",
|
||||
"appSettings_unitsTitle": "Unità",
|
||||
"appSettings_unitsMetric": "Metrico (m/km)",
|
||||
"appSettings_unitsImperial": "Imperiale (ft / mi)",
|
||||
"map_lineOfSight": "Linea di vista",
|
||||
@@ -1631,7 +1631,7 @@
|
||||
},
|
||||
"losClearAllPoints": "Cancella tutti i punti",
|
||||
"losRunToViewElevationProfile": "Eseguire LOS per visualizzare il profilo altimetrico",
|
||||
"losMenuTitle": "Menù LOS",
|
||||
"losMenuTitle": "Menù LOS",
|
||||
"losMenuSubtitle": "Tocca i nodi o premi a lungo la mappa per punti personalizzati",
|
||||
"losShowDisplayNodes": "Mostra i nodi di visualizzazione",
|
||||
"losCustomPoints": "Punti personalizzati",
|
||||
@@ -1722,7 +1722,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"losErrorElevationUnavailable": "Dati di elevazione non disponibili per uno o più campioni.",
|
||||
"losErrorElevationUnavailable": "Dati di elevazione non disponibili per uno o più campioni.",
|
||||
"losErrorInvalidInput": "Dati punti/elevazione non validi per il calcolo della LOS.",
|
||||
"losRenameCustomPoint": "Rinomina punto personalizzato",
|
||||
"losPointName": "Nome del punto",
|
||||
@@ -1734,7 +1734,7 @@
|
||||
"losLegendTerrain": "Terreno",
|
||||
"losFrequencyLabel": "Frequenza",
|
||||
"losFrequencyInfoTooltip": "Visualizza i dettagli del calcolo",
|
||||
"losFrequencyDialogTitle": "Calcolo dell’orizzonte radio",
|
||||
"losFrequencyDialogTitle": "Calcolo dell’orizzonte radio",
|
||||
"losFrequencyDialogDescription": "Partendo da k={baselineK} a {baselineFreq} MHz, il calcolo regola il fattore k per l'attuale banda {frequencyMHz} MHz, che definisce il limite curvo dell'orizzonte radio.",
|
||||
"@losFrequencyDialogDescription": {
|
||||
"description": "Explain how the calculation uses the baseline frequency and derived k-factor.",
|
||||
@@ -1802,11 +1802,23 @@
|
||||
"contacts_unread": "Non letti",
|
||||
"contacts_searchRepeaters": "Cerca {number}{str} Ripetitori...",
|
||||
"contacts_searchRoomServers": "Cerca {number}{str} server Room...",
|
||||
"connectionChoiceBluetoothLabel": "Bluetooth",
|
||||
"connectionChoiceUsbLabel": "USB",
|
||||
"usbScreenNote": "La comunicazione seriale USB è attiva sui dispositivi Android supportati e sulle piattaforme desktop.",
|
||||
"usbScreenStatus": "Seleziona un dispositivo USB",
|
||||
"usbScreenNote": "La comunicazione seriale USB è attiva sui dispositivi Android supportati e sulle piattaforme desktop.",
|
||||
"usbScreenSubtitle": "Seleziona il dispositivo seriale rilevato e connettilo direttamente al tuo nodo MeshCore.",
|
||||
"usbScreenStatus": "Seleziona un dispositivo USB",
|
||||
"usbScreenTitle": "Connessione tramite USB",
|
||||
"usbScreenEmptyState": "Nessun dispositivo USB rilevato. Collegare uno e riavviare."
|
||||
"usbScreenEmptyState": "Nessun dispositivo USB rilevato. Collegare uno e riavviare.",
|
||||
"usbErrorPermissionDenied": "È stato negato l'accesso tramite USB.",
|
||||
"usbErrorDeviceMissing": "Il dispositivo USB selezionato non è più disponibile.",
|
||||
"usbErrorInvalidPort": "Seleziona un dispositivo USB valido.",
|
||||
"usbErrorBusy": "Un'altra richiesta di connessione tramite USB è già in corso.",
|
||||
"usbErrorNotConnected": "Non è collegato alcun dispositivo USB.",
|
||||
"usbErrorOpenFailed": "Impossibile aprire il dispositivo USB selezionato.",
|
||||
"usbErrorConnectFailed": "Impossibile connettersi al dispositivo USB selezionato.",
|
||||
"usbErrorUnsupported": "La comunicazione seriale tramite USB non è supportata su questa piattaforma.",
|
||||
"usbErrorAlreadyActive": "La connessione USB è già attiva.",
|
||||
"usbErrorNoDeviceSelected": "Non è stato selezionato alcun dispositivo USB.",
|
||||
"usbErrorPortClosed": "La connessione USB non è attiva.",
|
||||
"usbErrorConnectTimedOut": "Attesa superata, in attesa di una risposta dal dispositivo.",
|
||||
"connectionChoiceUsbLabel": "USB",
|
||||
"connectionChoiceBluetoothLabel": "Bluetooth"
|
||||
}
|
||||
|
||||
@@ -358,6 +358,78 @@ abstract class AppLocalizations {
|
||||
/// **'No USB devices found. Plug one in and refresh.'**
|
||||
String get usbScreenEmptyState;
|
||||
|
||||
/// No description provided for @usbErrorPermissionDenied.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'USB permission was denied.'**
|
||||
String get usbErrorPermissionDenied;
|
||||
|
||||
/// No description provided for @usbErrorDeviceMissing.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'The selected USB device is no longer available.'**
|
||||
String get usbErrorDeviceMissing;
|
||||
|
||||
/// No description provided for @usbErrorInvalidPort.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Select a valid USB device.'**
|
||||
String get usbErrorInvalidPort;
|
||||
|
||||
/// No description provided for @usbErrorBusy.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Another USB connection request is already in progress.'**
|
||||
String get usbErrorBusy;
|
||||
|
||||
/// No description provided for @usbErrorNotConnected.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No USB device is connected.'**
|
||||
String get usbErrorNotConnected;
|
||||
|
||||
/// No description provided for @usbErrorOpenFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to open the selected USB device.'**
|
||||
String get usbErrorOpenFailed;
|
||||
|
||||
/// No description provided for @usbErrorConnectFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to connect to the selected USB device.'**
|
||||
String get usbErrorConnectFailed;
|
||||
|
||||
/// No description provided for @usbErrorUnsupported.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'USB serial is not supported on this platform.'**
|
||||
String get usbErrorUnsupported;
|
||||
|
||||
/// No description provided for @usbErrorAlreadyActive.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'A USB connection is already active.'**
|
||||
String get usbErrorAlreadyActive;
|
||||
|
||||
/// No description provided for @usbErrorNoDeviceSelected.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No USB device was selected.'**
|
||||
String get usbErrorNoDeviceSelected;
|
||||
|
||||
/// No description provided for @usbErrorPortClosed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'The USB connection is not open.'**
|
||||
String get usbErrorPortClosed;
|
||||
|
||||
/// No description provided for @usbErrorConnectTimedOut.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Timed out waiting for the device to respond.'**
|
||||
String get usbErrorConnectTimedOut;
|
||||
|
||||
/// No description provided for @scanner_scanning.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
||||
+892
-1042
File diff suppressed because it is too large
Load Diff
+320
-278
File diff suppressed because it is too large
Load Diff
@@ -132,6 +132,47 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
String get usbScreenEmptyState =>
|
||||
'No USB devices found. Plug one in and refresh.';
|
||||
|
||||
@override
|
||||
String get usbErrorPermissionDenied => 'USB permission was denied.';
|
||||
|
||||
@override
|
||||
String get usbErrorDeviceMissing =>
|
||||
'The selected USB device is no longer available.';
|
||||
|
||||
@override
|
||||
String get usbErrorInvalidPort => 'Select a valid USB device.';
|
||||
|
||||
@override
|
||||
String get usbErrorBusy =>
|
||||
'Another USB connection request is already in progress.';
|
||||
|
||||
@override
|
||||
String get usbErrorNotConnected => 'No USB device is connected.';
|
||||
|
||||
@override
|
||||
String get usbErrorOpenFailed => 'Failed to open the selected USB device.';
|
||||
|
||||
@override
|
||||
String get usbErrorConnectFailed =>
|
||||
'Failed to connect to the selected USB device.';
|
||||
|
||||
@override
|
||||
String get usbErrorUnsupported =>
|
||||
'USB serial is not supported on this platform.';
|
||||
|
||||
@override
|
||||
String get usbErrorAlreadyActive => 'A USB connection is already active.';
|
||||
|
||||
@override
|
||||
String get usbErrorNoDeviceSelected => 'No USB device was selected.';
|
||||
|
||||
@override
|
||||
String get usbErrorPortClosed => 'The USB connection is not open.';
|
||||
|
||||
@override
|
||||
String get usbErrorConnectTimedOut =>
|
||||
'Timed out waiting for the device to respond.';
|
||||
|
||||
@override
|
||||
String get scanner_scanning => 'Scanning for devices...';
|
||||
|
||||
|
||||
+384
-347
File diff suppressed because it is too large
Load Diff
+552
-515
File diff suppressed because it is too large
Load Diff
@@ -93,7 +93,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get common_loading => 'Caricamento...';
|
||||
|
||||
@override
|
||||
String get common_notAvailable => '—';
|
||||
String get common_notAvailable => '—';
|
||||
|
||||
@override
|
||||
String common_voltageValue(String volts) {
|
||||
@@ -126,12 +126,56 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get usbScreenNote =>
|
||||
'La comunicazione seriale USB è attiva sui dispositivi Android supportati e sulle piattaforme desktop.';
|
||||
'La comunicazione seriale USB è attiva sui dispositivi Android supportati e sulle piattaforme desktop.';
|
||||
|
||||
@override
|
||||
String get usbScreenEmptyState =>
|
||||
'Nessun dispositivo USB rilevato. Collegare uno e riavviare.';
|
||||
|
||||
@override
|
||||
String get usbErrorPermissionDenied =>
|
||||
'È stato negato l\'accesso tramite USB.';
|
||||
|
||||
@override
|
||||
String get usbErrorDeviceMissing =>
|
||||
'Il dispositivo USB selezionato non è più disponibile.';
|
||||
|
||||
@override
|
||||
String get usbErrorInvalidPort => 'Seleziona un dispositivo USB valido.';
|
||||
|
||||
@override
|
||||
String get usbErrorBusy =>
|
||||
'Un\'altra richiesta di connessione tramite USB è già in corso.';
|
||||
|
||||
@override
|
||||
String get usbErrorNotConnected => 'Non è collegato alcun dispositivo USB.';
|
||||
|
||||
@override
|
||||
String get usbErrorOpenFailed =>
|
||||
'Impossibile aprire il dispositivo USB selezionato.';
|
||||
|
||||
@override
|
||||
String get usbErrorConnectFailed =>
|
||||
'Impossibile connettersi al dispositivo USB selezionato.';
|
||||
|
||||
@override
|
||||
String get usbErrorUnsupported =>
|
||||
'La comunicazione seriale tramite USB non è supportata su questa piattaforma.';
|
||||
|
||||
@override
|
||||
String get usbErrorAlreadyActive => 'La connessione USB è già attiva.';
|
||||
|
||||
@override
|
||||
String get usbErrorNoDeviceSelected =>
|
||||
'Non è stato selezionato alcun dispositivo USB.';
|
||||
|
||||
@override
|
||||
String get usbErrorPortClosed => 'La connessione USB non è attiva.';
|
||||
|
||||
@override
|
||||
String get usbErrorConnectTimedOut =>
|
||||
'Attesa superata, in attesa di una risposta dal dispositivo.';
|
||||
|
||||
@override
|
||||
String get scanner_scanning => 'Scansione in corso per i dispositivi...';
|
||||
|
||||
@@ -168,7 +212,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get scanner_scan => 'Scansiona';
|
||||
|
||||
@override
|
||||
String get scanner_bluetoothOff => 'Il Bluetooth è disattivato.';
|
||||
String get scanner_bluetoothOff => 'Il Bluetooth è disattivato.';
|
||||
|
||||
@override
|
||||
String get scanner_bluetoothOffMessage =>
|
||||
@@ -265,7 +309,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get settings_longitude => 'Longitudine';
|
||||
|
||||
@override
|
||||
String get settings_privacyMode => 'Modalità Privacy';
|
||||
String get settings_privacyMode => 'Modalità Privacy';
|
||||
|
||||
@override
|
||||
String get settings_privacyModeSubtitle =>
|
||||
@@ -273,13 +317,13 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get settings_privacyModeToggle =>
|
||||
'Attiva la modalità privacy per nascondere il tuo nome e la tua posizione negli annunci.';
|
||||
'Attiva la modalità privacy per nascondere il tuo nome e la tua posizione negli annunci.';
|
||||
|
||||
@override
|
||||
String get settings_privacyModeEnabled => 'Modalità privacy abilitata';
|
||||
String get settings_privacyModeEnabled => 'Modalità privacy abilitata';
|
||||
|
||||
@override
|
||||
String get settings_privacyModeDisabled => 'Modalità privacy disabilitata';
|
||||
String get settings_privacyModeDisabled => 'Modalità privacy disabilitata';
|
||||
|
||||
@override
|
||||
String get settings_actions => 'Azioni';
|
||||
@@ -417,7 +461,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'Per la comunicazione fuori rete, è necessario utilizzare frequenze di 433, 869 o 918 MHz.';
|
||||
'Per la comunicazione fuori rete, è necessario utilizzare frequenze di 433, 869 o 918 MHz.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
@@ -452,10 +496,10 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get appSettings_languageEn => 'English';
|
||||
|
||||
@override
|
||||
String get appSettings_languageFr => 'Français';
|
||||
String get appSettings_languageFr => 'Français';
|
||||
|
||||
@override
|
||||
String get appSettings_languageEs => 'Español';
|
||||
String get appSettings_languageEs => 'Español';
|
||||
|
||||
@override
|
||||
String get appSettings_languageDe => 'Deutsch';
|
||||
@@ -464,16 +508,16 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get appSettings_languagePl => 'Polski';
|
||||
|
||||
@override
|
||||
String get appSettings_languageSl => 'SlovenÅ¡Äina';
|
||||
String get appSettings_languageSl => 'Slovenščina';
|
||||
|
||||
@override
|
||||
String get appSettings_languagePt => 'Português';
|
||||
String get appSettings_languagePt => 'Português';
|
||||
|
||||
@override
|
||||
String get appSettings_languageIt => 'Italiano';
|
||||
|
||||
@override
|
||||
String get appSettings_languageZh => '䏿–‡';
|
||||
String get appSettings_languageZh => '中文';
|
||||
|
||||
@override
|
||||
String get appSettings_languageSv => 'Svenska';
|
||||
@@ -482,10 +526,10 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get appSettings_languageNl => 'Nederlands';
|
||||
|
||||
@override
|
||||
String get appSettings_languageSk => 'SlovenÄina';
|
||||
String get appSettings_languageSk => 'Slovenčina';
|
||||
|
||||
@override
|
||||
String get appSettings_languageBg => 'БългарÑки';
|
||||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Russo';
|
||||
@@ -568,7 +612,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get appSettings_autoRouteRotationSubtitle =>
|
||||
'Alterna tra i percorsi migliori e la modalità alluvione';
|
||||
'Alterna tra i percorsi migliori e la modalità alluvione';
|
||||
|
||||
@override
|
||||
String get appSettings_autoRouteRotationEnabled =>
|
||||
@@ -663,7 +707,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get appSettings_offlineMapCache => 'Cache Mappa Offline';
|
||||
|
||||
@override
|
||||
String get appSettings_unitsTitle => 'Unità ';
|
||||
String get appSettings_unitsTitle => 'Unità';
|
||||
|
||||
@override
|
||||
String get appSettings_unitsMetric => 'Metrico (m/km)';
|
||||
@@ -782,12 +826,11 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get contacts_groupName => 'Nome gruppo';
|
||||
|
||||
@override
|
||||
String get contacts_groupNameRequired =>
|
||||
'Il nome del gruppo è obbligatorio.';
|
||||
String get contacts_groupNameRequired => 'Il nome del gruppo è obbligatorio.';
|
||||
|
||||
@override
|
||||
String contacts_groupAlreadyExists(String name) {
|
||||
return 'Il gruppo \"$name\" esiste già .';
|
||||
return 'Il gruppo \"$name\" esiste già.';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -873,7 +916,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String channels_deleteChannelConfirm(String name) {
|
||||
return 'Eliminare \"$name\"? Non può essere annullato.';
|
||||
return 'Eliminare \"$name\"? Non può essere annullato.';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -970,20 +1013,20 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get channels_joinPublicChannelDesc =>
|
||||
'Chiunque può unirsi a questo canale.';
|
||||
'Chiunque può unirsi a questo canale.';
|
||||
|
||||
@override
|
||||
String get channels_joinHashtagChannel => 'Unisciti a un Canale con Hashtag';
|
||||
|
||||
@override
|
||||
String get channels_joinHashtagChannelDesc =>
|
||||
'Chiunque può unirsi ai canali hashtag.';
|
||||
'Chiunque può unirsi ai canali hashtag.';
|
||||
|
||||
@override
|
||||
String get channels_scanQrCode => 'Scansiona un codice QR';
|
||||
|
||||
@override
|
||||
String get channels_scanQrCodeComingSoon => 'Arriverà presto';
|
||||
String get channels_scanQrCodeComingSoon => 'Arriverà presto';
|
||||
|
||||
@override
|
||||
String get channels_enterHashtag => 'Inserisci hashtag';
|
||||
@@ -1117,7 +1160,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get debugLog_rawLogRx => 'Log Raw-RX';
|
||||
|
||||
@override
|
||||
String get debugLog_noBleActivity => 'Nessuna attività BLE rilevata ancora.';
|
||||
String get debugLog_noBleActivity => 'Nessuna attività BLE rilevata ancora.';
|
||||
|
||||
@override
|
||||
String debugFrame_length(int count) {
|
||||
@@ -1173,20 +1216,20 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get chat_ShowAllPaths => 'Mostra tutti i percorsi';
|
||||
|
||||
@override
|
||||
String get chat_routingMode => 'Modalità di routing';
|
||||
String get chat_routingMode => 'Modalità di routing';
|
||||
|
||||
@override
|
||||
String get chat_autoUseSavedPath => 'Utilizza il percorso salvato';
|
||||
|
||||
@override
|
||||
String get chat_forceFloodMode => 'Modalità Inondamento Forzato';
|
||||
String get chat_forceFloodMode => 'Modalità Inondamento Forzato';
|
||||
|
||||
@override
|
||||
String get chat_recentAckPaths => 'Percorsi ACK Recenti (tocca per usare):';
|
||||
|
||||
@override
|
||||
String get chat_pathHistoryFull =>
|
||||
'La cronologia del percorso è piena. Rimuovi gli elementi per aggiungere nuovi.';
|
||||
'La cronologia del percorso è piena. Rimuovi gli elementi per aggiungere nuovi.';
|
||||
|
||||
@override
|
||||
String get chat_hopSingular => 'salta';
|
||||
@@ -1213,7 +1256,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get chat_noPathHistoryYet =>
|
||||
'Non c\'è ancora una cronologia del percorso.\nInvia un messaggio per scoprire i percorsi.';
|
||||
'Non c\'è ancora una cronologia del percorso.\nInvia un messaggio per scoprire i percorsi.';
|
||||
|
||||
@override
|
||||
String get chat_pathActions => 'Azioni Percorso:';
|
||||
@@ -1234,7 +1277,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get chat_pathCleared =>
|
||||
'Percorso sgomberato. Il prossimo messaggio riidentifierà il percorso.';
|
||||
'Percorso sgomberato. Il prossimo messaggio riidentifierà il percorso.';
|
||||
|
||||
@override
|
||||
String get chat_floodModeSubtitle =>
|
||||
@@ -1242,7 +1285,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get chat_floodModeEnabled =>
|
||||
'Modalità alluvione abilitata. Disattivala tramite l\'icona di routing nella barra in alto.';
|
||||
'Modalità alluvione abilitata. Disattivala tramite l\'icona di routing nella barra in alto.';
|
||||
|
||||
@override
|
||||
String get chat_fullPath => 'Percorso Completo';
|
||||
@@ -1417,7 +1460,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String map_publicLocationShareConfirm(String channelLabel) {
|
||||
return 'Stai per condividere una posizione in $channelLabel. Questo canale è pubblico e chiunque abbia la PSK può vederlo.';
|
||||
return 'Stai per condividere una posizione in $channelLabel. Questo canale è pubblico e chiunque abbia la PSK può vederlo.';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -1635,7 +1678,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get login_savePasswordSubtitle =>
|
||||
'La password verrà memorizzata in modo sicuro su questo dispositivo.';
|
||||
'La password verrà memorizzata in modo sicuro su questo dispositivo.';
|
||||
|
||||
@override
|
||||
String get login_repeaterDescription =>
|
||||
@@ -1649,13 +1692,13 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get login_routing => 'Instradamento';
|
||||
|
||||
@override
|
||||
String get login_routingMode => 'Modalità di routing';
|
||||
String get login_routingMode => 'Modalità di routing';
|
||||
|
||||
@override
|
||||
String get login_autoUseSavedPath => 'Utilizza il percorso salvato';
|
||||
|
||||
@override
|
||||
String get login_forceFloodMode => 'Modalità Inondamento Forzato';
|
||||
String get login_forceFloodMode => 'Modalità Inondamento Forzato';
|
||||
|
||||
@override
|
||||
String get login_managePaths => 'Gestisci Percorsi';
|
||||
@@ -1675,7 +1718,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get login_failedMessage =>
|
||||
'Accesso fallito. La password non è corretta oppure il ripetitore non è raggiungibile.';
|
||||
'Accesso fallito. La password non è corretta oppure il ripetitore non è raggiungibile.';
|
||||
|
||||
@override
|
||||
String get common_reload => 'Ricaricare';
|
||||
@@ -1718,7 +1761,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get path_helperMaxHops =>
|
||||
'Massimo 64 salti. Ogni prefisso è composto da 2 caratteri esadecimali (1 byte)';
|
||||
'Massimo 64 salti. Ogni prefisso è composto da 2 caratteri esadecimali (1 byte)';
|
||||
|
||||
@override
|
||||
String get path_selectFromContacts => 'Seleziona da contatti:';
|
||||
@@ -1738,7 +1781,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get path_tooLong =>
|
||||
'Il percorso è troppo lungo. Massimo 64 salti consentiti.';
|
||||
'Il percorso è troppo lungo. Massimo 64 salti consentiti.';
|
||||
|
||||
@override
|
||||
String get path_setPath => 'Imposta Percorso';
|
||||
@@ -1790,13 +1833,13 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get repeater_statusTitle => 'Stato del Ripetitore';
|
||||
|
||||
@override
|
||||
String get repeater_routingMode => 'Modalità di routing';
|
||||
String get repeater_routingMode => 'Modalità di routing';
|
||||
|
||||
@override
|
||||
String get repeater_autoUseSavedPath => 'Percorso salvato automatico';
|
||||
|
||||
@override
|
||||
String get repeater_forceFloodMode => 'Modalità Inondamento Forzato';
|
||||
String get repeater_forceFloodMode => 'Modalità Inondamento Forzato';
|
||||
|
||||
@override
|
||||
String get repeater_pathManagement => 'Gestione dei percorsi';
|
||||
@@ -1822,7 +1865,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get repeater_clockAtLogin => 'Orologio (all\'accesso)';
|
||||
|
||||
@override
|
||||
String get repeater_uptime => 'Disponibilità ';
|
||||
String get repeater_uptime => 'Disponibilità';
|
||||
|
||||
@override
|
||||
String get repeater_queueLength => 'Lunghezza della coda';
|
||||
@@ -1974,7 +2017,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
'Consenti l\'accesso ospite in sola lettura';
|
||||
|
||||
@override
|
||||
String get repeater_privacyMode => 'Modalità Privacy';
|
||||
String get repeater_privacyMode => 'Modalità Privacy';
|
||||
|
||||
@override
|
||||
String get repeater_privacyModeSubtitle =>
|
||||
@@ -1984,7 +2027,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get repeater_advertisementSettings => 'Impostazioni Annuncio';
|
||||
|
||||
@override
|
||||
String get repeater_localAdvertInterval => 'Intervallo Pubblicità Locale';
|
||||
String get repeater_localAdvertInterval => 'Intervallo Pubblicità Locale';
|
||||
|
||||
@override
|
||||
String repeater_localAdvertIntervalMinutes(int minutes) {
|
||||
@@ -1993,7 +2036,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_floodAdvertInterval =>
|
||||
'Intervallo Pubblicità Inondazione';
|
||||
'Intervallo Pubblicità Inondazione';
|
||||
|
||||
@override
|
||||
String repeater_floodAdvertIntervalHours(int hours) {
|
||||
@@ -2019,7 +2062,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
'Sei sicuro di voler riavviare questo ripetitore?';
|
||||
|
||||
@override
|
||||
String get repeater_regenerateIdentityKey => 'Rigenera Chiave Identità ';
|
||||
String get repeater_regenerateIdentityKey => 'Rigenera Chiave Identità';
|
||||
|
||||
@override
|
||||
String get repeater_regenerateIdentityKeySubtitle =>
|
||||
@@ -2027,7 +2070,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_regenerateIdentityKeyConfirm =>
|
||||
'Questo genererà una nuova identità per il ripetitore. Procedere?';
|
||||
'Questo genererà una nuova identità per il ripetitore. Procedere?';
|
||||
|
||||
@override
|
||||
String get repeater_eraseFileSystem => 'Elimina File System';
|
||||
@@ -2038,11 +2081,11 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_eraseFileSystemConfirm =>
|
||||
'ATTENZIONE: Ciò cancellerà tutti i dati sul ripetitore. Non può essere annullato!';
|
||||
'ATTENZIONE: Ciò cancellerà tutti i dati sul ripetitore. Non può essere annullato!';
|
||||
|
||||
@override
|
||||
String get repeater_eraseSerialOnly =>
|
||||
'Elimina è disponibile solo tramite console seriale.';
|
||||
'Elimina è disponibile solo tramite console seriale.';
|
||||
|
||||
@override
|
||||
String repeater_commandSent(String command) {
|
||||
@@ -2086,7 +2129,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get repeater_refreshGuestAccess => 'Aggiorna Accesso Ospite';
|
||||
|
||||
@override
|
||||
String get repeater_refreshPrivacyMode => 'Aggiorna Modalità Privacy';
|
||||
String get repeater_refreshPrivacyMode => 'Aggiorna Modalità Privacy';
|
||||
|
||||
@override
|
||||
String get repeater_refreshAdvertisementSettings =>
|
||||
@@ -2167,7 +2210,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpReboot =>
|
||||
'Riavvia il dispositivo. (nota, potresti ottenere \'Timeout\' che è normale)';
|
||||
'Riavvia il dispositivo. (nota, potresti ottenere \'Timeout\' che è normale)';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpClock =>
|
||||
@@ -2199,7 +2242,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetAllowReadOnly =>
|
||||
'(Server della stanza) Se \'on\', allora l\'accesso con una password vuota sarà consentito, ma non sarà possibile pubblicare nella stanza. (solo lettura).';
|
||||
'(Server della stanza) Se \'on\', allora l\'accesso con una password vuota sarà consentito, ma non sarà possibile pubblicare nella stanza. (solo lettura).';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetFloodMax =>
|
||||
@@ -2207,7 +2250,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetIntThresh =>
|
||||
'Imposta il Limite di Interferenza (in dB). Il valore predefinito è 14. Imposta su 0 per disabilitare il rilevamento delle interferenze del canale.';
|
||||
'Imposta il Limite di Interferenza (in dB). Il valore predefinito è 14. Imposta su 0 per disabilitare il rilevamento delle interferenze del canale.';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetAgcResetInterval =>
|
||||
@@ -2219,7 +2262,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetAdvertInterval =>
|
||||
'Imposta l\'intervallo del timer in minuti per inviare un pacchetto di pubblicità locale (senza salto). Imposta su 0 per disabilitare.';
|
||||
'Imposta l\'intervallo del timer in minuti per inviare un pacchetto di pubblicità locale (senza salto). Imposta su 0 per disabilitare.';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetFloodAdvertInterval =>
|
||||
@@ -2250,11 +2293,11 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetTxDelay =>
|
||||
'Imposta un fattore moltiplicato con il tempo di mantenimento per un pacchetto di modalità allagamento e con un sistema di slot casuale, per ritardarne la trasmissione (per diminuire la probabilità di collisioni).';
|
||||
'Imposta un fattore moltiplicato con il tempo di mantenimento per un pacchetto di modalità allagamento e con un sistema di slot casuale, per ritardarne la trasmissione (per diminuire la probabilità di collisioni).';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetDirectTxDelay =>
|
||||
'Uguale a txdelay, ma per applicare un ritardo casuale alla inoltrata di pacchetti in modalità diretta.';
|
||||
'Uguale a txdelay, ma per applicare un ritardo casuale alla inoltrata di pacchetti in modalità diretta.';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetBridgeEnabled => 'Abilita/Disabilita ponte.';
|
||||
@@ -2265,11 +2308,11 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetBridgeSource =>
|
||||
'Scegliere se il ponte dovrà ritrasmettere i pacchetti ricevuti o i pacchetti trasmessi.';
|
||||
'Scegliere se il ponte dovrà ritrasmettere i pacchetti ricevuti o i pacchetti trasmessi.';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetBridgeBaud =>
|
||||
'Imposta la velocità di trasmissione per i ponti rs232.';
|
||||
'Imposta la velocità di trasmissione per i ponti rs232.';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetBridgeSecret =>
|
||||
@@ -2285,7 +2328,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetPerm =>
|
||||
'Modifica l\'ACL. Rimuove l\'entrata corrispondente (per prefisso di pubkey) se \"permissions\" è zero. Aggiunge una nuova entrata se il pubkey-hex ha lunghezza completa e non è attualmente nell\'ACL. Aggiorna l\'entrata per corrispondenza del prefisso di pubkey. I bit di permesso variano per ogni ruolo di firmware, ma i primi 2 bit sono: 0 (Guest), 1 (solo lettura), 2 (lettura/scrittura), 3 (Admin)';
|
||||
'Modifica l\'ACL. Rimuove l\'entrata corrispondente (per prefisso di pubkey) se \"permissions\" è zero. Aggiunge una nuova entrata se il pubkey-hex ha lunghezza completa e non è attualmente nell\'ACL. Aggiorna l\'entrata per corrispondenza del prefisso di pubkey. I bit di permesso variano per ogni ruolo di firmware, ma i primi 2 bit sono: 0 (Guest), 1 (solo lettura), 2 (lettura/scrittura), 3 (Admin)';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpGetBridgeType =>
|
||||
@@ -2305,7 +2348,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpNeighbors =>
|
||||
'Mostra un elenco di altri nodi repeater ricevuti tramite annunci zero-hop. Ogni riga è id-prefisso-esadecimale:timestamp:snr-volte-4';
|
||||
'Mostra un elenco di altri nodi repeater ricevuti tramite annunci zero-hop. Ogni riga è id-prefisso-esadecimale:timestamp:snr-volte-4';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpNeighborRemove =>
|
||||
@@ -2317,7 +2360,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpRegionLoad =>
|
||||
'NOTA: questo è un\'invocazione multi-comando speciale. Ogni comando successivo è un nome di regione (indentato con spazi per indicare la gerarchia parentale, con almeno uno spazio). Terminata inviando una riga vuota/comando.';
|
||||
'NOTA: questo è un\'invocazione multi-comando speciale. Ogni comando successivo è un nome di regione (indentato con spazi per indicare la gerarchia parentale, con almeno uno spazio). Terminata inviando una riga vuota/comando.';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpRegionGet =>
|
||||
@@ -2337,7 +2380,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpRegionDenyf =>
|
||||
'Rimuove il permesso \'F\'lood per la regione specificata. (NOTA: a questo stadio non è consigliato utilizzarlo sullo scope globale/legacy!!).';
|
||||
'Rimuove il permesso \'F\'lood per la regione specificata. (NOTA: a questo stadio non è consigliato utilizzarlo sullo scope globale/legacy!!).';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpRegionHome =>
|
||||
@@ -2352,7 +2395,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpGps =>
|
||||
'Mostra lo stato del GPS. Quando il GPS è spento, risponde solo \"spento\", se è acceso risponde con \"acceso\", \"stato\", \"fix\" e numero di satelliti.';
|
||||
'Mostra lo stato del GPS. Quando il GPS è spento, risponde solo \"spento\", se è acceso risponde con \"acceso\", \"stato\", \"fix\" e numero di satelliti.';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpGpsOnOff =>
|
||||
@@ -2409,7 +2452,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_gpsNote =>
|
||||
'è stata introdotta una funzione gps per gestire le tematiche relative alla posizione.';
|
||||
'è stata introdotta una funzione gps per gestire le tematiche relative alla posizione.';
|
||||
|
||||
@override
|
||||
String get telemetry_receivedData => 'Dati Telemetria Ricevuti';
|
||||
@@ -2462,7 +2505,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String telemetry_temperatureValue(String celsius, String fahrenheit) {
|
||||
return '$celsius°C / $fahrenheit°F';
|
||||
return '$celsius°C / $fahrenheit°F';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -2530,7 +2573,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String channelPath_observedPathTitle(int index, String hops) {
|
||||
return 'Percorso osservato $index • $hops';
|
||||
return 'Percorso osservato $index • $hops';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -2585,7 +2628,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String channelPath_selectedPathLabel(String label, String prefixes) {
|
||||
return '$label • $prefixes';
|
||||
return '$label • $prefixes';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -2596,14 +2639,14 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get channelPath_unknownRepeater => 'Ripetitore sconosciuto';
|
||||
|
||||
@override
|
||||
String get community_title => 'Comunità ';
|
||||
String get community_title => 'Comunità';
|
||||
|
||||
@override
|
||||
String get community_create => 'Crea Comunità ';
|
||||
String get community_create => 'Crea Comunità';
|
||||
|
||||
@override
|
||||
String get community_createDesc =>
|
||||
'Crea una nuova comunità e condividila tramite codice QR.';
|
||||
'Crea una nuova comunità e condividila tramite codice QR.';
|
||||
|
||||
@override
|
||||
String get community_join => 'Unisciti';
|
||||
@@ -2621,35 +2664,35 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get community_scanInstructions =>
|
||||
'Punta la fotocamera su un codice QR della comunità ';
|
||||
'Punta la fotocamera su un codice QR della comunità';
|
||||
|
||||
@override
|
||||
String get community_showQr => 'Mostra il codice QR';
|
||||
|
||||
@override
|
||||
String get community_publicChannel => 'Comunità Pubblica';
|
||||
String get community_publicChannel => 'Comunità Pubblica';
|
||||
|
||||
@override
|
||||
String get community_hashtagChannel => 'Hashtag della Comunità ';
|
||||
String get community_hashtagChannel => 'Hashtag della Comunità';
|
||||
|
||||
@override
|
||||
String get community_name => 'Nome della Comunità ';
|
||||
String get community_name => 'Nome della Comunità';
|
||||
|
||||
@override
|
||||
String get community_enterName => 'Inserisci il nome della comunità ';
|
||||
String get community_enterName => 'Inserisci il nome della comunità';
|
||||
|
||||
@override
|
||||
String community_created(String name) {
|
||||
return 'Comunità \"$name\" creata';
|
||||
return 'Comunità \"$name\" creata';
|
||||
}
|
||||
|
||||
@override
|
||||
String community_joined(String name) {
|
||||
return 'Unito alla comunità \"$name\"';
|
||||
return 'Unito alla comunità \"$name\"';
|
||||
}
|
||||
|
||||
@override
|
||||
String get community_qrTitle => 'Condividi Comunità ';
|
||||
String get community_qrTitle => 'Condividi Comunità';
|
||||
|
||||
@override
|
||||
String community_qrInstructions(String name) {
|
||||
@@ -2664,16 +2707,16 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get community_invalidQrCode => 'Codice QR della community non valido';
|
||||
|
||||
@override
|
||||
String get community_alreadyMember => 'Già membro';
|
||||
String get community_alreadyMember => 'Già membro';
|
||||
|
||||
@override
|
||||
String community_alreadyMemberMessage(String name) {
|
||||
return 'Sei già un membro di \"$name\".';
|
||||
return 'Sei già un membro di \"$name\".';
|
||||
}
|
||||
|
||||
@override
|
||||
String get community_addPublicChannel =>
|
||||
'Aggiungi Canale Pubblico della Comunità ';
|
||||
'Aggiungi Canale Pubblico della Comunità';
|
||||
|
||||
@override
|
||||
String get community_addPublicChannelHint =>
|
||||
@@ -2687,10 +2730,10 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
'Scansiona un codice QR o crea una community per iniziare.';
|
||||
|
||||
@override
|
||||
String get community_manageCommunities => 'Gestisci Comunità ';
|
||||
String get community_manageCommunities => 'Gestisci Comunità';
|
||||
|
||||
@override
|
||||
String get community_delete => 'Lascia la Comunità ';
|
||||
String get community_delete => 'Lascia la Comunità';
|
||||
|
||||
@override
|
||||
String community_deleteConfirm(String name) {
|
||||
@@ -2699,12 +2742,12 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String community_deleteChannelsWarning(int count) {
|
||||
return 'Questo eliminerà anche $count canale/i e i loro messaggi.';
|
||||
return 'Questo eliminerà anche $count canale/i e i loro messaggi.';
|
||||
}
|
||||
|
||||
@override
|
||||
String community_deleted(String name) {
|
||||
return 'Hai lasciato la comunità \"$name\"';
|
||||
return 'Hai lasciato la comunità \"$name\"';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -2744,21 +2787,21 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
'Aggiungi un canale con hashtag per questa community';
|
||||
|
||||
@override
|
||||
String get community_selectCommunity => 'Seleziona Comunità ';
|
||||
String get community_selectCommunity => 'Seleziona Comunità';
|
||||
|
||||
@override
|
||||
String get community_regularHashtag => 'Hashtag regolare';
|
||||
|
||||
@override
|
||||
String get community_regularHashtagDesc =>
|
||||
'Hashtag pubblico (chiunque può unirsi)';
|
||||
'Hashtag pubblico (chiunque può unirsi)';
|
||||
|
||||
@override
|
||||
String get community_communityHashtag => 'Hashtag della Comunità ';
|
||||
String get community_communityHashtag => 'Hashtag della Comunità';
|
||||
|
||||
@override
|
||||
String get community_communityHashtagDesc =>
|
||||
'Visibile solo ai membri della comunità ';
|
||||
'Visibile solo ai membri della comunità';
|
||||
|
||||
@override
|
||||
String community_forCommunity(String name) {
|
||||
@@ -2825,7 +2868,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get pathTrace_someHopsNoLocation =>
|
||||
'Uno o più dei luppoli mancano di una posizione!';
|
||||
'Uno o più dei luppoli mancano di una posizione!';
|
||||
|
||||
@override
|
||||
String get pathTrace_clearTooltip => 'Pulisci percorso';
|
||||
@@ -2847,7 +2890,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
'Eseguire LOS per visualizzare il profilo altimetrico';
|
||||
|
||||
@override
|
||||
String get losMenuTitle => 'Menù LOS';
|
||||
String get losMenuTitle => 'Menù LOS';
|
||||
|
||||
@override
|
||||
String get losMenuSubtitle =>
|
||||
@@ -2919,7 +2962,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get losErrorElevationUnavailable =>
|
||||
'Dati di elevazione non disponibili per uno o più campioni.';
|
||||
'Dati di elevazione non disponibili per uno o più campioni.';
|
||||
|
||||
@override
|
||||
String get losErrorInvalidInput =>
|
||||
@@ -2957,7 +3000,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get losFrequencyInfoTooltip => 'Visualizza i dettagli del calcolo';
|
||||
|
||||
@override
|
||||
String get losFrequencyDialogTitle => 'Calcolo dell’orizzonte radio';
|
||||
String get losFrequencyDialogTitle => 'Calcolo dell’orizzonte radio';
|
||||
|
||||
@override
|
||||
String losFrequencyDialogDescription(
|
||||
@@ -2997,13 +3040,13 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
}
|
||||
|
||||
@override
|
||||
String get contacts_clipboardEmpty => 'La clipboard è vuota.';
|
||||
String get contacts_clipboardEmpty => 'La clipboard è vuota.';
|
||||
|
||||
@override
|
||||
String get contacts_invalidAdvertFormat => 'Dati di contatto non validi';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Il contatto è stato importato.';
|
||||
String get contacts_contactImported => 'Il contatto è stato importato.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed =>
|
||||
@@ -3045,7 +3088,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
'Copia dell\'annuncio nella Clipboard non riuscita.';
|
||||
|
||||
@override
|
||||
String get notification_activityTitle => 'Attività MeshCore';
|
||||
String get notification_activityTitle => 'Attività MeshCore';
|
||||
|
||||
@override
|
||||
String notification_messagesCount(int count) {
|
||||
@@ -3123,7 +3166,7 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError =>
|
||||
'Si è verificato un errore durante l\'esportazione.';
|
||||
'Si è verificato un errore durante l\'esportazione.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
|
||||
@@ -69,7 +69,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get common_share => 'Delen';
|
||||
|
||||
@override
|
||||
String get common_copy => 'Kopiëren';
|
||||
String get common_copy => 'Kopiëren';
|
||||
|
||||
@override
|
||||
String get common_retry => 'Nogmaals proberen';
|
||||
@@ -93,7 +93,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get common_loading => 'Laden...';
|
||||
|
||||
@override
|
||||
String get common_notAvailable => '—';
|
||||
String get common_notAvailable => '—';
|
||||
|
||||
@override
|
||||
String common_voltageValue(String volts) {
|
||||
@@ -119,7 +119,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get usbScreenSubtitle =>
|
||||
'Kies een gedetecteerd seriële apparaat en verbind deze direct met uw MeshCore-node.';
|
||||
'Kies een gedetecteerd seriële apparaat en verbind deze direct met uw MeshCore-node.';
|
||||
|
||||
@override
|
||||
String get usbScreenStatus => 'Selecteer een USB-apparaat';
|
||||
@@ -132,6 +132,48 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get usbScreenEmptyState =>
|
||||
'Geen USB-apparaten gevonden. Sluit er een aan en herlaad.';
|
||||
|
||||
@override
|
||||
String get usbErrorPermissionDenied => 'Toegang via USB is geweigerd.';
|
||||
|
||||
@override
|
||||
String get usbErrorDeviceMissing =>
|
||||
'Het geselecteerde USB-apparaat is niet meer beschikbaar.';
|
||||
|
||||
@override
|
||||
String get usbErrorInvalidPort => 'Selecteer een geldig USB-apparaat.';
|
||||
|
||||
@override
|
||||
String get usbErrorBusy =>
|
||||
'Een andere verzoek om een USB-verbinding is al in behandeling.';
|
||||
|
||||
@override
|
||||
String get usbErrorNotConnected => 'Er is geen USB-apparaat aangesloten.';
|
||||
|
||||
@override
|
||||
String get usbErrorOpenFailed =>
|
||||
'Kon het geselecteerde USB-apparaat niet openen.';
|
||||
|
||||
@override
|
||||
String get usbErrorConnectFailed =>
|
||||
'Kon niet verbinding maken met het geselecteerde USB-apparaat.';
|
||||
|
||||
@override
|
||||
String get usbErrorUnsupported =>
|
||||
'USB-serieel is niet ondersteund op deze platform.';
|
||||
|
||||
@override
|
||||
String get usbErrorAlreadyActive => 'Een USB-verbinding is al actief.';
|
||||
|
||||
@override
|
||||
String get usbErrorNoDeviceSelected => 'Geen USB-apparaat is geselecteerd.';
|
||||
|
||||
@override
|
||||
String get usbErrorPortClosed => 'De USB-verbinding is niet actief.';
|
||||
|
||||
@override
|
||||
String get usbErrorConnectTimedOut =>
|
||||
'Wachtperiode is verlopen, er is geen reactie ontvangen van het apparaat.';
|
||||
|
||||
@override
|
||||
String get scanner_scanning => 'Scannen naar apparaten...';
|
||||
|
||||
@@ -231,7 +273,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get settings_location => 'Locatie';
|
||||
|
||||
@override
|
||||
String get settings_locationSubtitle => 'GPS coördinaten';
|
||||
String get settings_locationSubtitle => 'GPS coördinaten';
|
||||
|
||||
@override
|
||||
String get settings_locationUpdated => 'Locatie bijgewerkt';
|
||||
@@ -450,10 +492,10 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get appSettings_languageEn => 'English';
|
||||
|
||||
@override
|
||||
String get appSettings_languageFr => 'Français';
|
||||
String get appSettings_languageFr => 'Français';
|
||||
|
||||
@override
|
||||
String get appSettings_languageEs => 'Español';
|
||||
String get appSettings_languageEs => 'Español';
|
||||
|
||||
@override
|
||||
String get appSettings_languageDe => 'Deutsch';
|
||||
@@ -462,16 +504,16 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get appSettings_languagePl => 'Polski';
|
||||
|
||||
@override
|
||||
String get appSettings_languageSl => 'SlovenÅ¡Äina';
|
||||
String get appSettings_languageSl => 'Slovenščina';
|
||||
|
||||
@override
|
||||
String get appSettings_languagePt => 'Português';
|
||||
String get appSettings_languagePt => 'Português';
|
||||
|
||||
@override
|
||||
String get appSettings_languageIt => 'Italiano';
|
||||
|
||||
@override
|
||||
String get appSettings_languageZh => '䏿–‡';
|
||||
String get appSettings_languageZh => '中文';
|
||||
|
||||
@override
|
||||
String get appSettings_languageSv => 'Svenska';
|
||||
@@ -480,16 +522,16 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get appSettings_languageNl => 'Nederlands';
|
||||
|
||||
@override
|
||||
String get appSettings_languageSk => 'SlovenÄina';
|
||||
String get appSettings_languageSk => 'Slovenčina';
|
||||
|
||||
@override
|
||||
String get appSettings_languageBg => 'БългарÑки';
|
||||
String get appSettings_languageBg => 'Български';
|
||||
|
||||
@override
|
||||
String get appSettings_languageRu => 'Russisch';
|
||||
|
||||
@override
|
||||
String get appSettings_languageUk => 'Oekraïens';
|
||||
String get appSettings_languageUk => 'Oekraïens';
|
||||
|
||||
@override
|
||||
String get appSettings_enableMessageTracing => 'Berichttracking inschakelen';
|
||||
@@ -847,7 +889,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get channels_public => 'Openbaar';
|
||||
|
||||
@override
|
||||
String get channels_private => 'Privé';
|
||||
String get channels_private => 'Privé';
|
||||
|
||||
@override
|
||||
String get channels_publicChannel => 'Open kanaal';
|
||||
@@ -947,14 +989,14 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get channels_sortUnread => 'Ongelezen';
|
||||
|
||||
@override
|
||||
String get channels_createPrivateChannel => 'Maak een Privé Kanaal';
|
||||
String get channels_createPrivateChannel => 'Maak een Privé Kanaal';
|
||||
|
||||
@override
|
||||
String get channels_createPrivateChannelDesc =>
|
||||
'Beveiligd met een geheime sleutel.';
|
||||
|
||||
@override
|
||||
String get channels_joinPrivateChannel => 'Sluit een Privé Kanaal aan';
|
||||
String get channels_joinPrivateChannel => 'Sluit een Privé Kanaal aan';
|
||||
|
||||
@override
|
||||
String get channels_joinPrivateChannelDesc =>
|
||||
@@ -1336,7 +1378,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get map_nodesNeedGps =>
|
||||
'Nodes moeten hun GPS-coördinaten delen\nom op de kaart te verschijnen';
|
||||
'Nodes moeten hun GPS-coördinaten delen\nom op de kaart te verschijnen';
|
||||
|
||||
@override
|
||||
String map_nodesCount(int count) {
|
||||
@@ -1364,7 +1406,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get map_pinDm => 'Verzenden als bericht (DM)';
|
||||
|
||||
@override
|
||||
String get map_pinPrivate => 'Beveiligd (Privé)';
|
||||
String get map_pinPrivate => 'Beveiligd (Privé)';
|
||||
|
||||
@override
|
||||
String get map_pinPublic => 'Openbaar spikken';
|
||||
@@ -2031,7 +2073,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_eraseSerialOnly =>
|
||||
'Verwijderen is alleen beschikbaar via de seriële console.';
|
||||
'Verwijderen is alleen beschikbaar via de seriële console.';
|
||||
|
||||
@override
|
||||
String repeater_commandSent(String command) {
|
||||
@@ -2259,7 +2301,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetBridgeBaud =>
|
||||
'Stel de seriële link baudrate in voor rs232 bruggen.';
|
||||
'Stel de seriële link baudrate in voor rs232 bruggen.';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetBridgeSecret =>
|
||||
@@ -2275,7 +2317,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpSetPerm =>
|
||||
'Wijzigt de ACL. Verwijder de overeenkomstige entry (door pubkey prefix) als \"permissions\" 0 is. Voeg een nieuwe entry toe als pubkey-hex volledig is en niet momenteel in de ACL staat. Update de entry door matching pubkey prefix. Toestemming bits variëren per firmware rol, maar de onderste 2 bits zijn: 0 (Gast), 1 (Alleen lezen), 2 (Lezen/schrijven), 3 (Admin)';
|
||||
'Wijzigt de ACL. Verwijder de overeenkomstige entry (door pubkey prefix) als \"permissions\" 0 is. Voeg een nieuwe entry toe als pubkey-hex volledig is en niet momenteel in de ACL staat. Update de entry door matching pubkey prefix. Toestemming bits variëren per firmware rol, maar de onderste 2 bits zijn: 0 (Gast), 1 (Alleen lezen), 2 (Lezen/schrijven), 3 (Admin)';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpGetBridgeType =>
|
||||
@@ -2307,7 +2349,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpRegionLoad =>
|
||||
'LET OP: dit is een speciale multi-command aanroep. Elke volgende opdracht is een regiortaak (uitgelijnd met spaties om de ouderhiërarchie aan te duiden, met minimaal één spatie). Beëindigd door een lege regel/opdracht te sturen.';
|
||||
'LET OP: dit is een speciale multi-command aanroep. Elke volgende opdracht is een regiortaak (uitgelijnd met spaties om de ouderhiërarchie aan te duiden, met minimaal één spatie). Beëindigd door een lege regel/opdracht te sturen.';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpRegionGet =>
|
||||
@@ -2352,7 +2394,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpGpsSetLoc =>
|
||||
'Stel de positie van de node vast als GPS-coördinaten en sla de voorkeuren op.';
|
||||
'Stel de positie van de node vast als GPS-coördinaten en sla de voorkeuren op.';
|
||||
|
||||
@override
|
||||
String get repeater_cliHelpGpsAdvert =>
|
||||
@@ -2390,14 +2432,14 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get repeater_regionNote =>
|
||||
'Regio-commando\'s zijn geïntroduceerd om regio-definities en permissies te beheren.';
|
||||
'Regio-commando\'s zijn geïntroduceerd om regio-definities en permissies te beheren.';
|
||||
|
||||
@override
|
||||
String get repeater_gpsManagement => 'Beheer GPS';
|
||||
|
||||
@override
|
||||
String get repeater_gpsNote =>
|
||||
'De GPS-commando is geïntroduceerd om locatiegerelateerde onderwerpen te beheren.';
|
||||
'De GPS-commando is geïntroduceerd om locatiegerelateerde onderwerpen te beheren.';
|
||||
|
||||
@override
|
||||
String get telemetry_receivedData => 'Ontvangen Telemetriedata';
|
||||
@@ -2450,7 +2492,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String telemetry_temperatureValue(String celsius, String fahrenheit) {
|
||||
return '$celsius°C / $fahrenheit°F';
|
||||
return '$celsius°C / $fahrenheit°F';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -2519,7 +2561,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String channelPath_observedPathTitle(int index, String hops) {
|
||||
return 'Waargenomen pad $index • $hops';
|
||||
return 'Waargenomen pad $index • $hops';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -2574,7 +2616,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String channelPath_selectedPathLabel(String label, String prefixes) {
|
||||
return '$label • $prefixes';
|
||||
return '$label • $prefixes';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -2991,11 +3033,11 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get contacts_invalidAdvertFormat => 'Ongeldige contactgegevens';
|
||||
|
||||
@override
|
||||
String get contacts_contactImported => 'Contact is geïmporteerd.';
|
||||
String get contacts_contactImported => 'Contact is geïmporteerd.';
|
||||
|
||||
@override
|
||||
String get contacts_contactImportFailed =>
|
||||
'Contact kon niet geïmporteerd worden.';
|
||||
'Contact kon niet geïmporteerd worden.';
|
||||
|
||||
@override
|
||||
String get contacts_zeroHopAdvert => 'Zero Hop Reclame';
|
||||
@@ -3004,14 +3046,14 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get contacts_floodAdvert => 'Overstromingsadvertentie';
|
||||
|
||||
@override
|
||||
String get contacts_copyAdvertToClipboard => 'Advert naar klembord kopiëren';
|
||||
String get contacts_copyAdvertToClipboard => 'Advert naar klembord kopiëren';
|
||||
|
||||
@override
|
||||
String get contacts_addContactFromClipboard =>
|
||||
'Contact uit klembord toevoegen';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContact => 'Kontakt naar Klembord kopiëren';
|
||||
String get contacts_ShareContact => 'Kontakt naar Klembord kopiëren';
|
||||
|
||||
@override
|
||||
String get contacts_ShareContactZeroHop => 'Contact delen via advertentie';
|
||||
@@ -3030,7 +3072,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Kopiëren van advertentie naar Clipboard is mislukt.';
|
||||
'Kopiëren van advertentie naar Clipboard is mislukt.';
|
||||
|
||||
@override
|
||||
String get notification_activityTitle => 'MeshCore Activiteit';
|
||||
@@ -3099,8 +3141,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
'Exporteert alle contacten met een locatie naar een GPX-bestand.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess =>
|
||||
'Succesvol GPX-bestand geëxporteerd.';
|
||||
String get settings_gpxExportSuccess => 'Succesvol GPX-bestand geëxporteerd.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => 'Geen contacten om te exporteren.';
|
||||
@@ -3124,7 +3165,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Kaartgegevens geëxporteerd uit meshcore-open';
|
||||
'Kaartgegevens geëxporteerd uit meshcore-open';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
|
||||
+646
-618
File diff suppressed because it is too large
Load Diff
+429
-398
File diff suppressed because it is too large
Load Diff
+931
-1060
File diff suppressed because it is too large
Load Diff
+775
-754
File diff suppressed because it is too large
Load Diff
+433
-401
File diff suppressed because it is too large
Load Diff
+488
-460
File diff suppressed because it is too large
Load Diff
+926
-1054
File diff suppressed because it is too large
Load Diff
+898
-981
File diff suppressed because it is too large
Load Diff
+51
-39
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"channels_channelDeleteFailed": "Kan kanaal {name} niet verwijderen",
|
||||
"@channels_channelDeleteFailed": {
|
||||
"placeholders": {
|
||||
@@ -27,7 +27,7 @@
|
||||
"common_create": "Maak",
|
||||
"common_continue": "Doorgaan",
|
||||
"common_share": "Delen",
|
||||
"common_copy": "Kopiëren",
|
||||
"common_copy": "Kopiëren",
|
||||
"common_retry": "Nogmaals proberen",
|
||||
"common_hide": "Verbergen",
|
||||
"common_remove": "Verwijderen",
|
||||
@@ -35,7 +35,7 @@
|
||||
"common_disable": "Uitschakelen",
|
||||
"common_reboot": "Herstarten",
|
||||
"common_loading": "Laden...",
|
||||
"common_notAvailable": "—",
|
||||
"common_notAvailable": "—",
|
||||
"common_voltageValue": "{volts} V",
|
||||
"@common_voltageValue": {
|
||||
"placeholders": {
|
||||
@@ -92,7 +92,7 @@
|
||||
"settings_radioSettingsSubtitle": "Frequentie, vermogen, spredfactor",
|
||||
"settings_radioSettingsUpdated": "Radio instellingen bijgewerkt",
|
||||
"settings_location": "Locatie",
|
||||
"settings_locationSubtitle": "GPS coördinaten",
|
||||
"settings_locationSubtitle": "GPS coördinaten",
|
||||
"settings_locationUpdated": "Locatie bijgewerkt",
|
||||
"settings_locationBothRequired": "Voer zowel breedte- als lengtegraad in.",
|
||||
"settings_locationInvalid": "Ongeldige breedtegraad of lengtegraad.",
|
||||
@@ -165,18 +165,18 @@
|
||||
"appSettings_language": "Taal",
|
||||
"appSettings_languageSystem": "Standaardinstelling",
|
||||
"appSettings_languageEn": "English",
|
||||
"appSettings_languageFr": "Français",
|
||||
"appSettings_languageEs": "Español",
|
||||
"appSettings_languageFr": "Français",
|
||||
"appSettings_languageEs": "Español",
|
||||
"appSettings_languageDe": "Deutsch",
|
||||
"appSettings_languagePl": "Polski",
|
||||
"appSettings_languageSl": "SlovenÅ¡Äina",
|
||||
"appSettings_languagePt": "Português",
|
||||
"appSettings_languageSl": "Slovenščina",
|
||||
"appSettings_languagePt": "Português",
|
||||
"appSettings_languageIt": "Italiano",
|
||||
"appSettings_languageZh": "䏿–‡",
|
||||
"appSettings_languageZh": "中文",
|
||||
"appSettings_languageSv": "Svenska",
|
||||
"appSettings_languageNl": "Nederlands",
|
||||
"appSettings_languageSk": "SlovenÄina",
|
||||
"appSettings_languageBg": "БългарÑки",
|
||||
"appSettings_languageSk": "Slovenčina",
|
||||
"appSettings_languageBg": "Български",
|
||||
"appSettings_notifications": "Notificaties",
|
||||
"appSettings_enableNotifications": "Notificaties inschakelen",
|
||||
"appSettings_enableNotificationsSubtitle": "Ontvang meldingen voor berichten en advertenties",
|
||||
@@ -338,7 +338,7 @@
|
||||
},
|
||||
"channels_hashtagChannel": "Hashtag kanaal",
|
||||
"channels_public": "Openbaar",
|
||||
"channels_private": "Privé",
|
||||
"channels_private": "Privé",
|
||||
"channels_publicChannel": "Open kanaal",
|
||||
"channels_privateChannel": "Private kanaal",
|
||||
"channels_editChannel": "Kanaal bewerken",
|
||||
@@ -623,7 +623,7 @@
|
||||
"chat_invalidLink": "Ongeldig linkformaat",
|
||||
"map_title": "Node Map",
|
||||
"map_noNodesWithLocation": "Geen nodes met locatiegegevens",
|
||||
"map_nodesNeedGps": "Nodes moeten hun GPS-coördinaten delen\nom op de kaart te verschijnen",
|
||||
"map_nodesNeedGps": "Nodes moeten hun GPS-coördinaten delen\nom op de kaart te verschijnen",
|
||||
"map_nodesCount": "Nodes: {count}",
|
||||
"@map_nodesCount": {
|
||||
"placeholders": {
|
||||
@@ -645,7 +645,7 @@
|
||||
"map_room": "Ruimte",
|
||||
"map_sensor": "Sensor",
|
||||
"map_pinDm": "Verzenden als bericht (DM)",
|
||||
"map_pinPrivate": "Beveiligd (Privé)",
|
||||
"map_pinPrivate": "Beveiligd (Privé)",
|
||||
"map_pinPublic": "Openbaar spikken",
|
||||
"map_lastSeen": "Laaste keer gezien",
|
||||
"map_disconnectConfirm": "Ben je er zeker van dat je verbinding met dit apparaat wilt verbreken?",
|
||||
@@ -1039,7 +1039,7 @@
|
||||
"repeater_eraseFileSystem": "Verwijder Besturingssysteem",
|
||||
"repeater_eraseFileSystemSubtitle": "Formateer het bestandsysteem van de repeater",
|
||||
"repeater_eraseFileSystemConfirm": "WAARSCHUWING: Dit zal alle gegevens op de repeater wissen. Dit kan niet worden teruggedraaid!",
|
||||
"repeater_eraseSerialOnly": "Verwijderen is alleen beschikbaar via de seriële console.",
|
||||
"repeater_eraseSerialOnly": "Verwijderen is alleen beschikbaar via de seriële console.",
|
||||
"repeater_commandSent": "Commando verzonden: {command}",
|
||||
"@repeater_commandSent": {
|
||||
"placeholders": {
|
||||
@@ -1143,11 +1143,11 @@
|
||||
"repeater_cliHelpSetBridgeEnabled": "Poort inschakelen/uitschakelen.",
|
||||
"repeater_cliHelpSetBridgeDelay": "Verzend vertraging instellen voor pakketten.",
|
||||
"repeater_cliHelpSetBridgeSource": "Kies of de brug ontvangen pakketten of verzonden pakketten opnieuw moet versturen.",
|
||||
"repeater_cliHelpSetBridgeBaud": "Stel de seriële link baudrate in voor rs232 bruggen.",
|
||||
"repeater_cliHelpSetBridgeBaud": "Stel de seriële link baudrate in voor rs232 bruggen.",
|
||||
"repeater_cliHelpSetBridgeSecret": "Stel bridge-geheim in voor espnow bridges.",
|
||||
"repeater_cliHelpSetAdcMultiplier": "Stelt een aangepaste factor in om de gerapporteerde batterijspanning aan te passen (alleen ondersteund op selecte borden).",
|
||||
"repeater_cliHelpTempRadio": "Stelt tijdelijke radio parameters in voor het opgegeven aantal minuten, en keert daarna terug naar de originele radio parameters. (wordt niet opgeslagen in de voorkeuren).",
|
||||
"repeater_cliHelpSetPerm": "Wijzigt de ACL. Verwijder de overeenkomstige entry (door pubkey prefix) als \"permissions\" 0 is. Voeg een nieuwe entry toe als pubkey-hex volledig is en niet momenteel in de ACL staat. Update de entry door matching pubkey prefix. Toestemming bits variëren per firmware rol, maar de onderste 2 bits zijn: 0 (Gast), 1 (Alleen lezen), 2 (Lezen/schrijven), 3 (Admin)",
|
||||
"repeater_cliHelpSetPerm": "Wijzigt de ACL. Verwijder de overeenkomstige entry (door pubkey prefix) als \"permissions\" 0 is. Voeg een nieuwe entry toe als pubkey-hex volledig is en niet momenteel in de ACL staat. Update de entry door matching pubkey prefix. Toestemming bits variëren per firmware rol, maar de onderste 2 bits zijn: 0 (Gast), 1 (Alleen lezen), 2 (Lezen/schrijven), 3 (Admin)",
|
||||
"repeater_cliHelpGetBridgeType": "Ontvang brugtype: geen, rs232, espnow",
|
||||
"repeater_cliHelpLogStart": "Start pakketlogging naar het bestandssysteem.",
|
||||
"repeater_cliHelpLogStop": "Stoppen met het loggen van pakketten naar het bestandssysteem.",
|
||||
@@ -1155,7 +1155,7 @@
|
||||
"repeater_cliHelpNeighbors": "Toont een lijst met andere repeater nodes die via nul-hop advertenties zijn gehoord. Elke regel is id-prefix-hex:timestamp:snr-times-4",
|
||||
"repeater_cliHelpNeighborRemove": "Verwijdert de eerste overeenkomende vermelding (via pubkey prefix (hex)) uit de lijst van buren.",
|
||||
"repeater_cliHelpRegion": "(Alleen Serieel) Lijst alle gedefinieerde regio's en huidige floodrechten.",
|
||||
"repeater_cliHelpRegionLoad": "LET OP: dit is een speciale multi-command aanroep. Elke volgende opdracht is een regiortaak (uitgelijnd met spaties om de ouderhiërarchie aan te duiden, met minimaal één spatie). Beëindigd door een lege regel/opdracht te sturen.",
|
||||
"repeater_cliHelpRegionLoad": "LET OP: dit is een speciale multi-command aanroep. Elke volgende opdracht is een regiortaak (uitgelijnd met spaties om de ouderhiërarchie aan te duiden, met minimaal één spatie). Beëindigd door een lege regel/opdracht te sturen.",
|
||||
"repeater_cliHelpRegionGet": "Zoekt naar regio met gegeven naam voorvoegsel (of \"\" voor de globale scope). Antwoordt met \"-> regio-naam (ouder-naam) 'F'\"",
|
||||
"repeater_cliHelpRegionPut": "Voegt of wijzigt een regio-definitie met de gegeven naam.",
|
||||
"repeater_cliHelpRegionRemove": "Verwijdert een regio-definitie met de gegeven naam. (moet exact overeenkomen en geen kindregio's hebben)",
|
||||
@@ -1167,7 +1167,7 @@
|
||||
"repeater_cliHelpGps": "Geeft de status van de GPS. Wanneer de GPS uit staat, antwoordt het alleen met \"uit\", als het aan staat, antwoordt het met \"aan\", status, fix, sat count.",
|
||||
"repeater_cliHelpGpsOnOff": "Schakel de GPS-standby aan/uit.",
|
||||
"repeater_cliHelpGpsSync": "Synchroniseer node met GPS-klok.",
|
||||
"repeater_cliHelpGpsSetLoc": "Stel de positie van de node vast als GPS-coördinaten en sla de voorkeuren op.",
|
||||
"repeater_cliHelpGpsSetLoc": "Stel de positie van de node vast als GPS-coördinaten en sla de voorkeuren op.",
|
||||
"repeater_cliHelpGpsAdvert": "Geeft de locatie advertentieconfiguratie van de node:\n- none: locatie niet in advertenties opnemen\n- share: gps locatie delen (van SensorManager)\n- prefs: locatie adverteren die in de voorkeuren is opgeslagen",
|
||||
"repeater_cliHelpGpsAdvertSet": "Stelt advertentie locatie configuratie in.",
|
||||
"repeater_commandsListTitle": "Commandenlijst",
|
||||
@@ -1178,9 +1178,9 @@
|
||||
"repeater_logging": "Logging",
|
||||
"repeater_neighborsRepeaterOnly": "Buren (Alleen repeaters)",
|
||||
"repeater_regionManagementRepeaterOnly": "Regiobeheer (Alleen Repeater)",
|
||||
"repeater_regionNote": "Regio-commando's zijn geïntroduceerd om regio-definities en permissies te beheren.",
|
||||
"repeater_regionNote": "Regio-commando's zijn geïntroduceerd om regio-definities en permissies te beheren.",
|
||||
"repeater_gpsManagement": "Beheer GPS",
|
||||
"repeater_gpsNote": "De GPS-commando is geïntroduceerd om locatiegerelateerde onderwerpen te beheren.",
|
||||
"repeater_gpsNote": "De GPS-commando is geïntroduceerd om locatiegerelateerde onderwerpen te beheren.",
|
||||
"telemetry_receivedData": "Ontvangen Telemetriedata",
|
||||
"telemetry_requestTimeout": "Telemetryverzoek is uitgevallen.",
|
||||
"telemetry_errorLoading": "Fout bij het laden van de telemetrie: {error}",
|
||||
@@ -1232,7 +1232,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F",
|
||||
"telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F",
|
||||
"@telemetry_temperatureValue": {
|
||||
"placeholders": {
|
||||
"celsius": {
|
||||
@@ -1254,7 +1254,7 @@
|
||||
"channelPath_repeatsLabel": "Repeats",
|
||||
"channelPath_pathLabel": "Pad {index}",
|
||||
"channelPath_observedLabel": "Waargenomen",
|
||||
"channelPath_observedPathTitle": "Waargenomen pad {index} • {hops}",
|
||||
"channelPath_observedPathTitle": "Waargenomen pad {index} • {hops}",
|
||||
"@channelPath_observedPathTitle": {
|
||||
"placeholders": {
|
||||
"index": {
|
||||
@@ -1329,7 +1329,7 @@
|
||||
},
|
||||
"channelPath_pathLabelTitle": "Pad",
|
||||
"channelPath_observedPathHeader": "Waargenomen Pad",
|
||||
"channelPath_selectedPathLabel": "{label} • {prefixes}",
|
||||
"channelPath_selectedPathLabel": "{label} • {prefixes}",
|
||||
"@channelPath_selectedPathLabel": {
|
||||
"placeholders": {
|
||||
"label": {
|
||||
@@ -1369,8 +1369,8 @@
|
||||
"neighbors_repeatersNeighbors": "Herhalingen Buren",
|
||||
"neighbors_noData": "Geen gegevens van buren beschikbaar.",
|
||||
"channels_createPrivateChannelDesc": "Beveiligd met een geheime sleutel.",
|
||||
"channels_createPrivateChannel": "Maak een Privé Kanaal",
|
||||
"channels_joinPrivateChannel": "Sluit een Privé Kanaal aan",
|
||||
"channels_createPrivateChannel": "Maak een Privé Kanaal",
|
||||
"channels_joinPrivateChannel": "Sluit een Privé Kanaal aan",
|
||||
"channels_joinPrivateChannelDesc": "Handmatig een geheime sleutel invoeren.",
|
||||
"channels_joinPublicChannel": "Sluit het Open Kanaal",
|
||||
"channels_joinPublicChannelDesc": "Iedereen kan dit kanaal aanmelden.",
|
||||
@@ -1558,22 +1558,22 @@
|
||||
"contacts_roomPing": "Ping kamer server",
|
||||
"contacts_chatTraceRoute": "Route traceren",
|
||||
"contacts_pathTraceTo": "Trace route to {name}",
|
||||
"appSettings_languageUk": "Oekraïens",
|
||||
"appSettings_languageUk": "Oekraïens",
|
||||
"contacts_invalidAdvertFormat": "Ongeldige contactgegevens",
|
||||
"contacts_contactImportFailed": "Contact kon niet geïmporteerd worden.",
|
||||
"contacts_contactImportFailed": "Contact kon niet geïmporteerd worden.",
|
||||
"contacts_zeroHopAdvert": "Zero Hop Reclame",
|
||||
"contacts_floodAdvert": "Overstromingsadvertentie",
|
||||
"contacts_copyAdvertToClipboard": "Advert naar klembord kopiëren",
|
||||
"contacts_copyAdvertToClipboard": "Advert naar klembord kopiëren",
|
||||
"appSettings_languageRu": "Russisch",
|
||||
"appSettings_enableMessageTracing": "Berichttracking inschakelen",
|
||||
"appSettings_enableMessageTracingSubtitle": "Gedetailleerde routerings- en timing-metadata voor berichten weergeven",
|
||||
"contacts_clipboardEmpty": "Knipbord is leeg.",
|
||||
"contacts_addContactFromClipboard": "Contact uit klembord toevoegen",
|
||||
"contacts_contactImported": "Contact is geïmporteerd.",
|
||||
"contacts_contactImported": "Contact is geïmporteerd.",
|
||||
"contacts_zeroHopContactAdvertSent": "Contact verzonden via advertentie",
|
||||
"contacts_contactAdvertCopied": "Reclame gekopieerd naar Klembord.",
|
||||
"contacts_contactAdvertCopyFailed": "Kopiëren van advertentie naar Clipboard is mislukt.",
|
||||
"contacts_ShareContact": "Kontakt naar Klembord kopiëren",
|
||||
"contacts_contactAdvertCopyFailed": "Kopiëren van advertentie naar Clipboard is mislukt.",
|
||||
"contacts_ShareContact": "Kontakt naar Klembord kopiëren",
|
||||
"contacts_ShareContactZeroHop": "Contact delen via advertentie",
|
||||
"contacts_zeroHopContactAdvertFailed": "Mislukt om contact te verzenden",
|
||||
"notification_activityTitle": "MeshCore Activiteit",
|
||||
@@ -1584,7 +1584,7 @@
|
||||
"notification_receivedNewMessage": "Nieuw bericht ontvangen",
|
||||
"settings_gpxExportRepeatersSubtitle": "Exporteert repeaters / roomserver met een locatie naar GPX-bestand.",
|
||||
"settings_gpxExportRepeaters": "Exporteer repeaters / roomserver naar GPX",
|
||||
"settings_gpxExportSuccess": "Succesvol GPX-bestand geëxporteerd.",
|
||||
"settings_gpxExportSuccess": "Succesvol GPX-bestand geëxporteerd.",
|
||||
"settings_gpxExportNoContacts": "Geen contacten om te exporteren.",
|
||||
"settings_gpxExportNotAvailable": "Niet ondersteund op uw apparaat/besturingssysteem",
|
||||
"settings_gpxExportError": "Er was een fout bij het exporteren.",
|
||||
@@ -1595,7 +1595,7 @@
|
||||
"settings_gpxExportRepeatersRoom": "Repeater- en kamer servers locaties",
|
||||
"settings_gpxExportChat": "Locaties van metgezellen",
|
||||
"settings_gpxExportAllContacts": "Alle contactlocaties",
|
||||
"settings_gpxExportShareText": "Kaartgegevens geëxporteerd uit meshcore-open",
|
||||
"settings_gpxExportShareText": "Kaartgegevens geëxporteerd uit meshcore-open",
|
||||
"settings_gpxExportShareSubject": "meshcore-open GPX kaartgegevens exporteren",
|
||||
"pathTrace_someHopsNoLocation": "Een of meer van de hops ontbreken een locatie!",
|
||||
"map_removeLast": "Verwijder Laatste",
|
||||
@@ -1802,11 +1802,23 @@
|
||||
"contacts_searchUsers": "Zoek {number}{str} gebruikers...",
|
||||
"contacts_searchFavorites": "Zoek {number}{str} favorieten...",
|
||||
"contacts_searchRoomServers": "Zoek {number}{str} Room servers...",
|
||||
"connectionChoiceUsbLabel": "USB",
|
||||
"connectionChoiceBluetoothLabel": "Bluetooth",
|
||||
"usbScreenSubtitle": "Kies een gedetecteerd seriële apparaat en verbind deze direct met uw MeshCore-node.",
|
||||
"usbScreenTitle": "Verbind via USB",
|
||||
"usbScreenStatus": "Selecteer een USB-apparaat",
|
||||
"usbScreenNote": "USB-serieel is actief op ondersteunde Android-apparaten en desktop-platforms.",
|
||||
"usbScreenTitle": "Verbind via USB",
|
||||
"usbScreenEmptyState": "Geen USB-apparaten gevonden. Sluit er een aan en herlaad."
|
||||
"usbScreenSubtitle": "Kies een gedetecteerd seriële apparaat en verbind deze direct met uw MeshCore-node.",
|
||||
"usbScreenEmptyState": "Geen USB-apparaten gevonden. Sluit er een aan en herlaad.",
|
||||
"usbErrorPermissionDenied": "Toegang via USB is geweigerd.",
|
||||
"usbErrorDeviceMissing": "Het geselecteerde USB-apparaat is niet meer beschikbaar.",
|
||||
"usbErrorInvalidPort": "Selecteer een geldig USB-apparaat.",
|
||||
"usbErrorBusy": "Een andere verzoek om een USB-verbinding is al in behandeling.",
|
||||
"usbErrorNotConnected": "Er is geen USB-apparaat aangesloten.",
|
||||
"usbErrorOpenFailed": "Kon het geselecteerde USB-apparaat niet openen.",
|
||||
"usbErrorConnectFailed": "Kon niet verbinding maken met het geselecteerde USB-apparaat.",
|
||||
"usbErrorUnsupported": "USB-serieel is niet ondersteund op deze platform.",
|
||||
"usbErrorAlreadyActive": "Een USB-verbinding is al actief.",
|
||||
"usbErrorNoDeviceSelected": "Geen USB-apparaat is geselecteerd.",
|
||||
"usbErrorPortClosed": "De USB-verbinding is niet actief.",
|
||||
"usbErrorConnectTimedOut": "Wachtperiode is verlopen, er is geen reactie ontvangen van het apparaat.",
|
||||
"connectionChoiceUsbLabel": "USB",
|
||||
"connectionChoiceBluetoothLabel": "Bluetooth"
|
||||
}
|
||||
|
||||
+607
-595
File diff suppressed because it is too large
Load Diff
+401
-389
File diff suppressed because it is too large
Load Diff
+881
-869
File diff suppressed because it is too large
Load Diff
+740
-728
File diff suppressed because it is too large
Load Diff
+399
-387
File diff suppressed because it is too large
Load Diff
+463
-451
File diff suppressed because it is too large
Load Diff
+874
-862
File diff suppressed because it is too large
Load Diff
+878
-866
File diff suppressed because it is too large
Load Diff
@@ -2,6 +2,7 @@ import 'dart:async';
|
||||
import 'dart:math' as math;
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import '../connector/meshcore_connector.dart';
|
||||
@@ -481,7 +482,7 @@ class _UsbScreenState extends State<UsbScreen> {
|
||||
setState(() {
|
||||
_ports.clear();
|
||||
_selectedPort = null;
|
||||
_errorText = error.toString();
|
||||
_errorText = _friendlyErrorMessage(error);
|
||||
_isLoadingPorts = false;
|
||||
});
|
||||
}
|
||||
@@ -523,16 +524,56 @@ class _UsbScreenState extends State<UsbScreen> {
|
||||
}
|
||||
}
|
||||
|
||||
/// Strips the Dart runtime prefix (e.g. "Bad state: ", "Exception: ")
|
||||
/// from error messages before showing them in the UI.
|
||||
String _friendlyErrorMessage(Object error) {
|
||||
final l10n = context.l10n;
|
||||
if (error is PlatformException) {
|
||||
switch (error.code) {
|
||||
case 'usb_permission_denied':
|
||||
return l10n.usbErrorPermissionDenied;
|
||||
case 'usb_device_missing':
|
||||
case 'usb_device_detached':
|
||||
return l10n.usbErrorDeviceMissing;
|
||||
case 'usb_invalid_port':
|
||||
return l10n.usbErrorInvalidPort;
|
||||
case 'usb_busy':
|
||||
return l10n.usbErrorBusy;
|
||||
case 'usb_not_connected':
|
||||
return l10n.usbErrorNotConnected;
|
||||
case 'usb_driver_missing':
|
||||
case 'usb_open_failed':
|
||||
return l10n.usbErrorOpenFailed;
|
||||
case 'usb_connect_failed':
|
||||
case 'usb_write_failed':
|
||||
case 'usb_io_error':
|
||||
return l10n.usbErrorConnectFailed;
|
||||
}
|
||||
}
|
||||
|
||||
var msg = error.toString();
|
||||
// StateError surfaces as "Bad state: <message>"
|
||||
if (msg.startsWith('Bad state: ')) {
|
||||
msg = msg.substring('Bad state: '.length);
|
||||
} else if (msg.startsWith('Exception: ')) {
|
||||
msg = msg.substring('Exception: '.length);
|
||||
}
|
||||
|
||||
switch (msg) {
|
||||
case 'USB serial transport is already active':
|
||||
return l10n.usbErrorAlreadyActive;
|
||||
case 'No USB serial device selected':
|
||||
return l10n.usbErrorNoDeviceSelected;
|
||||
case 'USB serial port is not open':
|
||||
return l10n.usbErrorPortClosed;
|
||||
case 'USB serial is not supported on this platform.':
|
||||
case 'Web Serial is not supported by this browser.':
|
||||
return l10n.usbErrorUnsupported;
|
||||
case 'Timed out waiting for SELF_INFO during connect':
|
||||
return l10n.usbErrorConnectTimedOut;
|
||||
}
|
||||
|
||||
if (msg.startsWith('Failed to open USB port ')) {
|
||||
return l10n.usbErrorOpenFailed;
|
||||
}
|
||||
|
||||
return msg;
|
||||
}
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@ class UsbSerialService {
|
||||
'Android connect failed: $msg',
|
||||
tag: 'USB Serial',
|
||||
);
|
||||
throw StateError(msg);
|
||||
rethrow;
|
||||
}
|
||||
} else {
|
||||
// ── Hot-restart guard ─────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user