const it: Record<string, string | { name: string; category: string }[]> = {
  // Common
  'common.save': 'Salva',
  'common.cancel': 'Annulla',
  'common.delete': 'Elimina',
  'common.edit': 'Modifica',
  'common.add': 'Aggiungi',
  'common.loading': 'Caricamento...',
  'common.error': 'Errore',
  '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.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.archive': 'Archivia',
  '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.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.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.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.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.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.account': 'Account',
  'settings.username': 'Username',
  '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 e un numero',
  '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',
  'admin.smtp.title': 'Email e notifiche',
  'admin.smtp.hint': 'Configurazione SMTP per le notifiche via email. Opzionale: URL webhook per Discord, Slack, ecc.',
  'admin.smtp.testButton': 'Invia email di prova',
  '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.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': 'Username',
  '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.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',

  // Register
  'register.passwordMismatch': 'Le password non corrispondono',
  'register.passwordTooShort': 'La password deve contenere almeno 6 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.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.tabs.config': 'Configurazione',
  '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': 'Lista valigia',
  'admin.addons.catalog.packing.description': 'Checklist per preparare la valigia per ogni viaggio',
  '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': 'Log di 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': 'Token MCP',
  'admin.mcpTokens.title': 'Token MCP',
  'admin.mcpTokens.subtitle': 'Gestisci i token API di tutti gli utenti',
  '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',

  // 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',
  '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.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.markVisited': 'Segna come visitato',
  'atlas.markVisitedHint': 'Aggiungi questo paese 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.bucketNamePlaceholder': 'Luogo o destinazione...',
  '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',

  // 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.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?',

  // 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.importGpx': 'Importa GPX',
  'places.gpxImported': '{count} luoghi importati da GPX',
  'places.urlResolved': 'Luogo importato dall\'URL',
  'places.gpxError': 'Importazione GPX non riuscita',
  '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.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.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.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',

  // 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.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)',

  // Budget
  'budget.title': 'Budget',
  '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.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.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.count': '{count} file',
  'files.countSingular': '1 file',
  '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.assignUser': 'Assegna utente',
  '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.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 1–28 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.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',

  // 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.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.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.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.immichUrl': 'URL Server Immich',
  'memories.immichApiKey': 'Chiave API',
  'memories.testConnection': 'Test connessione',
  'memories.connected': 'Connesso',
  'memories.disconnected': 'Non connesso',
  'memories.connectionSuccess': 'Connesso a Immich',
  'memories.connectionError': 'Impossibile connettersi a Immich',
  'memories.saved': 'Impostazioni Immich salvate',
  'memories.addPhotos': 'Aggiungi foto',
  'memories.selectPhotos': 'Seleziona foto da Immich',
  '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.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',
}

export default it