mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-08-11 16:30:28 +00:00
1930 lines
46 KiB
Dart
1930 lines
46 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
import 'app_localizations.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for Italian (`it`).
|
|
class AppLocalizationsIt extends AppLocalizations {
|
|
AppLocalizationsIt([String locale = 'it']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'MeshCore SAR';
|
|
|
|
@override
|
|
String get messages => 'Messaggi';
|
|
|
|
@override
|
|
String get contacts => 'Contatti';
|
|
|
|
@override
|
|
String get map => 'Mappa';
|
|
|
|
@override
|
|
String get settings => 'Impostazioni';
|
|
|
|
@override
|
|
String get connect => 'Connetti';
|
|
|
|
@override
|
|
String get disconnect => 'Disconnetti';
|
|
|
|
@override
|
|
String get noDevicesFound => 'Nessun dispositivo trovato';
|
|
|
|
@override
|
|
String get scanAgain => 'Cerca Nuovamente';
|
|
|
|
@override
|
|
String get tapToConnect => 'Tocca per connettere';
|
|
|
|
@override
|
|
String get deviceNotConnected => 'Dispositivo non connesso';
|
|
|
|
@override
|
|
String get locationPermissionDenied => 'Autorizzazione posizione negata';
|
|
|
|
@override
|
|
String get locationPermissionPermanentlyDenied =>
|
|
'Autorizzazione posizione negata permanentemente. Abilitarla nelle Impostazioni.';
|
|
|
|
@override
|
|
String get locationPermissionRequired =>
|
|
'L\'autorizzazione alla posizione è necessaria per il tracciamento GPS e il coordinamento del team. Puoi abilitarla successivamente nelle Impostazioni.';
|
|
|
|
@override
|
|
String get locationServicesDisabled =>
|
|
'I servizi di localizzazione sono disabilitati. Abilitarli nelle Impostazioni.';
|
|
|
|
@override
|
|
String get failedToGetGpsLocation => 'Impossibile ottenere la posizione GPS';
|
|
|
|
@override
|
|
String failedToAdvertise(String error) {
|
|
return 'Annuncio fallito: $error';
|
|
}
|
|
|
|
@override
|
|
String get cancelReconnection => 'Annulla riconnessione';
|
|
|
|
@override
|
|
String get general => 'Generale';
|
|
|
|
@override
|
|
String get theme => 'Tema';
|
|
|
|
@override
|
|
String get chooseTheme => 'Scegli Tema';
|
|
|
|
@override
|
|
String get light => 'Chiaro';
|
|
|
|
@override
|
|
String get dark => 'Scuro';
|
|
|
|
@override
|
|
String get blueLightTheme => 'Tema blu chiaro';
|
|
|
|
@override
|
|
String get blueDarkTheme => 'Tema blu scuro';
|
|
|
|
@override
|
|
String get sarRed => 'SAR Rosso';
|
|
|
|
@override
|
|
String get alertEmergencyMode => 'Modalità Allerta/Emergenza';
|
|
|
|
@override
|
|
String get sarGreen => 'SAR Verde';
|
|
|
|
@override
|
|
String get safeAllClearMode => 'Modalità Sicuro/Tutto Libero';
|
|
|
|
@override
|
|
String get autoSystem => 'Auto (Sistema)';
|
|
|
|
@override
|
|
String get followSystemTheme => 'Segui tema di sistema';
|
|
|
|
@override
|
|
String get showRxTxIndicators => 'Mostra Indicatori RX/TX';
|
|
|
|
@override
|
|
String get displayPacketActivity =>
|
|
'Mostra indicatori di attività pacchetti nella barra superiore';
|
|
|
|
@override
|
|
String get disableMap => 'Disabilita mappa';
|
|
|
|
@override
|
|
String get disableMapDescription =>
|
|
'Nascondi la scheda mappa per ridurre il consumo della batteria';
|
|
|
|
@override
|
|
String get language => 'Lingua';
|
|
|
|
@override
|
|
String get chooseLanguage => 'Scegli Lingua';
|
|
|
|
@override
|
|
String get save => 'Salva';
|
|
|
|
@override
|
|
String get cancel => 'Annulla';
|
|
|
|
@override
|
|
String get close => 'Chiudi';
|
|
|
|
@override
|
|
String get about => 'Informazioni';
|
|
|
|
@override
|
|
String get appVersion => 'Versione App';
|
|
|
|
@override
|
|
String get appName => 'Nome App';
|
|
|
|
@override
|
|
String get aboutMeshCoreSar => 'Informazioni su MeshCore SAR';
|
|
|
|
@override
|
|
String get aboutDescription =>
|
|
'Un\'applicazione di Ricerca e Soccorso progettata per i team di emergenza. Le caratteristiche includono:\n\n• Rete mesh BLE per comunicazione dispositivo-a-dispositivo\n• Mappe offline con opzioni di livelli multipli\n• Tracciamento in tempo reale dei membri del team\n• Marcatori tattici SAR (persona trovata, incendio, area di appoggio)\n• Gestione contatti e messaggistica\n• Tracciamento GPS con direzione bussola\n• Caching dei tile della mappa per uso offline';
|
|
|
|
@override
|
|
String get technologiesUsed => 'Tecnologie Utilizzate:';
|
|
|
|
@override
|
|
String get technologiesList =>
|
|
'• Flutter per lo sviluppo multipiattaforma\n• BLE (Bluetooth Low Energy) per la rete mesh\n• OpenStreetMap per la mappatura\n• Provider per la gestione dello stato\n• SharedPreferences per l\'archiviazione locale';
|
|
|
|
@override
|
|
String get moreInfo => 'Maggiori informazioni';
|
|
|
|
@override
|
|
String get packageName => 'Nome Pacchetto';
|
|
|
|
@override
|
|
String get sampleData => 'Dati di Esempio';
|
|
|
|
@override
|
|
String get sampleDataDescription =>
|
|
'Carica o cancella contatti di esempio, messaggi di canale e marcatori SAR per test';
|
|
|
|
@override
|
|
String get loadSampleData => 'Carica Dati di Esempio';
|
|
|
|
@override
|
|
String get clearAllData => 'Cancella Tutti i Dati';
|
|
|
|
@override
|
|
String get clearAllDataConfirmTitle => 'Cancella Tutti i Dati';
|
|
|
|
@override
|
|
String get clearAllDataConfirmMessage =>
|
|
'Questo cancellerà tutti i contatti e i marcatori SAR. Sei sicuro?';
|
|
|
|
@override
|
|
String get clear => 'Cancella';
|
|
|
|
@override
|
|
String loadedSampleData(
|
|
int teamCount,
|
|
int channelCount,
|
|
int sarCount,
|
|
int messageCount,
|
|
) {
|
|
return 'Caricati $teamCount membri del team, $channelCount canali, $sarCount marcatori SAR, $messageCount messaggi';
|
|
}
|
|
|
|
@override
|
|
String failedToLoadSampleData(String error) {
|
|
return 'Impossibile caricare dati di esempio: $error';
|
|
}
|
|
|
|
@override
|
|
String get allDataCleared => 'Tutti i dati cancellati';
|
|
|
|
@override
|
|
String get failedToStartBackgroundTracking =>
|
|
'Impossibile avviare il tracciamento in background. Verifica le autorizzazioni e la connessione BLE.';
|
|
|
|
@override
|
|
String locationBroadcast(String latitude, String longitude) {
|
|
return 'Trasmissione posizione: $latitude, $longitude';
|
|
}
|
|
|
|
@override
|
|
String get defaultPinInfo =>
|
|
'Il PIN predefinito per i dispositivi senza schermo è 123456. Problemi di accoppiamento? Dimentica il dispositivo bluetooth nelle impostazioni di sistema.';
|
|
|
|
@override
|
|
String get noMessagesYet => 'Nessun messaggio ancora';
|
|
|
|
@override
|
|
String get pullDownToSync =>
|
|
'Trascina verso il basso per sincronizzare i messaggi';
|
|
|
|
@override
|
|
String get deleteContact => 'Elimina Contatto';
|
|
|
|
@override
|
|
String get delete => 'Elimina';
|
|
|
|
@override
|
|
String get viewOnMap => 'Visualizza su Mappa';
|
|
|
|
@override
|
|
String get refresh => 'Aggiorna';
|
|
|
|
@override
|
|
String get resetPath => 'Resetta Percorso (Ri-instrada)';
|
|
|
|
@override
|
|
String get publicKeyCopied => 'Chiave pubblica copiata negli appunti';
|
|
|
|
@override
|
|
String copiedToClipboard(String label) {
|
|
return '$label copiato negli appunti';
|
|
}
|
|
|
|
@override
|
|
String get pleaseEnterPassword => 'Inserisci una password';
|
|
|
|
@override
|
|
String failedToSyncContacts(String error) {
|
|
return 'Impossibile sincronizzare i contatti: $error';
|
|
}
|
|
|
|
@override
|
|
String get loggedInSuccessfully =>
|
|
'Accesso effettuato con successo! In attesa dei messaggi della stanza...';
|
|
|
|
@override
|
|
String get loginFailed => 'Accesso fallito - password errata';
|
|
|
|
@override
|
|
String loggingIn(String roomName) {
|
|
return 'Accesso a $roomName in corso...';
|
|
}
|
|
|
|
@override
|
|
String failedToSendLogin(String error) {
|
|
return 'Impossibile inviare l\'accesso: $error';
|
|
}
|
|
|
|
@override
|
|
String get lowLocationAccuracy => 'Precisione Posizione Bassa';
|
|
|
|
@override
|
|
String get continue_ => 'Continua';
|
|
|
|
@override
|
|
String get sendSarMarker => 'Invia marcatore SAR';
|
|
|
|
@override
|
|
String get deleteDrawing => 'Elimina Disegno';
|
|
|
|
@override
|
|
String get drawingTools => 'Strumenti di Disegno';
|
|
|
|
@override
|
|
String get drawLine => 'Disegna Linea';
|
|
|
|
@override
|
|
String get drawLineDesc => 'Disegna una linea a mano libera sulla mappa';
|
|
|
|
@override
|
|
String get drawRectangle => 'Disegna Rettangolo';
|
|
|
|
@override
|
|
String get drawRectangleDesc => 'Disegna un\'area rettangolare sulla mappa';
|
|
|
|
@override
|
|
String get measureDistance => 'Misura Distanza';
|
|
|
|
@override
|
|
String get measureDistanceDesc => 'Premi a lungo su due punti per misurare';
|
|
|
|
@override
|
|
String get clearMeasurement => 'Cancella Misurazione';
|
|
|
|
@override
|
|
String distanceLabel(String distance) {
|
|
return 'Distanza: $distance';
|
|
}
|
|
|
|
@override
|
|
String get longPressForSecondPoint => 'Premi a lungo per il secondo punto';
|
|
|
|
@override
|
|
String get longPressToStartMeasurement =>
|
|
'Premi a lungo per impostare il primo punto';
|
|
|
|
@override
|
|
String get longPressToStartNewMeasurement =>
|
|
'Premi a lungo per nuova misurazione';
|
|
|
|
@override
|
|
String get shareDrawings => 'Condividi Disegni';
|
|
|
|
@override
|
|
String get clearAllDrawings => 'Cancella Tutti i Disegni';
|
|
|
|
@override
|
|
String get completeLine => 'Completa Linea';
|
|
|
|
@override
|
|
String broadcastDrawingsToTeam(int count, String plural) {
|
|
return 'Trasmetti $count disegno$plural alla squadra';
|
|
}
|
|
|
|
@override
|
|
String removeAllDrawings(int count, String plural) {
|
|
return 'Rimuovi tutti i $count disegno$plural';
|
|
}
|
|
|
|
@override
|
|
String deleteAllDrawingsConfirm(int count, String plural) {
|
|
return 'Eliminare tutti i $count disegno$plural dalla mappa?';
|
|
}
|
|
|
|
@override
|
|
String get drawing => 'Disegno';
|
|
|
|
@override
|
|
String shareDrawingsCount(int count, String plural) {
|
|
return 'Condividi $count disegno$plural';
|
|
}
|
|
|
|
@override
|
|
String get showReceivedDrawings => 'Mostra Disegni Ricevuti';
|
|
|
|
@override
|
|
String get showingAllDrawings => 'Visualizzazione di tutti i disegni';
|
|
|
|
@override
|
|
String get showingOnlyYourDrawings => 'Visualizzazione solo dei tuoi disegni';
|
|
|
|
@override
|
|
String get showSarMarkers => 'Mostra marcatori SAR';
|
|
|
|
@override
|
|
String get showingSarMarkers => 'Visualizzazione marcatori SAR';
|
|
|
|
@override
|
|
String get hidingSarMarkers => 'Nascondere marcatori SAR';
|
|
|
|
@override
|
|
String get clearAll => 'Cancella Tutto';
|
|
|
|
@override
|
|
String get publicChannel => 'Canale Pubblico';
|
|
|
|
@override
|
|
String get broadcastToAll => 'Trasmetti a tutti i nodi vicini (effimero)';
|
|
|
|
@override
|
|
String get storedPermanently => 'Archiviato permanentemente nella stanza';
|
|
|
|
@override
|
|
String get notConnectedToDevice => 'Non connesso al dispositivo';
|
|
|
|
@override
|
|
String get typeYourMessage => 'Scrivi il tuo messaggio...';
|
|
|
|
@override
|
|
String get quickLocationMarker => 'Marcatore posizione rapido';
|
|
|
|
@override
|
|
String get markerType => 'Tipo Marcatore';
|
|
|
|
@override
|
|
String get sendTo => 'Invia A';
|
|
|
|
@override
|
|
String get noDestinationsAvailable => 'Nessuna destinazione disponibile.';
|
|
|
|
@override
|
|
String get selectDestination => 'Seleziona destinazione...';
|
|
|
|
@override
|
|
String get ephemeralBroadcastInfo =>
|
|
'Effimero: Trasmissione via etere solamente. Non archiviato - i nodi devono essere online.';
|
|
|
|
@override
|
|
String get persistentRoomInfo =>
|
|
'Persistente: Archiviato in modo immutabile nella stanza. Sincronizzato automaticamente e conservato offline.';
|
|
|
|
@override
|
|
String get location => 'Posizione';
|
|
|
|
@override
|
|
String get fromMap => 'Dalla Mappa';
|
|
|
|
@override
|
|
String get gettingLocation => 'Ottenimento posizione...';
|
|
|
|
@override
|
|
String get locationError => 'Errore Posizione';
|
|
|
|
@override
|
|
String get retry => 'Riprova';
|
|
|
|
@override
|
|
String get refreshLocation => 'Aggiorna posizione';
|
|
|
|
@override
|
|
String accuracyMeters(int accuracy) {
|
|
return 'Precisione: ±${accuracy}m';
|
|
}
|
|
|
|
@override
|
|
String get notesOptional => 'Note (facoltativo)';
|
|
|
|
@override
|
|
String get addAdditionalInformation => 'Aggiungi informazioni aggiuntive...';
|
|
|
|
@override
|
|
String lowAccuracyWarning(int accuracy) {
|
|
return 'La precisione della posizione è ±${accuracy}m. Potrebbe non essere abbastanza accurata per le operazioni SAR.\n\nContinuare comunque?';
|
|
}
|
|
|
|
@override
|
|
String get loginToRoom => 'Accedi alla Stanza';
|
|
|
|
@override
|
|
String get enterPasswordInfo =>
|
|
'Inserisci la password per accedere a questa stanza. La password verrà salvata per usi futuri.';
|
|
|
|
@override
|
|
String get password => 'Password';
|
|
|
|
@override
|
|
String get enterRoomPassword => 'Inserisci password stanza';
|
|
|
|
@override
|
|
String get loggingInDots => 'Accesso in corso...';
|
|
|
|
@override
|
|
String get login => 'Accedi';
|
|
|
|
@override
|
|
String failedToAddRoom(String error) {
|
|
return 'Impossibile aggiungere la stanza al dispositivo: $error\n\nLa stanza potrebbe non aver ancora trasmesso.\nProva ad attendere che la stanza trasmetta.';
|
|
}
|
|
|
|
@override
|
|
String get direct => 'Diretto';
|
|
|
|
@override
|
|
String get flood => 'Flood';
|
|
|
|
@override
|
|
String get loggedIn => 'Connesso';
|
|
|
|
@override
|
|
String get noGpsData => 'Nessun dato GPS';
|
|
|
|
@override
|
|
String get distance => 'Distanza';
|
|
|
|
@override
|
|
String directPingTimeout(String name) {
|
|
return 'Timeout ping diretto - nuovo tentativo $name con flooding...';
|
|
}
|
|
|
|
@override
|
|
String pingFailed(String name) {
|
|
return 'Ping fallito a $name - nessuna risposta ricevuta';
|
|
}
|
|
|
|
@override
|
|
String deleteContactConfirmation(String name) {
|
|
return 'Sei sicuro di voler eliminare \"$name\"?\n\nQuesto rimuoverà il contatto sia dall\'app che dal dispositivo radio companion.';
|
|
}
|
|
|
|
@override
|
|
String failedToRemoveContact(String error) {
|
|
return 'Impossibile rimuovere il contatto: $error';
|
|
}
|
|
|
|
@override
|
|
String get type => 'Tipo';
|
|
|
|
@override
|
|
String get publicKey => 'Chiave Pubblica';
|
|
|
|
@override
|
|
String get lastSeen => 'Ultima Visita';
|
|
|
|
@override
|
|
String get roomStatus => 'Stato Stanza';
|
|
|
|
@override
|
|
String get loginStatus => 'Stato Accesso';
|
|
|
|
@override
|
|
String get notLoggedIn => 'Non Connesso';
|
|
|
|
@override
|
|
String get adminAccess => 'Accesso Admin';
|
|
|
|
@override
|
|
String get yes => 'Sì';
|
|
|
|
@override
|
|
String get no => 'No';
|
|
|
|
@override
|
|
String get permissions => 'Permessi';
|
|
|
|
@override
|
|
String get passwordSaved => 'Password Salvata';
|
|
|
|
@override
|
|
String get locationColon => 'Posizione:';
|
|
|
|
@override
|
|
String get telemetry => 'Telemetria';
|
|
|
|
@override
|
|
String get voltage => 'Tensione';
|
|
|
|
@override
|
|
String get battery => 'Batteria';
|
|
|
|
@override
|
|
String get temperature => 'Temperatura';
|
|
|
|
@override
|
|
String get humidity => 'Umidità';
|
|
|
|
@override
|
|
String get pressure => 'Pressione';
|
|
|
|
@override
|
|
String get gpsTelemetry => 'GPS (Telemetria)';
|
|
|
|
@override
|
|
String get updated => 'Aggiornato';
|
|
|
|
@override
|
|
String pathResetInfo(String name) {
|
|
return 'Percorso resettato per $name. Il prossimo messaggio troverà un nuovo instradamento.';
|
|
}
|
|
|
|
@override
|
|
String get reLoginToRoom => 'Riaccedi alla Stanza';
|
|
|
|
@override
|
|
String get heading => 'Direzione';
|
|
|
|
@override
|
|
String get elevation => 'Elevazione';
|
|
|
|
@override
|
|
String get accuracy => 'Precisione';
|
|
|
|
@override
|
|
String get bearing => 'Rilevamento';
|
|
|
|
@override
|
|
String get direction => 'Direzione';
|
|
|
|
@override
|
|
String get filterMarkers => 'Filtra Marcatori';
|
|
|
|
@override
|
|
String get filterMarkersTooltip => 'Filtra marcatori';
|
|
|
|
@override
|
|
String get contactsFilter => 'Contatti';
|
|
|
|
@override
|
|
String get repeatersFilter => 'Ripetitori';
|
|
|
|
@override
|
|
String get sarMarkers => 'Marcatori SAR';
|
|
|
|
@override
|
|
String get foundPerson => 'Persona Trovata';
|
|
|
|
@override
|
|
String get fire => 'Incendio';
|
|
|
|
@override
|
|
String get stagingArea => 'Area di Appoggio';
|
|
|
|
@override
|
|
String get showAll => 'Mostra Tutto';
|
|
|
|
@override
|
|
String get locationUnavailable => 'Posizione non disponibile';
|
|
|
|
@override
|
|
String get ahead => 'avanti';
|
|
|
|
@override
|
|
String degreesRight(int degrees) {
|
|
return '$degrees° destra';
|
|
}
|
|
|
|
@override
|
|
String degreesLeft(int degrees) {
|
|
return '$degrees° sinistra';
|
|
}
|
|
|
|
@override
|
|
String latLonFormat(String latitude, String longitude) {
|
|
return 'Lat: $latitude Lon: $longitude';
|
|
}
|
|
|
|
@override
|
|
String get noContactsYet => 'Nessun contatto ancora';
|
|
|
|
@override
|
|
String get connectToDeviceToLoadContacts =>
|
|
'Connetti a un dispositivo per caricare i contatti';
|
|
|
|
@override
|
|
String get teamMembers => 'Membri del Team';
|
|
|
|
@override
|
|
String get repeaters => 'Ripetitori';
|
|
|
|
@override
|
|
String get rooms => 'Stanze';
|
|
|
|
@override
|
|
String get channels => 'Canali';
|
|
|
|
@override
|
|
String get selectMapLayer => 'Seleziona Livello Mappa';
|
|
|
|
@override
|
|
String get openStreetMap => 'OpenStreetMap';
|
|
|
|
@override
|
|
String get openTopoMap => 'OpenTopoMap';
|
|
|
|
@override
|
|
String get esriSatellite => 'ESRI Satellite';
|
|
|
|
@override
|
|
String get googleHybrid => 'Google Ibrido';
|
|
|
|
@override
|
|
String get googleRoadmap => 'Google Mappa Stradale';
|
|
|
|
@override
|
|
String get googleTerrain => 'Google Terreno';
|
|
|
|
@override
|
|
String get dragToPosition => 'Trascina per Posizionare';
|
|
|
|
@override
|
|
String get createSarMarker => 'Crea Marcatore SAR';
|
|
|
|
@override
|
|
String get compass => 'Bussola';
|
|
|
|
@override
|
|
String get navigationAndContacts => 'Navigazione e Contatti';
|
|
|
|
@override
|
|
String get sarAlert => 'ALLERTA SAR';
|
|
|
|
@override
|
|
String get textCopiedToClipboard => 'Testo copiato negli appunti';
|
|
|
|
@override
|
|
String get cannotReplySenderMissing =>
|
|
'Impossibile rispondere: informazioni mittente mancanti';
|
|
|
|
@override
|
|
String get cannotReplyContactNotFound =>
|
|
'Impossibile rispondere: contatto non trovato';
|
|
|
|
@override
|
|
String get copyText => 'Copia testo';
|
|
|
|
@override
|
|
String get saveAsTemplate => 'Salva come Modello';
|
|
|
|
@override
|
|
String get templateSaved => 'Modello salvato con successo';
|
|
|
|
@override
|
|
String get templateAlreadyExists => 'Esiste già un modello con questa emoji';
|
|
|
|
@override
|
|
String get deleteMessage => 'Elimina messaggio';
|
|
|
|
@override
|
|
String get deleteMessageConfirmation =>
|
|
'Sei sicuro di voler eliminare questo messaggio?';
|
|
|
|
@override
|
|
String get shareLocation => 'Condividi posizione';
|
|
|
|
@override
|
|
String shareLocationText(
|
|
String markerInfo,
|
|
String lat,
|
|
String lon,
|
|
String url,
|
|
) {
|
|
return '$markerInfo\n\nCoordinate: $lat, $lon\n\nGoogle Maps: $url';
|
|
}
|
|
|
|
@override
|
|
String get sarLocationShare => 'Posizione SAR';
|
|
|
|
@override
|
|
String get justNow => 'Proprio ora';
|
|
|
|
@override
|
|
String minutesAgo(int minutes) {
|
|
return '${minutes}m fa';
|
|
}
|
|
|
|
@override
|
|
String hoursAgo(int hours) {
|
|
return '${hours}h fa';
|
|
}
|
|
|
|
@override
|
|
String daysAgo(int days) {
|
|
return '${days}g fa';
|
|
}
|
|
|
|
@override
|
|
String secondsAgo(int seconds) {
|
|
return '${seconds}s fa';
|
|
}
|
|
|
|
@override
|
|
String get sending => 'Invio...';
|
|
|
|
@override
|
|
String get sent => 'Inviato';
|
|
|
|
@override
|
|
String get delivered => 'Consegnato';
|
|
|
|
@override
|
|
String deliveredWithTime(int time) {
|
|
return 'Consegnato (${time}ms)';
|
|
}
|
|
|
|
@override
|
|
String get failed => 'Fallito';
|
|
|
|
@override
|
|
String get broadcast => 'Trasmissione';
|
|
|
|
@override
|
|
String deliveredToContacts(int delivered, int total) {
|
|
return 'Consegnato a $delivered/$total contatti';
|
|
}
|
|
|
|
@override
|
|
String get allDelivered => 'Tutto consegnato';
|
|
|
|
@override
|
|
String get recipientDetails => 'Dettagli destinatari';
|
|
|
|
@override
|
|
String get pending => 'In attesa';
|
|
|
|
@override
|
|
String get sarMarkerFoundPerson => 'Persona Trovata';
|
|
|
|
@override
|
|
String get sarMarkerFire => 'Posizione Incendio';
|
|
|
|
@override
|
|
String get sarMarkerStagingArea => 'Area di Appoggio';
|
|
|
|
@override
|
|
String get sarMarkerObject => 'Oggetto Trovato';
|
|
|
|
@override
|
|
String get from => 'Da';
|
|
|
|
@override
|
|
String get coordinates => 'Coordinate';
|
|
|
|
@override
|
|
String get tapToViewOnMap => 'Tocca per visualizzare sulla mappa';
|
|
|
|
@override
|
|
String get radioSettings => 'Impostazioni Radio';
|
|
|
|
@override
|
|
String get frequencyMHz => 'Frequenza (MHz)';
|
|
|
|
@override
|
|
String get frequencyExample => 'es., 869.618';
|
|
|
|
@override
|
|
String get bandwidth => 'Larghezza di Banda';
|
|
|
|
@override
|
|
String get spreadingFactor => 'Fattore di Spreading';
|
|
|
|
@override
|
|
String get codingRate => 'Tasso di Codifica';
|
|
|
|
@override
|
|
String get txPowerDbm => 'Potenza TX (dBm)';
|
|
|
|
@override
|
|
String maxPowerDbm(int power) {
|
|
return 'Max: $power dBm';
|
|
}
|
|
|
|
@override
|
|
String get you => 'Tu';
|
|
|
|
@override
|
|
String exportFailed(String error) {
|
|
return 'Esportazione non riuscita: $error';
|
|
}
|
|
|
|
@override
|
|
String importFailed(String error) {
|
|
return 'Importazione non riuscita: $error';
|
|
}
|
|
|
|
@override
|
|
String get unknown => 'Sconosciuto';
|
|
|
|
@override
|
|
String get onlineLayers => 'Livelli Online';
|
|
|
|
@override
|
|
String get locationTrail => 'Traccia Posizione';
|
|
|
|
@override
|
|
String get showTrailOnMap => 'Mostra Traccia sulla Mappa';
|
|
|
|
@override
|
|
String get trailVisible => 'La traccia è visibile sulla mappa';
|
|
|
|
@override
|
|
String get trailHiddenRecording =>
|
|
'La traccia è nascosta (ancora in registrazione)';
|
|
|
|
@override
|
|
String get duration => 'Durata';
|
|
|
|
@override
|
|
String get points => 'Punti';
|
|
|
|
@override
|
|
String get clearTrail => 'Cancella Traccia';
|
|
|
|
@override
|
|
String get clearTrailQuestion => 'Cancellare Traccia?';
|
|
|
|
@override
|
|
String get clearTrailConfirmation =>
|
|
'Sei sicuro di voler cancellare la traccia posizione attuale? Questa azione non può essere annullata.';
|
|
|
|
@override
|
|
String get noTrailRecorded => 'Nessuna traccia registrata ancora';
|
|
|
|
@override
|
|
String get startTrackingToRecord =>
|
|
'Avvia il tracciamento posizione per registrare la tua traccia';
|
|
|
|
@override
|
|
String get trailControls => 'Controlli Traccia';
|
|
|
|
@override
|
|
String get contactTrails => 'Tracce contatti';
|
|
|
|
@override
|
|
String get showAllContactTrails => 'Mostra tutte le tracce dei contatti';
|
|
|
|
@override
|
|
String get noContactsWithLocationHistory =>
|
|
'Nessun contatto con cronologia posizione';
|
|
|
|
@override
|
|
String showingTrailsForContacts(int count) {
|
|
return 'Visualizzazione tracce per $count contatti';
|
|
}
|
|
|
|
@override
|
|
String get individualContactTrails => 'Tracce individuali dei contatti';
|
|
|
|
@override
|
|
String get deviceInformation => 'Informazioni Dispositivo';
|
|
|
|
@override
|
|
String get bleName => 'Nome BLE';
|
|
|
|
@override
|
|
String get meshName => 'Nome Mesh';
|
|
|
|
@override
|
|
String get notSet => 'Non impostato';
|
|
|
|
@override
|
|
String get model => 'Modello';
|
|
|
|
@override
|
|
String get version => 'Versione';
|
|
|
|
@override
|
|
String get buildDate => 'Data Build';
|
|
|
|
@override
|
|
String get firmware => 'Firmware';
|
|
|
|
@override
|
|
String get maxContacts => 'Contatti Max';
|
|
|
|
@override
|
|
String get maxChannels => 'Canali Max';
|
|
|
|
@override
|
|
String get publicInfo => 'Informazioni Pubbliche';
|
|
|
|
@override
|
|
String get meshNetworkName => 'Nome Rete Mesh';
|
|
|
|
@override
|
|
String get nameBroadcastInMesh => 'Nome trasmesso negli annunci mesh';
|
|
|
|
@override
|
|
String get telemetryAndLocationSharing =>
|
|
'Telemetria e Condivisione Posizione';
|
|
|
|
@override
|
|
String get lat => 'Lat';
|
|
|
|
@override
|
|
String get lon => 'Lon';
|
|
|
|
@override
|
|
String get useCurrentLocation => 'Usa posizione attuale';
|
|
|
|
@override
|
|
String get noneUnknown => 'Nessuno/Sconosciuto';
|
|
|
|
@override
|
|
String get chatNode => 'Nodo Chat';
|
|
|
|
@override
|
|
String get repeater => 'Ripetitore';
|
|
|
|
@override
|
|
String get roomChannel => 'Stanza/Canale';
|
|
|
|
@override
|
|
String typeNumber(int number) {
|
|
return 'Tipo $number';
|
|
}
|
|
|
|
@override
|
|
String copiedToClipboardShort(String label) {
|
|
return 'Copiato $label negli appunti';
|
|
}
|
|
|
|
@override
|
|
String failedToSave(String error) {
|
|
return 'Impossibile salvare: $error';
|
|
}
|
|
|
|
@override
|
|
String failedToGetLocation(String error) {
|
|
return 'Impossibile ottenere la posizione: $error';
|
|
}
|
|
|
|
@override
|
|
String get sarTemplates => 'Modelli SAR';
|
|
|
|
@override
|
|
String get manageSarTemplates => 'Gestisci modelli SAR';
|
|
|
|
@override
|
|
String get addTemplate => 'Aggiungi modello';
|
|
|
|
@override
|
|
String get editTemplate => 'Modifica modello';
|
|
|
|
@override
|
|
String get deleteTemplate => 'Elimina modello';
|
|
|
|
@override
|
|
String get templateName => 'Nome modello';
|
|
|
|
@override
|
|
String get templateNameHint => 'ad es. Persona trovata';
|
|
|
|
@override
|
|
String get templateEmoji => 'Emoji';
|
|
|
|
@override
|
|
String get emojiRequired => 'Emoji è obbligatorio';
|
|
|
|
@override
|
|
String get nameRequired => 'Nome è obbligatorio';
|
|
|
|
@override
|
|
String get templateDescription => 'Descrizione (facoltativa)';
|
|
|
|
@override
|
|
String get templateDescriptionHint => 'Aggiungi contesto aggiuntivo...';
|
|
|
|
@override
|
|
String get templateColor => 'Colore';
|
|
|
|
@override
|
|
String get previewFormat => 'Anteprima (formato messaggio SAR)';
|
|
|
|
@override
|
|
String get importFromClipboard => 'Importa';
|
|
|
|
@override
|
|
String get exportToClipboard => 'Esporta';
|
|
|
|
@override
|
|
String deleteTemplateConfirmation(String name) {
|
|
return 'Eliminare il modello \'$name\'?';
|
|
}
|
|
|
|
@override
|
|
String get templateAdded => 'Modello aggiunto';
|
|
|
|
@override
|
|
String get templateUpdated => 'Modello aggiornato';
|
|
|
|
@override
|
|
String get templateDeleted => 'Modello eliminato';
|
|
|
|
@override
|
|
String templatesImported(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'Importati $count modelli',
|
|
one: 'Importato 1 modello',
|
|
zero: 'Nessun modello importato',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String templatesExported(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'Esportati $count modelli negli appunti',
|
|
one: 'Esportato 1 modello negli appunti',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get resetToDefaults => 'Ripristina predefiniti';
|
|
|
|
@override
|
|
String get resetToDefaultsConfirmation =>
|
|
'Questo eliminerà tutti i modelli personalizzati e ripristinerà i 4 modelli predefiniti. Continuare?';
|
|
|
|
@override
|
|
String get reset => 'Ripristina';
|
|
|
|
@override
|
|
String get resetComplete => 'Modelli ripristinati ai valori predefiniti';
|
|
|
|
@override
|
|
String get noTemplates => 'Nessun modello disponibile';
|
|
|
|
@override
|
|
String get tapAddToCreate => 'Tocca + per creare il tuo primo modello';
|
|
|
|
@override
|
|
String get ok => 'OK';
|
|
|
|
@override
|
|
String get permissionsSection => 'Permessi';
|
|
|
|
@override
|
|
String get locationPermission => 'Permesso di posizione';
|
|
|
|
@override
|
|
String get checking => 'Verifica in corso...';
|
|
|
|
@override
|
|
String get locationPermissionGrantedAlways => 'Concesso (Sempre)';
|
|
|
|
@override
|
|
String get locationPermissionGrantedWhileInUse => 'Concesso (Durante l\'uso)';
|
|
|
|
@override
|
|
String get locationPermissionDeniedTapToRequest =>
|
|
'Negato - Tocca per richiedere';
|
|
|
|
@override
|
|
String get locationPermissionPermanentlyDeniedOpenSettings =>
|
|
'Negato permanentemente - Apri impostazioni';
|
|
|
|
@override
|
|
String get locationPermissionDialogContent =>
|
|
'Il permesso di posizione è permanentemente negato. Si prega di abilitarlo nelle impostazioni del dispositivo per utilizzare il tracciamento GPS e la condivisione della posizione.';
|
|
|
|
@override
|
|
String get openSettings => 'Apri impostazioni';
|
|
|
|
@override
|
|
String get locationPermissionGranted => 'Permesso di posizione concesso!';
|
|
|
|
@override
|
|
String get locationPermissionRequiredForGps =>
|
|
'Il permesso di posizione è necessario per il tracciamento GPS e la condivisione della posizione.';
|
|
|
|
@override
|
|
String get locationPermissionAlreadyGranted =>
|
|
'Il permesso di posizione è già concesso.';
|
|
|
|
@override
|
|
String get sarNavyBlue => 'SAR Blu Navy';
|
|
|
|
@override
|
|
String get sarNavyBlueDescription => 'Modalità Professionale/Operativa';
|
|
|
|
@override
|
|
String get selectRecipient => 'Seleziona destinatario';
|
|
|
|
@override
|
|
String get broadcastToAllNearby => 'Trasmetti a tutti nelle vicinanze';
|
|
|
|
@override
|
|
String get searchRecipients => 'Cerca destinatari...';
|
|
|
|
@override
|
|
String get noContactsFound => 'Nessun contatto trovato';
|
|
|
|
@override
|
|
String get noRoomsFound => 'Nessuna stanza trovata';
|
|
|
|
@override
|
|
String get noRecipientsAvailable => 'Nessun destinatario disponibile';
|
|
|
|
@override
|
|
String get noChannelsFound => 'Nessun canale trovato';
|
|
|
|
@override
|
|
String get newMessage => 'Nuovo messaggio';
|
|
|
|
@override
|
|
String get channel => 'Canale';
|
|
|
|
@override
|
|
String get samplePoliceLead => 'Capo della Polizia';
|
|
|
|
@override
|
|
String get sampleDroneOperator => 'Operatore Drone';
|
|
|
|
@override
|
|
String get sampleFirefighterAlpha => 'Vigile del Fuoco';
|
|
|
|
@override
|
|
String get sampleMedicCharlie => 'Medico';
|
|
|
|
@override
|
|
String get sampleCommandDelta => 'Comando';
|
|
|
|
@override
|
|
String get sampleFireEngine => 'Autopompa';
|
|
|
|
@override
|
|
String get sampleAirSupport => 'Supporto Aereo';
|
|
|
|
@override
|
|
String get sampleBaseCoordinator => 'Coordinatore di Base';
|
|
|
|
@override
|
|
String get channelEmergency => 'Emergenza';
|
|
|
|
@override
|
|
String get channelCoordination => 'Coordinamento';
|
|
|
|
@override
|
|
String get channelUpdates => 'Aggiornamenti';
|
|
|
|
@override
|
|
String get sampleTeamMember => 'Membro del Team di Esempio';
|
|
|
|
@override
|
|
String get sampleScout => 'Esploratore di Esempio';
|
|
|
|
@override
|
|
String get sampleBase => 'Base di Esempio';
|
|
|
|
@override
|
|
String get sampleSearcher => 'Cercatore di Esempio';
|
|
|
|
@override
|
|
String get sampleObjectBackpack => ' Zaino trovato - colore blu';
|
|
|
|
@override
|
|
String get sampleObjectVehicle =>
|
|
' Veicolo abbandonato - controllare il proprietario';
|
|
|
|
@override
|
|
String get sampleObjectCamping => ' Attrezzatura da campeggio scoperta';
|
|
|
|
@override
|
|
String get sampleObjectTrailMarker => ' Segnavia trovato fuori sentiero';
|
|
|
|
@override
|
|
String get sampleMsgAllTeamsCheckIn => 'Tutti i team segnalarsi';
|
|
|
|
@override
|
|
String get sampleMsgWeatherUpdate =>
|
|
'Aggiornamento meteo: Cielo sereno, temp 18°C';
|
|
|
|
@override
|
|
String get sampleMsgBaseCamp => 'Campo base stabilito all\'area di raduno';
|
|
|
|
@override
|
|
String get sampleMsgTeamAlpha => 'Team si sta spostando al settore 2';
|
|
|
|
@override
|
|
String get sampleMsgRadioCheck =>
|
|
'Controllo radio - tutte le stazioni rispondano';
|
|
|
|
@override
|
|
String get sampleMsgWaterSupply =>
|
|
'Rifornimento idrico disponibile al punto di controllo 3';
|
|
|
|
@override
|
|
String get sampleMsgTeamBravo => 'Team segnala: settore 1 libero';
|
|
|
|
@override
|
|
String get sampleMsgEtaRallyPoint => 'ETA al punto di raduno: 15 minuti';
|
|
|
|
@override
|
|
String get sampleMsgSupplyDrop =>
|
|
'Lancio rifornimenti confermato per le 14:00';
|
|
|
|
@override
|
|
String get sampleMsgDroneSurvey =>
|
|
'Sorveglianza con drone completata - nessun ritrovamento';
|
|
|
|
@override
|
|
String get sampleMsgTeamCharlie => 'Team richiede rinforzi';
|
|
|
|
@override
|
|
String get sampleMsgRadioDiscipline =>
|
|
'Tutte le unità: mantenere disciplina radio';
|
|
|
|
@override
|
|
String get sampleMsgUrgentMedical =>
|
|
'URGENTE: Assistenza medica necessaria al settore 4';
|
|
|
|
@override
|
|
String get sampleMsgAdultMale => ' Uomo adulto, cosciente';
|
|
|
|
@override
|
|
String get sampleMsgFireSpotted =>
|
|
'Incendio avvistato - coordinate in arrivo';
|
|
|
|
@override
|
|
String get sampleMsgSpreadingRapidly => ' Si sta diffondendo rapidamente!';
|
|
|
|
@override
|
|
String get sampleMsgPriorityHelicopter =>
|
|
'PRIORITÀ: Necessario supporto elicottero';
|
|
|
|
@override
|
|
String get sampleMsgMedicalTeamEnRoute =>
|
|
'Team medico in rotta verso la vostra posizione';
|
|
|
|
@override
|
|
String get sampleMsgEvacHelicopter =>
|
|
'Elicottero di evacuazione ETA 10 minuti';
|
|
|
|
@override
|
|
String get sampleMsgEmergencyResolved => 'Emergenza risolta - tutto libero';
|
|
|
|
@override
|
|
String get sampleMsgEmergencyStagingArea => ' Area di raduno di emergenza';
|
|
|
|
@override
|
|
String get sampleMsgEmergencyServices =>
|
|
'Servizi di emergenza notificati e in risposta';
|
|
|
|
@override
|
|
String get sampleAlphaTeamLead => 'Capo Team';
|
|
|
|
@override
|
|
String get sampleBravoScout => 'Esploratore';
|
|
|
|
@override
|
|
String get sampleCharlieMedic => 'Medico';
|
|
|
|
@override
|
|
String get sampleDeltaNavigator => 'Navigatore';
|
|
|
|
@override
|
|
String get sampleEchoSupport => 'Supporto';
|
|
|
|
@override
|
|
String get sampleBaseCommand => 'Comando di Base';
|
|
|
|
@override
|
|
String get sampleFieldCoordinator => 'Coordinatore sul Campo';
|
|
|
|
@override
|
|
String get sampleMedicalTeam => 'Team Medico';
|
|
|
|
@override
|
|
String get mapDrawing => 'Disegno della Mappa';
|
|
|
|
@override
|
|
String get navigateToDrawing => 'Naviga al Disegno';
|
|
|
|
@override
|
|
String get copyCoordinates => 'Copia Coordinate';
|
|
|
|
@override
|
|
String get hideFromMap => 'Nascondi dalla Mappa';
|
|
|
|
@override
|
|
String get lineDrawing => 'Linea';
|
|
|
|
@override
|
|
String get rectangleDrawing => 'Rettangolo';
|
|
|
|
@override
|
|
String get manualCoordinates => 'Coordinate Manuali';
|
|
|
|
@override
|
|
String get enterCoordinatesManually => 'Inserire le coordinate manualmente';
|
|
|
|
@override
|
|
String get latitudeLabel => 'Latitudine';
|
|
|
|
@override
|
|
String get longitudeLabel => 'Longitudine';
|
|
|
|
@override
|
|
String get exampleCoordinates => 'Esempio: 46.0569, 14.5058';
|
|
|
|
@override
|
|
String get shareDrawing => 'Condividi Disegno';
|
|
|
|
@override
|
|
String get shareWithAllNearbyDevices =>
|
|
'Condividi con tutti i dispositivi vicini';
|
|
|
|
@override
|
|
String get shareToRoom => 'Condividi nella Stanza';
|
|
|
|
@override
|
|
String get sendToPersistentStorage =>
|
|
'Invia allo storage persistente della stanza';
|
|
|
|
@override
|
|
String get deleteDrawingConfirm =>
|
|
'Sei sicuro di voler eliminare questo disegno?';
|
|
|
|
@override
|
|
String get drawingDeleted => 'Disegno eliminato';
|
|
|
|
@override
|
|
String yourDrawingsCount(int count) {
|
|
return 'I Tuoi Disegni ($count)';
|
|
}
|
|
|
|
@override
|
|
String get shared => 'Condiviso';
|
|
|
|
@override
|
|
String get line => 'Linea';
|
|
|
|
@override
|
|
String get rectangle => 'Rettangolo';
|
|
|
|
@override
|
|
String get updateAvailable => 'Aggiornamento Disponibile';
|
|
|
|
@override
|
|
String get currentVersion => 'Attuale';
|
|
|
|
@override
|
|
String get latestVersion => 'Ultima';
|
|
|
|
@override
|
|
String get downloadUpdate => 'Scarica';
|
|
|
|
@override
|
|
String get updateLater => 'Più Tardi';
|
|
|
|
@override
|
|
String get cadastralParcels => 'Particelle Catastali';
|
|
|
|
@override
|
|
String get forestRoads => 'Strade Forestali';
|
|
|
|
@override
|
|
String get wmsOverlays => 'Sovrapposizioni WMS';
|
|
|
|
@override
|
|
String get hikingTrails => 'Sentieri Escursionistici';
|
|
|
|
@override
|
|
String get mainRoads => 'Strade Principali';
|
|
|
|
@override
|
|
String get houseNumbers => 'Numeri Civici';
|
|
|
|
@override
|
|
String get fireHazardZones => 'Zone a Rischio Incendio';
|
|
|
|
@override
|
|
String get historicalFires => 'Incendi Storici';
|
|
|
|
@override
|
|
String get firebreaks => 'Fasce Tagliafuoco';
|
|
|
|
@override
|
|
String get krasFireZones => 'Zone di Incendio Kras';
|
|
|
|
@override
|
|
String get placeNames => 'Nomi di Luoghi';
|
|
|
|
@override
|
|
String get municipalityBorders => 'Confini Comunali';
|
|
|
|
@override
|
|
String get topographicMap => 'Carta Topografica 1:25000';
|
|
|
|
@override
|
|
String get recentMessages => 'Messaggi Recenti';
|
|
|
|
@override
|
|
String get addChannel => 'Aggiungi Canale';
|
|
|
|
@override
|
|
String get channelName => 'Nome del Canale';
|
|
|
|
@override
|
|
String get channelNameHint => 'es. Squadra di Soccorso Alfa';
|
|
|
|
@override
|
|
String get channelSecret => 'Password del Canale';
|
|
|
|
@override
|
|
String get channelSecretHint => 'Password condivisa per questo canale';
|
|
|
|
@override
|
|
String get channelSecretHelp =>
|
|
'Questa password deve essere condivisa con tutti i membri del team che necessitano di accesso a questo canale';
|
|
|
|
@override
|
|
String get channelTypesInfo =>
|
|
'Canali hash (#squadra): Password generata automaticamente dal nome. Stesso nome = stesso canale su tutti i dispositivi.\n\nCanali privati: Usa una password esplicita. Solo chi ha la password può unirsi.';
|
|
|
|
@override
|
|
String get hashChannelInfo =>
|
|
'Canale hash: La password verrà generata automaticamente dal nome del canale. Chiunque utilizzi lo stesso nome si unirà allo stesso canale.';
|
|
|
|
@override
|
|
String get channelNameRequired => 'Il nome del canale è obbligatorio';
|
|
|
|
@override
|
|
String get channelNameTooLong =>
|
|
'Il nome del canale deve contenere al massimo 31 caratteri';
|
|
|
|
@override
|
|
String get channelSecretRequired => 'La password del canale è obbligatoria';
|
|
|
|
@override
|
|
String get channelSecretTooLong =>
|
|
'La password del canale deve contenere al massimo 32 caratteri';
|
|
|
|
@override
|
|
String get invalidAsciiCharacters => 'Sono consentiti solo caratteri ASCII';
|
|
|
|
@override
|
|
String get channelCreatedSuccessfully => 'Canale creato con successo';
|
|
|
|
@override
|
|
String channelCreationFailed(String error) {
|
|
return 'Creazione del canale fallita: $error';
|
|
}
|
|
|
|
@override
|
|
String get deleteChannel => 'Elimina Canale';
|
|
|
|
@override
|
|
String deleteChannelConfirmation(String channelName) {
|
|
return 'Sei sicuro di voler eliminare il canale \"$channelName\"? Questa azione non può essere annullata.';
|
|
}
|
|
|
|
@override
|
|
String get channelDeletedSuccessfully => 'Canale eliminato con successo';
|
|
|
|
@override
|
|
String channelDeletionFailed(String error) {
|
|
return 'Eliminazione del canale fallita: $error';
|
|
}
|
|
|
|
@override
|
|
String get createChannel => 'Crea Canale';
|
|
|
|
@override
|
|
String get wizardBack => 'Indietro';
|
|
|
|
@override
|
|
String get wizardSkip => 'Salta';
|
|
|
|
@override
|
|
String get wizardNext => 'Avanti';
|
|
|
|
@override
|
|
String get wizardGetStarted => 'Inizia';
|
|
|
|
@override
|
|
String get wizardWelcomeTitle => 'Benvenuto in MeshCore SAR';
|
|
|
|
@override
|
|
String get wizardWelcomeDescription =>
|
|
'Un potente strumento di comunicazione offline per operazioni di ricerca e soccorso. Connettiti con il tuo team usando la tecnologia radio mesh quando le reti tradizionali non sono disponibili.';
|
|
|
|
@override
|
|
String get wizardConnectingTitle => 'Connessione alla Radio';
|
|
|
|
@override
|
|
String get wizardConnectingDescription =>
|
|
'Collega il tuo smartphone a un dispositivo radio MeshCore tramite Bluetooth per iniziare a comunicare offline.';
|
|
|
|
@override
|
|
String get wizardConnectingFeature1 =>
|
|
'Cerca dispositivi MeshCore nelle vicinanze';
|
|
|
|
@override
|
|
String get wizardConnectingFeature2 =>
|
|
'Accoppia con la tua radio tramite Bluetooth';
|
|
|
|
@override
|
|
String get wizardConnectingFeature3 =>
|
|
'Funziona completamente offline - non è richiesta connessione internet';
|
|
|
|
@override
|
|
String get wizardChannelTitle => 'Canali';
|
|
|
|
@override
|
|
String get wizardChannelDescription =>
|
|
'Trasmetti messaggi a tutti su un canale, perfetto per annunci e coordinamento di tutto il team.';
|
|
|
|
@override
|
|
String get wizardChannelFeature1 =>
|
|
'Canale pubblico per comunicazione generale del team';
|
|
|
|
@override
|
|
String get wizardChannelFeature2 =>
|
|
'Crea canali personalizzati per gruppi specifici';
|
|
|
|
@override
|
|
String get wizardChannelFeature3 =>
|
|
'I messaggi vengono automaticamente inoltrati attraverso la rete mesh';
|
|
|
|
@override
|
|
String get wizardContactsTitle => 'Contatti';
|
|
|
|
@override
|
|
String get wizardContactsDescription =>
|
|
'I membri del tuo team appaiono automaticamente quando si uniscono alla rete mesh. Invia loro messaggi diretti o visualizza la loro posizione.';
|
|
|
|
@override
|
|
String get wizardContactsFeature1 => 'Contatti scoperti automaticamente';
|
|
|
|
@override
|
|
String get wizardContactsFeature2 => 'Invia messaggi diretti privati';
|
|
|
|
@override
|
|
String get wizardContactsFeature3 =>
|
|
'Visualizza livello batteria e ultima volta visto';
|
|
|
|
@override
|
|
String get wizardMapTitle => 'Mappa & Posizione';
|
|
|
|
@override
|
|
String get wizardMapDescription =>
|
|
'Traccia il tuo team in tempo reale e segna posizioni importanti per operazioni di ricerca e soccorso.';
|
|
|
|
@override
|
|
String get wizardMapFeature1 =>
|
|
'Marcatori SAR per persone trovate, incendi e aree di staging';
|
|
|
|
@override
|
|
String get wizardMapFeature2 =>
|
|
'Tracciamento GPS in tempo reale dei membri del team';
|
|
|
|
@override
|
|
String get wizardMapFeature3 => 'Scarica mappe offline per aree remote';
|
|
|
|
@override
|
|
String get wizardMapFeature4 =>
|
|
'Disegna forme e condividi informazioni tattiche';
|
|
|
|
@override
|
|
String get viewWelcomeTutorial => 'Visualizza tutorial di benvenuto';
|
|
|
|
@override
|
|
String get allTeamContacts => 'Tutti i contatti del team';
|
|
|
|
@override
|
|
String directMessagesInfo(int count) {
|
|
return 'Messaggi diretti con conferme. Inviato a $count membri del team.';
|
|
}
|
|
|
|
@override
|
|
String sarMarkerSentToContacts(int count) {
|
|
return 'Marcatore SAR inviato a $count contatti';
|
|
}
|
|
|
|
@override
|
|
String get noContactsAvailable => 'Nessun contatto del team disponibile';
|
|
|
|
@override
|
|
String get reply => 'Rispondi';
|
|
|
|
@override
|
|
String get technicalDetails => 'Dettagli tecnici';
|
|
|
|
@override
|
|
String get messageTechnicalDetails => 'Dettagli tecnici del messaggio';
|
|
|
|
@override
|
|
String get linkQuality => 'Qualità del collegamento';
|
|
|
|
@override
|
|
String get delivery => 'Consegna';
|
|
|
|
@override
|
|
String get status => 'Stato';
|
|
|
|
@override
|
|
String get expectedAckTag => 'Tag ACK atteso';
|
|
|
|
@override
|
|
String get roundTrip => 'Andata e ritorno';
|
|
|
|
@override
|
|
String get retryAttempt => 'Tentativo di nuovo invio';
|
|
|
|
@override
|
|
String get floodFallback => 'Fallback inondazione';
|
|
|
|
@override
|
|
String get identity => 'Identità';
|
|
|
|
@override
|
|
String get messageId => 'ID messaggio';
|
|
|
|
@override
|
|
String get sender => 'Mittente';
|
|
|
|
@override
|
|
String get senderKey => 'Chiave mittente';
|
|
|
|
@override
|
|
String get recipient => 'Destinatario';
|
|
|
|
@override
|
|
String get recipientKey => 'Chiave destinatario';
|
|
|
|
@override
|
|
String get voice => 'Voce';
|
|
|
|
@override
|
|
String get voiceId => 'ID vocale';
|
|
|
|
@override
|
|
String get envelope => 'Busta';
|
|
|
|
@override
|
|
String get sessionProgress => 'Avanzamento sessione';
|
|
|
|
@override
|
|
String get complete => 'Completato';
|
|
|
|
@override
|
|
String get rawDump => 'Dump grezzo';
|
|
|
|
@override
|
|
String get cannotRetryMissingRecipient =>
|
|
'Impossibile riprovare: informazioni destinatario mancanti';
|
|
|
|
@override
|
|
String get voiceUnavailable => 'Voce non disponibile al momento';
|
|
|
|
@override
|
|
String get requestingVoice => 'Richiesta voce';
|
|
|
|
@override
|
|
String get device => 'device';
|
|
|
|
@override
|
|
String get change => 'Change';
|
|
|
|
@override
|
|
String get wizardOverviewDescription =>
|
|
'This app combines MeshCore messaging, SAR field updates, mapping, and device tools in one place.';
|
|
|
|
@override
|
|
String get wizardOverviewFeature1 =>
|
|
'Send direct, room, and channel messages from the main Messages tab.';
|
|
|
|
@override
|
|
String get wizardOverviewFeature2 =>
|
|
'Share SAR markers, map drawings, voice clips, and images over the mesh.';
|
|
|
|
@override
|
|
String get wizardOverviewFeature3 =>
|
|
'Connect over BLE or TCP, then manage the companion radio from inside the app.';
|
|
|
|
@override
|
|
String get wizardMessagingTitle => 'Messaging and Field Reports';
|
|
|
|
@override
|
|
String get wizardMessagingDescription =>
|
|
'Messages are more than plain text here. The app already supports several operational payloads and transfer workflows.';
|
|
|
|
@override
|
|
String get wizardMessagingFeature1 =>
|
|
'Send direct messages, room posts, and channel traffic from one composer.';
|
|
|
|
@override
|
|
String get wizardMessagingFeature2 =>
|
|
'Create SAR updates and reusable SAR templates for common field reports.';
|
|
|
|
@override
|
|
String get wizardMessagingFeature3 =>
|
|
'Transfer voice sessions and images, with progress and airtime estimates in the UI.';
|
|
|
|
@override
|
|
String get wizardConnectDeviceTitle => 'Connect device';
|
|
|
|
@override
|
|
String get wizardConnectDeviceDescription =>
|
|
'Connect your MeshCore radio, choose a name, and apply a radio preset before continuing.';
|
|
|
|
@override
|
|
String get wizardSetupBadge => 'Setup';
|
|
|
|
@override
|
|
String get wizardOverviewBadge => 'Overview';
|
|
|
|
@override
|
|
String wizardConnectedToDevice(String deviceName) {
|
|
return 'Connected to $deviceName';
|
|
}
|
|
|
|
@override
|
|
String get wizardNoDeviceConnected => 'No device connected yet';
|
|
|
|
@override
|
|
String get wizardSkipForNow => 'Skip for now';
|
|
|
|
@override
|
|
String get wizardDeviceNameLabel => 'Device name';
|
|
|
|
@override
|
|
String get wizardDeviceNameHelp =>
|
|
'This name is advertised to other MeshCore users.';
|
|
|
|
@override
|
|
String get wizardConfigRegionLabel => 'Config region';
|
|
|
|
@override
|
|
String get wizardConfigRegionHelp =>
|
|
'Uses the full official MeshCore preset list. Default is EU/UK (Narrow).';
|
|
|
|
@override
|
|
String get wizardPresetNote1 =>
|
|
'Make sure the selected preset matches your local radio regulations.';
|
|
|
|
@override
|
|
String get wizardPresetNote2 =>
|
|
'The list matches the official MeshCore config tool preset feed.';
|
|
|
|
@override
|
|
String get wizardPresetNote3 =>
|
|
'EU/UK (Narrow) stays selected by default for onboarding.';
|
|
|
|
@override
|
|
String get wizardSaving => 'Saving...';
|
|
|
|
@override
|
|
String get wizardSaveAndContinue => 'Save and continue';
|
|
|
|
@override
|
|
String get wizardEnterDeviceName => 'Enter a device name before continuing.';
|
|
|
|
@override
|
|
String wizardDeviceSetupSaved(String deviceName, String presetName) {
|
|
return 'Saved $deviceName with $presetName.';
|
|
}
|
|
|
|
@override
|
|
String get wizardNetworkTitle => 'Contacts, Rooms, and Repeaters';
|
|
|
|
@override
|
|
String get wizardNetworkDescription =>
|
|
'The Contacts tab organizes the network you discover and the routes you learn over time.';
|
|
|
|
@override
|
|
String get wizardNetworkFeature1 =>
|
|
'Review team members, repeaters, rooms, channels, and pending adverts in one list.';
|
|
|
|
@override
|
|
String get wizardNetworkFeature2 =>
|
|
'Use smart ping, room login, learned paths, and route reset tools when connectivity gets messy.';
|
|
|
|
@override
|
|
String get wizardNetworkFeature3 =>
|
|
'Create channels and manage network destinations without leaving the app.';
|
|
|
|
@override
|
|
String get wizardMapOpsTitle => 'Map, Trails, and Shared Geometry';
|
|
|
|
@override
|
|
String get wizardMapOpsDescription =>
|
|
'The app map is tied directly into messaging, tracking, and SAR overlays instead of being a separate viewer.';
|
|
|
|
@override
|
|
String get wizardMapOpsFeature1 =>
|
|
'Track your own position, teammate locations, and movement trails on the map.';
|
|
|
|
@override
|
|
String get wizardMapOpsFeature2 =>
|
|
'Open drawings from messages, preview them inline, and remove them from the map when needed.';
|
|
|
|
@override
|
|
String get wizardMapOpsFeature3 =>
|
|
'Use repeater map views and shared overlays to understand network reach in the field.';
|
|
|
|
@override
|
|
String get wizardToolsTitle => 'Tools Beyond Messaging';
|
|
|
|
@override
|
|
String get wizardToolsDescription =>
|
|
'There is more here than the four main tabs. The app also includes configuration, diagnostics, and optional sensor workflows.';
|
|
|
|
@override
|
|
String get wizardToolsFeature1 =>
|
|
'Open device config to change radio settings, telemetry, TX power, and companion details.';
|
|
|
|
@override
|
|
String get wizardToolsFeature2 =>
|
|
'Enable the Sensors tab when you want watched sensor dashboards and quick refresh actions.';
|
|
|
|
@override
|
|
String get wizardToolsFeature3 =>
|
|
'Use packet logs, spectrum scan, and developer diagnostics when troubleshooting the mesh.';
|
|
|
|
@override
|
|
String get contactInSensors => 'In Sensors';
|
|
|
|
@override
|
|
String get contactAddToSensors => 'Add to Sensors';
|
|
|
|
@override
|
|
String get contactSetPath => 'Set path';
|
|
|
|
@override
|
|
String contactAddedToSensors(String contactName) {
|
|
return '$contactName added to Sensors';
|
|
}
|
|
|
|
@override
|
|
String contactFailedToClearRoute(String error) {
|
|
return 'Failed to clear route: $error';
|
|
}
|
|
|
|
@override
|
|
String get contactRouteCleared => 'Route cleared';
|
|
|
|
@override
|
|
String contactRouteSet(String route) {
|
|
return 'Route set: $route';
|
|
}
|
|
|
|
@override
|
|
String contactFailedToSetRoute(String error) {
|
|
return 'Failed to set route: $error';
|
|
}
|
|
}
|