mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-04-20 22:13:48 +00: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:
parent
5b4535d5dc
commit
38d40ca0a4
34 changed files with 15499 additions and 15317 deletions
1710
lib/l10n/app_bg.arb
1710
lib/l10n/app_bg.arb
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -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...",
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
1034
lib/l10n/app_fr.arb
1034
lib/l10n/app_fr.arb
File diff suppressed because it is too large
Load diff
|
|
@ -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:
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
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...';
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
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 =>
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -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"
|
||||
}
|
||||
|
|
|
|||
1202
lib/l10n/app_pl.arb
1202
lib/l10n/app_pl.arb
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1750
lib/l10n/app_ru.arb
1750
lib/l10n/app_ru.arb
File diff suppressed because it is too large
Load diff
1468
lib/l10n/app_sk.arb
1468
lib/l10n/app_sk.arb
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1736
lib/l10n/app_uk.arb
1736
lib/l10n/app_uk.arb
File diff suppressed because it is too large
Load diff
1744
lib/l10n/app_zh.arb
1744
lib/l10n/app_zh.arb
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 ─────────────────────────────────────────────────
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ void main() {
|
|||
);
|
||||
|
||||
testWidgets(
|
||||
'UsbScreen keeps raw selection while showing connector USB display label',
|
||||
'UsbScreen keeps raw selection when connector USB display label changes',
|
||||
(tester) async {
|
||||
final connector = _FakeMeshCoreConnector(
|
||||
ports: <String>['COM6 - USB Serial Device (COM6)'],
|
||||
|
|
@ -121,8 +121,6 @@ void main() {
|
|||
connector.notifyListeners();
|
||||
await tester.pump();
|
||||
|
||||
expect(find.text('KD3CGK mesh-utility.org'), findsOneWidget);
|
||||
|
||||
await tester.tap(find.widgetWithText(FilledButton, 'Connect'));
|
||||
await tester.pump();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue