Files
TREK/client/src/i18n/translations/it.ts
T
jubnl 58a8e97f94 feat(system-notices): add v3-mcp notice for OAuth 2.1 upgrade
Adds a warn-severity modal notice targeting existing users who have the
MCP addon enabled. Communicates that OAuth 2.1 is now the recommended
auth method, static trek_ tokens are deprecated, and the toolset has
been significantly expanded. Priority 75 — slots between v3-journey and
v3-features in the upgrade modal sequence. Translations for all 15 languages.
2026-04-16 14:48:13 +02:00

2230 lines
119 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const it: Record<string, string | { name: string; category: string }[]> = {
// Common
'common.save': 'Salva',
'common.showMore': 'Mostra di più',
'common.showLess': 'Mostra meno',
'common.cancel': 'Annulla',
'common.clear': 'Cancella',
'common.delete': 'Elimina',
'common.edit': 'Modifica',
'common.add': 'Aggiungi',
'common.loading': 'Caricamento...',
'common.import': 'Importa',
'common.error': 'Errore',
'common.unknownError': 'Errore sconosciuto',
'common.tooManyAttempts': 'Troppi tentativi. Riprova più tardi.',
'common.back': 'Indietro',
'common.all': 'Tutti',
'common.close': 'Chiudi',
'common.open': 'Apri',
'common.upload': 'Carica',
'common.search': 'Cerca',
'common.confirm': 'Conferma',
'common.ok': 'OK',
'common.yes': 'Sì',
'common.no': 'No',
'common.or': 'o',
'common.none': 'Nessuno',
'common.date': 'Data',
'common.rename': 'Rinomina',
'common.name': 'Nome',
'common.email': 'Email',
'common.password': 'Password',
'common.saving': 'Salvataggio...',
'common.saved': 'Salvato',
'trips.memberRemoved': '{username} rimosso',
'trips.memberRemoveError': 'Rimozione non riuscita',
'trips.memberAdded': '{username} aggiunto',
'trips.memberAddError': 'Aggiunta non riuscita',
'common.expand': 'Espandi',
'common.collapse': 'Comprimi',
'trips.reminder': 'Promemoria',
'trips.reminderNone': 'Nessuno',
'trips.reminderDay': 'giorno',
'trips.reminderDays': 'giorni',
'trips.reminderCustom': 'Personalizzato',
'trips.reminderDaysBefore': 'giorni prima della partenza',
'trips.reminderDisabledHint': 'I promemoria dei viaggi sono disabilitati. Abilitali in Admin > Impostazioni > Notifiche.',
'common.update': 'Aggiorna',
'common.change': 'Cambia',
'common.uploading': 'Caricamento…',
'common.backToPlanning': 'Torna al Programma',
'common.reset': 'Reimposta',
// Navbar
'nav.trip': 'Viaggio',
'nav.share': 'Condividi',
'nav.settings': 'Impostazioni',
'nav.admin': 'Amministrazione',
'nav.logout': 'Esci',
'nav.lightMode': 'Modalità chiara',
'nav.darkMode': 'Modalità scura',
'nav.autoMode': 'Modalità automatica',
'nav.administrator': 'Amministratore',
// Dashboard
'dashboard.title': 'I miei Viaggi',
'dashboard.subtitle.loading': 'Caricamento viaggi...',
'dashboard.subtitle.trips': '{count} viaggi ({archived} archiviati)',
'dashboard.subtitle.empty': 'Inizia il tuo primo viaggio',
'dashboard.subtitle.activeOne': '{count} viaggio attivo',
'dashboard.subtitle.activeMany': '{count} viaggi attivi',
'dashboard.subtitle.archivedSuffix': ' · {count} archiviati',
'dashboard.newTrip': 'Nuovo Viaggio',
'dashboard.gridView': 'Vista a griglia',
'dashboard.listView': 'Vista a lista',
'dashboard.currency': 'Valuta',
'dashboard.timezone': 'Fusi orari',
'dashboard.localTime': 'Locale',
'dashboard.timezoneCustomTitle': 'Fuso orario personalizzato',
'dashboard.timezoneCustomLabelPlaceholder': 'Etichetta (opzionale)',
'dashboard.timezoneCustomTzPlaceholder': 'es. Europe/Rome',
'dashboard.timezoneCustomAdd': 'Aggiungi',
'dashboard.timezoneCustomErrorEmpty': 'Inserisci un identificatore di fuso orario',
'dashboard.timezoneCustomErrorInvalid': 'Fuso orario non valido. Usa formati come Europe/Rome',
'dashboard.timezoneCustomErrorDuplicate': 'Già aggiunto',
'dashboard.emptyTitle': 'Ancora nessun viaggio',
'dashboard.emptyText': 'Crea il tuo primo viaggio e inizia a programmare!',
'dashboard.emptyButton': 'Crea il primo viaggio',
'dashboard.nextTrip': 'Prossimo Viaggio',
'dashboard.shared': 'Condiviso',
'dashboard.sharedBy': 'Condiviso da {name}',
'dashboard.days': 'Giorni',
'dashboard.places': 'Luoghi',
'dashboard.members': 'Compagni di viaggio',
'dashboard.archive': 'Archivia',
'dashboard.copyTrip': 'Copia',
'dashboard.copySuffix': 'copia',
'dashboard.restore': 'Ripristina',
'dashboard.archived': 'Archiviati',
'dashboard.status.ongoing': 'In corso',
'dashboard.status.today': 'Oggi',
'dashboard.status.tomorrow': 'Domani',
'dashboard.status.past': 'Passato',
'dashboard.status.daysLeft': '-{count} giorni',
'dashboard.toast.loadError': 'Impossibile caricare i viaggi',
'dashboard.toast.created': 'Viaggio creato con successo!',
'dashboard.toast.createError': 'Impossibile creare il viaggio',
'dashboard.toast.updated': 'Viaggio aggiornato!',
'dashboard.toast.updateError': 'Impossibile aggiornare il viaggio',
'dashboard.toast.deleted': 'Viaggio eliminato',
'dashboard.toast.deleteError': 'Impossibile eliminare il viaggio',
'dashboard.toast.archived': 'Viaggio archiviato',
'dashboard.toast.archiveError': 'Impossibile archiviare il viaggio',
'dashboard.toast.restored': 'Viaggio ripristinato',
'dashboard.toast.restoreError': 'Impossibile ripristinare il viaggio',
'dashboard.toast.copied': 'Viaggio copiato!',
'dashboard.toast.copyError': 'Impossibile copiare il viaggio',
'dashboard.confirm.delete': 'Eliminare il viaggio "{title}"? Tutti i luoghi e i programmi verranno eliminati in modo permanente.',
'dashboard.editTrip': 'Modifica Viaggio',
'dashboard.createTrip': 'Crea Nuovo Viaggio',
'dashboard.tripTitle': 'Titolo',
'dashboard.tripTitlePlaceholder': 'es. Estate in Giappone',
'dashboard.tripDescription': 'Descrizione',
'dashboard.tripDescriptionPlaceholder': 'Di cosa tratta questo viaggio?',
'dashboard.startDate': 'Data di inizio',
'dashboard.endDate': 'Data di fine',
'dashboard.dayCount': 'Numero di giorni',
'dashboard.dayCountHint': 'Quanti giorni pianificare quando non sono impostate date di viaggio.',
'dashboard.noDateHint': 'Nessuna data impostata — verranno creati 7 giorni predefiniti. Puoi cambiarlo in qualsiasi momento.',
'dashboard.coverImage': 'Immagine di copertina',
'dashboard.addCoverImage': 'Aggiungi immagine di copertina (o trascinala qui)',
'dashboard.addMembers': 'Compagni di viaggio',
'dashboard.addMember': 'Aggiungi membro',
'dashboard.coverSaved': 'Immagine di copertina salvata',
'dashboard.coverUploadError': 'Impossibile caricare',
'dashboard.coverRemoveError': 'Impossibile rimuovere',
'dashboard.titleRequired': 'Il titolo è obbligatorio',
'dashboard.endDateError': 'La data di fine deve essere successiva alla data di inizio',
// Settings
'settings.title': 'Impostazioni',
'settings.subtitle': 'Configura le tue impostazioni personali',
'settings.tabs.display': 'Visualizzazione',
'settings.tabs.map': 'Mappa',
'settings.tabs.notifications': 'Notifiche',
'settings.tabs.integrations': 'Integrazioni',
'settings.tabs.account': 'Account',
'settings.tabs.offline': 'Offline',
'settings.tabs.about': 'Informazioni',
'settings.map': 'Mappa',
'settings.mapTemplate': 'Modello Mappa',
'settings.mapTemplatePlaceholder.select': 'Seleziona modello...',
'settings.mapDefaultHint': 'Lascia vuoto per OpenStreetMap (predefinito)',
'settings.mapTemplatePlaceholder': 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
'settings.mapHint': 'Modello URL per i tile della mappa',
'settings.latitude': 'Latitudine',
'settings.longitude': 'Longitudine',
'settings.saveMap': 'Salva Mappa',
'settings.apiKeys': 'Chiavi API',
'settings.mapsKey': 'Chiave API Google Maps',
'settings.mapsKeyHint': 'Per la ricerca dei luoghi. Richiede Places API (New). Ottienila su console.cloud.google.com',
'settings.weatherKey': 'Chiave API OpenWeatherMap',
'settings.weatherKeyHint': 'Per i dati meteo. Gratuita su openweathermap.org/api',
'settings.keyPlaceholder': 'Inserisci la chiave...',
'settings.configured': 'Configurata',
'settings.saveKeys': 'Salva Chiavi',
'settings.display': 'Visualizzazione',
'settings.colorMode': 'Modalità Colore',
'settings.light': 'Chiara',
'settings.dark': 'Scura',
'settings.auto': 'Automatica',
'settings.language': 'Lingua',
'settings.temperature': 'Unità di Temperatura',
'settings.timeFormat': 'Formato Ora',
'settings.routeCalculation': 'Calcolo Percorso',
'settings.blurBookingCodes': 'Nascondi codici di prenotazione',
'settings.notifications': 'Notifiche',
'settings.notifyTripInvite': 'Inviti di viaggio',
'settings.notifyBookingChange': 'Modifiche alle prenotazioni',
'settings.notifyTripReminder': 'Promemoria di viaggio',
'settings.notifyVacayInvite': 'Inviti fusione Vacay',
'settings.notifyPhotosShared': 'Foto condivise (Immich)',
'settings.notifyCollabMessage': 'Messaggi chat (Collab)',
'settings.notifyPackingTagged': 'Lista valigia: assegnazioni',
'settings.notifyWebhook': 'Notifiche webhook',
'settings.notificationsDisabled': 'Le notifiche non sono configurate. Chiedi a un amministratore di abilitare le notifiche e-mail o webhook.',
'settings.notificationsActive': 'Canale attivo',
'settings.notificationsManagedByAdmin': 'Gli eventi di notifica sono configurati dall\'amministratore.',
'settings.on': 'On',
'settings.off': 'Off',
'settings.mcp.title': 'Configurazione MCP',
'settings.mcp.endpoint': 'Endpoint MCP',
'settings.mcp.clientConfig': 'Configurazione client',
'settings.mcp.clientConfigHint': 'Sostituisci <your_token> con un token API dalla lista sottostante. Il percorso di npx potrebbe dover essere adattato per il tuo sistema (es. C:\\PROGRA~1\\nodejs\\npx.cmd su Windows).',
'settings.mcp.clientConfigHintOAuth': 'Replace <your_client_id> and <your_client_secret> with the credentials shown in the OAuth 2.1 client you created above. mcp-remote will open your browser to complete the authorization the first time you connect. The path to npx may need to be adjusted for your system (e.g. C:\PROGRA~1\nodejs\npx.cmd on Windows).',
'settings.mcp.copy': 'Copia',
'settings.mcp.copied': 'Copiato!',
'settings.mcp.apiTokens': 'Token API',
'settings.mcp.createToken': 'Crea nuovo token',
'settings.mcp.noTokens': 'Nessun token ancora. Creane uno per connettere i client MCP.',
'settings.mcp.tokenCreatedAt': 'Creato',
'settings.mcp.tokenUsedAt': 'Utilizzato',
'settings.mcp.deleteTokenTitle': 'Elimina token',
'settings.mcp.deleteTokenMessage': 'Questo token smetterà di funzionare immediatamente. Qualsiasi client MCP che lo utilizza perderà l\'accesso.',
'settings.mcp.modal.createTitle': 'Crea token API',
'settings.mcp.modal.tokenName': 'Nome del token',
'settings.mcp.modal.tokenNamePlaceholder': 'es. Claude Desktop, Laptop di lavoro',
'settings.mcp.modal.creating': 'Creazione…',
'settings.mcp.modal.create': 'Crea token',
'settings.mcp.modal.createdTitle': 'Token creato',
'settings.mcp.modal.createdWarning': 'Questo token verrà mostrato solo una volta. Copialo e salvalo ora — non può essere recuperato.',
'settings.mcp.modal.done': 'Fatto',
'settings.mcp.toast.created': 'Token creato',
'settings.mcp.toast.createError': 'Impossibile creare il token',
'settings.mcp.toast.deleted': 'Token eliminato',
'settings.mcp.toast.deleteError': 'Impossibile eliminare il token',
'settings.mcp.apiTokensDeprecated': 'I token API sono deprecati e verranno rimossi in una versione futura. Utilizza invece i client OAuth 2.1.',
'settings.oauth.clients': 'Client OAuth 2.1',
'settings.oauth.clientsHint': 'Registra client OAuth 2.1 per consentire alle applicazioni MCP di terze parti (Claude Web, Cursor, ecc.) di connettersi senza token statici.',
'settings.oauth.createClient': 'Nuovo client',
'settings.oauth.noClients': 'Nessun client OAuth registrato.',
'settings.oauth.clientId': 'ID client',
'settings.oauth.clientSecret': 'Segreto client',
'settings.oauth.deleteClient': 'Elimina client',
'settings.oauth.deleteClientMessage': 'Questo client e tutte le sessioni attive verranno eliminati definitivamente. Qualsiasi applicazione che lo utilizza perderà immediatamente l\'accesso.',
'settings.oauth.rotateSecret': 'Rinnova segreto',
'settings.oauth.rotateSecretMessage': 'Verrà generato un nuovo segreto client e tutte le sessioni esistenti verranno invalidate immediatamente. Aggiorna la tua applicazione prima di chiudere questa finestra.',
'settings.oauth.rotateSecretConfirm': 'Rinnova',
'settings.oauth.rotateSecretConfirming': 'Rinnovo in corso…',
'settings.oauth.rotateSecretDoneTitle': 'Nuovo segreto generato',
'settings.oauth.rotateSecretDoneWarning': 'Questo segreto viene mostrato una sola volta. Copialo ora e aggiorna la tua applicazione — tutte le sessioni precedenti sono state invalidate.',
'settings.oauth.activeSessions': 'Sessioni OAuth attive',
'settings.oauth.sessionScopes': 'Ambiti',
'settings.oauth.sessionExpires': 'Scade',
'settings.oauth.revoke': 'Revoca',
'settings.oauth.revokeSession': 'Revoca sessione',
'settings.oauth.revokeSessionMessage': 'Questo revocherà immediatamente l\'accesso per questa sessione OAuth.',
'settings.oauth.modal.createTitle': 'Registra client OAuth',
'settings.oauth.modal.presets': 'Preimpostazioni rapide',
'settings.oauth.modal.clientName': 'Nome applicazione',
'settings.oauth.modal.clientNamePlaceholder': 'es. Claude Web, La mia app MCP',
'settings.oauth.modal.redirectUris': 'URI di reindirizzamento',
'settings.oauth.modal.redirectUrisPlaceholder': 'https://your-app.com/callback\nhttps://your-app.com/auth',
'settings.oauth.modal.redirectUrisHint': 'Un URI per riga. HTTPS richiesto (localhost esente). Corrispondenza esatta richiesta.',
'settings.oauth.modal.scopes': 'Ambiti consentiti',
'settings.oauth.modal.scopesHint': 'list_trips e get_trip_summary sono sempre disponibili — nessun ambito richiesto. Permettono all\'IA di scoprire gli ID viaggio necessari.',
'settings.oauth.modal.selectAll': 'Seleziona tutto',
'settings.oauth.modal.deselectAll': 'Deseleziona tutto',
'settings.oauth.modal.creating': 'Registrazione…',
'settings.oauth.modal.create': 'Registra client',
'settings.oauth.modal.createdTitle': 'Client registrato',
'settings.oauth.modal.createdWarning': 'Il segreto client viene mostrato una sola volta. Copialo ora — non può essere recuperato.',
'settings.oauth.toast.createError': 'Impossibile registrare il client OAuth',
'settings.oauth.toast.deleted': 'Client OAuth eliminato',
'settings.oauth.toast.deleteError': 'Impossibile eliminare il client OAuth',
'settings.oauth.toast.revoked': 'Sessione revocata',
'settings.oauth.toast.revokeError': 'Impossibile revocare la sessione',
'settings.oauth.toast.rotateError': 'Impossibile rinnovare il segreto client',
'settings.account': 'Account',
'settings.about': 'Informazioni',
'settings.about.reportBug': 'Segnala un bug',
'settings.about.reportBugHint': 'Hai trovato un problema? Faccelo sapere',
'settings.about.featureRequest': 'Richiedi funzionalità',
'settings.about.featureRequestHint': 'Suggerisci una nuova funzionalità',
'settings.about.wikiHint': 'Documentazione e guide',
'settings.about.description': 'TREK è un pianificatore di viaggi self-hosted che ti aiuta a organizzare i tuoi viaggi dalla prima idea all\'ultimo ricordo. Pianificazione giornaliera, budget, liste bagagli, foto e molto altro — tutto in un unico posto, sul tuo server.',
'settings.about.madeWith': 'Fatto con',
'settings.about.madeBy': 'da Maurice e una crescente comunità open-source.',
'settings.username': 'Nome utente',
'settings.email': 'Email',
'settings.role': 'Ruolo',
'settings.roleAdmin': 'Amministratore',
'settings.oidcLinked': 'Collegato con',
'settings.changePassword': 'Cambia Password',
'settings.currentPassword': 'Password attuale',
'settings.currentPasswordRequired': 'La password attuale è obbligatoria',
'settings.newPassword': 'Nuova password',
'settings.confirmPassword': 'Conferma nuova password',
'settings.updatePassword': 'Aggiorna password',
'settings.passwordRequired': 'Inserisci la password attuale e quella nuova',
'settings.passwordTooShort': 'La password deve contenere almeno 8 caratteri',
'settings.passwordMismatch': 'Le password non corrispondono',
'settings.passwordWeak': 'La password deve contenere lettere maiuscole, minuscole, un numero e un carattere speciale',
'settings.passwordChanged': 'Password cambiata con successo',
'settings.deleteAccount': 'Elimina account',
'settings.deleteAccountTitle': 'Eliminare il tuo account?',
'settings.deleteAccountWarning': 'Il tuo account e tutti i tuoi viaggi, luoghi e file verranno eliminati in modo permanente. Questa azione non può essere annullata.',
'settings.deleteAccountConfirm': 'Elimina in modo permanente',
'settings.deleteBlockedTitle': 'Eliminazione impossibile',
'settings.deleteBlockedMessage': 'Sei l\'unico amministratore. Promuovi un altro utente ad amministratore prima di eliminare il tuo account.',
'settings.roleUser': 'Utente',
'settings.saveProfile': 'Salva Profillo',
'settings.toast.mapSaved': 'Impostazioni mappa salvate',
'settings.toast.keysSaved': 'Chiavi API salvate',
'settings.toast.displaySaved': 'Impostazioni di visualizzazione salvate',
'settings.toast.profileSaved': 'Profilo salvato',
'settings.uploadAvatar': 'Carica Immagine del Profilo',
'settings.removeAvatar': 'Rimuovi Immagine del Profilo',
'settings.avatarUploaded': 'Immagine del profilo aggiornata',
'settings.avatarRemoved': 'Immagine del profilo rimossa',
'settings.avatarError': 'Impossibile caricare',
'settings.mfa.title': 'Autenticazione a due fattori (2FA)',
'settings.mfa.description': 'Aggiunge un secondo passaggio quando accedi con email e password. Usa un\'app authenticator (Google Authenticator, Authy, ecc.).',
'settings.mfa.requiredByPolicy': 'L\'amministratore richiede l\'autenticazione a due fattori. Configura un\'app authenticator qui sotto prima di continuare.',
'settings.mfa.backupTitle': 'Codici di backup',
'settings.mfa.backupDescription': 'Usa questi codici monouso se perdi l\'accesso alla tua app authenticator.',
'settings.mfa.backupWarning': 'Salvali adesso. Ogni codice può essere usato una sola volta.',
'settings.mfa.backupCopy': 'Copia codici',
'settings.mfa.backupDownload': 'Scarica TXT',
'settings.mfa.backupPrint': 'Stampa / PDF',
'settings.mfa.backupCopied': 'Codici di backup copiati',
'settings.mfa.enabled': 'La 2FA è abilitata sul tuo account.',
'settings.mfa.disabled': 'La 2FA non è abilitata.',
'settings.mfa.setup': 'Configura authenticator',
'settings.mfa.scanQr': 'Scansiona questo codice QR con la tua app, o inserisci il segreto manualmente.',
'settings.mfa.secretLabel': 'Chiave segreta (inserimento manuale)',
'settings.mfa.codePlaceholder': 'Codice a 6 cifre',
'settings.mfa.enable': 'Abilita 2FA',
'settings.mfa.cancelSetup': 'Annulla',
'settings.mfa.disableTitle': 'Disabilita 2FA',
'settings.mfa.disableHint': 'Inserisci la password del tuo account e un codice attuale dal tuo authenticator.',
'settings.mfa.disable': 'Disabilita 2FA',
'settings.mfa.toastEnabled': 'Autenticazione a due fattori abilitata',
'settings.mfa.toastDisabled': 'Autenticazione a due fattori disabilitata',
'settings.mfa.demoBlocked': 'Non disponibile in modalità demo',
'settings.mustChangePassword': 'Devi cambiare la password prima di continuare. Imposta una nuova password qui sotto.',
'admin.notifications.title': 'Notifiche',
'admin.notifications.hint': 'Scegli un canale di notifica. Solo uno può essere attivo alla volta.',
'admin.notifications.none': 'Disattivato',
'admin.notifications.email': 'E-mail (SMTP)',
'admin.notifications.webhook': 'Webhook',
'admin.notifications.save': 'Salva impostazioni notifiche',
'admin.notifications.saved': 'Impostazioni notifiche salvate',
'admin.notifications.testWebhook': 'Invia webhook di test',
'admin.notifications.testWebhookSuccess': 'Webhook di test inviato con successo',
'admin.notifications.testWebhookFailed': 'Invio webhook di test fallito',
'admin.smtp.title': 'Email e notifiche',
'admin.smtp.hint': 'Configurazione SMTP per l\'invio delle notifiche via e-mail.',
'admin.smtp.testButton': 'Invia email di prova',
'admin.webhook.hint': 'Invia notifiche a un webhook esterno (Discord, Slack, ecc.).',
'admin.smtp.testSuccess': 'Email di prova inviata con successo',
'admin.smtp.testFailed': 'Invio email di prova fallito',
'dayplan.icsTooltip': 'Esporta calendario (ICS)',
'share.linkTitle': 'Link pubblico',
'share.linkHint': 'Crea un link che chiunque può usare per visualizzare questo viaggio senza accedere. Solo lettura — nessuna modifica possibile.',
'share.createLink': 'Crea link',
'share.deleteLink': 'Elimina link',
'share.createError': 'Impossibile creare il link',
'common.copy': 'Copia',
'common.copied': 'Copiato',
'share.permMap': 'Mappa e programma',
'share.permBookings': 'Prenotazioni',
'share.permPacking': 'Valigia',
'shared.expired': 'Link scaduto o non valido',
'shared.expiredHint': 'Questo link di viaggio condiviso non è più attivo.',
'shared.readOnly': 'Vista in sola lettura',
'shared.tabPlan': 'Programma',
'shared.tabBookings': 'Prenotazioni',
'shared.tabPacking': 'Valigia',
'shared.tabBudget': 'Budget',
'shared.tabChat': 'Chat',
'shared.days': 'giorni',
'shared.places': 'luoghi',
'shared.other': 'Altro',
'shared.totalBudget': 'Budget totale',
'shared.messages': 'messaggi',
'shared.sharedVia': 'Condiviso tramite',
'shared.confirmed': 'Confermato',
'shared.pending': 'In attesa',
'share.permBudget': 'Budget',
'share.permCollab': 'Chat',
// Login
'login.error': 'Accesso fallito. Controlla le tue credenziali.',
'login.tagline': 'I tuoi viaggi.\nIl tuo programma.',
'login.description': 'Programma viaggi in collaborazione con mappe interattive, budget e sincronizzazione in tempo reale.',
'login.features.maps': 'Mappe Interattive',
'login.features.mapsDesc': 'Google Places, percorsi e clustering',
'login.features.realtime': 'Sincronizzazione in tempo reale',
'login.features.realtimeDesc': 'Programmate insieme tramite WebSocket',
'login.features.budget': 'Tracciamento Budget',
'login.features.budgetDesc': 'Categorie, grafici e costi per persona',
'login.features.collab': 'Collaborazione',
'login.features.collabDesc': 'Multi-utente con viaggi condivisi',
'login.features.packing': 'Lista Valigia',
'login.features.packingDesc': 'Categorie, progressi e suggerimenti',
'login.features.bookings': 'Prenotazioni',
'login.features.bookingsDesc': 'Voli, alloggi, ristoranti e altro',
'login.features.files': 'Documenti',
'login.features.filesDesc': 'Carica e gestisci i documenti',
'login.features.routes': 'Percorsi Intelligenti',
'login.features.routesDesc': 'Ottimizzazione automatica ed esportazione su Google Maps',
'login.selfHosted': 'Self-hosted · Open Source · Your data stays yours',
'login.title': 'Accedi',
'login.subtitle': 'Bentornato',
'login.signingIn': 'Accesso in corso…',
'login.signIn': 'Accedi',
'login.createAdmin': 'Crea Account Amministratore',
'login.createAdminHint': 'Imposta il primo account amministratore per TREK.',
'login.setNewPassword': 'Imposta nuova password',
'login.setNewPasswordHint': 'Devi cambiare la password prima di continuare.',
'login.createAccount': 'Crea Account',
'login.createAccountHint': 'Registra un nuovo account.',
'login.creating': 'Creazione in corso…',
'login.noAccount': "Non hai un account?",
'login.hasAccount': 'Hai già un account?',
'login.register': 'Registrati',
'login.emailPlaceholder': 'tua@email.com',
'login.username': 'Nome utente',
'login.oidc.registrationDisabled': 'La registrazione è disabilitata. Contatta il tuo amministratore.',
'login.oidc.noEmail': 'Nessuna email ricevuta dal provider.',
'login.oidc.tokenFailed': 'Autenticazione fallita.',
'login.oidc.invalidState': 'Sessione non valida. Riprova.',
'login.demoFailed': 'Accesso demo fallito',
'login.oidcSignIn': 'Accedi con {name}',
'login.oidcOnly': 'L\'autenticazione tramite password è disabilitata. Accedi utilizzando il tuo provider SSO.',
'login.oidcLoggedOut': 'Sei stato disconnesso. Accedi nuovamente tramite il tuo provider SSO.',
'login.demoHint': 'Prova la demo — nessuna registrazione necessaria',
'login.mfaTitle': 'Autenticazione a due fattori',
'login.mfaSubtitle': 'Inserisci il codice a 6 cifre dalla tua app authenticator.',
'login.mfaCodeLabel': 'Codice di verifica',
'login.mfaCodeRequired': 'Inserisci il codice dalla tua app authenticator.',
'login.mfaHint': 'Apri Google Authenticator, Authy o un\'altra app TOTP.',
'login.mfaBack': '← Torna all\'accesso',
'login.mfaVerify': 'Verifica',
'login.invalidInviteLink': 'Link di invito non valido o scaduto',
'login.oidcFailed': 'Accesso OIDC non riuscito',
'login.usernameRequired': 'Il nome utente è obbligatorio',
'login.passwordMinLength': 'La password deve contenere almeno 8 caratteri',
// Register
'register.passwordMismatch': 'Le password non corrispondono',
'register.passwordTooShort': 'La password deve contenere almeno 8 caratteri',
'register.failed': 'Registrazione fallita',
'register.getStarted': 'Inizia',
'register.subtitle': 'Crea un account e inizia a programmare i viaggi dei tuoi sogni.',
'register.feature1': 'Piani di viaggio illimitati',
'register.feature2': 'Vista mappa interattiva',
'register.feature3': 'Gestisci luoghi e categorie',
'register.feature4': 'Traccia le prenotazioni',
'register.feature5': 'Crea liste per la valigia',
'register.feature6': 'Archivia foto e file',
'register.createAccount': 'Crea Account',
'register.startPlanning': 'Inizia a programmare il tuo viaggio',
'register.minChars': 'Min. 6 caratteri',
'register.confirmPassword': 'Conferma Password',
'register.repeatPassword': 'Ripeti password',
'register.registering': 'Registrazione in corso...',
'register.register': 'Registrati',
'register.hasAccount': 'Hai già un account?',
'register.signIn': 'Accedi',
// Admin
'admin.title': 'Amministrazione',
'admin.subtitle': 'Gestione utenti e impostazioni di sistema',
'admin.tabs.users': 'Utenti',
'admin.tabs.categories': 'Categorie',
'admin.tabs.backup': 'Backup',
'admin.stats.users': 'Utenti',
'admin.stats.trips': 'Viaggi',
'admin.stats.places': 'Luoghi',
'admin.stats.photos': 'Foto',
'admin.stats.files': 'File',
'admin.table.user': 'Utente',
'admin.table.email': 'Email',
'admin.table.role': 'Ruolo',
'admin.table.created': 'Creato',
'admin.table.lastLogin': 'Ultimo Accesso',
'admin.table.actions': 'Azioni',
'admin.you': '(Tu)',
'admin.editUser': 'Modifica Utente',
'admin.newPassword': 'Nuova Password',
'admin.newPasswordHint': 'Lascia vuoto per mantenere la password attuale',
'admin.deleteUser': 'Eliminare l\'utente "{name}"? Tutti i viaggi verranno eliminati in modo permanente.',
'admin.deleteUserTitle': 'Elimina utente',
'admin.newPasswordPlaceholder': 'Inserisci nuova password…',
'admin.toast.loadError': 'Impossibile caricare i dati di amministrazione',
'admin.toast.userUpdated': 'Utente aggiornato',
'admin.toast.updateError': 'Impossibile aggiornare',
'admin.toast.userDeleted': 'Utente eliminato',
'admin.toast.deleteError': 'Impossibile eliminare',
'admin.toast.cannotDeleteSelf': 'Impossibile eliminare il proprio account',
'admin.toast.userCreated': 'Utente creato',
'admin.toast.createError': 'Impossibile creare l\'utente',
'admin.toast.fieldsRequired': 'Username, email e password sono obbligatori',
'admin.createUser': 'Crea Utente',
'admin.invite.title': 'Link di Invito',
'admin.invite.subtitle': 'Crea link di registrazione monouso',
'admin.invite.create': 'Crea Link',
'admin.invite.createAndCopy': 'Crea & Copia',
'admin.invite.empty': 'Nessun link di invito ancora creato',
'admin.invite.maxUses': 'Usi Max.',
'admin.invite.expiry': 'Scade tra',
'admin.invite.uses': 'usato',
'admin.invite.expiresAt': 'scade',
'admin.invite.createdBy': 'da',
'admin.invite.active': 'Attivo',
'admin.invite.expired': 'Scaduto',
'admin.invite.usedUp': 'Esaurito',
'admin.invite.copied': 'Link di invito copiato negli appunti',
'admin.invite.copyLink': 'Copia link',
'admin.invite.deleted': 'Link di invito eliminato',
'admin.invite.createError': 'Impossibile creare il link di invito',
'admin.invite.deleteError': 'Impossibile eliminare il link di invito',
'admin.tabs.settings': 'Impostazioni',
'admin.allowRegistration': 'Consenti Registrazione',
'admin.allowRegistrationHint': 'I nuovi utenti possono registrarsi autonomamente',
'admin.authMethods': 'Authentication Methods',
'admin.passwordLogin': 'Password Login',
'admin.passwordLoginHint': 'Allow users to sign in with email and password',
'admin.passwordRegistration': 'Password Registration',
'admin.passwordRegistrationHint': 'Allow new users to register with email and password',
'admin.oidcLogin': 'SSO Login',
'admin.oidcLoginHint': 'Allow users to sign in with SSO',
'admin.oidcRegistration': 'SSO Auto-Provisioning',
'admin.oidcRegistrationHint': 'Automatically create accounts for new SSO users',
'admin.envOverrideHint': 'Password login settings are controlled by the OIDC_ONLY environment variable and cannot be changed here.',
'admin.lockoutWarning': 'At least one login method must remain enabled',
'admin.requireMfa': 'Richiedi autenticazione a due fattori (2FA)',
'admin.requireMfaHint': 'Gli utenti senza 2FA devono completare la configurazione in Impostazioni prima di usare l\'app.',
'admin.apiKeys': 'Chiavi API',
'admin.apiKeysHint': 'Opzionale. Abilita dati estesi per i luoghi come foto e meteo.',
'admin.mapsKey': 'Chiave API Google Maps',
'admin.mapsKeyHint': 'Richiesta per la ricerca dei luoghi. Ottienila su console.cloud.google.com',
'admin.mapsKeyHintLong': 'Senza una chiave API, OpenStreetMap viene utilizzato per la ricerca dei luoghi. Con una chiave API di Google, è possibile caricare anche foto, valutazioni e orari di apertura. Ottienine una su console.cloud.google.com.',
'admin.recommended': 'Consigliato',
'admin.weatherKey': 'Chiave API OpenWeatherMap',
'admin.weatherKeyHint': 'Per i dati meteo. Gratuita su openweathermap.org',
'admin.validateKey': 'Testa',
'admin.keyValid': 'Connessa',
'admin.keyInvalid': 'Non valida',
'admin.keySaved': 'Chiavi API salvate',
'admin.oidcTitle': 'Single Sign-On (OIDC)',
'admin.oidcSubtitle': 'Consenti l\'accesso tramite provider esterni come Google, Apple, Authentik o Keycloak.',
'admin.oidcDisplayName': 'Nome Visualizzato',
'admin.oidcIssuer': 'URL Emittente',
'admin.oidcIssuerHint': 'L\'URL dell\'Emittente OpenID Connect del provider. es. https://accounts.google.com',
'admin.oidcSaved': 'Configurazione OIDC salvata',
'admin.oidcOnlyMode': 'Disabilita autenticazione con password',
'admin.oidcOnlyModeHint': 'Se abilitato, è consentito solo l\'accesso SSO. L\'accesso basato su password e la registrazione sono bloccati.',
// File Types
'admin.fileTypes': 'Tipi di File Consentiti',
'admin.fileTypesHint': 'Configura quali tipi di file gli utenti possono caricare.',
'admin.fileTypesFormat': 'Estensioni separate da virgola (es. jpg,png,pdf,doc). Usa * per consentire tutti i tipi.',
'admin.fileTypesSaved': 'Impostazioni dei tipi di file salvate',
// Packing Templates & Bag Tracking
'admin.bagTracking.title': 'Tracciamento valigia',
'admin.bagTracking.subtitle': 'Abilita il peso e l\'assegnazione della valigia per gli elementi della lista valigia',
'admin.collab.chat.title': 'Chat',
'admin.collab.chat.subtitle': 'Messaggistica in tempo reale per la collaborazione',
'admin.collab.notes.title': 'Note',
'admin.collab.notes.subtitle': 'Note e documenti condivisi',
'admin.collab.polls.title': 'Sondaggi',
'admin.collab.polls.subtitle': 'Sondaggi e votazioni di gruppo',
'admin.collab.whatsnext.title': 'Prossimi passi',
'admin.collab.whatsnext.subtitle': 'Suggerimenti attività e prossimi passi',
'admin.tabs.config': 'Personalizzazione',
'admin.tabs.defaults': 'Impostazioni predefinite',
'admin.defaultSettings.title': 'Impostazioni predefinite utente',
'admin.defaultSettings.description': "Imposta i valori predefiniti per l'intera istanza. Gli utenti che non hanno modificato un'impostazione vedranno questi valori. Le loro modifiche hanno sempre la priorità.",
'admin.defaultSettings.saved': 'Predefinito salvato',
'admin.defaultSettings.reset': 'Ripristina il predefinito integrato',
'admin.defaultSettings.resetToBuiltIn': 'ripristina',
'admin.tabs.templates': 'Modelli lista valigia',
'admin.packingTemplates.title': 'Modelli lista valigia',
'admin.packingTemplates.subtitle': 'Crea liste valigia riutilizzabili per i tuoi viaggi',
'admin.packingTemplates.create': 'Nuovo modello',
'admin.packingTemplates.namePlaceholder': 'Nome modello (es. Vacanza al mare)',
'admin.packingTemplates.empty': 'Ancora nessun modello creato',
'admin.packingTemplates.items': 'elementi',
'admin.packingTemplates.categories': 'categorie',
'admin.packingTemplates.itemName': 'Nome elemento',
'admin.packingTemplates.itemCategory': 'Categoria',
'admin.packingTemplates.categoryName': 'Nome categoria (es. Abbigliamento)',
'admin.packingTemplates.addCategory': 'Aggiungi categoria',
'admin.packingTemplates.created': 'Modello creato',
'admin.packingTemplates.deleted': 'Modello eliminato',
'admin.packingTemplates.loadError': 'Impossibile caricare i modelli',
'admin.packingTemplates.createError': 'Impossibile creare il modello',
'admin.packingTemplates.deleteError': 'Impossibile eliminare il modello',
'admin.packingTemplates.saveError': 'Impossibile salvare',
// Addons
'admin.tabs.addons': 'Moduli',
'admin.addons.title': 'Moduli',
'admin.addons.subtitle': 'Abilita o disabilita le funzionalità per personalizzare la tua esperienza TREK.',
'admin.addons.catalog.packing.name': 'Liste',
'admin.addons.catalog.packing.description': 'Liste di imballaggio e attività da svolgere per i tuoi viaggi',
'admin.addons.catalog.budget.name': 'Budget',
'admin.addons.catalog.budget.description': 'Tieni traccia delle spese e pianifica il budget del tuo viaggio',
'admin.addons.catalog.documents.name': 'Documenti',
'admin.addons.catalog.documents.description': 'Archivia e gestisci i documenti di viaggio',
'admin.addons.catalog.vacay.name': 'Ferie',
'admin.addons.catalog.vacay.description': 'Pianificatore personale delle ferie con vista calendario',
'admin.addons.catalog.atlas.name': 'Atlante',
'admin.addons.catalog.atlas.description': 'Mappa del mondo con paesi visitati e statistiche di viaggio',
'admin.addons.catalog.collab.name': 'Collaborazione',
'admin.addons.catalog.collab.description': 'Note, sondaggi e chat in tempo reale per la pianificazione del viaggio',
'admin.addons.catalog.memories.name': 'Foto (Immich)',
'admin.addons.catalog.memories.description': 'Condividi le foto del viaggio tramite la tua istanza Immich',
'admin.addons.catalog.mcp.name': 'MCP',
'admin.addons.catalog.mcp.description': 'Model Context Protocol per l\'integrazione di assistenti AI',
'admin.addons.subtitleBefore': 'Abilita o disabilita le funzionalità per personalizzare la tua ',
'admin.addons.subtitleAfter': ' esperienza.',
'admin.addons.enabled': 'Abilitato',
'admin.addons.disabled': 'Disabilitato',
'admin.addons.type.trip': 'Viaggio',
'admin.addons.type.global': 'Globale',
'admin.addons.type.integration': 'Integrazione',
'admin.addons.tripHint': 'Disponibile come scheda all\'interno di ciascun viaggio',
'admin.addons.globalHint': 'Disponibile come sezione autonoma nella navigazione principale',
'admin.addons.integrationHint': 'Servizi backend e integrazioni API senza pagina dedicata',
'admin.addons.toast.updated': 'Modulo aggiornato',
'admin.addons.toast.error': 'Impossibile aggiornare il modulo',
'admin.addons.noAddons': 'Nessun modulo disponibile',
// Weather info
'admin.weather.title': 'Dati meteo',
'admin.weather.badge': 'Dal 24 marzo 2026',
'admin.weather.description': 'TREK utilizza Open-Meteo come fonte dei dati meteo. Open-Meteo è un servizio meteo gratuito e open-source — non è richiesta alcuna chiave API.',
'admin.weather.forecast': 'Previsioni a 16 giorni',
'admin.weather.forecastDesc': 'In precedenza 5 giorni (OpenWeatherMap)',
'admin.weather.climate': 'Dati climatici storici',
'admin.weather.climateDesc': 'Medie degli ultimi 85 anni per i giorni oltre le previsioni a 16 giorni',
'admin.weather.requests': '10.000 richieste / giorno',
'admin.weather.requestsDesc': 'Gratis, nessuna chiave API richiesta',
'admin.weather.locationHint': 'Il meteo si basa sul primo luogo con coordinate di ogni giorno. Se a un giorno non è assegnato alcun luogo, viene utilizzato come riferimento un qualsiasi luogo dell\'elenco.',
'admin.tabs.audit': 'Audit',
'admin.audit.subtitle': 'Eventi sensibili di sicurezza e amministrazione (backup, utenti, 2FA, impostazioni).',
'admin.audit.empty': 'Nessuna voce di audit.',
'admin.audit.refresh': 'Aggiorna',
'admin.audit.loadMore': 'Carica altro',
'admin.audit.showing': '{count} caricati · {total} totali',
'admin.audit.col.time': 'Ora',
'admin.audit.col.user': 'Utente',
'admin.audit.col.action': 'Azione',
'admin.audit.col.resource': 'Risorsa',
'admin.audit.col.ip': 'IP',
'admin.audit.col.details': 'Dettagli',
// MCP Tokens
'admin.tabs.mcpTokens': 'Accesso MCP',
'admin.mcpTokens.title': 'Accesso MCP',
'admin.mcpTokens.subtitle': 'Gestisci le sessioni OAuth e i token API di tutti gli utenti',
'admin.mcpTokens.sectionTitle': 'Token API',
'admin.mcpTokens.owner': 'Proprietario',
'admin.mcpTokens.tokenName': 'Nome token',
'admin.mcpTokens.created': 'Creato',
'admin.mcpTokens.lastUsed': 'Ultimo utilizzo',
'admin.mcpTokens.never': 'Mai',
'admin.mcpTokens.empty': 'Non sono ancora stati creati token MCP',
'admin.mcpTokens.deleteTitle': 'Elimina token',
'admin.mcpTokens.deleteMessage': 'Questo token verrà revocato immediatamente. L\'utente perderà l\'accesso MCP tramite questo token.',
'admin.mcpTokens.deleteSuccess': 'Token eliminato',
'admin.mcpTokens.deleteError': 'Impossibile eliminare il token',
'admin.mcpTokens.loadError': 'Impossibile caricare i token',
'admin.oauthSessions.sectionTitle': 'Sessioni OAuth',
'admin.oauthSessions.clientName': 'Client',
'admin.oauthSessions.owner': 'Proprietario',
'admin.oauthSessions.scopes': 'Ambiti',
'admin.oauthSessions.created': 'Creato',
'admin.oauthSessions.empty': 'Nessuna sessione OAuth attiva',
'admin.oauthSessions.revokeTitle': 'Revoca sessione',
'admin.oauthSessions.revokeMessage': 'Questa sessione OAuth verrà revocata immediatamente. Il client perderà l\'accesso MCP.',
'admin.oauthSessions.revokeSuccess': 'Sessione revocata',
'admin.oauthSessions.revokeError': 'Impossibile revocare la sessione',
'admin.oauthSessions.loadError': 'Impossibile caricare le sessioni OAuth',
// GitHub
'admin.tabs.github': 'GitHub',
'admin.github.title': 'Cronologia rilasci',
'admin.github.subtitle': 'Ultimi aggiornamenti da {repo}',
'admin.github.latest': 'Ultimo',
'admin.github.prerelease': 'Pre-release',
'admin.github.showDetails': 'Mostra dettagli',
'admin.github.hideDetails': 'Nascondi dettagli',
'admin.github.loadMore': 'Carica altro',
'admin.github.loading': 'Caricamento...',
'admin.github.error': 'Impossibile caricare i rilasci',
'admin.github.by': 'da',
'admin.github.support': 'Mi aiuta a continuare a sviluppare TREK',
'admin.update.available': 'Aggiornamento disponibile',
'admin.update.text': 'TREK {version} è disponibile. Stai eseguendo {current}.',
'admin.update.button': 'Vedi su GitHub',
'admin.update.install': 'Installa aggiornamento',
'admin.update.confirmTitle': 'Installare l\'aggiornamento?',
'admin.update.confirmText': 'TREK verrà aggiornato da {current} a {version}. Il server si riavvierà automaticamente in seguito.',
'admin.update.dataInfo': 'Tutti i tuoi dati (viaggi, utenti, chiavi API, caricamenti, Ferie, Atlante, budget) saranno preservati.',
'admin.update.warning': 'L\'app sarà temporaneamente non disponibile durante il riavvio.',
'admin.update.confirm': 'Aggiorna ora',
'admin.update.installing': 'Aggiornamento in corso…',
'admin.update.success': 'Aggiornamento installato! Il server si sta riavviando…',
'admin.update.failed': 'Aggiornamento non riuscito',
'admin.update.backupHint': 'Ti consigliamo di creare un backup prima di aggiornare.',
'admin.update.backupLink': 'Vai a Backup',
'admin.update.howTo': 'Come aggiornare',
'admin.update.dockerText': 'La tua istanza TREK è in esecuzione in Docker. Per aggiornare alla versione {version}, esegui i seguenti comandi sul tuo server:',
'admin.update.reloadHint': 'Ricarica la pagina tra qualche secondo.',
// Vacay addon
'vacay.subtitle': 'Pianifica e gestisci i giorni di ferie',
'vacay.settings': 'Impostazioni',
'vacay.year': 'Anno',
'vacay.addYear': 'Aggiungi anno successivo',
'vacay.addPrevYear': 'Aggiungi anno precedente',
'vacay.removeYear': 'Rimuovi anno',
'vacay.removeYearConfirm': 'Rimuovere {year}?',
'vacay.removeYearHint': 'Tutte le voci delle ferie e le ferie aziendali di questo anno verranno eliminate in modo permanente.',
'vacay.remove': 'Rimuovi',
'vacay.persons': 'Persone',
'vacay.noPersons': 'Nessuna persona aggiunta',
'vacay.addPerson': 'Aggiungi persona',
'vacay.editPerson': 'Modifica persona',
'vacay.removePerson': 'Rimuovi persona',
'vacay.removePersonConfirm': 'Rimuovere {name}?',
'vacay.removePersonHint': 'Tutte le voci delle ferie per questa persona verranno eliminate in modo permanente.',
'vacay.personName': 'Nome',
'vacay.personNamePlaceholder': 'Inserisci nome',
'vacay.color': 'Colore',
'vacay.add': 'Aggiungi',
'vacay.legend': 'Legenda',
'vacay.publicHoliday': 'Festività pubblica',
'vacay.companyHoliday': 'Ferie aziendali',
'vacay.weekend': 'Weekend',
'vacay.modeVacation': 'Ferie',
'vacay.modeCompany': 'Ferie aziendali',
'vacay.entitlement': 'Disponibilità',
'vacay.entitlementDays': 'Giorni',
'vacay.used': 'Usati',
'vacay.remaining': 'Rimanenti',
'vacay.carriedOver': 'dal {year}',
'vacay.blockWeekends': 'Blocca weekend',
'vacay.blockWeekendsHint': 'Impedisci le voci ferie nei giorni del weekend',
'vacay.weekendDays': 'Giorni del weekend',
'vacay.mon': 'Lun',
'vacay.tue': 'Mar',
'vacay.wed': 'Mer',
'vacay.thu': 'Gio',
'vacay.fri': 'Ven',
'vacay.sat': 'Sab',
'vacay.sun': 'Dom',
'vacay.publicHolidays': 'Festività pubbliche',
'vacay.publicHolidaysHint': 'Segna le festività pubbliche nel calendario',
'vacay.selectCountry': 'Seleziona paese',
'vacay.selectRegion': 'Seleziona regione (opzionale)',
'vacay.addCalendar': 'Aggiungi calendario',
'vacay.calendarLabel': 'Etichetta (opzionale)',
'vacay.calendarColor': 'Colore',
'vacay.noCalendars': 'Ancora nessun calendario delle festività aggiunto',
'vacay.companyHolidays': 'Ferie aziendali',
'vacay.companyHolidaysHint': 'Consenti di segnare giorni di ferie aziendali',
'vacay.companyHolidaysNoDeduct': 'Le ferie aziendali non vengono conteggiate nei giorni di ferie.',
'vacay.weekStart': 'La settimana inizia il',
'vacay.weekStartHint': 'Scegli se la settimana inizia il lunedì o la domenica',
'vacay.carryOver': 'Riporto',
'vacay.carryOverHint': 'Riporta automaticamente i giorni di ferie rimanenti all\'anno successivo',
'vacay.sharing': 'Condivisione',
'vacay.sharingHint': 'Condividi il tuo piano ferie con altri utenti TREK',
'vacay.owner': 'Proprietario',
'vacay.shareEmailPlaceholder': 'Email dell\'utente TREK',
'vacay.shareSuccess': 'Piano condiviso con successo',
'vacay.shareError': 'Impossibile condividere il piano',
'vacay.dissolve': 'Sciogli unione',
'vacay.dissolveHint': 'Separa di nuovo i calendari. Le tue voci verranno mantenute.',
'vacay.dissolveAction': 'Sciogli',
'vacay.dissolved': 'Calendario separato',
'vacay.fusedWith': 'Unito con',
'vacay.you': 'tu',
'vacay.noData': 'Nessun dato',
'vacay.changeColor': 'Cambia colore',
'vacay.inviteUser': 'Invita utente',
'vacay.inviteHint': 'Invita un altro utente TREK a condividere un calendario ferie combinato.',
'vacay.selectUser': 'Seleziona utente',
'vacay.sendInvite': 'Invia invito',
'vacay.inviteSent': 'Invito inviato',
'vacay.inviteError': 'Impossibile inviare l\'invito',
'vacay.pending': 'in attesa',
'vacay.noUsersAvailable': 'Nessun utente disponibile',
'vacay.accept': 'Accetta',
'vacay.decline': 'Rifiuta',
'vacay.acceptFusion': 'Accetta e unisci',
'vacay.inviteTitle': 'Richiesta di unione',
'vacay.inviteWantsToFuse': 'vuole condividere con te un calendario ferie.',
'vacay.fuseInfo1': 'Entrambi vedrete tutte le voci ferie in un unico calendario condiviso.',
'vacay.fuseInfo2': 'Entrambe le parti possono creare e modificare le voci reciproche.',
'vacay.fuseInfo3': 'Entrambe le parti possono eliminare le voci e modificare le disponibilità ferie.',
'vacay.fuseInfo4': 'Le impostazioni come festività pubbliche e ferie aziendali sono condivise.',
'vacay.fuseInfo5': 'L\'unione può essere sciolta in qualsiasi momento da una delle due parti. Le tue voci verranno preservate.',
'nav.myTrips': 'I miei viaggi',
// Atlas addon
'atlas.subtitle': 'La tua impronta di viaggio nel mondo',
'atlas.countries': 'Paesi',
'atlas.trips': 'Viaggi',
'atlas.places': 'Luoghi',
'atlas.unmark': 'Rimuovi',
'atlas.confirmMark': 'Segnare questo paese come visitato?',
'atlas.confirmUnmark': 'Rimuovere questo paese dalla tua lista dei visitati?',
'atlas.confirmUnmarkRegion': 'Rimuovere questa regione dalla tua lista dei visitati?',
'atlas.markVisited': 'Segna come visitato',
'atlas.markVisitedHint': 'Aggiungi questo paese alla tua lista dei visitati',
'atlas.markRegionVisitedHint': 'Aggiungi questa regione alla tua lista dei visitati',
'atlas.addToBucket': 'Aggiungi alla lista desideri',
'atlas.addPoi': 'Aggiungi luogo',
'atlas.bucketNamePlaceholder': 'Nome (paese, città, luogo...)',
'atlas.month': 'Mese',
'atlas.addToBucketHint': 'Salvalo come luogo che vuoi visitare',
'atlas.bucketWhen': 'Quando pensi di visitarlo?',
'atlas.statsTab': 'Statistiche',
'atlas.bucketTab': 'Lista desideri',
'atlas.addBucket': 'Aggiungi alla lista desideri',
'atlas.bucketNotesPlaceholder': 'Note (opzionale)',
'atlas.bucketEmpty': 'La tua lista desideri è vuota',
'atlas.bucketEmptyHint': 'Aggiungi luoghi che sogni di visitare',
'atlas.days': 'Giorni',
'atlas.visitedCountries': 'Paesi visitati',
'atlas.cities': 'Città',
'atlas.noData': 'Ancora nessun dato di viaggio',
'atlas.noDataHint': 'Crea un viaggio e aggiungi luoghi per vedere la tua mappa del mondo',
'atlas.lastTrip': 'Ultimo viaggio',
'atlas.nextTrip': 'Prossimo viaggio',
'atlas.daysLeft': 'giorni rimasti',
'atlas.streak': 'Serie',
'atlas.year': 'anno',
'atlas.years': 'anni',
'atlas.yearInRow': 'anno consecutivo',
'atlas.yearsInRow': 'anni consecutivi',
'atlas.tripIn': 'viaggio in',
'atlas.tripsIn': 'viaggi in',
'atlas.since': 'dal',
'atlas.europe': 'Europa',
'atlas.asia': 'Asia',
'atlas.northAmerica': 'Nord America',
'atlas.southAmerica': 'Sud America',
'atlas.africa': 'Africa',
'atlas.oceania': 'Oceania',
'atlas.other': 'Altro',
'atlas.firstVisit': 'Primo viaggio',
'atlas.lastVisitLabel': 'Ultimo viaggio',
'atlas.tripSingular': 'Viaggio',
'atlas.tripPlural': 'Viaggi',
'atlas.placeVisited': 'Luogo visitato',
'atlas.placesVisited': 'Luoghi visitati',
'atlas.searchCountry': 'Cerca un paese...',
// Trip Planner
'trip.tabs.plan': 'Programma',
'trip.tabs.reservations': 'Prenotazioni',
'trip.tabs.reservationsShort': 'Pren.',
'trip.tabs.packing': 'Lista valigia',
'trip.tabs.packingShort': 'Valigia',
'trip.tabs.lists': 'Liste',
'trip.tabs.listsShort': 'Liste',
'trip.tabs.budget': 'Budget',
'trip.tabs.files': 'File',
'trip.loading': 'Caricamento viaggio...',
'trip.mobilePlan': 'Programma',
'trip.mobilePlaces': 'Luoghi',
'trip.toast.placeUpdated': 'Luogo aggiornato',
'trip.toast.placeAdded': 'Luogo aggiunto',
'trip.toast.placeDeleted': 'Luogo eliminato',
'trip.toast.selectDay': 'Seleziona prima un giorno',
'trip.toast.assignedToDay': 'Luogo assegnato al giorno',
'trip.toast.reorderError': 'Impossibile riordinare',
'trip.toast.reservationUpdated': 'Prenotazione aggiornata',
'trip.toast.reservationAdded': 'Prenotazione aggiunta',
'trip.toast.deleted': 'Eliminato',
'trip.confirm.deletePlace': 'Sei sicuro di voler eliminare questo luogo?',
'trip.loadingPhotos': 'Caricamento foto dei luoghi...',
// Day Plan Sidebar
'dayplan.emptyDay': 'Nessun luogo programmato per questo giorno',
'dayplan.addNote': 'Aggiungi nota',
'dayplan.editNote': 'Modifica nota',
'dayplan.noteAdd': 'Aggiungi nota',
'dayplan.noteEdit': 'Modifica nota',
'dayplan.noteTitle': 'Nota',
'dayplan.noteSubtitle': 'Nota giornaliera',
'dayplan.totalCost': 'Costo totale',
'dayplan.days': 'Giorni',
'dayplan.dayN': 'Giorno {n}',
'dayplan.calculating': 'Calcolo in corso...',
'dayplan.route': 'Percorso',
'dayplan.optimize': 'Ottimizza',
'dayplan.optimized': 'Percorso ottimizzato',
'dayplan.routeError': 'Impossibile calcolare il percorso',
'dayplan.toast.needTwoPlaces': 'Servono almeno due luoghi per l\'ottimizzazione del percorso',
'dayplan.toast.routeOptimized': 'Percorso ottimizzato',
'dayplan.toast.noGeoPlaces': 'Nessun luogo con coordinate trovato per il calcolo del percorso',
'dayplan.confirmed': 'Confermata',
'dayplan.pendingRes': 'In attesa',
'dayplan.pdf': 'PDF',
'dayplan.pdfTooltip': 'Esporta il programma del giorno come PDF',
'dayplan.pdfError': 'Impossibile esportare il PDF',
'dayplan.cannotReorderTransport': 'Le prenotazioni con un orario fisso non possono essere riordinate',
'dayplan.confirmRemoveTimeTitle': 'Rimuovere l\'orario?',
'dayplan.confirmRemoveTimeBody': 'Questo luogo ha un orario fisso ({time}). Spostarlo rimuoverà l\'orario e consentirà l\'ordinamento libero.',
'dayplan.confirmRemoveTimeAction': 'Rimuovi orario e sposta',
'dayplan.cannotDropOnTimed': 'Gli elementi non possono essere posizionati tra voci con orario fisso',
'dayplan.cannotBreakChronology': 'Ciò interromperebbe l\'ordine cronologico degli elementi e delle prenotazioni pianificati',
// Places Sidebar
'places.addPlace': 'Aggiungi Luogo/Attività',
'places.importFile': 'Importa file',
'places.sidebarDrop': 'Rilascia per importare',
'places.importFileHint': 'Importa file .gpx, .kml o .kmz da strumenti come Google My Maps, Google Earth o un tracker GPS.',
'places.importFileDropHere': 'Clicca per selezionare un file o trascina e rilascia qui',
'places.importFileDropActive': 'Rilascia il file per selezionarlo',
'places.importFileUnsupported': 'Tipo di file non supportato. Usa .gpx, .kml o .kmz.',
'places.importFileTooLarge': 'Il file è troppo grande. La dimensione massima di caricamento è {maxMb} MB.',
'places.importFileError': 'Importazione non riuscita',
'places.importAllSkipped': 'Tutti i luoghi erano già nel viaggio.',
'places.gpxImported': '{count} luoghi importati da GPX',
'places.kmlKmzImported': '{count} luoghi importati da KMZ/KML',
'places.urlResolved': 'Luogo importato dall\'URL',
'places.importList': 'Importa lista',
'places.kmlKmzSummaryValues': 'Placemarks: {total} • Importati: {created} • Saltati: {skipped}',
'places.importGoogleList': 'Lista Google',
'places.importNaverList': 'Lista Naver',
'places.googleListHint': 'Incolla un link condiviso di una lista Google Maps per importare tutti i luoghi.',
'places.googleListImported': '{count} luoghi importati da "{list}"',
'places.googleListError': 'Importazione lista Google Maps non riuscita',
'places.naverListHint': 'Incolla un link condiviso di una lista Naver Maps per importare tutti i luoghi.',
'places.naverListImported': '{count} luoghi importati da "{list}"',
'places.naverListError': 'Importazione lista Naver Maps non riuscita',
'places.viewDetails': 'Visualizza dettagli',
'places.assignToDay': 'A quale giorno aggiungere?',
'places.all': 'Tutti',
'places.unplanned': 'Non pianificati',
'places.search': 'Cerca luoghi...',
'places.allCategories': 'Tutte le categorie',
'places.categoriesSelected': 'categorie',
'places.clearFilter': 'Cancella filtro',
'places.count': '{count} luoghi',
'places.countSingular': '1 luogo',
'places.allPlanned': 'Tutti i luoghi sono programmati',
'places.noneFound': 'Nessun luogo trovato',
'places.editPlace': 'Modifica luogo',
'places.formName': 'Nome',
'places.formNamePlaceholder': 'es. Torre Eiffel',
'places.formDescription': 'Descrizione',
'places.formDescriptionPlaceholder': 'Breve descrizione...',
'places.formAddress': 'Indirizzo',
'places.formAddressPlaceholder': 'Via, Città, Paese',
'places.formLat': 'Latitudine (es. 48.8566)',
'places.formLng': 'Longitudine (es. 2.3522)',
'places.formCategory': 'Categoria',
'places.noCategory': 'Nessuna categoria',
'places.categoryNamePlaceholder': 'Nome categoria',
'places.formTime': 'Ora',
'places.startTime': 'Inizio',
'places.endTime': 'Fine',
'places.endTimeBeforeStart': 'L\'ora di fine è precedente all\'ora di inizio',
'places.timeCollision': 'Sovrapposizione di orario con:',
'places.formWebsite': 'Sito web',
'places.formNotes': 'Note',
'places.formNotesPlaceholder': 'Note personali...',
'places.formReservation': 'Prenotazione',
'places.reservationNotesPlaceholder': 'Note della prenotazione, numero di conferma...',
'places.mapsSearchPlaceholder': 'Cerca luoghi...',
'places.mapsSearchError': 'Impossibile cercare i luoghi.',
'places.loadingDetails': 'Caricamento dettagli del luogo…',
'places.osmHint': 'Uso della ricerca OpenStreetMap (senza foto, orari di apertura o valutazioni). Aggiungi una chiave API Google nelle impostazioni per i dettagli completi.',
'places.osmActive': 'Ricerca tramite OpenStreetMap (senza foto, valutazioni o orari di apertura). Aggiungi una chiave API Google nelle Impostazioni per dati avanzati.',
'places.categoryCreateError': 'Impossibile creare la categoria',
'places.nameRequired': 'Inserisci un nome',
'places.saveError': 'Impossibile salvare',
// Place Inspector
'inspector.opened': 'Aperto',
'inspector.closed': 'Chiuso',
'inspector.openingHours': 'Orari di apertura',
'inspector.showHours': 'Mostra orari di apertura',
'inspector.files': 'File',
'inspector.filesCount': '{count} file',
'inspector.removeFromDay': 'Rimuovi dal giorno',
'inspector.remove': 'Rimuovi',
'inspector.addToDay': 'Aggiungi al giorno',
'inspector.confirmedRes': 'Prenotazione confermata',
'inspector.pendingRes': 'Prenotazione in attesa',
'inspector.google': 'Apri in Google Maps',
'inspector.website': 'Apri sito web',
'inspector.addRes': 'Prenotazione',
'inspector.editRes': 'Modifica prenotazione',
'inspector.participants': 'Partecipanti',
'inspector.trackStats': 'Dati del percorso',
// Reservations
'reservations.title': 'Prenotazioni',
'reservations.empty': 'Ancora nessuna prenotazione',
'reservations.emptyHint': 'Aggiungi prenotazioni per voli, alloggi e altro',
'reservations.add': 'Aggiungi prenotazione',
'reservations.addManual': 'Prenotazione manuale',
'reservations.placeHint': 'Suggerimento: è meglio creare le prenotazioni direttamente da un luogo per collegarle al tuo programma del giorno.',
'reservations.confirmed': 'Confermata',
'reservations.pending': 'In attesa',
'reservations.summary': '{confirmed} confermate, {pending} in attesa',
'reservations.fromPlan': 'Dal programma',
'reservations.showFiles': 'Mostra file',
'reservations.editTitle': 'Modifica prenotazione',
'reservations.status': 'Stato',
'reservations.datetime': 'Data e ora',
'reservations.startTime': 'Ora di inizio',
'reservations.endTime': 'Ora di fine',
'reservations.date': 'Data',
'reservations.time': 'Ora',
'reservations.timeAlt': 'Ora (alternativa, es. 19:30)',
'reservations.notes': 'Note',
'reservations.notesPlaceholder': 'Note aggiuntive...',
'reservations.meta.airline': 'Compagnia aerea',
'reservations.meta.flightNumber': 'N. volo',
'reservations.meta.from': 'Da',
'reservations.meta.to': 'A',
'reservations.meta.trainNumber': 'N. treno',
'reservations.meta.platform': 'Binario',
'reservations.meta.seat': 'Posto',
'reservations.meta.checkIn': 'Check-in',
'reservations.meta.checkInUntil': 'Check-in fino a',
'reservations.meta.checkOut': 'Check-out',
'reservations.meta.linkAccommodation': 'Alloggio',
'reservations.meta.pickAccommodation': 'Collega a un alloggio',
'reservations.meta.noAccommodation': 'Nessuno',
'reservations.meta.hotelPlace': 'Alloggio',
'reservations.meta.pickHotel': 'Seleziona alloggio',
'reservations.meta.fromDay': 'Da',
'reservations.meta.toDay': 'A',
'reservations.meta.selectDay': 'Seleziona giorno',
'reservations.type.flight': 'Volo',
'reservations.type.hotel': 'Alloggio',
'reservations.type.restaurant': 'Ristorante',
'reservations.type.train': 'Treno',
'reservations.type.car': 'Auto a noleggio',
'reservations.type.cruise': 'Crociera',
'reservations.type.event': 'Evento',
'reservations.type.tour': 'Tour',
'reservations.type.other': 'Altro',
'reservations.confirm.delete': 'Sei sicuro di voler eliminare la prenotazione "{name}"?',
'reservations.confirm.deleteTitle': 'Eliminare la prenotazione?',
'reservations.confirm.deleteBody': '"{name}" verrà eliminato in modo permanente.',
'reservations.toast.updated': 'Prenotazione aggiornata',
'reservations.toast.removed': 'Prenotazione eliminata',
'reservations.toast.fileUploaded': 'File caricato',
'reservations.toast.uploadError': 'Impossibile caricare',
'reservations.newTitle': 'Nuova prenotazione',
'reservations.bookingType': 'Tipo di prenotazione',
'reservations.titleLabel': 'Titolo',
'reservations.titlePlaceholder': 'es. Lufthansa LH123, Hotel Adlon, ...',
'reservations.locationAddress': 'Posizione / Indirizzo',
'reservations.locationPlaceholder': 'Indirizzo, aeroporto, hotel...',
'reservations.confirmationCode': 'Codice prenotazione',
'reservations.confirmationPlaceholder': 'es. ABC12345',
'reservations.day': 'Giorno',
'reservations.noDay': 'Nessun giorno',
'reservations.place': 'Luogo',
'reservations.noPlace': 'Nessun luogo',
'reservations.pendingSave': 'verrà salvato…',
'reservations.uploading': 'Caricamento...',
'reservations.attachFile': 'Allega file',
'reservations.linkExisting': 'Collega file esistente',
'reservations.toast.saveError': 'Impossibile salvare',
'reservations.toast.updateError': 'Impossibile aggiornare',
'reservations.toast.deleteError': 'Impossibile eliminare',
'reservations.confirm.remove': 'Rimuovere la prenotazione per "{name}"?',
'reservations.linkAssignment': 'Collega all\'assegnazione del giorno',
'reservations.pickAssignment': 'Seleziona un\'assegnazione dal tuo programma...',
'reservations.noAssignment': 'Nessun collegamento (autonomo)',
'reservations.price': 'Prezzo',
'reservations.budgetCategory': 'Categoria budget',
'reservations.budgetCategoryPlaceholder': 'es. Trasporto, Alloggio',
'reservations.budgetCategoryAuto': 'Auto (dal tipo di prenotazione)',
'reservations.budgetHint': 'Una voce di budget verrà creata automaticamente al salvataggio.',
'reservations.departureDate': 'Partenza',
'reservations.arrivalDate': 'Arrivo',
'reservations.departureTime': 'Ora part.',
'reservations.arrivalTime': 'Ora arr.',
'reservations.pickupDate': 'Ritiro',
'reservations.returnDate': 'Riconsegna',
'reservations.pickupTime': 'Ora ritiro',
'reservations.returnTime': 'Ora riconsegna',
'reservations.endDate': 'Data fine',
'reservations.meta.departureTimezone': 'TZ part.',
'reservations.meta.arrivalTimezone': 'TZ arr.',
'reservations.span.departure': 'Partenza',
'reservations.span.arrival': 'Arrivo',
'reservations.span.inTransit': 'In transito',
'reservations.span.pickup': 'Ritiro',
'reservations.span.return': 'Riconsegna',
'reservations.span.active': 'Attivo',
'reservations.span.start': 'Inizio',
'reservations.span.end': 'Fine',
'reservations.span.ongoing': 'In corso',
'reservations.validation.endBeforeStart': 'La data/ora di fine deve essere successiva alla data/ora di inizio',
// Budget
'budget.title': 'Budget',
'budget.exportCsv': 'Esporta CSV',
'budget.emptyTitle': 'Ancora nessun budget creato',
'budget.emptyText': 'Crea categorie e voci per pianificare il budget del tuo viaggio',
'budget.emptyPlaceholder': 'Inserisci nome categoria...',
'budget.createCategory': 'Crea categoria',
'budget.category': 'Categoria',
'budget.categoryName': 'Nome categoria',
'budget.table.name': 'Nome',
'budget.table.total': 'Totale',
'budget.table.persons': 'Persone',
'budget.table.days': 'Giorni',
'budget.table.perPerson': 'Per persona',
'budget.table.perDay': 'Per giorno',
'budget.table.perPersonDay': 'P. p / gio.',
'budget.table.note': 'Nota',
'budget.table.date': 'Data',
'budget.newEntry': 'Nuova voce',
'budget.defaultEntry': 'Nuova voce',
'budget.defaultCategory': 'Nuova categoria',
'budget.total': 'Totale',
'budget.totalBudget': 'Budget totale',
'budget.byCategory': 'Per categoria',
'budget.editTooltip': 'Clicca per modificare',
'budget.linkedToReservation': 'Collegato a una prenotazione — modifica il nome lì',
'budget.confirm.deleteCategory': 'Sei sicuro di voler eliminare la categoria "{name}" con {count} voci?',
'budget.deleteCategory': 'Elimina categoria',
'budget.perPerson': 'Per persona',
'budget.paid': 'Pagato',
'budget.open': 'Aperto',
'budget.noMembers': 'Nessun membro assegnato',
'budget.settlement': 'Regolamento',
'budget.settlementInfo': 'Clicca sull\'avatar di un membro su una voce di budget per contrassegnarlo in verde — significa che ha pagato. Il regolamento mostra poi chi deve quanto a chi.',
'budget.netBalances': 'Saldi netti',
// Files
'files.title': 'File',
'files.pageTitle': 'File e documenti',
'files.subtitle': '{count} file per {trip}',
'files.downloadPdf': 'Scarica PDF',
'files.count': '{count} file',
'files.countSingular': '1 documento',
'files.uploaded': '{count} caricati',
'files.uploadError': 'Caricamento non riuscito',
'files.dropzone': 'Trascina qui i file',
'files.dropzoneHint': 'oppure clicca per sfogliare',
'files.allowedTypes': 'Immagini, PDF, DOC, DOCX, XLS, XLSX, TXT, CSV · Max 50 MB',
'files.uploading': 'Caricamento...',
'files.filterAll': 'Tutti',
'files.filterPdf': 'PDF',
'files.filterImages': 'Immagini',
'files.filterDocs': 'Documenti',
'files.filterCollab': 'Note Collaborazione',
'files.sourceCollab': 'Da Note Collaborazione',
'files.empty': 'Ancora nessun file',
'files.emptyHint': 'Carica file per allegarli al tuo viaggio',
'files.openTab': 'Apri in una nuova scheda',
'files.confirm.delete': 'Sei sicuro di voler eliminare questo file?',
'files.toast.deleted': 'File eliminato',
'files.toast.deleteError': 'Impossibile eliminare il file',
'files.sourcePlan': 'Programma giornaliero',
'files.sourceBooking': 'Prenotazione',
'files.attach': 'Allega',
'files.pasteHint': 'Puoi anche incollare immagini dagli appunti (Ctrl+V)',
'files.trash': 'Cestino',
'files.trashEmpty': 'Il cestino è vuoto',
'files.emptyTrash': 'Svuota cestino',
'files.restore': 'Ripristina',
'files.star': 'Aggiungi ai preferiti',
'files.unstar': 'Rimuovi dai preferiti',
'files.assign': 'Assegna',
'files.assignTitle': 'Assegna file',
'files.assignPlace': 'Luogo',
'files.assignBooking': 'Prenotazione',
'files.unassigned': 'Non assegnato',
'files.unlink': 'Rimuovi collegamento',
'files.toast.trashed': 'Spostato nel cestino',
'files.toast.restored': 'File ripristinato',
'files.toast.trashEmptied': 'Cestino svuotato',
'files.toast.assigned': 'File assegnato',
'files.toast.assignError': 'Assegnazione fallita',
'files.toast.restoreError': 'Ripristino fallito',
'files.confirm.permanentDelete': 'Eliminare questo file in modo permanente? Questa operazione non può essere annullata.',
'files.confirm.emptyTrash': 'Eliminare in modo permanente tutti i file nel cestino? Questa operazione non può essere annullata.',
'files.noteLabel': 'Nota',
'files.notePlaceholder': 'Aggiungi una nota...',
// Packing
'packing.title': 'Lista valigia',
'packing.empty': 'La lista valigia è vuota',
'packing.import': 'Importa',
'packing.importTitle': 'Importa lista valigia',
'packing.importHint': 'Un elemento per riga. Formato: Categoria, Nome, Peso in g (opzionale), Borsa (opzionale), checked/unchecked (opzionale)',
'packing.importPlaceholder': 'Igiene, Spazzolino\nAbbigliamento, Magliette, 200\nDocumenti, Passaporto, , Bagaglio a mano\nElettronica, Caricabatterie, 50, Valigia, checked',
'packing.importCsv': 'Carica CSV/TXT',
'packing.importAction': 'Importa {count}',
'packing.importSuccess': '{count} elementi importati',
'packing.importError': 'Importazione non riuscita',
'packing.importEmpty': 'Nessun elemento da importare',
'packing.progress': '{packed} di {total} in valigia ({percent}%)',
'packing.clearChecked': 'Rimuovi {count} spuntati',
'packing.clearCheckedShort': 'Rimuovi {count}',
'packing.suggestions': 'Suggerimenti',
'packing.suggestionsTitle': 'Aggiungi suggerimenti',
'packing.allSuggested': 'Tutti i suggerimenti aggiunti',
'packing.allPacked': 'Tutto in valigia!',
'packing.addPlaceholder': 'Aggiungi nuovo elemento...',
'packing.categoryPlaceholder': 'Categoria...',
'packing.filterAll': 'Tutti',
'packing.filterOpen': 'Da fare',
'packing.filterDone': 'Fatto',
'packing.emptyTitle': 'La lista valigia è vuota',
'packing.emptyHint': 'Aggiungi elementi o usa i suggerimenti',
'packing.emptyFiltered': 'Nessun elemento corrisponde a questo filtro',
'packing.menuRename': 'Rinomina',
'packing.menuCheckAll': 'Seleziona tutti',
'packing.menuUncheckAll': 'Deseleziona tutti',
'packing.menuDeleteCat': 'Elimina categoria',
'packing.noMembers': 'Nessun membro del viaggio',
'packing.addItem': 'Aggiungi elemento',
'packing.addItemPlaceholder': 'Nome elemento...',
'packing.addCategory': 'Aggiungi categoria',
'packing.newCategoryPlaceholder': 'Nome categoria (es. Abbigliamento)',
'packing.applyTemplate': 'Applica modello',
'packing.template': 'Modello',
'packing.templateApplied': '{count} elementi aggiunti dal modello',
'packing.templateError': 'Impossibile applicare il modello',
'packing.saveAsTemplate': 'Salva come modello',
'packing.templateName': 'Nome modello',
'packing.templateSaved': 'Lista bagagli salvata come modello',
'packing.bags': 'Valigie',
'packing.noBag': 'Non assegnato',
'packing.totalWeight': 'Peso totale',
'packing.bagName': 'Nome valigia...',
'packing.addBag': 'Aggiungi valigia',
'packing.changeCategory': 'Cambia categoria',
'packing.confirm.clearChecked': 'Sei sicuro di voler rimuovere {count} elementi spuntati?',
'packing.confirm.deleteCat': 'Sei sicuro di voler eliminare la categoria "{name}" con {count} elementi?',
'packing.defaultCategory': 'Altro',
'packing.toast.saveError': 'Impossibile salvare',
'packing.toast.deleteError': 'Impossibile eliminare',
'packing.toast.renameError': 'Impossibile rinominare',
'packing.toast.addError': 'Impossibile aggiungere',
// Packing suggestions
'packing.suggestions.items': [
{ name: 'Passaporto', category: 'Documenti' },
{ name: 'Carta d\'identità', category: 'Documenti' },
{ name: 'Assicurazione di viaggio', category: 'Documenti' },
{ name: 'Biglietti aerei', category: 'Documenti' },
{ name: 'Carta di credito', category: 'Finanze' },
{ name: 'Contanti', category: 'Finanze' },
{ name: 'Visto', category: 'Documenti' },
{ name: 'Magliette', category: 'Abbigliamento' },
{ name: 'Pantaloni', category: 'Abbigliamento' },
{ name: 'Intimo', category: 'Abbigliamento' },
{ name: 'Calzini', category: 'Abbigliamento' },
{ name: 'Giacca', category: 'Abbigliamento' },
{ name: 'Pigiama', category: 'Abbigliamento' },
{ name: 'Costume da bagno', category: 'Abbigliamento' },
{ name: 'Giacca a vento', category: 'Abbigliamento' },
{ name: 'Scarpe comode', category: 'Abbigliamento' },
{ name: 'Spazzolino da denti', category: 'Igiene personale' },
{ name: 'Dentifricio', category: 'Igiene personale' },
{ name: 'Shampoo', category: 'Igiene personale' },
{ name: 'Deodorante', category: 'Igiene personale' },
{ name: 'Crema solare', category: 'Igiene personale' },
{ name: 'Rasoio', category: 'Igiene personale' },
{ name: 'Caricabatterie', category: 'Elettronica' },
{ name: 'Power bank', category: 'Elettronica' },
{ name: 'Cuffie', category: 'Elettronica' },
{ name: 'Adattatore da viaggio', category: 'Elettronica' },
{ name: 'Macchina fotografica', category: 'Elettronica' },
{ name: 'Antidolorifici', category: 'Salute' },
{ name: 'Cerotti', category: 'Salute' },
{ name: 'Disinfettante', category: 'Salute' },
],
// Members / Sharing
'members.shareTrip': 'Condividi viaggio',
'members.inviteUser': 'Invita utente',
'members.selectUser': 'Seleziona utente...',
'members.invite': 'Invita',
'members.allHaveAccess': 'Tutti gli utenti hanno già accesso.',
'members.access': 'Accesso',
'members.person': 'persona',
'members.persons': 'persone',
'members.you': 'tu',
'members.owner': 'Proprietario',
'members.leaveTrip': 'Abbandona viaggio',
'members.removeAccess': 'Rimuovi accesso',
'members.confirmLeave': 'Abbandonare il viaggio? Perderai l\'accesso.',
'members.confirmRemove': 'Rimuovere l\'accesso per questo utente?',
'members.loadError': 'Impossibile caricare i membri',
'members.added': 'aggiunto',
'members.addError': 'Impossibile aggiungere',
'members.removed': 'Membro rimosso',
'members.removeError': 'Impossibile rimuovere',
// Categories (Admin)
'categories.title': 'Categorie',
'categories.subtitle': 'Gestisci le categorie per i luoghi',
'categories.new': 'Nuova categoria',
'categories.empty': 'Ancora nessuna categoria',
'categories.namePlaceholder': 'Nome categoria',
'categories.icon': 'Icona',
'categories.color': 'Colore',
'categories.customColor': 'Scegli colore personalizzato',
'categories.preview': 'Anteprima',
'categories.defaultName': 'Categoria',
'categories.update': 'Aggiorna',
'categories.create': 'Crea',
'categories.confirm.delete': 'Eliminare la categoria? I luoghi in questa categoria non verranno eliminati.',
'categories.toast.loadError': 'Impossibile caricare le categorie',
'categories.toast.nameRequired': 'Inserisci un nome',
'categories.toast.updated': 'Categoria aggiornata',
'categories.toast.created': 'Categoria creata',
'categories.toast.saveError': 'Impossibile salvare',
'categories.toast.deleted': 'Categoria eliminata',
'categories.toast.deleteError': 'Impossibile eliminare',
// Backup (Admin)
'backup.title': 'Backup dati',
'backup.subtitle': 'Database e tutti i file caricati',
'backup.refresh': 'Aggiorna',
'backup.upload': 'Carica backup',
'backup.uploading': 'Caricamento...',
'backup.create': 'Crea backup',
'backup.creating': 'Creazione...',
'backup.empty': 'Ancora nessun backup',
'backup.createFirst': 'Crea primo backup',
'backup.download': 'Scarica',
'backup.restore': 'Ripristina',
'backup.confirm.restore': 'Ripristinare il backup "{name}"?\n\nTutti i dati attuali verranno sostituiti con il backup.',
'backup.confirm.uploadRestore': 'Scaricare e ripristinare il file di backup "{name}"?\n\nTutti i dati attuali verranno sovrascritti.',
'backup.confirm.delete': 'Eliminare il backup "{name}"?',
'backup.toast.loadError': 'Impossibile caricare i backup',
'backup.toast.created': 'Backup creato con successo',
'backup.toast.createError': 'Impossibile creare il backup',
'backup.toast.restored': 'Backup ripristinato. La pagina verrà ricaricata...',
'backup.toast.restoreError': 'Impossibile ripristinare',
'backup.toast.uploadError': 'Impossibile caricare',
'backup.toast.deleted': 'Backup eliminato',
'backup.toast.deleteError': 'Impossibile eliminare',
'backup.toast.downloadError': 'Download non riuscito',
'backup.toast.settingsSaved': 'Impostazioni auto-backup salvate',
'backup.toast.settingsError': 'Impossibile salvare le impostazioni',
'backup.auto.title': 'Auto-Backup',
'backup.auto.subtitle': 'Backup automatico pianificato',
'backup.auto.enable': 'Abilita auto-backup',
'backup.auto.enableHint': 'I backup verranno creati automaticamente in base alla pianificazione scelta',
'backup.auto.interval': 'Intervallo',
'backup.auto.hour': 'Esegui all\'ora',
'backup.auto.hourHint': 'Ora locale del server (formato {format})',
'backup.auto.dayOfWeek': 'Giorno della settimana',
'backup.auto.dayOfMonth': 'Giorno del mese',
'backup.auto.dayOfMonthHint': 'Limitato a 128 per compatibilità con tutti i mesi',
'backup.auto.scheduleSummary': 'Pianificazione',
'backup.auto.summaryDaily': 'Ogni giorno alle {hour}:00',
'backup.auto.summaryWeekly': 'Ogni {day} alle {hour}:00',
'backup.auto.summaryMonthly': 'Giorno {day} di ogni mese alle {hour}:00',
'backup.auto.envLocked': 'Docker',
'backup.auto.envLockedHint': 'L\'auto-backup è configurato tramite variabili d\'ambiente Docker. Per modificare queste impostazioni, aggiorna il tuo docker-compose.yml e riavvia il container.',
'backup.auto.copyEnv': 'Copia variabili env Docker',
'backup.auto.envCopied': 'Variabili env Docker copiate negli appunti',
'backup.auto.keepLabel': 'Elimina i vecchi backup dopo',
'backup.dow.sunday': 'Dom',
'backup.dow.monday': 'Lun',
'backup.dow.tuesday': 'Mar',
'backup.dow.wednesday': 'Mer',
'backup.dow.thursday': 'Gio',
'backup.dow.friday': 'Ven',
'backup.dow.saturday': 'Sab',
'backup.interval.hourly': 'Ogni ora',
'backup.interval.daily': 'Giornaliero',
'backup.interval.weekly': 'Settimanale',
'backup.interval.monthly': 'Mensile',
'backup.keep.1day': '1 giorno',
'backup.keep.3days': '3 giorni',
'backup.keep.7days': '7 giorni',
'backup.keep.14days': '14 giorni',
'backup.keep.30days': '30 giorni',
'backup.keep.forever': 'Conserva per sempre',
// Photos
'photos.title': 'Foto',
'photos.subtitle': '{count} foto per {trip}',
'photos.dropHere': 'Trascina le foto qui...',
'photos.dropHereActive': 'Trascina le foto qui',
'photos.captionForAll': 'Didascalia (per tutti)',
'photos.captionPlaceholder': 'Didascalia opzionale...',
'photos.addCaption': 'Aggiungi didascalia...',
'photos.allDays': 'Tutti i giorni',
'photos.noPhotos': 'Ancora nessuna foto',
'photos.uploadHint': 'Carica le foto del tuo viaggio',
'photos.clickToSelect': 'o clicca per selezionare',
'photos.linkPlace': 'Collega luogo',
'photos.noPlace': 'Nessun luogo',
'photos.uploadN': 'Caricamento di {n} foto',
'photos.linkDay': 'Collega giorno',
'photos.noDay': 'Nessun giorno',
'photos.dayLabel': 'Giorno {number}',
'photos.photoSelected': 'Foto selezionata',
'photos.photosSelected': 'Foto selezionate',
'photos.fileTypeHint': 'JPG, PNG, WebP · max. 10 MB · fino a 30 foto',
// Backup restore modal
'backup.restoreConfirmTitle': 'Ripristinare il backup?',
'backup.restoreWarning': 'Tutti i dati attuali (viaggi, luoghi, utenti, caricamenti) verranno sostituiti in modo permanente dal backup. Questa azione non può essere annullata.',
'backup.restoreTip': 'Suggerimento: Crea un backup dello stato attuale prima di ripristinare.',
'backup.restoreConfirm': 'Sì, ripristina',
// PDF
'pdf.travelPlan': 'Programma di viaggio',
'pdf.planned': 'Programmato',
'pdf.costLabel': 'Costo EUR',
'pdf.preview': 'Anteprima PDF',
'pdf.saveAsPdf': 'Salva come PDF',
// Planner
'planner.places': 'Luoghi',
'planner.bookings': 'Prenotazioni',
'planner.packingList': 'Lista valigia',
'planner.documents': 'Documenti',
'planner.dayPlan': 'Programma giornaliero',
'planner.reservations': 'Prenotazioni',
'planner.minTwoPlaces': 'Servono almeno 2 luoghi con coordinate',
'planner.noGeoPlaces': 'Nessun luogo con coordinate disponibile',
'planner.routeCalculated': 'Percorso calcolato',
'planner.routeCalcFailed': 'Il percorso non è stato calcolato',
'planner.routeError': 'Errore nel calcolo del percorso',
'planner.icsExportFailed': 'Esportazione ICS non riuscita',
'planner.routeOptimized': 'Percorso ottimizzato',
'planner.reservationUpdated': 'Prenotazione aggiornata',
'planner.reservationAdded': 'Prenotazione aggiunta',
'planner.confirmDeleteReservation': 'Eliminare la prenotazione?',
'planner.reservationDeleted': 'Prenotazione eliminata',
'planner.days': 'Giorni',
'planner.allPlaces': 'Tutti i luoghi',
'planner.totalPlaces': '{n} luoghi in totale',
'planner.noDaysPlanned': 'Nessun giorno ancora programmato',
'planner.editTrip': 'Modifica viaggio \u2192',
'planner.placeOne': '1 luogo',
'planner.placeN': '{n} luoghi',
'planner.addNote': 'Aggiungi nota',
'planner.noEntries': 'Nessuna voce per questo giorno',
'planner.addPlace': 'Aggiungi luogo/attività',
'planner.addPlaceShort': '+ Aggiungi luogo/attività',
'planner.resPending': 'Prenotazione in attesa \u00B7 ',
'planner.resConfirmed': 'Prenotazione confermata \u00B7 ',
'planner.notePlaceholder': 'Nota\u2026',
'planner.noteTimePlaceholder': 'Ora (opzionale)',
'planner.noteExamplePlaceholder': 'es. S3 alle 14:30 dalla stazione centrale, traghetto dal molo 7, pausa pranzo\u2026',
'planner.totalCost': 'Costo totale',
'planner.searchPlaces': 'Cerca luoghi\u2026',
'planner.allCategories': 'Tutte le categorie',
'planner.noPlacesFound': 'Nessun luogo trovato',
'planner.addFirstPlace': 'Aggiungi primo luogo',
'planner.noReservations': 'Nessuna prenotazione',
'planner.addFirstReservation': 'Aggiungi prima prenotazione',
'planner.new': 'Nuovo',
'planner.addToDay': '+ Giorno',
'planner.calculating': 'Calcolo in corso\u2026',
'planner.route': 'Percorso',
'planner.optimize': 'Ottimizza',
'planner.openGoogleMaps': 'Apri in Google Maps',
'planner.selectDayHint': 'Seleziona un giorno dall\'elenco a sinistra per vedere il programma',
'planner.noPlacesForDay': 'Ancora nessun luogo per questo giorno',
'planner.addPlacesLink': 'Aggiungi luoghi \u2192',
'planner.minTotal': 'min. totali',
'planner.noReservation': 'Nessuna prenotazione',
'planner.removeFromDay': 'Rimuovi dal giorno',
'planner.addToThisDay': 'Aggiungi al giorno',
'planner.overview': 'Panoramica',
'planner.noDays': 'Ancora nessun giorno',
'planner.editTripToAddDays': 'Modifica viaggio per aggiungere giorni',
'planner.dayCount': '{n} Giorni',
'planner.clickToUnlock': 'Clicca per sbloccare',
'planner.keepPosition': 'Mantieni la posizione durante l\'ottimizzazione del percorso',
'planner.dayDetails': 'Dettagli del giorno',
'planner.dayN': 'Giorno {n}',
// Dashboard Stats
'stats.countries': 'Paesi',
'stats.cities': 'Città',
'stats.trips': 'Viaggi',
'stats.places': 'Luoghi',
'stats.worldProgress': 'Progresso nel mondo',
'stats.visited': 'visitati',
'stats.remaining': 'rimanenti',
'stats.visitedCountries': 'Paesi visitati',
// Day Detail Panel
'day.precipProb': 'Probabilità di pioggia',
'day.precipitation': 'Precipitazioni',
'day.wind': 'Vento',
'day.sunrise': 'Alba',
'day.sunset': 'Tramonto',
'day.hourlyForecast': 'Previsione oraria',
'day.climateHint': 'Medie storiche \u2014 previsioni reali disponibili entro 16 giorni da questa data.',
'day.noWeather': 'Nessun dato meteo disponibile. Aggiungi un luogo con coordinate.',
'day.overview': 'Panoramica giornaliera',
'day.accommodation': 'Alloggio',
'day.addAccommodation': 'Aggiungi alloggio',
'day.hotelDayRange': 'Applica ai giorni',
'day.noPlacesForHotel': 'Aggiungi prima i luoghi al tuo viaggio',
'day.allDays': 'Tutti',
'day.checkIn': 'Check-in',
'day.checkInUntil': 'Fino a',
'day.checkOut': 'Check-out',
'day.confirmation': 'Conferma',
'day.editAccommodation': 'Modifica alloggio',
'day.reservations': 'Prenotazioni',
// Photos / Immich
'memories.title': 'Foto',
'memories.notConnected': 'Immich non connesso',
'memories.notConnectedHint': 'Connetti la tua istanza Immich nelle Impostazioni per vedere qui le foto del tuo viaggio.',
'memories.notConnectedMultipleHint': 'Collega uno di questi provider di foto: {provider_names} nelle Impostazioni per poter aggiungere foto a questo viaggio.',
'memories.noDates': 'Aggiungi le date al tuo viaggio per caricare le foto.',
'memories.noPhotos': 'Nessuna foto trovata',
'memories.noPhotosHint': 'Nessuna foto trovata in Immich per l\'intervallo di date di questo viaggio.',
'memories.photosFound': 'foto',
'memories.fromOthers': 'da altri',
'memories.sharePhotos': 'Condividi foto',
'memories.sharing': 'Condivisione',
'memories.reviewTitle': 'Rivedi le tue foto',
'memories.reviewHint': 'Clicca sulle foto per escluderle dalla condivisione.',
'memories.shareCount': 'Condividi {count} foto',
'memories.providerUrl': 'URL del server',
'memories.providerApiKey': 'Chiave API',
'memories.providerUsername': 'Nome utente',
'memories.providerPassword': 'Password',
'memories.providerOTP': 'Codice MFA (se abilitato)',
'memories.skipSSLVerification': 'Ignora la verifica del certificato SSL',
'memories.providerUrlHintSynology': 'Includi il percorso dell\'app Foto nell\'URL, es. https://nas:5001/photo',
'memories.testConnection': 'Test connessione',
'memories.testFirst': 'Testa prima la connessione',
'memories.connected': 'Connesso',
'memories.disconnected': 'Non connesso',
'memories.connectionSuccess': 'Connesso a Immich',
'memories.connectionError': 'Impossibile connettersi a Immich',
'memories.saved': 'Impostazioni {provider_name} salvate',
'memories.providerDisconnectedBanner': 'La connessione a {provider_name} è persa. Riconnetti nelle Impostazioni per visualizzare le foto.',
'memories.saveError': 'Impossibile salvare le impostazioni di {provider_name}',
'memories.saveRouteNotConfigured': 'La route di salvataggio non è configurata per questo provider',
'memories.testRouteNotConfigured': 'La route di test non è configurata per questo provider',
'memories.fillRequiredFields': 'Per favore compila tutti i campi obbligatori',
'memories.addPhotos': 'Aggiungi foto',
'memories.linkAlbum': 'Collega album',
'memories.selectAlbum': 'Seleziona album Immich',
'memories.selectAlbumMultiple': 'Seleziona album',
'memories.noAlbums': 'Nessun album trovato',
'memories.syncAlbum': 'Sincronizza album',
'memories.unlinkAlbum': 'Scollega',
'memories.photos': 'foto',
'memories.selectPhotos': 'Seleziona foto da Immich',
'memories.selectPhotosMultiple': 'Seleziona foto',
'memories.selectHint': 'Tocca le foto per selezionarle.',
'memories.selected': 'selezionate',
'memories.addSelected': 'Aggiungi {count} foto',
'memories.alreadyAdded': 'Aggiunta',
'memories.private': 'Privato',
'memories.stopSharing': 'Interrompi condivisione',
'memories.oldest': 'Prima le più vecchie',
'memories.newest': 'Prima le più recenti',
'memories.allLocations': 'Tutte le posizioni',
'memories.tripDates': 'Date del viaggio',
'memories.allPhotos': 'Tutte le foto',
'memories.confirmShareTitle': 'Condividere con i membri del viaggio?',
'memories.confirmShareHint': '{count} foto saranno visibili a tutti i membri di questo viaggio. Potrai rendere private le singole foto in seguito.',
'memories.confirmShareButton': 'Condividi foto',
// Collab Addon
'collab.tabs.chat': 'Chat',
'collab.tabs.notes': 'Note',
'collab.tabs.polls': 'Sondaggi',
'collab.whatsNext.title': "Cosa c'è dopo",
'collab.whatsNext.today': 'Oggi',
'collab.whatsNext.tomorrow': 'Domani',
'collab.whatsNext.empty': 'Nessuna attività imminente',
'collab.whatsNext.until': 'a',
'collab.whatsNext.emptyHint': 'Le attività con orari appariranno qui',
'collab.chat.send': 'Invia',
'collab.chat.placeholder': 'Scrivi un messaggio...',
'collab.chat.empty': 'Inizia la conversazione',
'collab.chat.emptyHint': 'I messaggi sono condivisi con tutti i membri del viaggio',
'collab.chat.emptyDesc': 'Condividi idee, programmi e aggiornamenti con il tuo gruppo di viaggio',
'collab.chat.today': 'Oggi',
'collab.chat.yesterday': 'Ieri',
'collab.chat.deletedMessage': 'ha eliminato un messaggio',
'collab.chat.reply': 'Rispondi',
'collab.chat.loadMore': 'Carica messaggi precedenti',
'collab.chat.justNow': 'ora',
'collab.chat.minutesAgo': '{n}m fa',
'collab.chat.hoursAgo': '{n}h fa',
'collab.notes.title': 'Note',
'collab.notes.new': 'Nuova nota',
'collab.notes.empty': 'Ancora nessuna nota',
'collab.notes.emptyHint': 'Inizia a raccogliere idee e programmi',
'collab.notes.all': 'Tutte',
'collab.notes.titlePlaceholder': 'Titolo della nota',
'collab.notes.contentPlaceholder': 'Scrivi qualcosa...',
'collab.notes.categoryPlaceholder': 'Categoria',
'collab.notes.newCategory': 'Nuova categoria...',
'collab.notes.category': 'Categoria',
'collab.notes.noCategory': 'Nessuna categoria',
'collab.notes.color': 'Colore',
'collab.notes.save': 'Salva',
'collab.notes.cancel': 'Annulla',
'collab.notes.edit': 'Modifica',
'collab.notes.delete': 'Elimina',
'collab.notes.pin': 'Fissa',
'collab.notes.unpin': 'Rimuovi',
'collab.notes.daysAgo': '{n}g fa',
'collab.notes.categorySettings': 'Gestisci categorie',
'collab.notes.create': 'Crea',
'collab.notes.website': 'Sito web',
'collab.notes.websitePlaceholder': 'https://...',
'collab.notes.attachFiles': 'Allega file',
'collab.notes.noCategoriesYet': 'Ancora nessuna categoria',
'collab.notes.emptyDesc': 'Crea una nota per iniziare',
'collab.polls.title': 'Sondaggi',
'collab.polls.new': 'Nuovo sondaggio',
'collab.polls.empty': 'Ancora nessun sondaggio',
'collab.polls.emptyHint': 'Chiedi al gruppo e votate insieme',
'collab.polls.question': 'Domanda',
'collab.polls.questionPlaceholder': 'Cosa dovremmo fare?',
'collab.polls.addOption': '+ Aggiungi opzione',
'collab.polls.optionPlaceholder': 'Opzione {n}',
'collab.polls.create': 'Crea sondaggio',
'collab.polls.close': 'Chiudi',
'collab.polls.closed': 'Chiuso',
'collab.polls.votes': '{n} voti',
'collab.polls.vote': '{n} voto',
'collab.polls.multipleChoice': 'Scelta multipla',
'collab.polls.multiChoice': 'Scelta multipla',
'collab.polls.deadline': 'Scadenza',
'collab.polls.option': 'Opzione',
'collab.polls.options': 'Opzioni',
'collab.polls.delete': 'Elimina',
'collab.polls.closedSection': 'Chiusi',
// Permissions
'admin.tabs.permissions': 'Permessi',
'perm.title': 'Impostazioni dei permessi',
'perm.subtitle': 'Controlla chi può eseguire azioni nell\'applicazione',
'perm.saved': 'Impostazioni dei permessi salvate',
'perm.resetDefaults': 'Ripristina predefiniti',
'perm.customized': 'personalizzato',
'perm.level.admin': 'Solo amministratore',
'perm.level.tripOwner': 'Proprietario del viaggio',
'perm.level.tripMember': 'Membri del viaggio',
'perm.level.everybody': 'Tutti',
'perm.cat.trip': 'Gestione viaggi',
'perm.cat.members': 'Gestione membri',
'perm.cat.files': 'File',
'perm.cat.content': 'Contenuti e programma',
'perm.cat.extras': 'Budget, bagagli e collaborazione',
'perm.action.trip_create': 'Creare viaggi',
'perm.action.trip_edit': 'Modificare dettagli del viaggio',
'perm.action.trip_delete': 'Eliminare viaggi',
'perm.action.trip_archive': 'Archiviare / dearchiviare viaggi',
'perm.action.trip_cover_upload': 'Caricare immagine di copertina',
'perm.action.member_manage': 'Aggiungere / rimuovere membri',
'perm.action.file_upload': 'Caricare file',
'perm.action.file_edit': 'Modificare metadati dei file',
'perm.action.file_delete': 'Eliminare file',
'perm.action.place_edit': 'Aggiungere / modificare / eliminare luoghi',
'perm.action.day_edit': 'Modificare giorni, note e assegnazioni',
'perm.action.reservation_edit': 'Gestire prenotazioni',
'perm.action.budget_edit': 'Gestire budget',
'perm.action.packing_edit': 'Gestire liste bagagli',
'perm.action.collab_edit': 'Collaborazione (note, sondaggi, chat)',
'perm.action.share_manage': 'Gestire link di condivisione',
'perm.actionHint.trip_create': 'Chi può creare nuovi viaggi',
'perm.actionHint.trip_edit': 'Chi può modificare nome, date, descrizione e valuta del viaggio',
'perm.actionHint.trip_delete': 'Chi può eliminare definitivamente un viaggio',
'perm.actionHint.trip_archive': 'Chi può archiviare o dearchiviare un viaggio',
'perm.actionHint.trip_cover_upload': 'Chi può caricare o modificare l\'immagine di copertina',
'perm.actionHint.member_manage': 'Chi può invitare o rimuovere membri del viaggio',
'perm.actionHint.file_upload': 'Chi può caricare file in un viaggio',
'perm.actionHint.file_edit': 'Chi può modificare descrizioni e link dei file',
'perm.actionHint.file_delete': 'Chi può spostare file nel cestino o eliminarli definitivamente',
'perm.actionHint.place_edit': 'Chi può aggiungere, modificare o eliminare luoghi',
'perm.actionHint.day_edit': 'Chi può modificare giorni, note dei giorni e assegnazioni dei luoghi',
'perm.actionHint.reservation_edit': 'Chi può creare, modificare o eliminare prenotazioni',
'perm.actionHint.budget_edit': 'Chi può creare, modificare o eliminare voci di budget',
'perm.actionHint.packing_edit': 'Chi può gestire articoli da bagaglio e borse',
'perm.actionHint.collab_edit': 'Chi può creare note, sondaggi e inviare messaggi',
'perm.actionHint.share_manage': 'Chi può creare o eliminare link di condivisione pubblici',
// Undo
'undo.button': 'Annulla',
'undo.tooltip': 'Annulla: {action}',
'undo.assignPlace': 'Luogo assegnato al giorno',
'undo.removeAssignment': 'Luogo rimosso dal giorno',
'undo.reorder': 'Luoghi riordinati',
'undo.optimize': 'Percorso ottimizzato',
'undo.deletePlace': 'Luogo eliminato',
'undo.moveDay': 'Luogo spostato in altro giorno',
'undo.lock': 'Blocco luogo modificato',
'undo.importGpx': 'Importazione GPX',
'undo.importKeyholeMarkup': 'Importazione KMZ/KML',
'undo.importGoogleList': 'Importazione Google Maps',
'undo.importNaverList': 'Importazione Naver Maps',
'undo.addPlace': 'Luogo aggiunto',
'undo.done': 'Annullato: {action}',
// Notifications
'notifications.title': 'Notifiche',
'notifications.markAllRead': 'Segna tutto come letto',
'notifications.deleteAll': 'Elimina tutto',
'notifications.showAll': 'Vedi tutte le notifiche',
'notifications.empty': 'Nessuna notifica',
'notifications.emptyDescription': 'Sei aggiornato!',
'notifications.all': 'Tutte',
'notifications.unreadOnly': 'Non lette',
'notifications.markRead': 'Segna come letto',
'notifications.markUnread': 'Segna come non letto',
'notifications.delete': 'Elimina',
'notifications.system': 'Sistema',
'notifications.synologySessionCleared.title': 'Synology Photos disconnesso',
'notifications.synologySessionCleared.text': 'Il server o l\'account è cambiato — vai alle Impostazioni per testare nuovamente la connessione.',
'memories.error.loadAlbums': 'Caricamento album non riuscito',
'memories.error.linkAlbum': 'Collegamento album non riuscito',
'memories.error.unlinkAlbum': 'Scollegamento album non riuscito',
'memories.error.syncAlbum': 'Sincronizzazione album non riuscita',
'memories.error.loadPhotos': 'Caricamento foto non riuscito',
'memories.error.addPhotos': 'Aggiunta foto non riuscita',
'memories.error.removePhoto': 'Rimozione foto non riuscita',
'memories.error.toggleSharing': 'Aggiornamento condivisione non riuscito',
'notifications.test.title': 'Notifica di test da {actor}',
'notifications.test.text': 'Questa è una semplice notifica di test.',
'notifications.test.booleanTitle': '{actor} richiede la tua approvazione',
'notifications.test.booleanText': 'Notifica di test con risposta.',
'notifications.test.accept': 'Approva',
'notifications.test.decline': 'Rifiuta',
'notifications.test.navigateTitle': 'Dai un\'occhiata',
'notifications.test.navigateText': 'Notifica di test con navigazione.',
'notifications.test.goThere': 'Vai',
'notifications.test.adminTitle': 'Comunicazione admin',
'notifications.test.adminText': '{actor} ha inviato una notifica di test a tutti gli amministratori.',
'notifications.test.tripTitle': '{actor} ha pubblicato nel tuo viaggio',
'notifications.test.tripText': 'Notifica di test per il viaggio "{trip}".',
// Todo
'todo.subtab.packing': 'Lista di imballaggio',
'todo.subtab.todo': 'Da fare',
'todo.completed': 'completato/i',
'todo.filter.all': 'Tutti',
'todo.filter.open': 'Aperto',
'todo.filter.done': 'Fatto',
'todo.uncategorized': 'Senza categoria',
'todo.namePlaceholder': 'Nome attività',
'todo.descriptionPlaceholder': 'Descrizione (facoltativa)',
'todo.unassigned': 'Non assegnato',
'todo.noCategory': 'Nessuna categoria',
'todo.hasDescription': 'Ha descrizione',
'todo.addItem': 'Aggiungi nuova attività...',
'todo.newCategory': 'Nome categoria',
'todo.addCategory': 'Aggiungi categoria',
'todo.newItem': 'Nuova attività',
'todo.empty': 'Nessuna attività ancora. Aggiungi un\'attività per iniziare!',
'todo.filter.my': 'Le mie attività',
'todo.filter.overdue': 'Scaduta',
'todo.sidebar.tasks': 'Attività',
'todo.sidebar.categories': 'Categorie',
'todo.detail.title': 'Attività',
'todo.detail.description': 'Descrizione',
'todo.detail.category': 'Categoria',
'todo.detail.dueDate': 'Scadenza',
'todo.detail.assignedTo': 'Assegnato a',
'todo.detail.delete': 'Elimina',
'todo.detail.save': 'Salva modifiche',
'todo.detail.create': 'Crea attività',
'todo.detail.priority': 'Priorità',
'todo.detail.noPriority': 'Nessuna',
'todo.sortByPrio': 'Priorità',
// Notification system (added from feat/notification-system)
'settings.notifyVersionAvailable': 'Nuova versione disponibile',
'settings.notificationPreferences.noChannels': 'Nessun canale di notifica configurato. Chiedi a un amministratore di configurare notifiche via e-mail o webhook.',
'settings.webhookUrl.label': 'URL webhook',
'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...',
'settings.webhookUrl.hint': 'Inserisci il tuo URL webhook Discord, Slack o personalizzato per ricevere notifiche.',
'settings.webhookUrl.saved': 'URL webhook salvato',
'settings.webhookUrl.test': 'Test',
'settings.webhookUrl.testSuccess': 'Webhook di test inviato con successo',
'settings.webhookUrl.testFailed': 'Invio webhook di test fallito',
'settings.ntfyUrl.topicLabel': 'Argomento Ntfy',
'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts',
'settings.ntfyUrl.serverLabel': 'URL server Ntfy (opzionale)',
'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh',
'settings.ntfyUrl.hint': "Inserisci il tuo argomento Ntfy per ricevere notifiche push. Lascia il server vuoto per usare il valore predefinito configurato dall'amministratore.",
'settings.ntfyUrl.tokenLabel': 'Token di accesso (opzionale)',
'settings.ntfyUrl.tokenHint': 'Richiesto per gli argomenti protetti da password.',
'settings.ntfyUrl.saved': 'Impostazioni Ntfy salvate',
'settings.ntfyUrl.test': 'Testa',
'settings.ntfyUrl.testSuccess': 'Notifica di test Ntfy inviata con successo',
'settings.ntfyUrl.testFailed': 'Notifica di test Ntfy fallita',
'settings.ntfyUrl.tokenCleared': 'Token di accesso rimosso',
'settings.notificationPreferences.inapp': 'In-App',
'settings.notificationPreferences.webhook': 'Webhook',
'settings.notificationPreferences.email': 'Email',
'settings.notificationPreferences.ntfy': 'Ntfy',
'admin.notifications.emailPanel.title': 'Email (SMTP)',
'admin.notifications.webhookPanel.title': 'Webhook',
'admin.notifications.inappPanel.title': 'In-App',
'admin.notifications.inappPanel.hint': 'Le notifiche in-app sono sempre attive e non possono essere disabilitate globalmente.',
'admin.notifications.adminWebhookPanel.title': 'Webhook admin',
'admin.notifications.adminWebhookPanel.hint': 'Questo webhook viene usato esclusivamente per le notifiche admin (es. avvisi di versione). È separato dai webhook utente e si attiva automaticamente quando è configurato un URL.',
'admin.notifications.adminWebhookPanel.saved': 'URL webhook admin salvato',
'admin.notifications.adminWebhookPanel.testSuccess': 'Webhook di test inviato con successo',
'admin.notifications.adminWebhookPanel.testFailed': 'Invio webhook di test fallito',
'admin.notifications.adminWebhookPanel.alwaysOnHint': 'Il webhook admin si attiva automaticamente quando è configurato un URL',
'admin.notifications.ntfy': 'Ntfy',
'admin.ntfy.hint': 'Consente agli utenti di configurare i propri argomenti ntfy per le notifiche push. Imposta il server predefinito di seguito per precompilare le impostazioni utente.',
'admin.notifications.testNtfy': 'Invia Ntfy di test',
'admin.notifications.testNtfySuccess': 'Ntfy di test inviato con successo',
'admin.notifications.testNtfyFailed': 'Invio Ntfy di test fallito',
'admin.notifications.adminNtfyPanel.title': 'Ntfy admin',
'admin.notifications.adminNtfyPanel.hint': 'Questo argomento Ntfy viene usato esclusivamente per le notifiche admin (es. avvisi di versione). È separato dagli argomenti per utente e si attiva sempre quando è configurato.',
'admin.notifications.adminNtfyPanel.serverLabel': 'URL server Ntfy',
'admin.notifications.adminNtfyPanel.serverHint': 'Usato anche come server predefinito per le notifiche ntfy degli utenti. Lasciare vuoto per usare ntfy.sh. Gli utenti possono sovrascriverlo nelle proprie impostazioni.',
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
'admin.notifications.adminNtfyPanel.topicLabel': 'Argomento admin',
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
'admin.notifications.adminNtfyPanel.tokenLabel': 'Token di accesso (opzionale)',
'admin.notifications.adminNtfyPanel.tokenCleared': 'Token di accesso admin rimosso',
'admin.notifications.adminNtfyPanel.saved': 'Impostazioni Ntfy admin salvate',
'admin.notifications.adminNtfyPanel.test': 'Invia Ntfy di test',
'admin.notifications.adminNtfyPanel.testSuccess': 'Ntfy di test inviato con successo',
'admin.notifications.adminNtfyPanel.testFailed': 'Invio Ntfy di test fallito',
'admin.notifications.adminNtfyPanel.alwaysOnHint': 'Il Ntfy admin si attiva sempre quando un argomento è configurato',
'admin.notifications.adminNotificationsHint': 'Configura quali canali consegnano le notifiche admin (es. avvisi di versione). Il webhook si attiva automaticamente se è impostato un URL webhook admin.',
'admin.tabs.notifications': 'Notifiche',
'notifications.versionAvailable.title': 'Aggiornamento disponibile',
'notifications.versionAvailable.text': 'TREK {version} è ora disponibile.',
'notifications.versionAvailable.button': 'Visualizza dettagli',
'notif.test.title': '[Test] Notifica',
'notif.test.simple.text': 'Questa è una semplice notifica di test.',
'notif.test.boolean.text': 'Accetti questa notifica di test?',
'notif.test.navigate.text': 'Clicca qui sotto per accedere alla dashboard.',
// Notifications
'notif.trip_invite.title': 'Invito al viaggio',
'notif.trip_invite.text': '{actor} ti ha invitato a {trip}',
'notif.booking_change.title': 'Prenotazione aggiornata',
'notif.booking_change.text': '{actor} ha aggiornato una prenotazione in {trip}',
'notif.trip_reminder.title': 'Promemoria viaggio',
'notif.trip_reminder.text': 'Il tuo viaggio {trip} si avvicina!',
'notif.vacay_invite.title': 'Invito Vacay Fusion',
'notif.vacay_invite.text': '{actor} ti ha invitato a fondere i piani vacanza',
'notif.photos_shared.title': 'Foto condivise',
'notif.photos_shared.text': '{actor} ha condiviso {count} foto in {trip}',
'notif.collab_message.title': 'Nuovo messaggio',
'notif.collab_message.text': '{actor} ha inviato un messaggio in {trip}',
'notif.packing_tagged.title': 'Assegnazione bagagli',
'notif.packing_tagged.text': '{actor} ti ha assegnato a {category} in {trip}',
'notif.version_available.title': 'Nuova versione disponibile',
'notif.version_available.text': 'TREK {version} è ora disponibile',
'notif.action.view_trip': 'Vedi viaggio',
'notif.action.view_collab': 'Vedi messaggi',
'notif.action.view_packing': 'Vedi bagagli',
'notif.action.view_photos': 'Vedi foto',
'notif.action.view_vacay': 'Vedi Vacay',
'notif.action.view_admin': 'Vai all\'admin',
'notif.action.view': 'Vedi',
'notif.action.accept': 'Accetta',
'notif.action.decline': 'Rifiuta',
'notif.generic.title': 'Notifica',
'notif.generic.text': 'Hai una nuova notifica',
'notif.dev.unknown_event.title': '[DEV] Evento sconosciuto',
'notif.dev.unknown_event.text': 'Il tipo di evento "{event}" non è registrato in EVENT_NOTIFICATION_CONFIG',
// Journey, Dashboard, Nav, DayPlan
'common.justNow': 'proprio ora',
'common.hoursAgo': '{count}h fa',
'common.daysAgo': '{count}g fa',
'journey.title': 'Diario di viaggio',
'journey.subtitle': 'Segui i tuoi viaggi in tempo reale',
'journey.new': 'Nuovo diario',
'journey.create': 'Crea',
'journey.titlePlaceholder': 'Dove stai andando?',
'journey.empty': 'Nessun diario ancora',
'journey.emptyHint': 'Inizia a documentare il tuo prossimo viaggio',
'journey.deleted': 'Diario eliminato',
'journey.createError': 'Impossibile creare il diario',
'journey.deleteError': 'Impossibile eliminare il diario',
'journey.deleteConfirmTitle': 'Elimina',
'journey.deleteConfirmMessage': 'Eliminare "{title}"? Questa azione non può essere annullata.',
'journey.deleteConfirmGeneric': 'Sei sicuro di voler eliminare questo?',
'journey.notFound': 'Diario non trovato',
'journey.photos': 'Foto',
'journey.timelineEmpty': 'Nessuna tappa ancora',
'journey.timelineEmptyHint': 'Aggiungi un check-in o scrivi una voce di diario per iniziare',
'journey.status.draft': 'Bozza',
'journey.status.active': 'Attivo',
'journey.status.completed': 'Completato',
'journey.status.upcoming': 'In arrivo',
'journey.checkin.add': 'Check-in',
'journey.checkin.namePlaceholder': 'Nome del luogo',
'journey.checkin.notesPlaceholder': 'Note (facoltativo)',
'journey.checkin.save': 'Salva',
'journey.checkin.error': 'Impossibile salvare il check-in',
'journey.entry.add': 'Diario',
'journey.entry.edit': 'Modifica voce',
'journey.entry.titlePlaceholder': 'Titolo (facoltativo)',
'journey.entry.bodyPlaceholder': 'Cosa è successo oggi?',
'journey.entry.save': 'Salva',
'journey.entry.error': 'Impossibile salvare la voce',
'journey.photo.add': 'Foto',
'journey.photo.uploadError': 'Caricamento fallito',
'journey.share.share': 'Condividi',
'journey.share.public': 'Pubblico',
'journey.share.linkCopied': 'Link pubblico copiato',
'journey.share.disabled': 'Condivisione pubblica disattivata',
'journey.editor.titlePlaceholder': 'Dai un nome a questo momento...',
'journey.editor.bodyPlaceholder': 'Racconta la storia di questa giornata...',
'journey.editor.placePlaceholder': 'Luogo (facoltativo)',
'journey.editor.tagsPlaceholder': 'Tag: gioiello nascosto, miglior pasto, da rivisitare...',
'journey.visibility.private': 'Privato',
'journey.visibility.shared': 'Condiviso',
'journey.visibility.public': 'Pubblico',
'journey.emptyState.title': 'La tua storia inizia qui',
'journey.emptyState.subtitle': 'Fai un check-in o scrivi la tua prima voce di diario',
'journey.frontpage.subtitle': 'Trasforma i tuoi viaggi in storie indimenticabili',
'journey.frontpage.createJourney': 'Crea diario',
'journey.frontpage.activeJourney': 'Diario attivo',
'journey.frontpage.allJourneys': 'Tutti i diari',
'journey.frontpage.journeys': 'diari',
'journey.frontpage.createNew': 'Crea un nuovo diario',
'journey.frontpage.createNewSub': 'Scegli viaggi, scrivi storie, condividi le tue avventure',
'journey.frontpage.live': 'In diretta',
'journey.frontpage.synced': 'Sincronizzato',
'journey.frontpage.continueWriting': 'Continua a scrivere',
'journey.frontpage.updated': 'Aggiornato {time}',
'journey.frontpage.suggestionLabel': 'Viaggio appena terminato',
'journey.frontpage.suggestionText': 'Trasforma <strong>{title}</strong> in un diario di viaggio',
'journey.frontpage.dismiss': 'Ignora',
'journey.frontpage.journeyName': 'Nome del diario',
'journey.frontpage.namePlaceholder': 'es. Sud-est asiatico 2026',
'journey.frontpage.selectTrips': 'Seleziona viaggi',
'journey.frontpage.tripsSelected': 'viaggi selezionati',
'journey.frontpage.trips': 'viaggi',
'journey.frontpage.placesImported': 'luoghi saranno importati',
'journey.frontpage.places': 'luoghi',
'journey.detail.backToJourney': 'Torna al diario',
'journey.detail.syncedWithTrips': 'Sincronizzato con i viaggi',
'journey.detail.addEntry': 'Aggiungi voce',
'journey.detail.newEntry': 'Nuova voce',
'journey.detail.editEntry': 'Modifica voce',
'journey.detail.noEntries': 'Nessuna voce ancora',
'journey.detail.noEntriesHint': 'Aggiungi un viaggio per iniziare con voci precompilate',
'journey.detail.noPhotos': 'Nessuna foto ancora',
'journey.detail.noPhotosHint': 'Carica foto nelle voci o sfoglia la tua libreria Immich/Synology',
'journey.detail.journeyStats': 'Statistiche del diario',
'journey.detail.syncedTrips': 'Viaggi sincronizzati',
'journey.detail.noTripsLinked': 'Nessun viaggio collegato ancora',
'journey.detail.contributors': 'Contributori',
'journey.detail.readMore': 'Leggi di più',
'journey.detail.prosCons': 'Pro e contro',
'journey.detail.photos': 'foto',
'journey.detail.day': 'Giorno {number}',
'journey.detail.places': 'luoghi',
'journey.stats.days': 'Giorni',
'journey.stats.cities': 'Città',
'journey.stats.entries': 'Voci',
'journey.stats.photos': 'Foto',
'journey.stats.places': 'Luoghi',
'journey.skeletons.show': 'Mostra suggerimenti',
'journey.skeletons.hide': 'Nascondi suggerimenti',
'journey.verdict.lovedIt': 'Adorato',
'journey.verdict.couldBeBetter': 'Potrebbe essere meglio',
'journey.synced.places': 'luoghi',
'journey.synced.synced': 'sincronizzato',
'journey.editor.uploadPhotos': 'Carica foto',
'journey.editor.uploading': 'Caricamento...',
'journey.editor.fromGallery': 'Dalla galleria',
'journey.editor.allPhotosAdded': 'Tutte le foto sono già state aggiunte',
'journey.editor.writeStory': 'Scrivi la tua storia...',
'journey.editor.prosCons': 'Pro e contro',
'journey.editor.pros': 'Pro',
'journey.editor.cons': 'Contro',
'journey.editor.proPlaceholder': 'Qualcosa di fantastico...',
'journey.editor.conPlaceholder': 'Non così fantastico...',
'journey.editor.addAnother': 'Aggiungi un altro',
'journey.editor.date': 'Data',
'journey.editor.location': 'Luogo',
'journey.editor.searchLocation': 'Cerca luogo...',
'journey.editor.mood': 'Umore',
'journey.editor.weather': 'Meteo',
'journey.editor.photoFirst': '1°',
'journey.editor.makeFirst': 'Metti 1°',
'journey.editor.searching': 'Ricerca...',
'journey.mood.amazing': 'Fantastico',
'journey.mood.good': 'Buono',
'journey.mood.neutral': 'Neutro',
'journey.mood.rough': 'Difficile',
'journey.weather.sunny': 'Soleggiato',
'journey.weather.partly': 'Parzialmente nuvoloso',
'journey.weather.cloudy': 'Nuvoloso',
'journey.weather.rainy': 'Piovoso',
'journey.weather.stormy': 'Temporalesco',
'journey.weather.cold': 'Nevoso',
'journey.trips.linkTrip': 'Collega viaggio',
'journey.trips.searchTrip': 'Cerca viaggio',
'journey.trips.searchPlaceholder': 'Nome del viaggio o destinazione...',
'journey.trips.noTripsAvailable': 'Nessun viaggio disponibile',
'journey.trips.link': 'Collega',
'journey.trips.tripLinked': 'Viaggio collegato',
'journey.trips.linkFailed': 'Collegamento del viaggio fallito',
'journey.trips.addTrip': 'Aggiungi viaggio',
'journey.trips.unlinkTrip': 'Scollega viaggio',
'journey.trips.unlinkMessage': 'Scollegare "{title}"? Tutte le voci e le foto sincronizzate da questo viaggio saranno eliminate definitivamente. Questa azione non può essere annullata.',
'journey.trips.unlink': 'Scollega',
'journey.trips.tripUnlinked': 'Viaggio scollegato',
'journey.trips.unlinkFailed': 'Scollegamento del viaggio fallito',
'journey.trips.noTripsLinkedSettings': 'Nessun viaggio collegato',
'journey.contributors.invite': 'Invita contributore',
'journey.contributors.searchUser': 'Cerca utente',
'journey.contributors.searchPlaceholder': 'Nome utente o e-mail...',
'journey.contributors.noUsers': 'Nessun utente trovato',
'journey.contributors.role': 'Ruolo',
'journey.contributors.added': 'Contributore aggiunto',
'journey.contributors.addFailed': 'Impossibile aggiungere il contributore',
'journey.share.publicShare': 'Condivisione pubblica',
'journey.share.createLink': 'Crea link di condivisione',
'journey.share.linkCreated': 'Link di condivisione creato',
'journey.share.createFailed': 'Creazione del link fallita',
'journey.share.copy': 'Copia',
'journey.share.copied': 'Copiato!',
'journey.share.timeline': 'Cronologia',
'journey.share.gallery': 'Galleria',
'journey.share.map': 'Mappa',
'journey.share.removeLink': 'Rimuovi link di condivisione',
'journey.share.linkDeleted': 'Link di condivisione eliminato',
'journey.share.deleteFailed': 'Eliminazione fallita',
'journey.share.updateFailed': 'Aggiornamento fallito',
// Journey — Invite
'journey.invite.role': 'Ruolo',
'journey.invite.viewer': 'Visualizzatore',
'journey.invite.editor': 'Editore',
'journey.invite.invite': 'Invita',
'journey.invite.inviting': 'Invito in corso...',
'journey.settings.title': 'Impostazioni del diario',
'journey.settings.coverImage': 'Immagine di copertina',
'journey.settings.changeCover': 'Cambia copertina',
'journey.settings.addCover': 'Aggiungi immagine di copertina',
'journey.settings.name': 'Nome',
'journey.settings.subtitle': 'Sottotitolo',
'journey.settings.subtitlePlaceholder': 'es. Thailandia, Vietnam e Cambogia',
'journey.settings.delete': 'Elimina',
'journey.settings.deleteJourney': 'Elimina diario',
'journey.settings.deleteMessage': 'Eliminare "{title}"? Tutte le voci e le foto andranno perse.',
'journey.settings.saved': 'Impostazioni salvate',
'journey.settings.saveFailed': 'Salvataggio fallito',
'journey.settings.coverUpdated': 'Copertina aggiornata',
'journey.settings.coverFailed': 'Caricamento fallito',
'journey.settings.failedToDelete': 'Eliminazione non riuscita',
'journey.entries.deleteTitle': 'Elimina voce',
'journey.photosUploaded': '{count} foto caricate',
'journey.photosAdded': '{count} foto aggiunte',
'journey.public.notFound': 'Non trovato',
'journey.public.notFoundMessage': 'Questo diario non esiste o il link è scaduto.',
'journey.public.readOnly': 'Sola lettura · Diario pubblico',
'journey.public.tagline': 'Travel Resource & Exploration Kit',
'journey.public.sharedVia': 'Condiviso tramite',
'journey.public.madeWith': 'Creato con',
'journey.pdf.journeyBook': 'Diario di viaggio',
'journey.pdf.madeWith': 'Creato con TREK',
'journey.pdf.day': 'Giorno',
'journey.pdf.theEnd': 'Fine',
'journey.pdf.saveAsPdf': 'Salva come PDF',
'journey.pdf.pages': 'pagine',
'journey.picker.tripPeriod': 'Periodo del viaggio',
'journey.picker.dateRange': 'Intervallo di date',
'journey.picker.allPhotos': 'Tutte le foto',
'journey.picker.albums': 'Album',
'journey.picker.selected': 'selezionati',
'journey.picker.addTo': 'Aggiungi a',
'journey.picker.newGallery': 'Nuova galleria',
'journey.picker.selectAll': 'Seleziona tutto',
'journey.picker.deselectAll': 'Deseleziona tutto',
'journey.picker.noAlbums': 'Nessun album trovato',
'journey.picker.selectDate': 'Seleziona data',
'journey.picker.search': 'Cerca',
'dashboard.greeting.morning': 'Buongiorno,',
'dashboard.greeting.afternoon': 'Buon pomeriggio,',
'dashboard.greeting.evening': 'Buonasera,',
'dashboard.mobile.liveNow': 'In diretta',
'dashboard.mobile.tripProgress': 'Progresso del viaggio',
'dashboard.mobile.daysLeft': '{count} giorni rimanenti',
'dashboard.mobile.places': 'Luoghi',
'dashboard.mobile.buddies': 'Compagni',
'dashboard.mobile.newTrip': 'Nuovo viaggio',
'dashboard.mobile.currency': 'Valuta',
'dashboard.mobile.timezone': 'Fuso orario',
'dashboard.mobile.upcomingTrips': 'Viaggi in arrivo',
'dashboard.mobile.yourTrips': 'I tuoi viaggi',
'dashboard.mobile.trips': 'viaggi',
'dashboard.mobile.starts': 'Inizio',
'dashboard.mobile.duration': 'Durata',
'dashboard.mobile.day': 'giorno',
'dashboard.mobile.days': 'giorni',
'dashboard.mobile.ongoing': 'In corso',
'dashboard.mobile.startsToday': 'Inizia oggi',
'dashboard.mobile.tomorrow': 'Domani',
'dashboard.mobile.inDays': 'Tra {count} giorni',
'dashboard.mobile.inMonths': 'Tra {count} mesi',
'dashboard.mobile.completed': 'Completato',
'dashboard.mobile.currencyConverter': 'Convertitore di valuta',
'nav.profile': 'Profilo',
'nav.bottomSettings': 'Impostazioni',
'nav.bottomAdmin': 'Amministrazione',
'nav.bottomLogout': 'Disconnetti',
'nav.bottomAdminBadge': 'Admin',
'dayplan.mobile.addPlace': 'Aggiungi luogo',
'dayplan.mobile.searchPlaces': 'Cerca luoghi...',
'dayplan.mobile.allAssigned': 'Tutti i luoghi assegnati',
'dayplan.mobile.noMatch': 'Nessun risultato',
'dayplan.mobile.createNew': 'Crea nuovo luogo',
'admin.addons.catalog.journey.name': 'Diario di viaggio',
'admin.addons.catalog.journey.description': 'Tracciamento viaggi e diario con check-in, foto e storie quotidiane',
// OAuth scope groups
'oauth.scope.group.trips': 'Viaggi',
'oauth.scope.group.places': 'Luoghi',
'oauth.scope.group.atlas': 'Atlas',
'oauth.scope.group.packing': 'Bagagli',
'oauth.scope.group.todos': 'Attività',
'oauth.scope.group.budget': 'Budget',
'oauth.scope.group.reservations': 'Prenotazioni',
'oauth.scope.group.collab': 'Collaborazione',
'oauth.scope.group.notifications': 'Notifiche',
'oauth.scope.group.vacay': 'Ferie',
'oauth.scope.group.geo': 'Geo',
'oauth.scope.group.weather': 'Meteo',
// OAuth scope labels & descriptions
'oauth.scope.trips:read.label': 'Visualizza viaggi e itinerari',
'oauth.scope.trips:read.description': 'Leggi viaggi, giorni, note giornaliere e membri',
'oauth.scope.trips:write.label': 'Modifica viaggi e itinerari',
'oauth.scope.trips:write.description': 'Crea e aggiorna viaggi, giorni, note e gestisci membri',
'oauth.scope.trips:delete.label': 'Elimina viaggi',
'oauth.scope.trips:delete.description': 'Elimina definitivamente interi viaggi — questa azione è irreversibile',
'oauth.scope.trips:share.label': 'Gestisci link di condivisione',
'oauth.scope.trips:share.description': 'Crea, aggiorna e revoca link di condivisione pubblici per i viaggi',
'oauth.scope.places:read.label': 'Visualizza luoghi e dati mappa',
'oauth.scope.places:read.description': 'Leggi luoghi, assegnazioni giornaliere, tag e categorie',
'oauth.scope.places:write.label': 'Gestisci luoghi',
'oauth.scope.places:write.description': 'Crea, aggiorna ed elimina luoghi, assegnazioni e tag',
'oauth.scope.atlas:read.label': 'Visualizza Atlas',
'oauth.scope.atlas:read.description': 'Leggi paesi visitati, regioni e lista dei desideri',
'oauth.scope.atlas:write.label': 'Gestisci Atlas',
'oauth.scope.atlas:write.description': 'Segna paesi e regioni come visitati, gestisci la lista dei desideri',
'oauth.scope.packing:read.label': 'Visualizza liste bagagli',
'oauth.scope.packing:read.description': 'Leggi articoli, borse e assegnatari di categoria',
'oauth.scope.packing:write.label': 'Gestisci liste bagagli',
'oauth.scope.packing:write.description': 'Aggiungi, aggiorna, elimina, spunta e riordina articoli e borse',
'oauth.scope.todos:read.label': 'Visualizza liste attività',
'oauth.scope.todos:read.description': 'Leggi attività del viaggio e assegnatari di categoria',
'oauth.scope.todos:write.label': 'Gestisci liste attività',
'oauth.scope.todos:write.description': 'Crea, aggiorna, spunta, elimina e riordina attività',
'oauth.scope.budget:read.label': 'Visualizza budget',
'oauth.scope.budget:read.description': 'Leggi voci di budget e ripartizione delle spese',
'oauth.scope.budget:write.label': 'Gestisci budget',
'oauth.scope.budget:write.description': 'Crea, aggiorna ed elimina voci di budget',
'oauth.scope.reservations:read.label': 'Visualizza prenotazioni',
'oauth.scope.reservations:read.description': 'Leggi prenotazioni e dettagli alloggio',
'oauth.scope.reservations:write.label': 'Gestisci prenotazioni',
'oauth.scope.reservations:write.description': 'Crea, aggiorna, elimina e riordina prenotazioni',
'oauth.scope.collab:read.label': 'Visualizza collaborazione',
'oauth.scope.collab:read.description': 'Leggi note collaborative, sondaggi e messaggi',
'oauth.scope.collab:write.label': 'Gestisci collaborazione',
'oauth.scope.collab:write.description': 'Crea, aggiorna ed elimina note collaborative, sondaggi e messaggi',
'oauth.scope.notifications:read.label': 'Visualizza notifiche',
'oauth.scope.notifications:read.description': 'Leggi notifiche in-app e conteggi non letti',
'oauth.scope.notifications:write.label': 'Gestisci notifiche',
'oauth.scope.notifications:write.description': 'Segna notifiche come lette e rispondi',
'oauth.scope.vacay:read.label': 'Visualizza piani ferie',
'oauth.scope.vacay:read.description': 'Leggi dati di pianificazione ferie, voci e statistiche',
'oauth.scope.vacay:write.label': 'Gestisci piani ferie',
'oauth.scope.vacay:write.description': 'Crea e gestisci voci ferie, festività e piani del team',
'oauth.scope.geo:read.label': 'Mappe e geocodifica',
'oauth.scope.geo:read.description': 'Cerca luoghi, risolvi URL mappa e geocodifica inversa coordinate',
'oauth.scope.weather:read.label': 'Previsioni meteo',
'oauth.scope.weather:read.description': 'Ottieni previsioni meteo per luoghi e date del viaggio',
// System notices
'system_notice.welcome_v1.title': 'Benvenuto su TREK',
'system_notice.welcome_v1.body': 'Il tuo pianificatore di viaggi tutto in uno. Crea itinerari, condividi viaggi con gli amici e rimani organizzato — online e offline.',
'system_notice.welcome_v1.cta_label': 'Pianifica un viaggio',
'system_notice.welcome_v1.hero_alt': 'Destinazione di viaggio panoramica con l\'interfaccia TREK',
'system_notice.welcome_v1.highlight_plan': 'Itinerari giorno per giorno',
'system_notice.welcome_v1.highlight_share': 'Collabora con i tuoi compagni di viaggio',
'system_notice.welcome_v1.highlight_offline': 'Funziona offline su mobile',
'system_notice.dev_test_modal.title': '[Dev] Test notice',
'system_notice.dev_test_modal.body': 'This is a dev-only test notice.',
'system_notice.pager.prev': 'Avviso precedente',
'system_notice.pager.next': 'Avviso successivo',
'system_notice.pager.counter': '{current} / {total}',
'system_notice.pager.goto': "Vai all'avviso {n}",
'system_notice.pager.position': 'Avviso {current} di {total}',
// System notices — 3.0.0 upgrade
'system_notice.v3_photos.title': 'Le foto sono spostate nella 3.0',
'system_notice.v3_photos.body': '**Foto** nel Pianificatore di Viaggio sono state rimosse. Le tue foto sono al sicuro — TREK non ha mai modificato la tua libreria Immich o Synology.\n\nLe foto ora si trovano nel componente aggiuntivo **Journey**. Journey è opzionale — se non è ancora disponibile, chiedi al tuo admin di abilitarlo in Admin → Addon.',
'system_notice.v3_journey.title': 'Scopri Journey — diario di viaggio',
'system_notice.v3_journey.body': 'Documenta i tuoi viaggi come storie ricche con cronologie, gallerie fotografiche e mappe interattive.',
'system_notice.v3_journey.cta_label': 'Apri Journey',
'system_notice.v3_journey.highlight_timeline': 'Cronologia e galleria giornaliera',
'system_notice.v3_journey.highlight_photos': 'Importa da Immich o Synology',
'system_notice.v3_journey.highlight_share': 'Condividi pubblicamente — senza accesso',
'system_notice.v3_journey.highlight_export': 'Esporta come libro fotografico PDF',
'system_notice.v3_features.title': 'Altri punti salienti nel 3.0',
'system_notice.v3_features.body': 'Altre novità da conoscere in questa versione.',
'system_notice.v3_features.highlight_dashboard': 'Dashboard ridisegnata mobile-first',
'system_notice.v3_features.highlight_offline': 'Modalità offline completa come PWA',
'system_notice.v3_features.highlight_search': 'Completamento automatico luoghi in tempo reale',
'system_notice.v3_features.highlight_import': 'Importa luoghi da file KMZ/KML',
// System notices — MCP OAuth 2.1 upgrade
'system_notice.v3_mcp.title': 'MCP: aggiornamento OAuth 2.1',
'system_notice.v3_mcp.body': "L'integrazione MCP è stata completamente rinnovata. OAuth 2.1 è ora il metodo di autenticazione consigliato. I token statici (trek_\u2026) sono deprecati e verranno rimossi in una versione futura.",
'system_notice.v3_mcp.highlight_oauth': 'OAuth 2.1 consigliato (mcp-remote)',
'system_notice.v3_mcp.highlight_scopes': '24 scope di autorizzazione granulari',
'system_notice.v3_mcp.highlight_deprecated': 'Token statici trek_ deprecati',
'system_notice.v3_mcp.highlight_tools': 'Strumenti e prompt estesi',
}
export default it