diff --git a/MC1/Resources/Localization/it.lproj/Chats.strings b/MC1/Resources/Localization/it.lproj/Chats.strings index 4744b7e56..a5fcd61cb 100644 --- a/MC1/Resources/Localization/it.lproj/Chats.strings +++ b/MC1/Resources/Localization/it.lproj/Chats.strings @@ -33,7 +33,7 @@ "chats.filter.channels" = "Canali"; /* Location: ChatsView.swift - Filter option for rooms */ -"chats.filter.rooms" = "Sale"; +"chats.filter.rooms" = "Stanze"; // MARK: - Compose Menu @@ -73,10 +73,10 @@ "chats.emptyState.noChannels.description" = "Unisciti o crea un canale"; /* Location: ChatsView.swift - Title when no rooms exist */ -"chats.emptyState.noRooms.title" = "Nessuna sala"; +"chats.emptyState.noRooms.title" = "Nessuna stanza"; /* Location: ChatsView.swift - Description when no rooms exist */ -"chats.emptyState.noRooms.description" = "Unisciti a una sala da Contatti"; +"chats.emptyState.noRooms.description" = "Unisciti a una stanza dai Contatti"; /* Location: ChatsView.swift - Split view placeholder when no conversation selected */ "chats.emptyState.selectConversation" = "Seleziona una conversazione"; @@ -89,13 +89,13 @@ // MARK: - Room Deletion /* Location: ChatsView.swift - Alert title for leaving a room */ -"chats.alert.leaveRoom.title" = "Lascia sala"; +"chats.alert.leaveRoom.title" = "Lascia la stanza"; /* Location: ChatsView.swift - Button to confirm leaving a room */ "chats.alert.leaveRoom.confirm" = "Lascia"; /* Location: ChatsView.swift - Alert message explaining what leaving a room does */ -"chats.alert.leaveRoom.message" = "Questo rimuoverà la sala dall'elenco chat, eliminerà tutti i messaggi della sala e rimuoverà il contatto associato."; +"chats.alert.leaveRoom.message" = "Questo rimuoverà la stanza dall'elenco chat, eliminerà tutti i messaggi della stanza e rimuoverà il contatto associato."; // MARK: - Message Timestamps @@ -155,13 +155,13 @@ "chats.channel.typePrivate" = "Canale privato"; /* Location: ChatConversationType.swift - Channel header subtitle when a flood region is active - %@ is the region name */ -"chats.channel.headerRegion" = "Regione: %@"; +"chats.channel.headerRegion" = "Region: %@"; /* Location: ChatConversationView.swift - Empty state message */ "chats.channel.emptyState.noMessages" = "Ancora nessun messaggio"; /* Location: ChatConversationView.swift - Empty state description for public channel */ -"chats.channel.emptyState.publicDescription" = "Questo è un canale di diffusione pubblico"; +"chats.channel.emptyState.publicDescription" = "Questo è un canale pubblico"; /* Location: ChatConversationView.swift - Empty state description for private channel */ "chats.channel.emptyState.privateDescription" = "Questo è un canale privato"; @@ -199,7 +199,7 @@ "chats.channelInfo.copy" = "Copia"; /* Location: ChannelInfoSheet.swift - Section header for manual sharing */ -"chats.channelInfo.manualSharing" = "Condivisione manuale"; +"chats.channelInfo.manualSharing" = "Condividi manualmente"; /* Location: ChannelInfoSheet.swift - Footer explaining manual sharing */ "chats.channelInfo.manualSharingFooter" = "Condividi il nome del canale e questa chiave segreta per permettere ad altri di unirsi manualmente."; @@ -238,7 +238,7 @@ "chats.error.banner.dismissAccessibilityHint" = "Tocca per chiudere"; /* Location: ChatViewModel - Error when persisting a queued send fails (SwiftData write error) */ -"chats.error.sendQueuePersistFailed" = "Impossibile mettere in coda il messaggio. Riprova."; +"chats.error.sendQueuePersistFailed" = "Impossibile accodare il messaggio. Riprova."; /* Location: ChatViewModel+Messages.swift - Error banner when fetching the conversation list fails */ "chats.error.loadConversationsFailed" = "Impossibile caricare le conversazioni."; @@ -288,7 +288,7 @@ "chats.channelOptions.section.public" = "Canali pubblici"; /* Location: ChannelOptionsSheet.swift - Footer when all slots are in use */ -"chats.channelOptions.footer.noSlots" = "Tutti gli slot canale sono in uso. Elimina un canale esistente per aggiungerne uno nuovo."; +"chats.channelOptions.footer.noSlots" = "Tutti gli slot per i canali sono in uso. Elimina un canale esistente per aggiungerne uno nuovo."; /* Location: ChannelOptionsSheet.swift - Footer when public channel already exists */ "chats.channelOptions.footer.hasPublic" = "Il canale pubblico è già configurato sullo slot 0."; @@ -382,10 +382,10 @@ // MARK: - Room Authentication Sheet /* Location: RoomAuthenticationSheet.swift - Error title when room not found */ -"chats.roomAuth.notFound.title" = "Sala non trovata"; +"chats.roomAuth.notFound.title" = "Stanza non trovata"; /* Location: RoomAuthenticationSheet.swift - Error description when room not found */ -"chats.roomAuth.notFound.description" = "Impossibile trovare il contatto della sala"; +"chats.roomAuth.notFound.description" = "Impossibile trovare il contatto della stanza"; // MARK: - Conversation List Sections @@ -420,7 +420,7 @@ "chats.createPrivate.section.details" = "Dettagli del canale"; /* Location: CreatePrivateChannelView.swift - Section header for generated secret */ -"chats.createPrivate.section.secret" = "Segreto generato"; +"chats.createPrivate.section.secret" = "Chiave segreta generata"; /* Location: CreatePrivateChannelView.swift - Footer explaining generated secret */ "chats.createPrivate.secretFooter" = "È stata generata una chiave segreta casuale. Potrai condividerla tramite codice QR dopo aver creato il canale."; @@ -480,7 +480,7 @@ "chats.joinHashtag.footer" = "I canali hashtag sono pubblici. Chiunque può unirsi inserendo lo stesso nome. Sono ammessi solo lettere minuscole, numeri e trattini."; /* Location: JoinHashtagChannelView.swift - Description about encryption */ -"chats.joinHashtag.encryptionDescription" = "Il nome del canale viene usato per generare la chiave di crittografia. Chiunque abbia lo stesso nome può leggere i messaggi."; +"chats.joinHashtag.encryptionDescription" = "Il nome del canale viene usato per generare la chiave di cifratura. Chiunque abbia lo stesso nome può leggere i messaggi."; /* Location: JoinHashtagChannelView.swift - Button format for existing channel - %@ is channel name */ "chats.joinHashtag.goToButton" = "Vai a #%@"; @@ -521,7 +521,7 @@ "chats.joinFromMessage.noSlots.title" = "Nessuno slot disponibile"; /* Location: JoinHashtagFromMessageView.swift - No slots available description - %@ is channel name */ -"chats.joinFromMessage.noSlots.description" = "Tutti gli slot canale sono pieni. Rimuovi un canale esistente per unirti a %@."; +"chats.joinFromMessage.noSlots.description" = "Tutti gli slot per i canali sono pieni. Rimuovi un canale esistente per unirti a %@."; /* Location: JoinHashtagFromMessageView.swift - Description of hashtag channels */ "chats.joinFromMessage.description" = "I canali hashtag sono pubblici. Chiunque può unirsi inserendo lo stesso nome."; @@ -547,16 +547,16 @@ "chats.scanQR.notAvailable.title" = "Scanner non disponibile"; /* Location: ScanChannelQRView.swift - Error description when scanner not available */ -"chats.scanQR.notAvailable.description" = "La scansione QR non è supportata su questo dispositivo"; +"chats.scanQR.notAvailable.description" = "La scansione QR non è supportata da questo dispositivo"; /* Location: ScanChannelQRView.swift - Instruction to point camera */ -"chats.scanQR.instruction" = "Punta la fotocamera su un codice QR di canale"; +"chats.scanQR.instruction" = "Punta la fotocamera sul codice QR di un canale"; /* Location: ScanChannelQRView.swift - Button to scan again */ "chats.scanQR.scanAgain" = "Scansiona di nuovo"; /* Location: ScanChannelQRView.swift - Camera permission denied title */ -"chats.scanQR.permissionDenied.title" = "Accesso alla fotocamera richiesto"; +"chats.scanQR.permissionDenied.title" = "E' richiesto l'accesso alla fotocamera"; /* Location: ScanChannelQRView.swift - Camera permission denied message */ "chats.scanQR.permissionDenied.message" = "Abilita l'accesso alla fotocamera in Impostazioni per scansionare i codici QR."; @@ -574,7 +574,7 @@ "chats.message.sender.unknown" = "Sconosciuto"; /* Location: UnifiedMessageBubble.swift - Accessibility text for sender names resolved from a short prefix */ -"chats.message.sender.possibleMatch" = "Possibile corrispondenza, abbinata per prefisso corto"; +"chats.message.sender.possibleMatch" = "Possibile corrispondenza trovata attraverso prefisso corto"; /* Location: UnifiedMessageBubble.swift - Context menu action to reply */ "chats.message.action.reply" = "Rispondi"; @@ -604,7 +604,7 @@ "chats.message.info.sent" = "Inviato: %@"; /* Location: UnifiedMessageBubble.swift - Context menu text showing round trip time - %d is milliseconds */ -"chats.message.info.roundTrip" = "Andata e ritorno: %dms"; +"chats.message.info.roundTrip" = "Round trip: %dms"; /* Location: UnifiedMessageBubble.swift - Context menu action to view path */ "chats.message.action.viewPath" = "Vedi percorso"; @@ -630,10 +630,10 @@ "chats.message.info.snr" = "SNR: %@"; /* Location: MessageActionsSheet.swift - Details row showing the radio region a flood-routed message was broadcast under - %@ is region name */ -"chats.message.info.floodedUnder" = "Regione: %@"; +"chats.message.info.floodedUnder" = "Region: %@"; /* Location: MessageActionsSheet.swift - Details row shown when region could not be resolved */ -"chats.message.info.regionUnresolved" = "Regione: Sconosciuta"; +"chats.message.info.regionUnresolved" = "Region: Sconosciuta"; /* Location: UnifiedMessageBubble.swift - Context menu submenu label */ "chats.message.action.details" = "Dettagli"; @@ -740,7 +740,7 @@ "chats.message.hopCount.accessibilityLabel" = "Numero di salti: %d"; /* Location: UnifiedMessageBubble.swift - Accessibility label for region footer - %@ is region name */ -"chats.message.region.accessibilityLabel" = "Regione %@"; +"chats.message.region.accessibilityLabel" = "Region %@"; /* Location: BubbleFooterRow.swift - Accessibility label for the raw send time footer - %@ is the time */ "chats.message.sendTime.accessibilityLabel" = "Ora di invio: %@"; @@ -782,7 +782,7 @@ "chats.input.accessibilityLabel" = "Campo messaggio"; /* Location: ChatInputBar.swift - Accessibility hint for text input */ -"chats.input.accessibilityHint" = "Scrivi il tuo messaggio qui"; +"chats.input.accessibilityHint" = "Scrivi qui il tuo messaggio"; /* Location: ChatInputBar.swift - Accessibility label for character count - %d is current, %d is max */ "chats.input.characterCount" = "%d di %d caratteri"; @@ -806,10 +806,10 @@ "chats.input.typeFirst" = "Scrivi prima un messaggio"; /* Location: ChatInputBar.swift - Accessibility label for encrypted indicator */ -"chats.input.encrypted" = "Crittografato"; +"chats.input.encrypted" = "Cifrato"; /* Location: ChatInputBar.swift - Accessibility label for not encrypted indicator */ -"chats.input.notEncrypted" = "Non crittografato"; +"chats.input.notEncrypted" = "Non cifrato"; /* Location: ChatShareMenu.swift - Accessibility label for the share (plus) button */ "chats.input.shareButton.accessibilityLabel" = "Condividi"; @@ -866,7 +866,7 @@ "chats.path.hop.unknown" = ""; /* Location: PathHopRowView.swift - Accessibility text for path hop names resolved from a short prefix */ -"chats.path.hop.possibleMatch" = "Possibile corrispondenza, abbinata per prefisso corto"; +"chats.path.hop.possibleMatch" = "Possibile corrispondenza trovata attraverso prefisso corto"; /* Location: FallbackMatchIndicatorView.swift - Title for possible match explanation popover */ "chats.path.hop.possibleMatchTitle" = "Possibile corrispondenza"; @@ -1054,10 +1054,10 @@ "chats.blockSender.title" = "Blocca \"%@\""; /* Location: BlockSenderSheet.swift - Purpose: Explanation of name-based blocking limitation */ -"chats.blockSender.limitation" = "I messaggi di canale non includono l'identità del mittente. Questo blocco corrisponde solo per nome — il mittente potrebbe cambiare nome per aggirarlo."; +"chats.blockSender.limitation" = "I messaggi dei canali non includono l'identità del mittente. Il blocco è fatto solo attraverso il nome: il mittente potrebbe cambiare nome per aggirarlo."; /* Location: BlockSenderSheet.swift - Purpose: Section header when matching contacts found */ -"chats.blockSender.matchingContacts" = "I seguenti contatti condividono questo nome. Seleziona quelli che vuoi bloccare anche:"; +"chats.blockSender.matchingContacts" = "I seguenti contatti condividono questo nome. Seleziona tutti quelli che vuoi bloccare:"; /* Location: BlockSenderSheet.swift - Purpose: Cancel button */ "chats.blockSender.cancel" = "Annulla"; @@ -1082,13 +1082,13 @@ "chats.sendDM.title" = "Invia DM a \"%@\""; /* Location: SendDMSheet.swift - Purpose: Name-based matching limitation warning */ -"chats.sendDM.limitation" = "I messaggi di canale non includono l'identità del mittente. Questa corrispondenza è solo per nome — il contatto potrebbe essere un'altra persona con lo stesso nome."; +"chats.sendDM.limitation" = "I messaggi dei canali non includono l'identità del mittente. Questa corrispondenza è solo per nome: il contatto potrebbe essere un'altra persona con lo stesso nome."; /* Location: SendDMSheet.swift - Purpose: Section header listing matching contacts */ "chats.sendDM.matchingContacts" = "Seleziona un contatto a cui scrivere:"; /* Location: SendDMSheet.swift - Purpose: Empty-state message when no contact matches */ -"chats.sendDM.noMatches" = "Nessun contatto chiamato \"%@\" trovato."; +"chats.sendDM.noMatches" = "Nessun contatto \"%@\" trovato."; /* Location: SendDMSheet.swift - Purpose: Cancel button */ "chats.sendDM.cancel" = "Annulla"; @@ -1104,10 +1104,10 @@ // MARK: - Region Filtering /* Location: ChannelInfoSheet.swift - Purpose: Region row label */ -"chats.channelInfo.region" = "Regione"; +"chats.channelInfo.region" = "Region"; /* Location: ChannelInfoSheet.swift - Purpose: Region value when no scope set */ -"chats.channelInfo.region.allRegions" = "Tutte le regioni"; +"chats.channelInfo.region.allRegions" = "Tutte le region"; /* Location: ChannelInfoSheet.swift - Purpose: Picker row and summary when channel inherits the device default flood scope */ "chats.channelInfo.region.useDefaultFormat" = "%@ (predefinita)"; @@ -1119,28 +1119,28 @@ "chats.channelInfo.region.explanation" = "Limita i messaggi a un'area geografica"; /* Location: ChannelInfoSheet.swift - Purpose: Discover button */ -"chats.channelInfo.region.discover" = "Scopri regioni vicine"; +"chats.channelInfo.region.discover" = "Scopri region vicine"; /* Location: ChannelInfoSheet.swift - Purpose: Discover button loading state */ -"chats.channelInfo.region.discovering" = "Scoperta in corso…"; +"chats.channelInfo.region.discovering" = "Controllo in corso…"; /* Location: RegionManagementView.swift - Purpose: Navigation title */ -"chats.channelInfo.region.manage" = "Regioni"; +"chats.channelInfo.region.manage" = "Region"; /* Location: RegionManagementView.swift - Purpose: Manage regions link */ -"chats.channelInfo.region.manageRegions" = "Gestisci regioni"; +"chats.channelInfo.region.manageRegions" = "Gestisci region"; /* Location: RegionManagementView.swift - Purpose: Add manually button */ "chats.channelInfo.region.addManually" = "Aggiungi manualmente"; /* Location: RegionManagementView.swift - Purpose: Empty state title */ -"chats.channelInfo.region.noRegions" = "Nessuna regione aggiunta"; +"chats.channelInfo.region.noRegions" = "Nessuna region aggiunta"; /* Location: RegionManagementView.swift - Purpose: Empty state description */ -"chats.channelInfo.region.noRegionsDescription" = "Scopri regioni dai ripetitori vicini o aggiungile manualmente."; +"chats.channelInfo.region.noRegionsDescription" = "Scopri region dai ripetitori vicini o aggiungile manualmente."; /* Location: RegionDiscoveryResultsView.swift - Purpose: No new regions found */ -"chats.channelInfo.region.noNewRegions" = "Nessuna nuova regione trovata"; +"chats.channelInfo.region.noNewRegions" = "Nessuna nuova region trovata"; /* Location: RegionDiscoveryResultsView.swift - Purpose: No repeaters responded */ "chats.channelInfo.region.noRepeatersResponded" = "Nessun ripetitore ha risposto"; @@ -1155,19 +1155,19 @@ "chats.channelInfo.region.addSelected" = "Aggiungi"; /* Location: AddRegionView.swift - Purpose: Navigation title */ -"chats.channelInfo.region.addRegionTitle" = "Aggiungi regione"; +"chats.channelInfo.region.addRegionTitle" = "Aggiungi region"; /* Location: AddRegionView.swift - Purpose: Text field placeholder */ -"chats.channelInfo.region.addRegionPlaceholder" = "Nome regione"; +"chats.channelInfo.region.addRegionPlaceholder" = "Nome region"; /* Location: AddRegionView.swift - Purpose: Validation error */ -"chats.channelInfo.region.invalidName" = "I nomi delle regioni possono contenere solo lettere, numeri e trattini."; +"chats.channelInfo.region.invalidName" = "I nomi delle region possono contenere solo lettere, numeri e trattini."; /* Location: RegionManagementView.swift - Purpose: Validation error when a region name exceeds the firmware byte cap */ -"chats.channelInfo.region.nameTooLong" = "I nomi delle regioni sono limitati a %d byte."; +"chats.channelInfo.region.nameTooLong" = "I nomi delle region sono limitati a %d byte."; /* Location: AddRegionView.swift - Purpose: Duplicate error */ -"chats.channelInfo.region.duplicate" = "Questa regione è già nell'elenco."; +"chats.channelInfo.region.duplicate" = "Questa region è già nell'elenco."; /* Location: ChannelInfoSheet.swift - Purpose: Private region label */ "chats.channelInfo.region.private" = "Privata"; @@ -1206,7 +1206,7 @@ "chats.message.sender.unverifiedNickname" = "Nome non verificato"; /* Location: UnifiedMessageBubble.swift - Explanation of why the sender name is unverified */ -"chats.message.sender.unverifiedNicknameExplanation" = "I mittenti dei messaggi di canale non possono essere verificati. Potrebbe essere un'altra persona."; +"chats.message.sender.unverifiedNicknameExplanation" = "I mittenti dei messaggi nei canali non possono essere verificati. Potrebbe essere un'altra persona."; /* Location: UnifiedMessageBubble.swift - Accessibility label for unverified nickname indicator */ "chats.message.sender.unverifiedNicknameAccessibilityLabel" = "Corrispondenza nome non verificata"; diff --git a/MC1/Resources/Localization/it.lproj/Contacts.strings b/MC1/Resources/Localization/it.lproj/Contacts.strings index 440be29d4..529970dd1 100644 --- a/MC1/Resources/Localization/it.lproj/Contacts.strings +++ b/MC1/Resources/Localization/it.lproj/Contacts.strings @@ -42,7 +42,7 @@ "contacts.nodeKind.repeater" = "Ripetitore"; /* Location: Multiple files - Purpose: Room contact type label */ -"contacts.nodeKind.room" = "Sala"; +"contacts.nodeKind.room" = "Stanza"; /* Location: TracePathListView.swift, PathEditingSheet.swift - Purpose: Badge label for discovered nodes */ "contacts.nodeKind.discovered" = "Scoperto"; @@ -73,7 +73,7 @@ "contacts.segment.repeaters" = "Ripetitori"; /* Location: ContactsViewModel.swift - Purpose: Rooms segment */ -"contacts.segment.rooms" = "Sale"; +"contacts.segment.rooms" = "Stanze"; /* Location: NodeSegmentPicker.swift - Purpose: VoiceOver label for the Nodes tab segment filter picker (iOS 18 fallback) */ "contacts.segment.pickerLabel" = "Filtra nodi"; @@ -148,7 +148,7 @@ // MARK: - Contacts List Empty States /* Location: ContactsListView.swift - Purpose: No favorites empty title */ -"contacts.list.empty.favorites.title" = "Nessun preferito ancora"; +"contacts.list.empty.favorites.title" = "Ancora nessun preferito"; /* Location: ContactsListView.swift - Purpose: No favorites empty description */ "contacts.list.empty.favorites.description" = "Tieni premuto un qualsiasi nodo per aggiungerlo ai preferiti."; @@ -157,7 +157,7 @@ "contacts.list.empty.contacts.title" = "Nessun contatto"; /* Location: ContactsListView.swift - Purpose: No contacts empty description */ -"contacts.list.empty.contacts.description" = "I contatti compaiono quando vengono scoperti sulla rete mesh. Se l'aggiunta automatica dei contatti è disattivata, controlla Scopri nel menu in alto a destra."; +"contacts.list.empty.contacts.description" = "I contatti compariranno quando vengono scoperti sulla rete mesh. Se l'aggiunta automatica dei contatti è disattivata, controlla Scopri nel menu in alto a destra."; /* Location: ContactsListView.swift - Purpose: No repeaters empty title */ "contacts.list.empty.repeaters.title" = "Nessun ripetitore"; @@ -166,10 +166,10 @@ "contacts.list.empty.repeaters.description" = "I ripetitori estendono la portata della tua mesh. Compariranno qui quando verranno scoperti."; /* Location: ContactsListView.swift - Purpose: No rooms empty title */ -"contacts.list.empty.rooms.title" = "Nessuna sala"; +"contacts.list.empty.rooms.title" = "Non ci sono stanze"; /* Location: ContactsListView.swift - Purpose: No rooms empty description */ -"contacts.list.empty.rooms.description" = "Le sale sono server di chat pubblici sulla mesh. Compariranno qui quando verranno scoperte."; +"contacts.list.empty.rooms.description" = "Le stanze sono server di chat pubblici sulla mesh. Compariranno qui quando verranno scoperte."; /* Location: ContactsListView.swift - Purpose: No search results title */ "contacts.list.empty.search.title" = "Nessun risultato"; @@ -214,7 +214,7 @@ "contacts.detail.hasLocation" = "Ha una posizione"; /* Location: ContactDetailView.swift - Purpose: Join room button */ -"contacts.detail.joinRoom" = "Unisciti alla sala"; +"contacts.detail.joinRoom" = "Entra nella stanza"; /* Location: ContactDetailView.swift - Purpose: Telemetry button */ "contacts.detail.telemetry" = "Telemetria"; @@ -270,7 +270,7 @@ "contacts.detail.info" = "Info"; /* Location: ContactDetailView.swift - Purpose: Nickname label */ -"contacts.detail.nickname" = "Soprannome"; +"contacts.detail.nickname" = "Nickname"; /* Location: ContactDetailView.swift - Purpose: No nickname placeholder */ "contacts.detail.nicknameNone" = "Nessuno"; @@ -376,7 +376,7 @@ "contacts.detail.alert.block.title" = "Blocca contatto"; /* Location: ContactDetailView.swift - Purpose: Block contact alert message */ -"contacts.detail.alert.block.message" = "Non riceverai messaggi da %@. Le sue conversazioni verranno nascoste dall'elenco Chat e i nuovi messaggi di canale verranno scartati. Sbloccando potrai ricevere nuovi messaggi, ma i messaggi scartati non possono essere recuperati."; +"contacts.detail.alert.block.message" = "Non riceverai messaggi da %@. Le sue conversazioni verranno nascoste dall'elenco Chat e i nuovi messaggi nel canale verranno scartati. Sbloccando potrai ricevere i nuovi messaggi, ma i messaggi scartati non possono essere recuperati."; /* Location: ContactDetailView.swift - Purpose: Delete contact alert title */ "contacts.detail.alert.delete.title" = "Elimina %@"; @@ -502,7 +502,7 @@ "contacts.scan.unavailable.title" = "Scanner non disponibile"; /* Location: ScanContactQRView.swift - Purpose: Scanner not available description */ -"contacts.scan.unavailable.description" = "La scansione QR non è supportata su questo dispositivo"; +"contacts.scan.unavailable.description" = "La scansione di codici QR non è supportata su questo dispositivo"; /* Location: ScanContactQRView.swift - Purpose: Importing progress */ "contacts.scan.importing" = "Importazione del contatto..."; @@ -533,7 +533,7 @@ "contacts.discovery.empty.title" = "Nessun nodo scoperto"; /* Location: DiscoveryView.swift - Purpose: Empty state description */ -"contacts.discovery.empty.description" = "I nodi compariranno qui man mano che i loro annunci vengono scoperti."; +"contacts.discovery.empty.description" = "I nodi compariranno qui man mano che i loro annunci verranno scoperti."; /* Location: DiscoveryView.swift - Purpose: Add button */ "contacts.discovery.add" = "Aggiungi"; @@ -555,7 +555,7 @@ "contacts.discovery.segment.repeaters" = "Ripetitori"; /* Location: DiscoveryView.swift - Purpose: Segment filter: Rooms */ -"contacts.discovery.segment.rooms" = "Sale"; +"contacts.discovery.segment.rooms" = "Stanze"; /* Location: DiscoverSegmentPicker.swift - Purpose: VoiceOver label for the Discovery segment filter picker (iOS 18 fallback) */ "contacts.discovery.segment.pickerLabel" = "Filtra nodi scoperti"; @@ -579,7 +579,7 @@ "contacts.discovery.clear.confirm" = "Cancella"; /* Location: DiscoveryView.swift - Purpose: VoiceOver announcement when searching */ -"contacts.discovery.searchingAllTypes" = "Ricerca di tutti i tipi"; +"contacts.discovery.searchingAllTypes" = "Ricerca tutti i tipi"; /* Location: DiscoveryView.swift - Purpose: Sort menu accessibility label */ "contacts.discovery.sortMenu" = "Opzioni di ordinamento"; @@ -588,7 +588,7 @@ "contacts.discovery.sortMenuHint" = "Scegli come ordinare i nodi scoperti"; /* Location: DiscoveryView.swift - Purpose: VoiceOver announcement after clearing */ -"contacts.discovery.clearedAllNodes" = "Tutti i nodi scoperti cancellati"; +"contacts.discovery.clearedAllNodes" = "Cancellati tutti i nodi scoperti"; /* Location: DiscoveryView.swift - Purpose: Swipe action to remove discovered node */ "contacts.discovery.remove" = "Rimuovi"; @@ -614,13 +614,13 @@ "contacts.pathEdit.noRepeaters.title" = "Nessun ripetitore disponibile"; /* Location: AddHopPickerView.swift - Purpose: No repeaters empty description */ -"contacts.pathEdit.noRepeaters.description" = "I ripetitori compaiono qui una volta scoperti nella tua rete mesh."; +"contacts.pathEdit.noRepeaters.description" = "I ripetitori compariranno qui una volta scoperti nella tua rete mesh."; /* Location: AddHopPickerView.swift - Purpose: No favorite repeaters empty title */ "contacts.pathEdit.noFavorites.title" = "Nessun ripetitore preferito"; /* Location: AddHopPickerView.swift - Purpose: No favorite repeaters empty description */ -"contacts.pathEdit.noFavorites.description" = "I ripetitori che segni come preferiti compaiono qui."; +"contacts.pathEdit.noFavorites.description" = "I ripetitori che imposterai come preferiti compariranno qui."; /* Location: AddHopPickerView.swift - Purpose: No recent repeaters empty title */ "contacts.pathEdit.noRecent.title" = "Nessun ripetitore recente"; @@ -704,13 +704,13 @@ "contacts.pathEdit.sections.discovered" = "Scoperti"; /* Location: AddHopPickerView.swift - Purpose: Rooms section header */ -"contacts.pathEdit.sections.rooms" = "Sale"; +"contacts.pathEdit.sections.rooms" = "Stanze"; /* Location: AddHopPickerView.swift - Purpose: No-match search description */ "contacts.pathEdit.search.noMatches.description" = "Prova un nome o un prefisso esadecimale come 'a3'."; /* Location: AddHopPickerView.swift - Purpose: No-match description when a filter other than All is selected and a matching room exists */ -"contacts.pathEdit.search.noMatches.descriptionWithRoomsHint" = "Prova un nome o un prefisso esadecimale come 'a3'. Le sale compaiono solo con il filtro Tutti."; +"contacts.pathEdit.search.noMatches.descriptionWithRoomsHint" = "Prova un nome o un prefisso esadecimale come 'a3'. Le stanze compaiono solo con il filtro Tutti."; /* Location: AddHopPickerView.swift - Purpose: Picker row accessibility label, %1$@ is name, %2$d is target hop number */ "contacts.pathEdit.addToPathAsHop" = "Aggiungi %1$@ al percorso come salto %2$d"; @@ -827,7 +827,7 @@ "contacts.pathDetail.performance" = "Prestazioni"; /* Location: SavedPathDetailView.swift - Purpose: Chart Y axis label */ -"contacts.pathDetail.roundTripMs" = "Andata e ritorno (ms)"; +"contacts.pathDetail.roundTripMs" = "Round Trip (ms)"; /* Location: SavedPathDetailView.swift - Purpose: Average stat label */ "contacts.pathDetail.avg" = "Media"; @@ -854,7 +854,7 @@ "contacts.pathDetail.date" = "Data"; /* Location: SavedPathDetailView.swift - Purpose: Round trip label */ -"contacts.pathDetail.roundTrip" = "Andata e ritorno"; +"contacts.pathDetail.roundTrip" = "Round Trip"; /* Location: SavedPathDetailView.swift - Purpose: Status label */ "contacts.pathDetail.status" = "Stato"; @@ -1180,7 +1180,7 @@ "contacts.pathManagement.error.hopResizeRequired" = "Dimensione hash del percorso modificata — rimuovi e riaggiungi i salti per salvare."; /* Location: PathManagementViewModel.swift - Purpose: Shown when the existing path has more hops than the current hash mode supports */ -"contacts.pathManagement.error.tooManyHops" = "Troppi salti. La modalità hash attuale supporta al massimo %d."; +"contacts.pathManagement.error.tooManyHops" = "Troppi salti. La modalità hash attuale ne supporta al massimo %d."; // MARK: - Code Input Result @@ -1191,7 +1191,7 @@ "contacts.codeInput.error.notFound" = "%@ non trovato"; /* Location: TracePathViewModel.swift - Purpose: Already in path error */ -"contacts.codeInput.error.alreadyInPath" = "%@ già nel percorso"; +"contacts.codeInput.error.alreadyInPath" = "%@ è già nel percorso"; // MARK: - Path Name Generation diff --git a/MC1/Resources/Localization/it.lproj/Localizable.strings b/MC1/Resources/Localization/it.lproj/Localizable.strings index 1c59a5abe..d5ec52c33 100644 --- a/MC1/Resources/Localization/it.lproj/Localizable.strings +++ b/MC1/Resources/Localization/it.lproj/Localizable.strings @@ -145,7 +145,7 @@ "notifications.discovery.repeater" = "Nuovo ripetitore scoperto"; /* Notification title when a new room is discovered on the mesh network */ -"notifications.discovery.room" = "Nuova sala scoperta"; +"notifications.discovery.room" = "Nuova stanza scoperta"; // MARK: - Notification Actions @@ -238,7 +238,7 @@ "error.meshCore.bluetoothUnauthorized" = "È richiesta l'autorizzazione Bluetooth. Attivala in Impostazioni."; /* Location: MeshCoreError+UserFacingMessage.swift - Bluetooth radio is off */ -"error.meshCore.bluetoothPoweredOff" = "Bluetooth è disattivato. Attiva Bluetooth per connetterti."; +"error.meshCore.bluetoothPoweredOff" = "Il bluetooth è disattivato. Attivalo per connetterti."; /* Location: MeshCoreError+UserFacingMessage.swift - Connection lost with detail - %@ is the underlying error message */ "error.meshCore.connectionLost" = "La connessione al dispositivo è stata persa: %@"; @@ -250,7 +250,7 @@ "error.meshCore.sessionNotStarted" = "La sessione non è stata avviata."; /* Location: MeshCoreError+UserFacingMessage.swift - Feature disabled in device firmware */ -"error.meshCore.featureDisabled" = "Questa funzione è disabilitata sul dispositivo."; +"error.meshCore.featureDisabled" = "Funzione è disabilitata sul dispositivo."; /* Location: MeshCoreError+UserFacingMessage.swift, ProtocolError+UserFacingMessage.swift - Firmware error code: command unsupported */ "error.device.unsupportedCommand" = "Comando non supportato dal firmware del dispositivo."; @@ -277,13 +277,13 @@ "error.timeout.operationTimedOut" = "Operazione scaduta. Riprova."; /* Location: BLEError+UserFacingMessage.swift - Bluetooth hardware unavailable */ -"error.ble.bluetoothUnavailable" = "Bluetooth non è disponibile su questo dispositivo."; +"error.ble.bluetoothUnavailable" = "Il bluetooth non è disponibile su questo dispositivo."; /* Location: BLEError+UserFacingMessage.swift - Bluetooth permission denied */ "error.ble.bluetoothUnauthorized" = "È richiesta l'autorizzazione Bluetooth. Attivala in Impostazioni."; /* Location: BLEError+UserFacingMessage.swift - Bluetooth radio is off */ -"error.ble.bluetoothPoweredOff" = "Bluetooth è disattivato. Attiva Bluetooth per connetterti."; +"error.ble.bluetoothPoweredOff" = "Il bluetooth è disattivato. Attivalo per connetterti."; /* Location: BLEError+UserFacingMessage.swift - Scanned device could not be found */ "error.ble.deviceNotFound" = "Dispositivo non trovato. Assicurati che sia acceso e nelle vicinanze."; @@ -334,7 +334,7 @@ "error.wifi.connectionFailed" = "Connessione non riuscita: %@"; /* Location: WiFiTransportError+UserFacingMessage.swift - WiFi connection attempt timed out */ -"error.wifi.connectionTimeout" = "Connessione scaduta. Controlla l'indirizzo IP e assicurati che il dispositivo sia sulla stessa rete."; +"error.wifi.connectionTimeout" = "Connessione scaduta. Controlla l'indirizzo IP e assicurati che il dispositivo sia nella stessa rete."; /* Location: WiFiTransportError+UserFacingMessage.swift - No active WiFi connection */ "error.wifi.notConnected" = "Non connesso al dispositivo."; @@ -355,7 +355,7 @@ "error.wifi.notConfigured" = "Connessione non configurata."; /* Location: AccessorySetupKitError+UserFacingMessage.swift - AccessorySetupKit session not active */ -"error.accessorySetup.sessionNotActive" = "Bluetooth non è pronto. Assicurati che Bluetooth sia attivo e riprova."; +"error.accessorySetup.sessionNotActive" = "Il bluetooth non è pronto. Assicurati che Bluetooth sia attivo e riprova."; /* Location: AccessorySetupKitError+UserFacingMessage.swift - AccessorySetupKit session invalidated */ "error.accessorySetup.sessionInvalidated" = "La sessione Bluetooth è terminata in modo imprevisto. Riavvia l'app."; @@ -364,7 +364,7 @@ "error.accessorySetup.pickerDismissed" = "Selezione del dispositivo annullata."; /* Location: AccessorySetupKitError+UserFacingMessage.swift - Accessory picker could not be shown */ -"error.accessorySetup.pickerRestricted" = "Impossibile mostrare il selettore dispositivi. Verifica che Bluetooth sia attivo, attendi un momento e riprova."; +"error.accessorySetup.pickerRestricted" = "Impossibile mostrare il selettore dispositivi. Verifica che il bluetooth sia attivo, attendi un momento e riprova."; /* Location: AccessorySetupKitError+UserFacingMessage.swift - Accessory picker already on screen */ "error.accessorySetup.pickerAlreadyActive" = "Il selettore dispositivi è già visualizzato."; @@ -523,7 +523,7 @@ "error.roomServer.notConnected" = "Non connesso al dispositivo."; /* Location: RoomServerError+UserFacingMessage.swift - No stored session for the room server */ -"error.roomServer.sessionNotFound" = "Sessione della sala non trovata."; +"error.roomServer.sessionNotFound" = "Sessione della non trovata."; /* Location: RoomServerError+UserFacingMessage.swift - Room message send failed */ "error.roomServer.sendFailed" = "Invio non riuscito."; @@ -619,7 +619,7 @@ "error.keyGeneration.maxAttemptsExceeded" = "Impossibile generare una chiave con quel prefisso. Prova con un altro."; /* Location: KeyGenerationError+UserFacingMessage.swift - Requested prefix byte is reserved by firmware */ -"error.keyGeneration.reservedPrefix" = "Quel prefisso è riservato e non può essere usato."; +"error.keyGeneration.reservedPrefix" = "Il prefisso è riservato e non può essere usato."; /* Location: KeyGenerationError+UserFacingMessage.swift - System random number generator failed */ "error.keyGeneration.randomGenerationFailed" = "Generazione sicura di numeri casuali non riuscita. Riprova."; diff --git a/MC1/Resources/Localization/it.lproj/Map.strings b/MC1/Resources/Localization/it.lproj/Map.strings index 3076b6ba7..2eaf386b3 100644 --- a/MC1/Resources/Localization/it.lproj/Map.strings +++ b/MC1/Resources/Localization/it.lproj/Map.strings @@ -114,7 +114,7 @@ "map.detail.action.management" = "Gestione"; /* Location: MapView.swift ContactDetailSheet - Purpose: Button to join a room */ -"map.detail.action.joinRoom" = "Entra nella sala"; +"map.detail.action.joinRoom" = "Entra nella stanza"; /* Location: MapView.swift ContactDetailSheet - Purpose: Button to send a message */ "map.detail.action.sendMessage" = "Invia messaggio"; @@ -128,7 +128,7 @@ "map.nodeKind.repeater" = "Ripetitore"; /* Location: MapView.swift ContactDetailSheet - Purpose: Display name for room type */ -"map.nodeKind.room" = "Sala"; +"map.nodeKind.room" = "Stanza"; // MARK: - Contact Callout @@ -145,7 +145,7 @@ "map.callout.nodeKind.repeater" = "Ripetitore"; /* Location: ContactCalloutContent.swift - Purpose: Display name for room in callout */ -"map.callout.nodeKind.room" = "Sala"; +"map.callout.nodeKind.room" = "Stanza"; // MARK: - Contact Annotation diff --git a/MC1/Resources/Localization/it.lproj/Onboarding.strings b/MC1/Resources/Localization/it.lproj/Onboarding.strings index b18eded8f..fd691974a 100644 --- a/MC1/Resources/Localization/it.lproj/Onboarding.strings +++ b/MC1/Resources/Localization/it.lproj/Onboarding.strings @@ -125,13 +125,13 @@ "troubleshooting.basicChecks.moveCloser" = "Avvicina il dispositivo al telefono"; /* Location: TroubleshootingSheet.swift - Check that radio isn't connected elsewhere */ -"troubleshooting.basicChecks.notConnectedElsewhere" = "Assicurati che la radio non sia connessa a un altro telefono o a un'altra app"; +"troubleshooting.basicChecks.notConnectedElsewhere" = "Assicurati che la radio non sia connessa ad un altro telefono o ad un'altra app"; /* Location: DeviceScanView.swift - Check to restart the device */ "troubleshooting.basicChecks.restart" = "Riavvia il dispositivo MeshCore"; /* Location: DeviceScanView.swift - Section header for factory reset help */ -"troubleshooting.factoryReset.header" = "Ripristino di fabbrica del dispositivo?"; +"troubleshooting.factoryReset.header" = "Ripristino alle impostazioni di fabbrica del dispositivo?"; /* Location: DeviceScanView.swift - Explanation about stale pairings */ "troubleshooting.factoryReset.explanation" = "Se hai ripristinato il dispositivo MeshCore alle impostazioni di fabbrica, iOS potrebbe avere ancora la vecchia associazione memorizzata. Cancellarla nelle Impostazioni di sistema permette al dispositivo di riapparire."; @@ -167,7 +167,7 @@ "troubleshooting.stillNotAppearing.header" = "Ancora non compare?"; /* Location: TroubleshootingSheet.swift - Body text explaining backup and reflash steps */ -"troubleshooting.stillNotAppearing.body" = "Se hai già provato tutto quanto sopra, fai il backup della configurazione della radio nell'app MeshCore di Liam Cottle, poi cancella e riflashala sul computer su https://flasher.meshcore.io"; +"troubleshooting.stillNotAppearing.body" = "Se hai già provato tutto quanto sopra, fai il backup della configurazione della radio nell'app MeshCore di Liam Cottle, poi cancella e riflashala dal computer su https://flasher.meshcore.io"; // MARK: - Mesh Animation View @@ -182,7 +182,7 @@ "noDevice.sheet.title" = "Dai un'occhiata"; /* Location: NoDeviceSheet.swift - Sheet body */ -"noDevice.sheet.body" = "Ti serve una radio associata per inviare e ricevere messaggi. Esplora l'app per ora e associala quando vuoi da Impostazioni."; +"noDevice.sheet.body" = "Ti serve una radio associata per inviare e ricevere messaggi. Esplora l'app per ora. Associa una radio quando vuoi da Impostazioni."; /* Location: NoDeviceSheet.swift - Primary CTA */ "noDevice.sheet.confirm" = "Continua"; @@ -274,7 +274,7 @@ "region.continue" = "Continua"; /* Location: RegionStepView.swift - Title (both states) */ -"region.title" = "Scegli la tua regione"; +"region.title" = "Scegli la tua region"; /* Location: RegionStepView.swift - Subtitle for the region step */ "region.subtitle" = "Mostreremo i preset che funzionano nella tua zona."; @@ -286,7 +286,7 @@ "region.detected.source" = "Dalla tua posizione"; /* Location: RegionStepView.swift - Primary CTA in detected state */ -"region.useThisRegion" = "Usa questa regione"; +"region.useThisRegion" = "Usa questa region"; /* Location: RegionStepView.swift - "Choose another" link */ "region.chooseAnother" = "Scegline un'altra"; @@ -295,10 +295,10 @@ "region.useMyLocation" = "Usa la mia posizione"; /* Location: RegionStepView.swift - "Finding your region…" */ -"region.resolving" = "Ricerca della tua regione…"; +"region.resolving" = "Ricerca della tua region…"; /* Location: RegionStepView.swift - Error shown when user-initiated retry of "Use my location" cannot resolve a region */ -"region.useMyLocation.failure" = "La ricerca della posizione non ha restituito una regione. Sceglila manualmente qui sotto."; +"region.useMyLocation.failure" = "La ricerca della posizione non ha restituito una region. Sceglila manualmente qui sotto."; // MARK: - Device Scanner Sheet (macOS) diff --git a/MC1/Resources/Localization/it.lproj/RemoteNodes.strings b/MC1/Resources/Localization/it.lproj/RemoteNodes.strings index 3cf21aed1..013e4b185 100644 --- a/MC1/Resources/Localization/it.lproj/RemoteNodes.strings +++ b/MC1/Resources/Localization/it.lproj/RemoteNodes.strings @@ -9,7 +9,7 @@ // MARK: - Node Authentication Sheet /* Location: NodeAuthenticationSheet.swift - Navigation title for room authentication */ -"remoteNodes.auth.joinRoom" = "Unisciti alla sala"; +"remoteNodes.auth.joinRoom" = "Unisciti alla stanza"; /* Location: NodeAuthenticationSheet.swift - Navigation title for repeater management */ "remoteNodes.auth.management" = "Gestione"; @@ -27,7 +27,7 @@ "remoteNodes.auth.type" = "Tipo"; /* Location: NodeAuthenticationSheet.swift - Room type value */ -"remoteNodes.auth.typeRoom" = "Sala"; +"remoteNodes.auth.typeRoom" = "stanza"; /* Location: NodeAuthenticationSheet.swift - Repeater type value */ "remoteNodes.auth.typeRepeater" = "Ripetitore"; @@ -48,7 +48,7 @@ "remoteNodes.auth.passwordTooLongRepeaters" = "I ripetitori MeshCore accettano solo password fino a %d caratteri. I caratteri in eccesso verranno ignorati."; /* Location: NodeAuthenticationSheet.swift - Password too long warning for rooms */ -"remoteNodes.auth.passwordTooLongRooms" = "Le sale MeshCore accettano solo password fino a %d caratteri. I caratteri in eccesso verranno ignorati."; +"remoteNodes.auth.passwordTooLongRooms" = "Le stanze MeshCore accettano solo password fino a %d caratteri. I caratteri in eccesso verranno ignorati."; /* Location: NodeAuthenticationSheet.swift - Countdown text showing seconds remaining */ "remoteNodes.auth.secondsRemaining" = "Fino a %d secondi rimanenti"; @@ -342,7 +342,7 @@ // MARK: - Repeater Settings: Regions /* Location: RepeaterSettingsView.swift - Regions section title */ -"remoteNodes.settings.regions" = "Regioni"; +"remoteNodes.settings.regions" = "region"; /* Location: RepeaterSettingsView.swift - Regions section footer */ "remoteNodes.settings.regionsFooter" = "Salva sul ripetitore per mantenere le modifiche tra i riavvii."; @@ -354,43 +354,43 @@ "remoteNodes.settings.regions.allTrafficWildcard" = "* (Tutto il traffico)"; /* Location: RepeaterSettingsView.swift - Home region picker label */ -"remoteNodes.settings.regions.homeRegion" = "Regione principale"; +"remoteNodes.settings.regions.homeRegion" = "region principale"; /* Location: RepeaterSettingsView.swift - No home region set */ /* Location: RepeaterSettingsView.swift - Toggle label for flood allow per region */ /* Location: RepeaterSettingsView.swift - Accessibility hint for flood toggle */ -"remoteNodes.settings.regions.floodToggleHint" = "Se disattivato, i pacchetti flood di questa regione vengono scartati"; +"remoteNodes.settings.regions.floodToggleHint" = "Se disattivato, i pacchetti flood di questa region vengono scartati"; /* Location: RepeaterSettingsView.swift - Add region button */ -"remoteNodes.settings.regions.addRegion" = "Aggiungi regione"; +"remoteNodes.settings.regions.addRegion" = "Aggiungi region"; /* Location: RepeaterSettingsView.swift - Add region alert title */ -"remoteNodes.settings.regions.addRegionTitle" = "Aggiungi regione"; +"remoteNodes.settings.regions.addRegionTitle" = "Aggiungi region"; /* Location: RepeaterSettingsView.swift - Region name placeholder */ -"remoteNodes.settings.regions.regionName" = "Nome regione"; +"remoteNodes.settings.regions.regionName" = "Nome region"; /* Location: RepeaterSettingsView.swift - Save regions to device button */ "remoteNodes.settings.regions.saveToDevice" = "Salva sul ripetitore"; /* Location: RepeaterSettingsViewModel.swift - Region save success */ /* Location: RepeaterSettingsViewModel.swift - Region save failure */ -"remoteNodes.settings.regions.saveFailed" = "Salvataggio delle regioni non riuscito"; +"remoteNodes.settings.regions.saveFailed" = "Salvataggio delle region non riuscito"; /* Location: RepeaterSettingsViewModel.swift - Region not found error */ -"remoteNodes.settings.regions.unknownRegion" = "Regione sconosciuta"; +"remoteNodes.settings.regions.unknownRegion" = "region sconosciuta"; /* Location: RepeaterSettingsViewModel.swift - Region has children error */ -"remoteNodes.settings.regions.notEmpty" = "Rimuovi prima le regioni figlie"; +"remoteNodes.settings.regions.notEmpty" = "Rimuovi prima le region figlie"; /* Location: RepeaterSettingsViewModel.swift - Region add failure */ -"remoteNodes.settings.regions.addFailed" = "Aggiunta della regione non riuscita"; +"remoteNodes.settings.regions.addFailed" = "Aggiunta della region non riuscita"; /* Location: RepeaterSettingsViewModel.swift - Region remove failure */ -"remoteNodes.settings.regions.removeFailed" = "Rimozione della regione non riuscita"; +"remoteNodes.settings.regions.removeFailed" = "Rimozione della region non riuscita"; /* Location: RepeaterSettingsViewModel.swift - No regions on device */ -"remoteNodes.settings.regions.empty" = "Nessuna regione configurata"; +"remoteNodes.settings.regions.empty" = "Nessuna region configurata"; // MARK: - Repeater Status @@ -744,7 +744,7 @@ "remoteNodes.room.viewOnlyHint" = "Tocca per accedere"; /* Location: RoomConversationView.swift - Room info sheet title */ -"remoteNodes.room.infoTitle" = "Info sala"; +"remoteNodes.room.infoTitle" = "Info stanza"; /* Location: RoomConversationView.swift - Details section header */ "remoteNodes.room.details" = "Dettagli"; @@ -786,7 +786,7 @@ "remoteNodes.room.disconnectedHint" = "Tocca per riconnetterti"; /* Location: RoomConversationView.swift - VoiceOver announcement when room reconnects */ -"remoteNodes.room.reconnected" = "Sala riconnessa"; +"remoteNodes.room.reconnected" = "stanza riconnessa"; // MARK: - Room Message Bubble @@ -805,7 +805,7 @@ // MARK: - Room Status /* Location: RoomStatusView.swift - Navigation title */ -"remoteNodes.roomStatus.title" = "Stato della sala"; +"remoteNodes.roomStatus.title" = "Stato della stanza"; /* Location: RoomStatusView.swift - Posts received label */ "remoteNodes.roomStatus.postsReceived" = "Post ricevuti"; @@ -816,10 +816,10 @@ // MARK: - Room Settings /* Location: RoomSettingsView.swift - Navigation title */ -"remoteNodes.roomSettings.title" = "Impostazioni sala"; +"remoteNodes.roomSettings.title" = "Impostazioni stanza"; /* Location: RoomSettingsView.swift - Room settings section header */ -"remoteNodes.roomSettings.roomSettingsSection" = "Impostazioni sala"; +"remoteNodes.roomSettings.roomSettingsSection" = "Impostazioni stanza"; /* Location: RoomSettingsView.swift - Room settings section footer */ "remoteNodes.roomSettings.roomSettingsFooter" = "Password ospite e accesso in sola lettura."; @@ -834,20 +834,20 @@ "remoteNodes.roomSettings.allowReadOnlyFooter" = "Consenti agli utenti senza password di connettersi in modalità sola lettura."; /* Location: RoomSettingsView.swift - Apply room settings button */ -"remoteNodes.roomSettings.applyRoomSettings" = "Applica impostazioni sala"; +"remoteNodes.roomSettings.applyRoomSettings" = "Applica impostazioni stanza"; /* Location: RoomSettingsView.swift - Room behavior section footer */ "remoteNodes.roomSettings.behaviorFooter" = "Intervalli di annuncio e salti flood."; /* Location: RoomSettingsView.swift - Identity section footer */ /* Location: RoomSettingsView.swift - Reboot confirmation title */ -"remoteNodes.roomSettings.rebootConfirmTitle" = "Riavviare la sala?"; +"remoteNodes.roomSettings.rebootConfirmTitle" = "Riavviare la stanza?"; /* Location: RoomSettingsView.swift - Reboot confirmation message */ -"remoteNodes.roomSettings.rebootMessage" = "La sala si riavvierà e sarà temporaneamente non disponibile."; +"remoteNodes.roomSettings.rebootMessage" = "La stanza si riavvierà e sarà temporaneamente non disponibile."; /* Location: RoomSettingsView.swift - Radio restart warning */ -"remoteNodes.roomSettings.radioRestartWarning" = "Queste modifiche non avranno effetto finché la sala non viene riavviata"; +"remoteNodes.roomSettings.radioRestartWarning" = "Queste modifiche non avranno effetto finché la stanza non viene riavviata"; /* Location: RoomSettingsView.swift - No service error */ /* Location: RoomSettingsView.swift - Not connected error */ diff --git a/MC1/Resources/Localization/it.lproj/Settings.strings b/MC1/Resources/Localization/it.lproj/Settings.strings index 5a11441d3..1ab43807c 100644 --- a/MC1/Resources/Localization/it.lproj/Settings.strings +++ b/MC1/Resources/Localization/it.lproj/Settings.strings @@ -476,7 +476,7 @@ "nodes.autoAddRepeaters" = "Ripetitori"; /* Toggle label for auto-add room servers */ -"nodes.autoAddRoomServers" = "Server di sala"; +"nodes.autoAddRoomServers" = "Server stanza"; /* Section header for storage settings */ /* Toggle label for overwrite oldest */ @@ -567,7 +567,7 @@ "dangerZone.resetting" = "Ripristino…"; /* Footer explaining factory reset */ -"dangerZone.footer" = "Il ripristino di fabbrica cancella tutti i contatti, i messaggi e le impostazioni sul dispositivo."; +"dangerZone.footer" = "Il ripristino ai dati di fabbrica cancella tutti i contatti, i messaggi e le impostazioni sul dispositivo."; /* Confirmation dialog title for forget device */ "dangerZone.dialog.forget.title" = "Dimentica dispositivo"; @@ -582,7 +582,7 @@ "dangerZone.dialog.forget.deleteAll" = "Dimentica dispositivo ed elimina i dati"; /* Alert title for factory reset confirmation */ -"dangerZone.alert.reset.title" = "Ripristino di fabbrica"; +"dangerZone.alert.reset.title" = "Ripristino ai dati fabbrica"; /* Button to confirm reset */ "dangerZone.alert.reset.confirm" = "Ripristina"; @@ -685,7 +685,7 @@ "mapPreviews.toggle" = "Mostra miniature mappa"; /* Footer explaining map preview privacy implications */ -"mapPreviews.footer" = "Mostrare le miniature mappa recupera le tessere cartografiche delle coordinate da un server di terze parti, che può rivelare il tuo indirizzo IP."; +"mapPreviews.footer" = "Mostrare le miniature mappa recupera le tessere cartografiche delle coordinate da un server di terze parti. Può rivelare il tuo indirizzo IP."; // MARK: - Node Settings Section @@ -748,7 +748,7 @@ "location.sharingPublicly" = "Condivisione pubblica"; /* Detail text when location is not being shared */ -"location.notSharing" = "Non in condivisione"; +"location.notSharing" = "Non condiviso"; // MARK: - Notification Settings Section @@ -756,13 +756,13 @@ "notifications.header" = "Notifiche"; /* Toggle label for contact messages notifications */ -"notifications.contactMessages" = "Messaggi dei contatti"; +"notifications.contactMessages" = "Messaggi dai contatti"; /* Toggle label for channel messages notifications */ "notifications.channelMessages" = "Messaggi dei canali"; /* Toggle label for room messages notifications */ -"notifications.roomMessages" = "Messaggi delle sale"; +"notifications.roomMessages" = "Messaggi delle stanze"; /* Toggle label for new contact discovered notifications */ "notifications.newContactDiscovered" = "Nuovo contatto scoperto"; @@ -774,7 +774,7 @@ "notifications.discoveryRepeater" = "Ripetitore"; /* Toggle label for room discovery notifications */ -"notifications.discoveryRoom" = "Sala"; +"notifications.discoveryRoom" = "Stanza"; /* Toggle label for low battery warnings */ "notifications.lowBattery" = "Avvisi batteria scarica"; @@ -950,7 +950,7 @@ "messages.showIncomingHopCount" = "Numero di salti in arrivo"; /* Toggle label for showing the radio region an incoming message was flooded under */ -"messages.showIncomingRegion" = "Regione in arrivo"; +"messages.showIncomingRegion" = "Region in arrivo"; /* Footer explaining what the message display options show */ "messages.footer" = "Mostra informazioni di routing e timing nelle bolle dei messaggi in arrivo."; @@ -1353,7 +1353,7 @@ "offlineMaps.emptyDescription" = "Scarica regioni della mappa per usarle senza internet."; /* Button to download a new offline region */ -"offlineMaps.downloadRegion" = "Scarica regione"; +"offlineMaps.downloadRegion" = "Scarica region"; /* Section header for storage info */ "offlineMaps.storage" = "Archiviazione"; @@ -1362,7 +1362,7 @@ "offlineMaps.storageUsed" = "Spazio usato"; /* Fallback name for unknown region */ -"offlineMaps.unknownRegion" = "Regione sconosciuta"; +"offlineMaps.unknownRegion" = "Region sconosciuta"; /* Status when pack download is complete */ "offlineMaps.complete" = "Scaricata"; @@ -1371,10 +1371,10 @@ "offlineMaps.downloading" = "Download…"; /* Navigation title for region picker sheet */ -"offlineMaps.pickRegion" = "Seleziona regione"; +"offlineMaps.pickRegion" = "Seleziona region"; /* Placeholder for region name text field */ -"offlineMaps.regionName" = "Nome regione"; +"offlineMaps.regionName" = "Nome region"; /* Button to start download */ "offlineMaps.download" = "Scarica"; @@ -1495,7 +1495,7 @@ "settings.backup.import.preview.devices" = "Dispositivi"; /* Import preview manifest label: room messages */ -"settings.backup.import.preview.room_messages" = "Messaggi di sala"; +"settings.backup.import.preview.room_messages" = "Messaggi della stanza"; /* Import preview manifest label: reactions */ "settings.backup.import.preview.reactions" = "Reazioni"; diff --git a/MC1/Resources/Localization/it.lproj/Tools.strings b/MC1/Resources/Localization/it.lproj/Tools.strings index adc3d2d96..7ba45e7a6 100644 --- a/MC1/Resources/Localization/it.lproj/Tools.strings +++ b/MC1/Resources/Localization/it.lproj/Tools.strings @@ -660,7 +660,7 @@ "tools.cli.helpHelp" = " help\n Mostra questo aiuto"; /* Location: CLIToolViewModel.swift - Help: nodes command */ -"tools.cli.helpNodes" = " nodes\n Mostra elenco di ripetitori e sale"; +"tools.cli.helpNodes" = " nodes\n Mostra elenco di ripetitori e stanze"; /* Location: CLIToolViewModel.swift - Help: channels command */ "tools.cli.helpChannels" = " channels\n Mostra elenco di canali con numeri di slot del dispositivo";