/** * Italian — translated from locales/en.js. * * Register: formal (forma di cortesia, "Lei"). * `hub`, `node` and `GEK` are left in English: they name the CLI * (`meshbay-node`), node.toml and the docs, which are English throughout. * Grammatical gender chosen here: l'hub (m.), il node (m.), la GEK → "la chiave". */ export default { // Nav 'nav.toggle_menu': 'Mostra il menu', 'nav.light_mode': 'Tema chiaro', 'nav.dark_mode': 'Tema scuro', 'nav.logout': 'Esci', 'nav.login': 'Accedi', 'nav.minimize_tray': 'Riduci nella barra di sistema', 'tray.show': 'Mostra MeshBay', 'tray.quit': 'Esci', 'tray.start_node': 'Avvia il nodo', 'tray.stop_node': 'Arresta il nodo', // Sidebar 'sidebar.my_groups': 'I miei gruppi', 'sidebar.no_groups': 'Ancora nessun gruppo', 'sidebar.legal': 'Note legali', 'sidebar.discover': 'Esplora', 'sidebar.public_groups': 'Gruppi pubblici', // Login 'login.title': 'Accedi', 'login.username': 'Nome utente', 'login.password': 'Password', 'login.submit': 'Accedi', 'login.loading': 'Accesso in corso...', 'login.no_account': 'Non ha ancora un account?', 'login.register_link': 'Crea un account', 'login.forgot': 'Ha dimenticato la passphrase?', 'reset.title': 'Reimposta la passphrase', 'reset.request_intro': 'Inserisca il suo nome utente e l’e-mail dell’account. Se corrispondono, un codice di reimpostazione viene inviato a quell’indirizzo.', 'reset.send_code': 'Invia codice', 'reset.form_intro': 'Inserisca il codice ricevuto per e-mail e scelga una nuova passphrase. Se ha la sua chiave di recupero, la aggiunga per ripristinare anche l’accesso ai suoi gruppi.', 'reset.code': 'Codice di reimpostazione', 'reset.recovery_key': 'Chiave di recupero (facoltativa)', 'reset.recovery_key_hint': 'La lasci vuota se non la possiede. Senza di essa il suo accesso viene ripristinato, ma dovrà riunirsi a ogni gruppo.', 'reset.new_pass': 'Nuova passphrase', 'reset.new_pass_repeat': 'Ripeti la nuova passphrase', 'reset.submit': 'Reimposta la passphrase', 'reset.working': 'Ripristino delle sue identità di gruppo…', 'reset.signin_restored': 'Il suo accesso è stato ripristinato.', 'reset.groups_restored': 'Le sue identità di gruppo sono state ripristinate su ogni nodo raggiungibile.', 'reset.no_recovery': 'Le sue identità di gruppo non sono state ripristinate. Per ogni gruppo, chieda al suo operatore di rimuovere il suo pin e di inviarle un nuovo codice di invito, poi si riunisca.', 'reset.needs_operator': 'Questi gruppi richiedono ancora un intervento — chieda a ogni operatore di rimuovere il suo pin e di inviarle un nuovo codice:', 'reset.go_app': 'Vai all’app', 'reset.back_to_login': 'Torna all’accesso', 'reset.err_unsupported': 'La reimpostazione della passphrase richiede il modulo di cifratura del browser, non disponibile qui.', // Register 'register.title': 'Crea un account', 'register.username': 'Nome utente', 'register.email': 'Indirizzo e-mail', 'register.password': 'Passphrase (almeno 12 caratteri)', 'register.confirm': 'Conferma la password', 'register.submit': "Crea l'account", 'register.loading': "Creazione dell'account...", 'register.has_account': 'Ha già un account?', 'register.login_link': 'Accedi', 'register.recovery_title': 'Salvi la sua chiave di recupero', 'register.recovery_intro': 'Questa chiave ripristina le sue identità di gruppo se dovesse dimenticare la passphrase. La conservi in un gestore di password o in un luogo sicuro.', 'register.recovery_copy': 'Copia', 'register.recovery_copied': 'Copiato', 'register.recovery_warning': 'Se perde sia la passphrase sia questa chiave, i suoi file restano sui rispettivi nodi ma si riunisce a ogni gruppo con una nuova identità.', 'register.recovery_saved': 'Ho salvato la mia chiave di recupero in un luogo sicuro.', 'register.recovery_continue': 'Continua', 'register.recovery_email_opt': 'Inviami anche questa chiave di recupero via e-mail come backup', 'register.recovery_emailed': 'Una copia è stata inviata anche alla sua e-mail, nello stesso messaggio del codice di verifica.', 'register.recovery_not_emailed': 'Non è stata inviata via e-mail. La salvi ora: è l’unica volta che viene mostrata.', 'register.success_title': 'Verifichi la sua e-mail', 'register.success_msg': 'Un codice di verifica è stato inviato al suo indirizzo e-mail. Lo inserisca qui sotto per attivare il suo account.', 'register.go_login': "Vai all'accesso", 'register.code_placeholder': 'Codice di verifica', 'register.verify_btn': 'Verifica', 'register.verifying': 'Verifica in corso…', 'register.verified_title': 'E-mail verificata', 'register.verified_msg': 'Il suo account è attivo. Ora può accedere.', 'register.resend': 'Invia di nuovo il codice', 'register.resend_sent': 'Un nuovo codice è stato inviato.', 'login.pending_verification': 'Il suo indirizzo e-mail non è ancora verificato. Controlli la sua casella di posta per il codice di verifica.', 'login.verify_link': 'Verifica e-mail', 'login.invalid': "Nome utente o passphrase errati.", 'login.locked': "Troppe passphrase errate per questo account. Riprovi tra {minutes} min oppure reimposti la passphrase.", // Sign-in page: what MeshBay is (browser only) 'welcome.title': 'Internet come doveva essere.', 'welcome.lead': 'MeshBay è un software open source che le permette di accedere da remoto ai suoi file personali e di usare applicazioni basate sullo spazio di archiviazione del suo computer:', 'welcome.app_chat': 'Chat', 'welcome.app_photos': 'Foto', 'welcome.app_media': 'Media center', 'welcome.app_video': 'Lettore video', 'welcome.app_music': 'Lettore musicale', 'welcome.groups': 'Crei gruppi per dare alle persone a lei care l’accesso ad alcune di queste applicazioni.', 'welcome.e2e': 'I suoi dati sono cifrati end-to-end e viaggiano peer-to-peer, direttamente da ogni dispositivo al computer che li ospita: il suo nodo. Non passano mai dall’hub meshbay.org.', 'welcome.uses_title': 'Cosa può farci', 'welcome.use_chat': 'Messaggistica istantanea all’interno di un gruppo', 'welcome.use_photos': 'Condividere album fotografici con famiglia e amici', 'welcome.use_media': 'Accedere ovunque al media center di casa, per lei e la sua famiglia, con streaming e Chromecast dall’app desktop', 'welcome.use_apps': 'Creare le proprie applicazioni sul nodo che ospita', 'welcome.hub_title': 'Cosa fa meshbay.org', 'welcome.hub_body': 'meshbay.org è solo un servizio di segnalazione: la autentica e mette in contatto le parti, plug-and-play, attraverso le reti domestiche.', 'welcome.hub_never': 'I suoi contenuti non lo raggiungono mai:', 'welcome.never_transit': 'Nulla passa da lì: nessun contenuto, nessuna indicizzazione', 'welcome.never_stored': 'Nessun suo file o messaggio vi è archiviato', 'welcome.never_e2e': 'Crittografia end-to-end, da ogni dispositivo al suo nodo', 'welcome.hub_free': 'Il servizio è gratuito. Nessun modello di business (per scelta), nessun tracciamento, nessuna pubblicità. Buon divertimento!', 'welcome.download': 'Scarica (beta)', 'welcome.legal': 'Note legali', 'register.err_mismatch': 'Le password non coincidono', 'register.err_username_len': 'Il nome utente deve contenere almeno {n} caratteri.', 'register.err_min_len': { one: 'Usi almeno {n} carattere', other: 'Usi almeno {n} caratteri', }, 'register.err_too_weak': 'Troppo facile da indovinare. La passphrase è ciò che ' + 'protegge le sue chiavi là dove sono conservate — qualche parola senza alcun ' + 'legame tra loro funziona bene.', 'register.strength': 'Robustezza: circa {bits} bit. Protegge la copia delle sue ' + 'chiavi conservata sui node a cui aderisce, quindi vale la pena sceglierla con cura.', 'captcha.required': 'Completa il captcha.', 'captcha.failed': 'Verifica captcha fallita — riprova.', // Home 'home.welcome': 'Benvenuto in MeshBay', 'home.no_groups': 'Non fa ancora parte di nessun gruppo.', 'home.browse_prefix': 'Dia un’occhiata ai ', 'home.browse_link': 'gruppi pubblici', 'home.browse_suffix': " oppure chieda a un amministratore di gruppo di invitarla.", 'home.invite_only': 'Chieda a un amministratore di gruppo di invitarla.', 'home.my_groups': 'I miei gruppi', // Explore 'explore.title': 'Gruppi pubblici', 'explore.search': 'Cerca gruppi...', 'explore.loading': 'Caricamento...', 'explore.empty': 'Nessun gruppo pubblico disponibile.', 'explore.create_group': 'Crea un gruppo', 'explore.join': 'Partecipa', 'explore.member': 'Iscritto', 'explore.disabled': "This hub does not have public groups.", // Group page 'group.default_name': 'Gruppo', 'group.tab_files': 'File', 'group.tab_chat': 'Chat', 'group.tab_video': 'Video', 'group.tab_music': 'Musica', 'group.tab_photos': 'Foto', 'group.tab_helloworld': 'HelloWorld', 'helloworld.greeting': 'Ciao, mondo!', 'helloworld.no_directory': 'Nessuna cartella scelta. Scegline una nelle impostazioni.', 'helloworld.counted': '{n} file', 'settings_app.helloworld_directory_label': 'Cartella', 'settings_app.helloworld_directory_hint': 'La cartella elencata da questa applicazione di riferimento. Serve a mostrare che aggiungerne una non richiede altro che i suoi due file.', 'group.tab_members': 'Membri', 'group.tab_settings': "Impostazioni", 'members.danger_leave_hint': "Perderai l’accesso ai file e alla chat di questo gruppo.", 'members.uploads_title': "Caricamenti", 'members.uploads_on': "I membri possono aggiungere file", 'members.uploads_off': "Solo tu puoi aggiungere file", 'members.uploads_disable': "Disattiva", 'members.uploads_enable': "Attiva", 'members.uploads_hint': "Vale per tutti tranne te. È il nodo a rifiutare il caricamento: non si tratta di nascondere un pulsante.", 'members.apps_title': "Applicazioni", 'members.apps_hint': "Quali parti di questo gruppo vedono i membri. Almeno una deve restare attiva.", 'members.apps_need_one': "Almeno un'applicazione deve restare attiva.", 'members.danger_delete_hint': "Il gruppo scompare per tutti i membri. Non è reversibile.", 'group.filter': 'Filtra i file...', 'group.refresh_index': 'Aggiorna l\'elenco', 'group.col_name': 'Nome', 'group.col_size': 'Dimensione', 'group.col_type': 'Tipo', 'group.col_date': 'Data', 'group.empty_filter': 'Nessun file corrisponde al filtro', 'group.empty_dir': 'Questa cartella è vuota', 'group.download': 'Scarica', 'group.play': 'Riproduci', 'group.offline_title': 'Al momento nessun node è online per questo gruppo.', 'group.offline_hint': 'I file compariranno quando si collegherà un node che ospita ' + 'questo gruppo.', 'group.upload': 'Carica', 'group.drop_here': 'Rilascia per caricare in {dir}', 'group.drop_not_here': 'I file si possono rilasciare solo in una cartella scrivibile.', 'group.drop_conflict': 'Caricamento annullato — già presente in questa cartella: {names}. Rinominalo o rimuovilo prima.', 'group.drop_invalid': 'Caricamento annullato — il nodo non può salvare questi nomi: {names}', 'group.drop_unreadable': 'Caricamento annullato — impossibile leggere gli elementi rilasciati.', 'group.drop_mkdir_failed': 'Caricamento annullato — impossibile creare una cartella ({detail}).', 'group.mkdir': 'Nuova cartella', 'group.mkdir_prompt': 'Nome della nuova cartella', 'group.mkdir_offline': 'Non connesso al nodo.', 'group.download_offline': 'Nessuna connessione al nodo — il download non può iniziare. La riconnessione è automatica, riprovi tra poco.', 'group.download_write_stalled': 'Il file ha smesso di essere scritto su disco ({seconds} s senza progressi). Il download è stato interrotto invece di restare bloccato; riprovi.', 'device.add_title': 'This browser is not linked to this node yet', 'device.add_hint': 'Your account is known here, but this browser holds a different key. Approve it from a device already linked — no operator needed.', 'device.add_btn': 'Get a linking code', 'device.add_show': 'Type this code into a device already linked to this node, within the hour:', 'device.mine_title': 'Your devices on this node', 'device.mine_hint': 'Each browser or client you use here holds its own key. They are separate from your devices on other nodes.', 'device.mine_empty': 'No device is linked here yet.', 'device.this_one': 'this one', 'device.revoke': 'Remove', 'device.revoke_confirm': 'Remove this device? It will lose access to this node until it is linked again.', 'device.approve_hint': 'Linking a new device? Enter the code it is showing.', 'device.approve_btn': 'Approve', 'device.approved': 'Device linked.', 'group.root_unavailable': '(non disponibile — l’unità è scollegata)', 'group.root_plug': 'Ricollega', 'group.root_eject': 'Espelli', 'group.root_writable': 'Lettura/Scrittura', 'group.root_ejected': '(espulso)', 'group.view': 'Visualizza', 'group.delete': 'Elimina', 'group.delete_confirm': 'Eliminare {name}?', 'group.delete_group': 'Elimina il gruppo', 'group.delete_group_confirm': 'Eliminare definitivamente «{name}» e rimuovere tutti ' + 'i membri? I file presenti sul node vengono conservati.', 'group.err_transport': 'Modulo di trasporto non caricato', // Status 'status.idle': 'Inattivo', 'status.discovering': 'Ricerca dei node...', 'status.connecting': 'Connessione tramite WebRTC...', 'status.connecting_short': 'Connessione…', 'status.fetching': "Recupero dell'indice...", 'status.files': { one: '{n} file', other: '{n} file', }, 'status.offline': 'Nessun node online', 'status.error': 'Connessione non riuscita', // Chat 'chat.empty': 'Ancora nessun messaggio. Inizi la conversazione!', 'chat.placeholder': 'Scriva un messaggio...', 'chat.send': 'Invia', 'chat.attach': 'Allega un file', 'chat.attach_read_only': 'Nessuna directory condivisa scrivibile: gli allegati sono disattivati', // Video player 'video.loading': 'Caricamento di {name}...', 'video.buffering': 'Buffering in corso...', 'video.resumed_at': "Ripreso da {time}", 'video.from_start': "Riparti dall'inizio", 'video.audio_track': 'Traccia audio', 'video.audio_track_n': 'Traccia {n}', 'video.subtitles': 'Sottotitoli', 'video.subtitles_off': 'Nessuno', 'video.subtitle_track_n': 'Traccia {n}', 'video.subtitles_forced': 'forzati (solo cartelli)', 'video.subtitles_sdh': 'per non udenti', 'video.err_subtitle': 'Impossibile caricare questa traccia di sottotitoli', 'video.close': 'Chiudi (Esc)', 'preview.pdf_fallback': 'Questo browser non mostrerà il PDF nella pagina. Lo scarichi ' + 'invece — in ogni caso è stato decifrato qui.', 'preview.too_large': 'Questo file è di {size}, più di quanto questa pagina possa tenere in memoria ({limit}). Lo scarichi invece — un download viene scritto direttamente su disco.', 'download.too_large_for_memory': '«{name}» è di {size}. Questo browser può salvare un file di queste dimensioni solo scrivendolo su disco man mano, e qui non può farlo — dovrebbe tenere l’intero file in memoria. Ricarichi la pagina e riprovi; se non basta, usi l’applicazione desktop.', 'group.upload_indexing': 'indicizzazione…', 'video.err_transport': 'Trasporto non connesso', 'video.err_mse': 'Codec non supportato per lo streaming: {codec}', 'video.mode_poster': 'Locandine', 'video.mode_flat': 'Elenco semplice', 'video.filter_all': 'All', 'video.filter_movies': 'Movies', 'video.filter_series': 'Series', 'pager.range': '{from}–{to} di {total}', 'pager.previous': 'Pagina precedente', 'pager.next': 'Pagina successiva', 'video.empty': 'Nessun video trovato.', 'video.no_root_configured': 'Per questo gruppo non è ancora impostata una cartella radice di Video — un operatore può sceglierne una nelle Impostazioni.', 'music.no_root_configured': 'Per questo gruppo non è ancora impostata una cartella radice di Musica — un operatore può sceglierne una nelle Impostazioni.', 'video.director': 'Regista', 'video.specials': 'Speciali', 'video.season_n': 'Stagione {n}', 'video.episode_n': 'Episodio {n}', 'video.n_episodes': { one: '{n} episodio', other: '{n} episodi', }, 'video.fix_match': 'Correggi corrispondenza…', 'video.search_title': 'Correggi la corrispondenza TMDB', 'video.search_placeholder': 'Cerca su TMDB…', 'video.search_button': 'Cerca', 'video.search_no_results': 'Nessuna corrispondenza trovata.', 'video.search_apply_hint': 'Si applica a tutti i file attualmente raggruppati sotto questo titolo.', 'video.search_apply_hint_movie': 'Si applica solo a questo file.', 'video.source_file': 'File: {name}', 'video.no_match': 'Nessuna corrispondenza TMDB affidabile — mostrato il nome del file.', 'video.rematch_one': 'Riassocia', 'video.read_more': 'Leggi tutto', 'video.read_less': 'Mostra meno', // Musica 'music.mode_grid': 'Album', 'music.mode_flat': 'Elenco semplice', 'music.empty': 'Nessuna musica trovata.', 'music.unknown_album': 'Album sconosciuto', 'music.various': 'Vari', 'music.play_all': 'Riproduci tutto', 'music.menu_more': 'Altro…', 'music.menu_play': 'Riproduci', 'music.menu_play_next': 'Riproduci dopo', 'music.menu_enqueue': 'Aggiungi alla coda', 'music.n_tracks': { one: '{n} traccia', other: '{n} tracce', }, 'music.err_transport': 'Trasporto non connesso', 'music.err_playback': 'Errore di riproduzione', 'music.err_transcode': 'Conversione del formato non riuscita', 'music.player_play': 'Riproduci', 'music.player_pause': 'Pausa', 'music.player_prev': 'Precedente', 'music.player_next': 'Successivo', 'music.player_shuffle': 'Riproduzione casuale', 'music.player_repeat_off': 'Ripetizione disattivata', 'music.player_repeat_all': 'Ripeti tutto', 'music.player_repeat_one': 'Ripeti brano', 'music.player_volume': 'Volume', 'music.player_close': 'Chiudi lettore', 'playlists.menu': 'Playlist', 'playlists.load': 'Carica una playlist', 'playlists.create': 'Nuova playlist…', 'playlists.delete': 'Elimina una playlist', 'playlists.remove_track': 'Rimuovi un brano', 'playlists.sync_now': 'Sincronizza ora', 'playlists.add_to': 'Aggiungi a una playlist', 'playlists.favorites': 'Preferiti', 'playlists.none_yet': 'Nessuna playlist', 'playlists.empty_playlist': 'Questa playlist è vuota', 'playlists.added': '{n} aggiunti', 'playlists.already_there': 'Già in quella playlist', 'playlists.name_placeholder': 'Nome della playlist', 'playlists.err_duplicate': 'Esiste già una playlist con questo nome', 'playlists.confirm_delete': 'Eliminare la playlist «{name}»? Non è reversibile.', 'playlists.deleted': '«{name}» eliminata', 'playlists.synced': 'Playlist sincronizzate', 'playlists.sync_failed': 'Sincronizzazione non riuscita', 'playlists.err_no_key': 'Esci e rientra con la tua password una volta per sincronizzare le playlist tra dispositivi.', 'playlists.err_too_large': '«{name}» è troppo grande per sincronizzarsi con i tuoi altri dispositivi. Dividila in playlist di circa {n} brani.', 'playlists.track_removed': 'Brano rimosso', 'playlists.save_queue': 'Salva la coda come playlist…', 'playlists.cancel': 'Annulla', 'playlists.save': 'Salva', 'music.player_queue': 'Coda attuale', 'music.queue_title': 'In riproduzione', // Photos 'photo.empty': 'Nessuna foto trovata.', 'photo.no_roots_configured': 'Per questo gruppo non sono ancora impostate cartelle radice di Foto — un operatore può sceglierne alcune nelle Impostazioni.', 'photo.root_album': '(livello superiore)', 'photo.n_photos': { one: '{n} foto', other: '{n} foto', }, 'photo.back': 'Indietro', 'photo.prev': 'Precedente (←)', 'photo.next': 'Successiva (→)', 'photo.zip_album': "Scarica l'album come zip", 'photo.zoom_in': 'Ingrandisci', 'photo.zoom_out': 'Riduci', 'photo.zoom_fit_title': 'Adatta alla finestra', 'photo.zoom_fit_label': 'Adatta', 'photo.zoom_100': 'Dimensione reale (100%)', // LAN cast 'cast.start': 'Trasmetti al dispositivo', 'cast.stop': 'Interrompi trasmissione', 'cast.copy_url': 'Copia URL dello stream', 'cast.copied': 'URL copiato', 'cast.scanning': 'Ricerca dispositivi…', 'cast.no_devices': 'Nessun dispositivo trovato', // Settings 'settings.title': 'Impostazioni', 'settings.coming_soon': 'Prossimamente.', 'settings.downloads': 'Download', 'settings.dl_auto': 'Salva automaticamente', 'settings.dl_auto_hint': 'I file finiscono direttamente nella cartella che sceglie ' + 'qui sotto, senza alcuna finestra. Scaricare venti file ne deposita venti.', 'settings.dl_ask': 'Chiedi ogni volta', 'settings.dl_ask_hint': 'Una finestra «Salva con nome» per ciascun file — una per ' + 'file, anche quando scarica una selezione.', 'settings.dl_folder': 'Cartella: {name}', 'settings.dl_no_folder': 'Nessuna cartella scelta — i download finiscono dove li ' + 'colloca il browser, e non si possono sospendere', 'settings.dl_choose': 'Scegli una cartella', 'settings.dl_change': 'Cambia', 'settings.dl_forget': 'Dimentica', 'settings.profile': 'Profilo', 'settings.username': 'Nome utente', 'settings.email': 'Email', 'settings.email_save': 'Save', 'settings.email_saved': 'E-mail aggiornata', 'settings.email_code_sent': 'Un codice di verifica è stato inviato al suo nuovo indirizzo e-mail.', 'settings.email_code_placeholder': 'Codice di verifica', 'settings.email_verify_btn': 'Verifica', 'settings.email_verifying': 'Verifica in corso…', 'settings.email_verified': 'Indirizzo e-mail modificato con successo.', 'settings.notif_global_disable': 'Disable all notifications', 'settings.notif_global_hint': 'When enabled, no notifications are created for any group.', 'settings.defaults': 'Valori predefiniti', 'settings.default_tab': 'Default tab', 'settings.default_tab_hint': 'Which tab opens first when you enter a group.', 'settings.media_page_size': 'Elementi per pagina in Video e Musica', 'settings.media_page_size_hint': 'Quanti poster o album vengono mostrati alla volta; le frecce nella barra degli strumenti passano al gruppo successivo.', 'settings.music_keep_screen_on': 'Keep screen on during music playback', 'settings.music_keep_screen_on_hint': 'Prevents the phone from locking on its own while a track is playing.', 'settings.node_pins': 'Identità dei node', 'settings.node_pins_hint': "La chiave d'identità di ogni node viene memorizzata alla " + 'prima connessione. Se cambia, la connessione viene rifiutata — cosa che ci si ' + 'aspetta solo quando un operatore reinstalla un node. Verifichi con lui prima di ' + 'cancellarla.', 'settings.node_pins_count': { one: '{n} fissata', other: '{n} fissate', }, 'settings.node_pins_clear': 'Cancella le identità fissate', 'settings.passphrase': 'Passphrase', 'settings.passphrase_hint': "Cambia la passphrase di questo account. Le tue chiavi di identità vengono ricodificate su ogni gruppo il cui nodo è online; a un gruppo il cui nodo è offline dovrai riunirti in seguito.", 'settings.passphrase_change': 'Cambia la passphrase', 'settings.passphrase_current': 'Passphrase attuale', 'settings.passphrase_new': 'Nuova passphrase', 'settings.passphrase_new_repeat': 'Ripeti la nuova passphrase', 'settings.continue': 'Continua', 'settings.done': 'Fatto', 'settings.passphrase_confirm_intro': 'Le tue chiavi di identità verranno ora ricodificate su ogni gruppo il cui nodo è raggiungibile:', 'settings.passphrase_reachable': 'Aggiornato ora', 'settings.passphrase_unreachable': 'Non raggiungibile', 'settings.passphrase_fallback_note': "Per un gruppo non raggiungibile, chiedi al suo operatore di rimuovere il tuo pin e di inviarti un nuovo codice di invito, poi riunisciti. I tuoi file e messaggi non vanno persi.", 'settings.passphrase_confirm_btn': 'Cambia', 'settings.passphrase_working': 'Ricodifica delle tue chiavi in corso…', 'settings.passphrase_done': 'Passphrase cambiata.', 'settings.passphrase_needs_operator': 'Questi gruppi richiedono ancora un intervento — chiedi a ogni operatore di rimuovere il tuo pin e di inviarti un nuovo codice:', 'settings.pw_too_short': 'La nuova passphrase deve contenere almeno 12 caratteri.', 'settings.pw_mismatch': 'Le due nuove passphrase non corrispondono.', 'settings.pw_same': 'La nuova passphrase deve essere diversa da quella attuale.', 'settings.pw_wrong_current': 'La passphrase attuale non è corretta. Non è stato cambiato nulla.', 'settings.recovery': 'Chiave di recupero', 'settings.recovery_hint': "Aggiunge a ogni gruppo una copia della sua identità cifrata con la sua chiave di recupero. Lo faccia una volta in ogni browser che usa; senza di essa, una passphrase persa costringe a riunirsi a ogni gruppo a mano.", 'settings.recovery_loaded': 'Caricata in questo browser — i nuovi gruppi sono coperti automaticamente.', 'settings.recovery_open': 'Inserire la chiave di recupero', 'settings.recovery_input_ph': 'Incolli la sua chiave di recupero', 'settings.recovery_submit': 'Aggiungi le copie di backup', 'settings.recovery_working': 'Aggiornamento dei suoi gruppi…', 'settings.recovery_done': 'I suoi gruppi ora hanno una copia di recupero.', 'settings.recovery_partial': 'Non è stato possibile raggiungere questi gruppi. Li apra più tardi, o riesegua l’operazione:', 'settings.recovery_need_relogin': 'Esca e rientri, poi riprovi.', 'settings.danger': "Elimina l'account", 'settings.sessions_heading': 'Sessioni', 'settings.sign_out_everywhere': 'Esci ovunque', 'settings.sign_out_everywhere_hint': 'Termina tutte le sessioni del tuo account, compresa questa: utile se sei rimasto connesso su un computer non tuo. Un\'applicazione desktop rientra con la sua chiave del dispositivo finché non rimuovi quel dispositivo.', 'settings.sign_out_everywhere_confirm': 'Uscire da tutti i browser e le applicazioni, compreso questo?', 'settings.delete_hint': "Rimuove il suo account, le sue adesioni ai gruppi e le sue " + "notifiche dall'hub, e libera il suo nome utente. Non arriva a ciò che si trova " + 'sui node: i file che ha caricato restano dove il loro operatore li conserva, e ' + 'ogni node mantiene l’identità che ha fissato per lei finché il suo operatore non ' + 'la rimuove. I registri di connessione sono conservati per un anno, come impone ' + 'la legge.', 'settings.delete_account': 'Elimina il mio account', 'settings.delete_confirm': 'Inserisca la sua passphrase per confermare. ' + "L'operazione non può essere annullata.", 'settings.delete_confirm_btn': 'Elimina definitivamente', 'settings.cancel': 'Annulla', 'settings.appearance': 'Aspetto', 'settings.theme': 'Tema', 'settings.theme_light': 'Chiaro', 'settings.theme_dark': 'Scuro', 'settings.theme_system': 'Sistema', 'settings.language': 'Lingua', 'settings.about': 'Informazioni', 'firstrun.title': 'Which hub?', 'firstrun.hint': 'A hub holds your account and introduces you to nodes. It never sees your files, your messages or your keys.', 'firstrun.btn': 'Continue', 'firstrun.checking': 'Checking…', 'firstrun.note': 'There is no default on purpose: this application only trusts a hub for its API, never for the interface, which ships with the application itself.', 'device.this_device': 'This device', 'settings.keys_heading': 'Keys on this device', 'settings.hub_heading': 'Hub', 'settings.hub_current': 'Currently', 'settings.hub_hint': 'Changing this signs you out and restarts the window.', 'settings.hub_change': 'Change', 'settings.keys_where': 'Protected by', 'settings.keys_unprotected': 'No system keyring is running, so your keys are encrypted with a key that is not a secret. Anyone who can read this machine’s files can read them. Start a keyring, or treat this device as untrusted.', 'settings.keys_unavailable': 'This system offers no key storage at all, so this device cannot be remembered — you will be asked for your passphrase each time. That is the safe outcome: nothing was stored unprotected.', 'settings.version': 'Versione', 'settings.protocol': 'Protocollo', 'settings.role': 'Ruolo', 'settings.groups': 'Notifiche dei gruppi', 'settings.notifications': 'Notifiche', 'settings.node_key': 'Collega un node', 'settings.node_key_desc': 'Se gestisce un node MeshBay, incolli qui la sua chiave ' + 'pubblica Ed25519 per collegarlo al suo account. Trova questa chiave nel ' + 'pannello di amministrazione del suo node.', 'settings.node_key_placeholder': 'Incolli la chiave pubblica Ed25519 del node (base64)', 'settings.node_key_submit': 'Collega il node', 'settings.node_key_success': 'Node collegato correttamente', 'settings.node_key_current': 'Chiave del node collegato', // Sidebar 'sidebar.create_group': 'Crea un gruppo', 'sidebar.settings': 'Impostazioni', 'sidebar.admin': 'Amministrazione', // User menu 'usermenu.language': 'Lingua', 'usermenu.settings': 'Impostazioni', 'usermenu.theme_light': 'Tema chiaro', 'usermenu.theme_dark': 'Tema scuro', 'usermenu.logout': 'Esci', // Admin panel 'admin.title': 'Amministrazione', 'admin.tab_stats': 'Statistiche', 'admin.tab_users': 'Utenti', 'admin.tab_groups': 'Gruppi', 'admin.tab_nodes': 'Node', 'admin.tab_logs': 'Registri', 'admin.col_observed_ip': 'Visto da', 'admin.col_hint': 'Indirizzo dichiarato', 'admin.col_last_seen': 'Ultimo annuncio', 'admin.node_online': 'online', 'admin.node_offline': 'offline', 'admin.no_nodes': 'Nessun node registrato', 'admin.nodes_hint': '«Visto da» è l’indirizzo dal quale l’annuncio è effettivamente ' + 'arrivato, in una richiesta firmata con la chiave del node — è quello su cui ' + 'basarsi per rispondere a una richiesta formale. L’indirizzo dichiarato è quello ' + 'che il node crede essere il proprio, appreso da un server STUN e inviato a noi; ' + 'serve a raggiungere il node e non prova nulla.', 'admin.tab_blocklist': 'Elenco dei blocchi', 'admin.tab_general': "General", 'admin.general_groups_heading': "Groups", 'admin.allow_public_groups_label': "Allow members to create public groups", 'admin.allow_public_groups_hint': "When off, new groups can only be private and invite-only. Existing public groups are left as they are — suspend them one by one from the Groups tab.", 'admin.mail_heading': "Posta in uscita", 'admin.mail_hint': "Cosa invia questo hub, e quanto. I due che contano sono il budget orario, che nessun numero di account può alzare, e il limite giornaliero per destinatario, che è ciò che vive davvero chi viene sommerso.", 'admin.mail_this_hour': "Inviati in quest'ora", 'admin.mail_remaining': "{general} rimasti per registrazioni e cambi di indirizzo, {recovery} per reimpostazioni della passphrase e inviti.", 'admin.mail_hourly_budget': "Messaggi all'ora (intera istanza)", 'admin.mail_hourly_reserved_for_recovery': "Di cui riservati a reimpostazioni e inviti", 'admin.mail_destination_daily_cap': "Messaggi al giorno verso uno stesso destinatario", 'admin.mail_destination_cooldown_seconds': "Secondi tra due messaggi allo stesso destinatario", 'admin.mail_verification_resend_cooldown': "Secondi tra due codici di registrazione", 'admin.mail_reset_cooldown': "Secondi tra due codici di reimpostazione", 'admin.mail_email_change_cooldown': "Secondi prima che un account possa proporre un altro indirizzo", 'admin.mail_save': "Salva i limiti di posta", 'admin.mail_reset_defaults': "Ripristina i valori predefiniti", 'admin.login_heading': "Accesso", 'admin.login_hint': "Dopo questo numero di passphrase errate per uno stesso nome utente, l'accesso con passphrase viene rifiutato per la durata indicata. Le sessioni già aperte e i dispositivi registrati continuano a funzionare, e la reimpostazione della passphrase rimuove il blocco. 0 lo disattiva.", 'admin.session_heading': 'Sessioni', 'admin.session_hint': 'Un browser si disconnette dopo il primo numero di ore senza interazione né riproduzione in corso; l\'applicazione desktop no. Una sessione inutilizzata per il secondo numero non viene più rinnovata, e nessuna dura oltre il terzo.', 'admin.session_browser_idle_hours': 'Disconnessione del browser dopo inattività (ore)', 'admin.session_refresh_idle_hours': 'Una sessione inutilizzata scade dopo (ore)', 'admin.session_max_hours': 'Durata massima di una sessione (ore)', 'admin.session_save': 'Salva impostazioni sessione', 'admin.login_max_failures': "Passphrase errate prima del blocco", 'admin.login_lockout_minutes': "Durata del blocco (minuti)", 'admin.login_save': "Salva i limiti di accesso", 'admin.mail_state_is_in_stats': "Il consumo dell'ora corrente è mostrato in Statistiche.", 'admin.mail_state_hint': "Reimpostazioni e inviti possono spendere l'intero budget; registrazioni e cambi di indirizzo non possono intaccare la quota riservata. Gli amministratori vengono avvisati una volta all'ora quando uno dei due limiti viene raggiunto.", 'admin.mail_left_signups': "Rimanente per le registrazioni", 'admin.mail_left_recovery': "Rimanente per reimpostazioni e inviti", 'admin.mail_recipients': "Destinatari contati oggi", 'admin.mail_alert_all': "Questo hub ha smesso di inviare posta per quest'ora. Anche reimpostazioni e inviti sono rifiutati.", 'admin.mail_alert_general': "La quota per registrazioni e cambi di indirizzo è esaurita per quest'ora. Reimpostazioni e inviti partono ancora.", 'admin.settings_readonly': "Only an admin can change these settings.", // Admin stats 'admin.stat_users': 'Utenti', 'admin.stat_groups': 'Gruppi', 'admin.stat_nodes': 'Node', 'admin.stat_online': 'Node online', // Admin users 'admin.users_search': 'Cerca utenti...', 'admin.col_username': 'Nome utente', 'admin.col_role': 'Ruolo', 'admin.col_status': 'Stato', 'admin.col_created': 'Creazione', 'admin.col_actions': 'Azioni', 'admin.col_email': 'E-mail', 'admin.col_groups': 'Gruppi', 'admin.no_users': 'Nessun utente trovato', 'admin.btn_suspend': 'Sospendi', 'admin.btn_unsuspend': 'Riattiva', 'admin.btn_revoke': "Revoke", 'admin.revoke_group_confirm': "Revoke the group \"{group}\"? This pushes a signed revocation to every node hosting it and cannot be undone from here. Suspend it instead if you only need to pause it.", 'admin.btn_details': 'Dettagli', 'admin.btn_delete': 'Elimina', 'admin.delete_confirm': 'Eliminare l’account «{user}» e tutti i gruppi che possiede? L’operazione non può essere ' + 'annullata. I file che ha caricato restano sui node che li ospitano, e ogni node ' + 'mantiene l’identità che ha fissato finché il suo operatore non la rimuove. La ' + 'sospensione è l’opzione reversibile.', 'admin.user_detail': "Dettagli dell'utente", 'admin.btn_close': 'Chiudi', 'admin.self_note': '(lei)', // Admin groups 'admin.col_name': 'Nome', 'admin.col_visibility': 'Visibilità', 'admin.col_members': 'Membri', 'admin.no_groups': 'Nessun gruppo trovato', // Admin logs 'admin.col_time': 'Ora', 'admin.col_event': 'Evento', 'admin.col_user': 'Utente', 'admin.col_ip': 'IP', 'admin.col_detail': 'Dettaglio', 'admin.filter_all': 'Tutti gli eventi', 'admin.no_logs': 'Nessun registro trovato', 'admin.btn_load_more': 'Carica altri', // Admin blocklist 'admin.col_hash': 'Hash', 'admin.col_reason': 'Motivo', 'admin.col_date': 'Data', 'admin.col_added_by': 'Aggiunto da', 'admin.no_blocked': 'Nessun hash bloccato', 'admin.add_hash': "Aggiungi un hash all'elenco dei blocchi", 'admin.hash_placeholder': 'hash blake3 (64 caratteri esadecimali)', 'admin.reason_placeholder': 'Motivo', 'admin.btn_block': 'Blocca', 'admin.btn_unblock': 'Sblocca', // Notifications // Create group 'create_group.title': 'Crea un gruppo', 'create_group.name': 'Nome del gruppo', 'create_group.name_placeholder': 'es. Foto di famiglia, File del progetto...', 'create_group.join_policy': 'Modalità di adesione', 'create_group.invite': 'Solo su invito', 'create_group.invite_desc': "I membri devono essere invitati da un amministratore. Il gruppo non è elencato pubblicamente.", 'create_group.open': 'Aperto (chiunque può partecipare)', 'create_group.open_desc': "Elencato tra i gruppi pubblici: chiunque può trovarlo e unirsi senza approvazione.", 'create_group.description': 'Descrizione', 'create_group.description_hint': 'Di cosa si occupa questo gruppo? (facoltativo)', 'create_group.submit': 'Crea', 'create_group.hint': 'Un gruppo ha bisogno di un node che ospiti i file. Può creare ' + 'il gruppo ora e collegare un node più avanti.', 'create_group.creating': 'Creazione in corso...', // Members 'members.col_role': 'Ruolo', 'members.group_role': 'Ruolo nel gruppo', 'members.admin': 'Amministratore', 'members.group_admin': 'Amministratore del gruppo', 'members.owner': 'Proprietario', 'members.member': 'Membro', 'members.invite_title': 'Invita un membro', 'members.username_placeholder': 'Nome utente', 'members.invite_btn': 'Invita', 'members.invite_needs_pairing': 'Gli inviti sono firmati con la chiave che questo ' + 'node ha fissato per il suo browser: lo associ qui sotto prima di invitare ' + 'chiunque.', 'members.invite_ask_operator': 'Solo l’operatore del node che ospita questo gruppo ' + 'può invitare, da un browser associato a esso.', 'members.remove': 'Rimuovi', 'members.remove_confirm': 'Rimuovere {user} da questo gruppo? Il suo account, gli ' + 'altri gruppi e i file che ha caricato non vengono toccati.', 'members.remove_hint': 'Rimuovere qualcuno gli toglie l’adesione e impedisce al node ' + 'di consegnargli la chiave del gruppo. Non elimina il suo account e non recupera ' + 'la chiave che già possiede — la ruoti sul node (meshbay-node gek-init) se la ' + 'cosa è importante.', 'members.pair_title': 'Associ questo browser al suo node', 'members.pair_hint': 'Il suo node accetta le azioni da operatore — inviti, ' + 'eliminazione di file — solo da un browser a cui è stato associato. Esegua ' + '`meshbay-node operator pair` sul node e digiti qui il codice. Il codice non ' + 'passa mai per l’hub.', 'members.pair_btn': 'Associa', 'members.pair_success': 'Questo browser è ora associato al node.', 'members.invite_code_ready': 'Codice di invito per {user}:', 'members.invite_email_sent': "Un'e-mail con il codice è stata inviata a questo membro.", 'members.invite_email_failed': "Impossibile inviare l'e-mail — condivida il codice manualmente.", 'members.invite_code_hint': 'Può anche condividere questo codice tramite un altro canale (es. SMS). ' + 'Lo inserirà la prima volta che aprirà questo gruppo.', 'transfers.title': 'Trasferimenti', 'transfers.clear': 'Rimuovi i completati', 'transfers.cancel': 'Annulla', 'transfers.open': 'Apri', 'transfers.done': 'Completato', 'transfers.cancelled': 'Annullato', 'transfers.preparing': 'Preparazione…', 'transfers.waiting_own_slots': 'In attesa — i suoi posti sono occupati', 'transfers.waiting_node': 'In attesa — {n} prima', 'transfers.summary': '{running} in corso · {waiting} in attesa', 'transfers.group_running': 'In corso', 'transfers.group_waiting': 'In attesa', 'transfers.group_paused': 'In pausa', 'transfers.group_finished': 'Completati', 'transfers.cancel_one': 'Annulla {name}', 'transfers.pause': 'Sospendi', 'transfers.resume': 'Riprendi', 'transfers.paused': 'In pausa', 'transfers.not_pausable': 'Non si può sospendere — scelga una cartella di download nelle Impostazioni', 'transfers.pause_one': 'Sospendi {name}', 'transfers.resume_one': 'Riprendi {name}', 'transfers.eta_seconds': '{n} s rimanenti', 'transfers.eta_minutes': '{n} min rimanenti', 'transfers.eta_hours': '{n} h rimanenti', 'transfers.failed': 'Non riuscito', 'group.select': 'Seleziona', 'group.select_done': 'Fine', 'group.actions': 'Azioni ({n})', 'group.download_n': 'Scarica ({n})', 'group.download_zip_n': 'Scarica le cartelle in zip ({n})', 'group.delete_n': 'Elimina ({n})', 'group.delete_n_confirm': { one: 'Eliminare {n} elemento? {names}', other: 'Eliminare {n} elementi? {names}', }, 'group.download_zip': { one: 'Scarica in zip ({n} file)', other: 'Scarica in zip ({n} file)', }, 'group.zip_empty': 'Quella cartella non contiene nulla da scaricare.', 'group.zip_no_stream': 'Questo browser non sa scrivere un download direttamente su ' + 'disco, quindi {name} ({size}) deve prima essere costruito in memoria. Con un ' + 'archivio grande l’operazione può fallire. Continuare?', 'group.zip_too_large': '«{name}» occupa {size} e una cartella può essere scaricata in zip solo fino ' + 'a {limit}. Prendi una sottocartella alla volta, o i file singolarmente.', 'group.rmdir': 'Elimina la cartella', 'group.rmdir_confirm': 'Eliminare la cartella «{name}»? Deve essere vuota.', 'group.rmdir_not_empty': 'Quella cartella non è vuota. Elimini prima ciò che ' + 'contiene — qui nulla cancella file che lei non vede.', 'group.desc_edit': 'Modifica la descrizione', 'group.desc_add': 'Aggiungi una descrizione', 'group.desc_save': 'Salva', 'group.desc_cancel': 'Annulla', 'group.desc_placeholder': 'A cosa serve questo gruppo — i membri lo vedono sulla ' + 'loro pagina iniziale.', 'group.join_code_title': 'Questo node deve riconoscerla', 'group.join_code_hint': 'Chieda il codice monouso a chi l’ha invitata e lo inserisca ' + 'qui. Dopodiché questo browser è riconosciuto e non le verrà più chiesto.', 'group.join_code_btn': 'Partecipa', 'group.pass_title': 'Inserisca la sua passphrase', 'group.pass_hint': 'Questo browser non ha ancora sbloccato le sue chiavi. Inserisca la sua passphrase una volta per aprire i suoi gruppi qui.', 'group.pass_btn': 'Sblocca', 'notif.purge': 'Cancella tutto', 'notif.title': 'Notifiche', 'notif.empty': 'Nessuna notifica', 'notif.mark_all_read': 'Segna tutto come letto', // Sidebar 'sidebar.search': 'Cerca file', // Status // Search 'search.placeholder': 'Cerca in tutti i gruppi...', 'search.no_results': 'Nessun file corrisponde alla sua ricerca.', 'search.col_group': 'Gruppo', 'search.result_count': { one: '{n} file trovato', other: '{n} file trovati', }, 'search.hint': 'Digita un termine per cercare in tutti i tuoi gruppi.', 'search.indexing': 'Indicizzazione di {done} / {total} gruppi…', 'search.unreachable': { one: '{n} gruppo non raggiungibile', other: '{n} gruppi non raggiungibili' }, 'search.n_sources': { one: '{n} fonte', other: '{n} fonti' }, 'search.view_files': 'File', 'search.view_videos': 'Video', 'search.view_music': 'Musica', 'search.view_photos': 'Foto', 'search.connecting': 'Connessione ai gruppi…', // Presence, chat paging, leaving a group, the profile page 'presence.online': 'Un node che ospita questo gruppo è online', 'presence.offline': 'Nessun node raggiungibile per questo gruppo', 'presence.unknown': 'Non ancora verificato', 'presence.indexing': 'Indicizzazione in corso — {pct}%', 'indexdock.kind_scan': "Indicizzazione", 'indexdock.kind_rescan': "Rilettura", 'indexdock.kind_reconcile': "Allineamento", 'indexdock.kind_watch': "Indicizzazione dei nuovi file", 'indexdock.waiting': "In attesa di indicizzazione", 'indexdock.done': "Indicizzazione completata", 'indexdock.listing': "Elenco dei file…", 'indexdock.percent': "{pct}%", 'indexdock.files': "{done} / {total} file", 'indexdock.next': "Poi: {roots}", 'indexdock.next_count': "In attesa: {count}", 'indexdock.open': "Apri le impostazioni di questo gruppo", 'indexdock.hide': "Nascondi fino alla prossima indicizzazione", 'chat.load_older': 'Carica {n} messaggi precedenti', 'chat.start_of_history': 'Inizio della conversazione', 'chat.today': 'Oggi', 'chat.yesterday': 'Ieri', 'chat.unread': 'Nuovi messaggi', 'chat.jump_latest': 'Vai ai più recenti', 'chat.jump_new': 'Nuovi messaggi', 'chat.unreadable': 'Impossibile leggere questo messaggio', 'chat.unreadable_signature': 'Messaggio non verificato: la firma non corrisponde al mittente', 'chat.unreadable_epoch': 'Scritto prima che questo dispositivo potesse leggere questa conversazione', 'chat.unreadable_keys': 'Chiavi della chat non disponibili: riconnettiti per leggerlo', 'chat.unreadable_decrypt': 'Impossibile decifrare questo messaggio', 'chat.unreadable_envelope': 'Questo messaggio è arrivato incompleto', 'chat.unreadable_format': 'Questo messaggio richiede una versione più recente di MeshBay', 'chat.key_changed': 'Questo account usa una chiave che non hai mai visto', 'chat.key_changed_hint': 'Il nodo dice che questo messaggio viene da questo account, ma la sua chiave di dispositivo non è una che hai accettato e nulla l\'ha firmata. Può essere un nuovo dispositivo aggiunto altrove — o il nodo che nomina la persona sbagliata.', 'chat.encrypted_needs_newer': 'Questa conversazione è cifrata e questo client non può leggerla: aggiorna MeshBay', 'chat.encrypted_cannot_send': 'Questa conversazione è cifrata e questo dispositivo non può ancora scriverci', 'group.leave': 'Esci dal gruppo', 'group.leave_confirm': 'Uscire da «{name}»? Perderà l’accesso ai suoi file e alla chat. I file che ha caricato restano sul node, e il node mantiene l’identità che ha fissato per lei finché il suo operatore non la rimuove.', 'group.mute': 'Mute notifications', 'group.unmute': 'Unmute notifications', 'profile.title': 'Profilo', 'usermenu.profile': 'Profilo', // First-run setup wizard 'setup.welcome_title': 'Benvenuto su MeshBay', 'setup.welcome_message': 'Il suo node ospita i suoi file — cifrati, sulla sua macchina. Avviamolo e creiamo il suo primo gruppo.', 'setup.node_detected': 'Node locale rilevato e in funzione.', 'setup.node_not_running': 'Il suo node è installato ma non è in esecuzione.', 'setup.node_start': 'Avvia node', 'setup.node_starting': 'Avvio del node…', 'setup.node_started': 'Node avviato.', 'setup.node_not_installed': 'meshbay-node non è installato su questa macchina.', 'setup.node_install_hint': 'Lo installi con il suo gestore di pacchetti, poi torni qui.', 'setup.node_startup_hint': 'Una volta che il node è in esecuzione, visiti «Node» nella barra laterale in qualsiasi momento per farlo avviare automaticamente all\'accesso, o eseguirlo come servizio in background.', 'setup.skip': 'Salta — crea un gruppo senza node locale', 'setup.create_group': 'Crea il suo primo gruppo', 'setup.dismiss': 'Salta la configurazione', // Group misc 'group.retry': 'Riprova', // Sidebar 'sidebar.node': 'Node', // Node admin 'node.title': 'Node', 'node.service_checking': 'Verifica del servizio del nodo…', 'node.service_not_installed': 'Non installato come servizio', 'node.service_state_active': 'In esecuzione', 'node.service_state_inactive': 'Arrestato', 'node.service_state_failed': 'Non riuscito', 'node.service_state_activating': 'Avvio…', 'node.service_state_deactivating': 'Arresto…', 'node.service_state_unknown': 'Sconosciuto', 'node.service_start': 'Avvia', 'node.service_starting': 'Avvio…', 'node.service_stop': 'Arresta', 'node.service_stopping': 'Arresto…', 'node.service_restart': 'Riavvia', 'node.service_restarting': 'Riavvio…', 'node.service_mode_hint': 'In esecuzione come servizio in background — si avvia all\'avvio del sistema, prima dell\'accesso.', 'node.startup_mode_label': 'Avvia automaticamente:', 'node.startup_mode_off': 'Disattivato (avvio manuale)', 'node.startup_mode_signin': 'All\'accesso', 'node.startup_mode_service': 'Come servizio in background (si avvia all\'avvio del sistema)', 'node.startup_mode_updating': 'Cambio modalità — controlli se compare una richiesta di amministratore…', 'node.startup_mode_service_unavailable_hint': 'La modalità servizio in background richiede una build installata. Per test locali, eseguire "meshbay-node service install" da un PowerShell con privilegi di amministratore.', 'node.not_operator': 'Impossibile raggiungere il suo node. Si assicuri che sia in esecuzione.', 'node.offline': 'Node non in linea', 'node.retry': 'Riprova', 'node.pair_needed': "Nessun operatore associato. Inserisci un codice di associazione per abilitare le operazioni di amministrazione (inviti, eliminazione file).", 'node.pair_code_placeholder': 'Codice di associazione', 'node.pair_button': 'Associa questo browser', 'node.pair_success': 'Associazione riuscita.', 'node.reload': 'Ricarica configurazione', 'node.reloaded': 'Configurazione ricaricata. Le modifiche alle directory dei gruppi esistenti sono ora attive.', 'node.restart_needed': "Dopo l'aggiunta: inizializzi la chiave di gruppo (meshbay-node gek-init --group ).", 'node.no_groups': 'Nessun gruppo configurato su questo node.', 'node.stale': 'non presente sul hub', 'node.settings': 'Node settings', 'node.settings_edit_hint': 'Changes are applied immediately and saved to node.toml.', 'node.settings_save': 'Save', 'node.settings_saving': 'Saving…', 'node.settings_saved': 'Settings saved.', 'node.setting_invite_ttl': 'Invitation TTL', 'node.setting_pair_ttl': 'Pairing code TTL', 'node.setting_device_ttl': 'Device request TTL', 'node.setting_max_streams': 'Max concurrent streams', 'node.setting_max_downloads': 'Download simultanei massimi', 'node.setting_max_uploads': 'Caricamenti simultanei massimi', 'node.setting_transcode': 'Transcode incompatible video', 'node.setting_unit_hours': 'hours', 'node.setting_unit_minutes': 'min', 'node.setting_on': 'On', 'node.setting_off': 'Off', 'node.unavailable': 'non disponibile', 'node.files': { one: '1 file', other: '{n} file', }, 'node.peers': { one: '1 peer', other: '{n} peer', }, 'node.roots': 'Directory', 'node.add_root': 'Aggiungi directory', 'node.remove_root': 'Rimuovi', 'node.root_no_signing_key': 'Nessuna chiave di firma disponibile: associa prima questo dispositivo al nodo', 'node.root_no_route': 'Nessuna via verso il nodo: connettiti a esso oppure usa l\'applicazione sulla macchina che lo ospita', 'node.root_remove_last': 'Un gruppo ha bisogno di almeno una directory', 'node.root_path_hint': 'Il percorso come lo vede il nodo, sulla macchina che ospita questo gruppo.', 'node.root_path_placeholder': '/home/user/Media', 'node.root_path': 'Percorso', 'node.directory': 'Directory', 'node.root_added': 'Directory aggiunta.', 'node.root_remove_confirm': 'Rimuovere «{name}» da questo gruppo?', 'node.root_removed': "Directory rimossa. Si consiglia un riavvio per aggiornare l'indice.", 'node.attach_group': 'Aggiungi gruppo', 'node.attach_pick': 'Gruppo da ospitare', 'node.attach_dir': 'Directory condivisa', 'node.attach_upload_dir': 'Directory di caricamento', 'node.attach_upload_label': 'Directory di caricamento (per file caricati e allegati della chat)', 'node.attached': 'Gruppo aggiunto e caricato. Esegua meshbay-node gek-init --group {name} se non lo ha già fatto.', 'node.detach_group': 'Rimuovi gruppo', 'node.detach_confirm': 'Rimuovere «{name}» da questo node?', 'node.detached': 'Gruppo rimosso.', 'node.gek': 'Chiave di gruppo', 'node.no_gek': 'Nessuna chiave di gruppo', 'node.gek_init_hint': 'Nessuna chiave di gruppo ancora. Esegua GEK init dalla riga di comando per configurarla.', 'node.gek_public_hint': 'La rotazione delle chiavi non è disponibile per i gruppi pubblici.', 'node.gek_rotate': 'Ruota chiave di gruppo', 'node.gek_rotate_confirm': 'Ruotare la chiave di gruppo? I membri connessi riceveranno la nuova chiave automaticamente. I contenuti già scaricati non saranno interessati.', 'node.gek_rotated': 'Chiave di gruppo ruotata.', 'node.roster': 'Roster', 'node.roster_load': 'Carica roster', 'node.roster_empty': 'Nessun membro fissato ancora.', 'node.roster_user': 'Utente', 'node.roster_role': 'Ruolo', 'node.roster_status': 'Stato', 'node.roster_via': 'Fissato tramite', 'node.roster_invites': { one: '1 invito in sospeso', other: '{n} inviti in sospeso', }, 'node.unpin': 'Rimuovi identità', 'node.unpin_confirm': "Rimuovere l'identità di «{name}»? Dovrà effettuare di nuovo il pairing.", 'node.unpin_done': 'Identità rimossa.', 'node.denylist': 'Lista di blocco', 'node.denylist_load': 'Carica lista di blocco', 'node.denylist_empty': 'La lista di blocco è vuota.', 'node.denylist_count': { one: '1 voce', other: '{n} voci', }, 'node.denylist_remove': 'Rimuovi', 'node.denylist_clear_all': 'Cancella tutto', 'node.denylist_clear_confirm': 'Rimuovere «{subject}» dalla lista di blocco?', 'node.denylist_cleared': 'Voce della lista di blocco rimossa.', // Settings — node 'settings_node.detach_failed_continue': 'Impossibile scollegare il gruppo dal node. Eliminare comunque dal hub?', 'settings_node.roots': 'Directory condivise', 'settings_node.scan_title': 'Scansione', 'settings_node.scan_hint': 'Con quale frequenza il node ricontrolla le sue directory per cambiamenti che potrebbe aver perso, e quanto tempo attende dopo una modifica prima di indicizzare un file.', 'settings_node.search_listed_title': 'Ricerca', 'settings_node.search_listed_label': 'Mostra questo gruppo nella ricerca', 'settings_node.search_listed_hint': 'Se disattivato, i file di questo gruppo non compaiono nella ricerca globale dei membri. I membri vedono comunque tutto aprendo il gruppo: lo esclude solo dall\'elenco globale e non nasconde nulla a nessuno.', 'settings_node.scan_reconcile_label': 'Intervallo di ricontrollo (minuti)', 'settings_node.scan_debounce_label': 'Attesa dopo una modifica (secondi)', 'settings_node.scan_save': 'Salva', 'settings_node.scan_saving': 'Salvataggio…', 'settings_node.scan_saved': 'Salvato.', 'settings_node.tmdb_title': 'Metadati TMDB', 'settings_node.tmdb_hint': "Permette all'app Video di mostrare locandine, trame e cast da TMDB. Disattivato significa solo miniature, senza alcuna richiesta verso terzi.", 'settings_node.tmdb_enabled': 'Attivato', 'settings_node.tmdb_disabled': 'Disattivato', 'settings_node.tmdb_token_label': 'Token API personalizzato (facoltativo)', 'settings_node.tmdb_token_placeholder': 'Lascia vuoto per usare il token predefinito', 'settings_node.tmdb_token_customized': 'È impostato un token personalizzato.', 'settings_node.tmdb_token_default': 'In uso il token predefinito.', 'settings_node.tmdb_save': 'Salva', 'settings_node.tmdb_language_label': 'Lingua', 'settings_node.tmdb_language_hint': 'Vale per tutti — una cache condivisa, non una richiesta per spettatore.', 'settings_node.video_root_title': 'Cartella radice di Video', 'settings_node.video_root_hint': "Quale cartella (o sottocartella) l'app Video considera come punto di ingresso per questo gruppo. In Video non viene mostrato nulla, e non viene eseguita alcuna ricerca TMDB, finché non ne viene scelta una.", 'settings_node.video_root_none': '— nessuna scelta —', 'settings_node.musicbrainz_title': 'Metadati MusicBrainz', 'settings_node.musicbrainz_hint': "Permette all'app Musica di mostrare copertine e nomi canonici da MusicBrainz quando una traccia non ha una copertina incorporata utilizzabile. Disattivato significa navigazione basata solo su tag/nome file, senza richieste a terzi.", 'settings_node.musicbrainz_enabled': 'Attivato', 'settings_node.musicbrainz_disabled': 'Disattivato', 'settings_node.video_root_save': 'Salva', 'settings_node.video_root_change_confirm': 'Cambiare la radice di Video sostituisce ciò che ogni membro vede nella scheda Video. Continuare?', 'settings_node.audio_root_title': 'Cartella radice di Musica', 'settings_node.audio_root_hint': 'Quale cartella (o sottocartella) l\'app Musica considera come punto di ingresso per questo gruppo. In Musica non viene mostrato nulla, e non viene letto alcun tag/copertina, finché non ne viene scelta una.', 'settings_node.audio_root_none': '— nessuna scelta —', 'settings_node.audio_root_save': 'Salva', 'settings_node.audio_root_change_confirm': 'Cambiare la radice di Musica sostituisce ciò che ogni membro vede nella scheda Musica. Continuare?', 'settings_node.photo_roots_title': 'Cartelle radice di Foto', 'settings_node.photo_roots_hint': "Quali cartelle l'app Foto considera come punti di ingresso per questo gruppo — una libreria fotografica è spesso distribuita su più cartelle, quindi se ne possono scegliere diverse. In Foto non viene mostrato nulla finché non ne viene aggiunta almeno una.", 'settings_node.photo_roots_none': '— nessuna scelta —', 'settings_node.photo_roots_add_placeholder': 'Aggiungi una cartella…', 'settings_node.photo_roots_add': 'Aggiungi', 'settings_node.photo_roots_remove': 'Rimuovi', 'settings_node.photo_roots_save': 'Salva', 'settings_node.shared_directories_title': 'Directory condivise', 'settings_node.shared_directories_hint': 'Cartelle condivise con questo gruppo. Attiva lettura-scrittura per consentire il caricamento, segna come rimovibile per unità esterne.', 'folder_tree.title_single': 'Scegli una cartella', 'folder_tree.title_multi': 'Scegli le cartelle', 'folder_tree.choose': 'Scegli…', 'folder_tree.remove': 'Rimuovi', 'folder_tree.add': 'Aggiungi una cartella…', 'folder_tree.confirm': 'Usa', 'folder_tree.expand': 'Espandi', 'folder_tree.collapse': 'Comprimi', 'folder_tree.nothing_selected': 'Niente selezionato', 'folder_tree.empty': 'Questo gruppo non ha ancora directory condivise.', 'folder_tree.writable_only': 'Qui si possono scegliere solo directory in lettura-scrittura: ci vengono scritti dei file.', 'folder_tree.no_writable_root': 'Questo gruppo non ha directory scrivibili. Attiva prima lettura-scrittura in Directory condivise.', 'folder_tree.read_only_blocked': 'Sola lettura: non vi si può scrivere', 'settings_app.save': 'Salva', 'settings_app.saving': 'Salvataggio…', 'settings_app.disabled_hint': 'Attiva questa applicazione per configurarla.', 'settings_app.video_directories_label': 'Cartelle video', 'settings_app.video_directories_hint': 'Dove si trovano film e serie di questo gruppo. Nulla al di fuori compare nella scheda Video.', 'settings_app.music_directories_label': 'Cartelle musica', 'settings_app.music_directories_hint': 'Dove si trovano gli album di questo gruppo. Nulla al di fuori compare nella scheda Musica.', 'settings_app.photo_directories_label': 'Cartelle foto', 'settings_app.photo_directories_hint': 'Dove si trovano gli album di questo gruppo. Nulla al di fuori compare nella scheda Foto.', 'settings_app.chat_directory_label': 'Cartella degli allegati', 'settings_app.chat_directory_hint': 'Dove vengono scritti i file inviati in chat. Deve essere una directory in lettura-scrittura.', 'settings_app.chat_no_writable_root': 'Questo gruppo non ha directory scrivibili, quindi gli allegati sono disattivati.', 'settings_app.chat_link_preview_label': 'Anteprime dei link', 'settings_app.chat_link_preview_hint': 'Quando un membro pubblica un link, il nodo recupera titolo e immagine della pagina. È una richiesta dalla tua macchina a un sito scelto da qualcun altro.', 'settings_app.chat_encrypted_always': 'La chat di questo gruppo è sempre cifrata. Non può essere disattivata.', 'settings_app.chat_rotate_epoch': 'Ruota la chiave della chat', 'settings_app.chat_rotate_epoch_hint': 'I membri continuano a leggere tutta la cronologia. Chi è stato rimosso dal gruppo non potrà leggere ciò che verrà scritto d\'ora in poi. Rimuovere un membro o un dispositivo lo fa già da solo.', 'settings_app.tmdb_token_prompt': 'Registrati su TMDB per generare la tua chiave API.', 'settings_app.tmdb_token_link': 'Ottieni una chiave', 'settings_node.roots_offline_hint': 'Non connesso al nodo: le modifiche passano dal nodo locale e hanno effetto al successivo ricaricamento.', 'settings_node.directories_title': 'Directory delle app', 'settings_node.directories_hint': 'Cartelle condivise, e quale di esse le app Video, Musica e Foto usano come proprio/i punto/i di ingresso.', // Create-group wizard 'wizard.title': 'Crea gruppo', 'wizard.detecting': 'Rilevamento del node locale…', 'wizard.node_not_found': 'Nessun node locale rilevato. Si assicuri che meshbay-node sia in esecuzione.', 'wizard.node_offline_warning': 'Il node non è in esecuzione. Il gruppo sarà creato solo sul hub. Potrà collegare il node in seguito dalla pagina Node.', 'wizard.retry': 'Riprova', 'wizard.wrong_account': 'Il node è in esecuzione, ma il nome utente configurato non corrisponde al suo account. Verifichi hub.username in node.toml.', 'wizard.skip_node': 'Continua senza node', 'wizard.directories': 'Directory condivise', 'wizard.directories_hint': 'Scelga le directory che questo gruppo condividerà. Ne serve almeno una.', 'wizard.add_directory': 'Aggiungi directory', 'wizard.remove': 'Rimuovi', 'wizard.set_upload': 'Imposta come destinazione di caricamento', 'wizard.upload_target': 'destinazione di caricamento', 'wizard.create_and_setup': 'Crea e configura', 'wizard.create_hub_only': 'Crea solo sul hub', 'wizard.setting_up': 'Configurazione del gruppo…', 'wizard.step_create_hub': 'Creazione del gruppo sul hub', 'wizard.step_attach': 'Collegamento al node', 'wizard.step_apps': 'Scelta delle applicazioni', 'wizard.step_add_roots': 'Aggiunta delle directory', 'wizard.step_gek': 'Inizializzazione della chiave di cifratura', 'wizard.step_pair': 'Configurazione del pairing', 'wizard.step_index': 'Indicizzazione dei file', 'wizard.indexing_progress': 'Indicizzazione… {pct}%', 'wizard.indexing_current_dir': 'Scansione: {dir}', 'wizard.done_title': 'Gruppo creato', 'wizard.done_message': 'Il suo gruppo è pronto: il suo node lo ospita e la cifratura è configurata. Ora inviti dei membri dalla scheda Impostazioni.', 'wizard.go_to_group': 'Vai al gruppo', 'wizard.finish_later': 'Completa la configurazione in seguito', 'node.stun_servers': 'STUN Servers', 'node.stun_hint': 'Servers used for WebRTC NAT traversal (ICE candidate gathering).', 'node.stun_add': 'Add', 'node.stun_add_placeholder': 'stun:host:port', 'node.stun_remove': 'Remove', 'node.stun_move_up': 'Move up', 'node.stun_move_down': 'Move down', 'node.stun_save': 'Save', 'node.stun_saving': 'Saving…', 'node.stun_saved': 'STUN servers saved.', 'node.stun_reset': 'Reset to defaults', 'node.stun_empty': 'No STUN servers configured. NAT traversal will not work.', 'node.stun_duplicate': 'This server is already in the list.', 'node.stun_invalid': 'STUN URL must start with stun:', 'node.ice_interfaces': 'ICE Interfaces', 'node.ice_auto_hint': 'Auto mode — virtual and VPN interfaces (Tailscale, Docker, libvirt, etc.) are excluded automatically.', 'node.ice_manual_hint': 'Manual mode — only the listed interfaces are used for ICE candidate gathering.', 'node.ice_add': 'Add', 'node.ice_add_placeholder': 'e.g. eth0, wlp0s20f3', 'node.ice_remove': 'Remove', 'node.ice_save': 'Save', 'node.ice_saving': 'Saving…', 'node.ice_saved': 'ICE interfaces saved.', 'node.ice_reset_auto': 'Switch to auto', 'node.ice_duplicate': 'This interface is already in the list.', 'node.overview': 'Overview', 'node.overview_version': 'Version', 'node.overview_node_id': 'Node ID', 'node.overview_quic_port': 'QUIC port', 'node.overview_hub': 'Hub', 'node.node_roster': 'Node roster', 'node.node_roster_hint': 'Every identity this node recognises, across all groups.', 'node.roster_scope': 'Scope', 'node.roster_scope_node': 'node-wide', 'node.peers_title': 'Connected peers', 'node.peers_empty': 'No peers connected.', 'node.peers_user': 'User', 'node.peers_ip': 'IP', 'node.peers_group': 'Group', 'node.peers_state': 'State', 'node.audit_title': 'Audit log', 'node.audit_all_events': 'All events', 'node.audit_empty': 'No audit entries.', 'node.audit_time': 'Time', 'node.audit_event': 'Event', 'node.audit_user': 'User', 'node.audit_ip': 'IP', 'node.audit_group': 'Group', 'node.audit_detail': 'Detail', 'node.maintenance': 'Maintenance', 'node.maintenance_cache': 'Index cache: {n} path(s) remembered.', 'node.maintenance_prune': 'Prune stale entries', 'node.maintenance_pruned': 'Pruned {n} stale cache entries.', 'node.loading': 'Loading…', 'node.audit_export': 'Export CSV', 'node.audit_exporting': 'Exporting…', 'node.audit_prev': 'Previous', 'node.audit_next': 'Next', 'node.audit_page': 'Page {n}', 'node.audit_exported': 'Exported {n} entries.', 'node.unlink_title': 'Unlink from hub', 'node.unlink_hint': 'Stops the hub from brokering connections to this node and listing it for group members. Your groups, keys, roster and files are untouched — the node keeps serving anyone who reaches it directly. Re-link any time from the group wizard or your profile.', 'node.unlink_button': 'Unlink this node', 'node.unlink_confirm': 'Unlink this node from the hub? The hub will stop routing members to it. Group data on disk is not affected.', 'node.unlink_done': 'Node unlinked from the hub. It may take a moment for the hub connection to drop.', 'node.tab_overview': 'Overview', 'node.tab_groups': 'Groups', 'node.tab_roster': 'Roster', 'node.tab_peers': 'Peers', 'node.tab_audit': 'Audit', 'node.tab_settings': 'Settings', 'node.root_rw': 'lettura-scrittura', 'node.root_ro': 'sola lettura', 'node.removable': 'rimovibile', };