{
  "common": {
    "save": "Salva",
    "cancel": "Annulla",
    "delete": "Elimina",
    "loading": "Caricamento…",
    "back": "Indietro",
    "next": "Avanti",
    "previous": "Precedente",
    "confirm": "Conferma",
    "close": "Chiudi",
    "status": "Stato",
    "language": "Lingua",
    "required": "Obbligatorio",
    "optional": "Opzionale",
    "success": "Operazione completata",
    "searchClient": "Cerca cliente…",
    "noDate": "Senza data",
    "toasts": {
      "deleted": "Eliminato",
      "noChanges": "Nessuna modifica da salvare",
      "selectPatient": "Seleziona un cliente"
    },
    "requiredHint": "* Campo obbligatorio"
  },
  "nav": {
    "calendar": "Agenda",
    "patients": "Clienti",
    "clinicInfo": "Informazioni dell'azienda",
    "billingSub": "Fatturazione e abbonamento",
    "catalogs": "Cataloghi (servizi/professionisti/sedi)",
    "timeBlocks": "Blocchi orari",
    "bookingSettings": "Impostazioni prenotazione online",
    "auditLog": "Audit",
    "platform": "Piattaforma",
    "bonos": "Pacchetti",
    "bookings": "Prenotazioni",
    "settings": "Impostazioni",
    "goToAgenda": "Vai alla mia agenda",
    "main": "Navigazione principale",
    "account": "Il mio account",
    "pendingCount": "{{count}} prenotazioni da revisionare",
    "team": "Team"
  },
  "auth": {
    "login": "Accedi",
    "logout": "Esci",
    "email": "Email",
    "password": "Password",
    "forgotPassword": "Password dimenticata?",
    "signin": "Accedi",
    "sessionExpired": "Sessione scaduta, accedi di nuovo",
    "systemTitle": "Sistema di gestione",
    "emailPlaceholder": "tua@email.com",
    "passwordPlaceholder": "********",
    "showPassword": "Mostra password",
    "hidePassword": "Nascondi password",
    "signinLoading": "Accesso in corso…",
    "forgotTitle": "Recupera password",
    "forgotDescription": "Inserisci la tua email e ti invieremo le istruzioni per reimpostare la password.",
    "sendEmail": "Invia email",
    "sending": "Invio…",
    "backToLogin": "Torna all'accesso",
    "noAccount": "Non hai un account?",
    "createAccount": "Crea la tua azienda",
    "errors": {
      "generic": "Errore di autenticazione",
      "invalidCredentials": "Email o password errati",
      "emailNotConfirmed": "Devi confermare la tua email prima di accedere",
      "userNotFound": "Utente non trovato",
      "tooManyAttempts": "Troppi tentativi. Attendi qualche minuto e riprova",
      "passwordMin": "La password deve contenere almeno 8 caratteri",
      "alreadyRegistered": "Questa email è già registrata",
      "network": "Errore di connessione. Verifica la tua rete",
      "invalidEmail": "L'indirizzo email non è valido",
      "signupsDisabled": "Le registrazioni sono disabilitate per questa attività",
      "weakPassword": "La password è troppo debole",
      "operationFailed": "Impossibile completare l'operazione. Riprova",
      "userInfo": "Impossibile ottenere le informazioni dell'utente",
      "unexpected": "Errore imprevisto durante l'accesso",
      "resetSent": "È stata inviata un'email con le istruzioni per reimpostare la password",
      "resetError": "Errore nella richiesta di recupero della password",
      "passwordUpdated": "Password aggiornata con successo",
      "passwordUpdateError": "Errore nell'aggiornamento della password",
      "samePassword": "La nuova password deve essere diversa da quella precedente"
    },
    "reset": {
      "title": "Scegli una nuova password",
      "description": "Inserisci la password che userai d'ora in poi per accedere.",
      "inviteTitle": "Crea la tua password",
      "inviteDescription": "Sei stato invitato a far parte di un team. Scegli la password che userai d'ora in poi per accedere.",
      "newPassword": "Nuova password",
      "confirmPassword": "Ripeti la password",
      "submit": "Salva password",
      "saving": "Salvataggio…",
      "mismatch": "Le password non coincidono",
      "checking": "Verifica del link in corso…",
      "linkInvalidTitle": "Il link non è più valido",
      "linkInvalid": "Questo link di recupero è scaduto o è già stato usato. Richiedine uno nuovo e te lo inviamo subito.",
      "requestNew": "Richiedi un nuovo link",
      "doneTitle": "Password aggiornata",
      "done": "Ora puoi accedere con la tua nuova password."
    }
  },
  "appointments": {
    "new": "Nuovo appuntamento",
    "status": {
      "pending": "In attesa",
      "booked": "Confermato",
      "completed": "Completato",
      "cancelled": "Annullato",
      "noShow": "Non presentato"
    },
    "duration": "Durata",
    "service": "Servizio",
    "practitioner": "Professionista",
    "location": "Sede",
    "paid": "Pagato",
    "toasts": {
      "created": "Appuntamento creato con successo",
      "createError": "Errore nella creazione dell'appuntamento",
      "updated": "Appuntamento aggiornato con successo",
      "updateError": "Errore nell'aggiornamento dell'appuntamento",
      "deleted": "Appuntamento eliminato con successo",
      "deleteError": "Errore nell'eliminazione dell'appuntamento",
      "rescheduled": "Appuntamento riprogrammato con successo",
      "rescheduleError": "Errore nella riprogrammazione dell'appuntamento"
    }
  },
  "booking": {
    "title": "Prenotazione online",
    "step": {
      "service": "Scegli un servizio",
      "practitioner": "Scegli un professionista",
      "slot": "Scegli data e ora",
      "details": "I tuoi dati",
      "location": "Scegli una sede"
    },
    "loading": "Caricamento…",
    "errorTitle": "Impossibile continuare",
    "payment": {
      "successTitle": "Pagamento confermato.",
      "successText": "Abbiamo ricevuto il tuo pagamento e l'appuntamento è confermato. Riceverai un'email con i dettagli.",
      "cancelTitle": "Pagamento annullato.",
      "cancelText": "Non è stato addebitato nulla. Puoi riprovare scegliendo di nuovo il servizio."
    },
    "noServices": "Nessun servizio disponibile.",
    "changeService": "← Cambia servizio",
    "changePractitioner": "← Cambia professionista",
    "loadingSlots": "Caricamento orari…",
    "noSlotsDay": "Non ci sono orari liberi il {{date}}.",
    "patient": {
      "firstName": "Nome",
      "lastName": "Cognome",
      "phone": "Telefono",
      "email": "Email",
      "contactNote": "Indica telefono o email per poterti confermare l'appuntamento.",
      "comments": "Commenti (opzionale)",
      "accept": "Accetto il trattamento dei miei dati per gestire questo appuntamento"
    },
    "confirmBook": "Conferma prenotazione",
    "result": {
      "booked": "Prenotazione confermata!",
      "pending": "Richiesta inviata",
      "pendingText": "{{business}} deve ancora confermare il tuo appuntamento: fino ad allora non è garantito. Ti avviseremo non appena verrà accettato.",
      "redirecting": "Reindirizzamento al pagamento sicuro…",
      "confirmedBadge": "Confermato",
      "pendingBadge": "In attesa di approvazione",
      "manageNote": "Puoi gestire o annullare il tuo appuntamento dal link che ti abbiamo inviato.",
      "notifiedEmail": "Ti abbiamo inviato i dettagli dell'appuntamento via email.",
      "notifiedSms": "Ti abbiamo inviato i dettagli dell'appuntamento via SMS.",
      "notifiedNone": "Non siamo riusciti a inviarti un avviso. Salva questa pagina o aggiungi l'appuntamento al tuo calendario.",
      "addToCalendar": "Aggiungi al calendario",
      "googleCalendar": "Google Calendar",
      "manage": "Gestisci il mio appuntamento",
      "bookAnother": "Prenota un altro appuntamento"
    },
    "submitError": "Impossibile completare la prenotazione. Riprova.",
    "chooseAnotherSlot": "Scegli un altro orario",
    "practitionersError": "Impossibile caricare i professionisti. Riprova.",
    "slotsError": "Impossibile caricare gli orari disponibili. Riprova.",
    "retry": "Riprova",
    "poweredBy": "Prenotazioni con BookingForNow — crea la tua gratis",
    "createYours": {
      "question": "Hai un'attività?",
      "link": "Crea una pagina di prenotazione come questa, gratis"
    },
    "metaDescription": "Prenota online con {{name}}: scegli servizio, data e ora in meno di un minuto.",
    "otherDate": "Altra data:",
    "noSlotsShort": "Nessun orario",
    "depositNote": "Prenotazione con acconto di {{amount}}, che viene detratto dal prezzo totale.",
    "eyebrow": "Prenotazione online",
    "stepCounter": "Passo {{current}} di {{total}}",
    "depositTitle": "Acconto di prenotazione",
    "anyProfessional": "Il primo disponibile",
    "anyProfessionalHint": "Ti assegniamo un professionista libero nell'orario scelto.",
    "morning": "Mattina",
    "afternoon": "Pomeriggio",
    "errors": {
      "loadServices": "Errore nel caricamento dei servizi",
      "businessNotFound": "Non abbiamo trovato questa attività. Controlla il link.",
      "loadFailed": "Impossibile caricare la pagina di prenotazione. Riprova tra qualche minuto.",
      "onlineBookingDisabled": "Al momento questa attività non accetta prenotazioni online.",
      "slotTaken": "Questo orario è appena stato occupato. Abbiamo aggiornato gli orari: scegline un altro.",
      "outsideHours": "Questo orario è fuori dall'orario di apertura. Scegline un altro.",
      "tooSoon": "Questo orario è troppo vicino per prenotarlo online. Scegline uno più avanti.",
      "tooFar": "Questa data è troppo lontana per prenotare online. Scegline una più vicina.",
      "invalidStart": "L'orario scelto non è valido. Scegline un altro.",
      "invalidEmail": "Controlla l'email: non sembra valida.",
      "invalidPhone": "Controlla il numero di telefono: non sembra valido.",
      "missingFields": "Mancano dei dati obbligatori. Controlla il modulo.",
      "contactRequired": "Indica un telefono o un'email per poterti avvisare.",
      "acceptRequired": "Ci serve il tuo consenso per gestire l'appuntamento.",
      "rateLimited": "Troppi tentativi di seguito. Attendi qualche minuto e riprova.",
      "tooManyActive": "Hai già diverse prenotazioni attive. Contatta l'attività per gestirle.",
      "captchaFailed": "Impossibile completare la verifica di sicurezza. Riprova.",
      "serviceNotFound": "Questo servizio non è più disponibile. Scegline un altro.",
      "practitionerUnavailable": "Questo professionista non è più disponibile per questo servizio. Scegline un altro.",
      "invalidLocation": "Questa sede non è più disponibile. Scegline un'altra.",
      "network": "Nessuna connessione. Controlla la tua connessione internet e riprova."
    },
    "stepNames": {
      "location": "Sede",
      "service": "Servizio",
      "practitioner": "Professionista",
      "slot": "Data e ora",
      "details": "I tuoi dati",
      "done": "Conferma"
    },
    "changeLocation": "← Cambia sede",
    "changeSlot": "← Cambia data o ora",
    "durationShort": "{{minutes}} min",
    "price": "Prezzo",
    "noPractitionersFor": "Al momento non ci sono professionisti disponibili per «{{service}}». Scegli un altro servizio.",
    "callBusiness": "Chiama il {{phone}}",
    "dateOutOfRange": "Puoi prenotare solo tra il {{from}} e il {{to}}.",
    "tzNotice": "Gli orari sono indicati nell'ora locale dell'attività: {{zone}}.",
    "closedDay": "L'attività è chiusa il {{date}}.",
    "searchingNext": "Ricerca del prossimo giorno con orari liberi…",
    "noNextAvailable": "Non abbiamo trovato orari liberi nei prossimi giorni. Prova con un'altra data o un altro professionista.",
    "nextAvailable": "Prossimo giorno disponibile: {{date}}",
    "requiredHint": "* Campo obbligatorio",
    "privacyNotice": "Titolare del trattamento dei tuoi dati: {{business}}. Vengono usati esclusivamente per gestire il tuo appuntamento e inviarti avvisi al riguardo; BookingForNow li tratta per conto dell'attività. Puoi chiedere di accedervi, rettificarli o cancellarli contattando {{business}}.",
    "privacyLink": "Informativa sulla privacy",
    "captchaExpired": "La verifica è scaduta. Completala di nuovo per continuare.",
    "submitting": "Prenotazione in corso…",
    "demo": {
      "notice": "Questa è una demo: non viene creata nessuna prenotazione reale.",
      "detail": "Niente di quello che scrivi viene inviato o salvato.",
      "cta": "Crea gratis la tua pagina di prenotazione",
      "linkLabel": "Guarda un esempio di pagina di prenotazione"
    }
  },
  "dashboard": {
    "patient": {
      "selectTitle": "Seleziona cliente",
      "search": "Cerca cliente per nome, telefono o email…",
      "sessions": "appuntamenti"
    },
    "appointment": {
      "date": "Data",
      "time": "Ora",
      "create": "Crea appuntamento",
      "editTitle": "Modifica appuntamento",
      "saveChanges": "Salva modifiche"
    }
  },
  "calendar": {
    "title": "Calendario appuntamenti",
    "legend": {
      "title": "Legenda:",
      "paid": "Pagato",
      "unpaid": "Da incassare",
      "closed": "Non lavorativo",
      "overdue": "Non incassato (passato)"
    },
    "view": {
      "month": "Mese",
      "week": "Settimana",
      "day": "Giorno"
    },
    "weekTotal": "Totale settimana",
    "today": "Oggi",
    "hideAmount": "Nascondi importo",
    "showAmount": "Mostra importo",
    "deleteMessage": "Sei sicuro di voler eliminare questo appuntamento?",
    "sessionNotes": "Note dell'appuntamento",
    "deleteDetails": "Questa azione non può essere annullata.",
    "saving": "Salvataggio in corso…",
    "sessionNotesHint": "Queste note sono collegate solo a questo appuntamento",
    "remind": "Ricorda",
    "newPatient": "Nuovo cliente",
    "session": "appuntamento",
    "useBono": "Usa pacchetto",
    "noBonoOption": "Senza pacchetto (pagamento singolo)",
    "moveMessage": "Sei sicuro di voler spostare questo appuntamento?",
    "editPatient": "Modifica cliente",
    "timeSlotHint": "Orari consentiti: {{start}} - {{end}} a intervalli di 30 minuti",
    "deleteTitle": "Elimina appuntamento",
    "noPhone": "Senza telefono",
    "sessionNotesPlaceholder": "Osservazioni, servizio effettuato, stato del cliente...",
    "creating": "Creazione in corso…",
    "moveTitle": "Sposta appuntamento",
    "noPatients": "Nessun cliente trovato",
    "patient": "Cliente",
    "moveBtnText": "Sposta",
    "navNextPeriod": "Periodo successivo",
    "exportByApptLabel": "Esporta fatture per appuntamento del mese di {{month}}",
    "navPrevPeriod": "Periodo precedente",
    "navGoNextPeriod": "Vai al periodo successivo",
    "exportByPatientLabel": "Esporta fatture per cliente del mese di {{month}}",
    "whatsappReminder": "Invia promemoria via WhatsApp",
    "exportByAppt": "Esporta fatture per appuntamento (una fattura per appuntamento)",
    "editPatientInfo": "Modifica le informazioni del cliente",
    "navGoPrevPeriod": "Vai al periodo precedente",
    "exportByPatient": "Esporta fatture per cliente (una fattura che raggruppa gli appuntamenti del cliente)",
    "closedSlot": "Non lavorativo / Chiuso",
    "moreCount": "+{{count}} altri",
    "form": {
      "service": "Servizio",
      "serviceNone": "Nessun servizio",
      "duration": "Durata",
      "durationOther": "Altra",
      "priceLabel": "Importo",
      "paid": "Pagato",
      "collected": "Incassato",
      "pending": "In sospeso",
      "bonoPrice": "Incluso nel pacchetto",
      "practitioner": "Professionista",
      "practitionerNone": "Non assegnato",
      "noPractitionersForService": "Nessun professionista attivo è assegnato a questo servizio (vedi Cataloghi → Professionisti).",
      "allProfessionals": "Tutti i professionisti",
      "durationFromService": "La durata è definita dal servizio. Potrai modificarla in seguito modificando l'appuntamento."
    },
    "overlapPractitioner": "Quel professionista ha già un appuntamento a quell'ora: {{name}} ({{time}}).",
    "overlapPatient": "Il cliente ha già un altro appuntamento a quell'ora ({{time}}).",
    "toasts": {
      "patientNotFound": "Il cliente di questo appuntamento non è stato trovato",
      "patientUnknown": "Cliente sconosciuto",
      "invalidTime": "L'orario deve essere tra {{start}} e {{end}} a intervalli di 30 minuti",
      "exportBadFormat": "L'esportazione non ha restituito il formato previsto. Riprova.",
      "exportError": "Errore nell'esportazione del report",
      "cancelled": "Appuntamento annullato",
      "cancelledNotified": "Appuntamento annullato. Il cliente riceverà un'email di avviso.",
      "cancelError": "Impossibile annullare l'appuntamento",
      "updatedNotified": "Appuntamento aggiornato. Il cliente riceverà un'email con il nuovo orario.",
      "rescheduledNotified": "Appuntamento riprogrammato. Il cliente riceverà un'email con il nuovo orario."
    },
    "timezoneNote": "Orari nel fuso orario dell'attività: {{tz}}",
    "showCancelled": "Mostra annullati",
    "blockedSlot": "Bloccato",
    "minutesShort": "{{count}} min",
    "moveDetails": "{{from}} → {{to}}",
    "movePractitioner": "Professionista: {{from}} → {{to}}",
    "movePastWarning": "Attenzione: la nuova data è già passata",
    "errors": {
      "practitionerNotAssigned": "A questo professionista non è assegnato questo servizio. Scegli un altro professionista o controlla i Cataloghi.",
      "bonoUnavailable": "Il pacchetto non ha più appuntamenti disponibili. Scegline un altro o crea l'appuntamento senza pacchetto.",
      "invalidDuration": "La durata deve essere un numero intero di minuti compreso tra {{min}} e {{max}}."
    },
    "whatsapp": {
      "reminder": "Ciao {{name}}, ti ricordiamo il tuo appuntamento presso {{business}} il {{date}} alle {{time}}. Se devi spostarlo o non puoi venire, avvisaci. Grazie!",
      "reminderNoBusiness": "Ciao {{name}}, ti ricordiamo il tuo appuntamento del {{date}} alle {{time}}. Se devi spostarlo o non puoi venire, avvisaci. Grazie!"
    },
    "notify": {
      "label": "Avvisa il cliente via email",
      "hint": "Invieremo un'email a {{email}} con il nuovo orario."
    },
    "cancel": {
      "button": "Annulla appuntamento",
      "title": "Annulla appuntamento",
      "message": "L'appuntamento verrà annullato e la fascia oraria liberata. Potrai ancora vederlo con «Mostra annullati».",
      "confirm": "Sì, annulla",
      "keep": "No, mantienilo"
    },
    "viewTitle": "Dettagli dell'appuntamento",
    "readOnlyNotice": "Il tuo ruolo consente solo di consultare l'agenda."
  },
  "adminAjustes": {
    "title": "Impostazioni prenotazione online",
    "loading": "Caricamento…",
    "bookingUrl": "URL pubblica prenotazioni:",
    "copyLink": "Copia",
    "saved": "Modifiche salvate",
    "save": "Salva modifiche",
    "saving": "Salvataggio…",
    "online": {
      "legend": "Prenotazioni online",
      "enable": "Abilita pagina pubblica prenotazioni",
      "autoAccept": "Accetta automaticamente (senza revisione manuale)",
      "autoAcceptOnHint": "Ogni prenotazione online viene confermata all'istante e occupa l'orario nella tua agenda. Quelle dei clienti con diverse assenze precedenti continueranno a richiedere la tua approvazione.",
      "autoAcceptOffHint": "Ogni prenotazione online arriva come «In attesa»: l'orario resta riservato, ma non viene confermato finché non lo approvi.",
      "goToPending": "Vedi prenotazioni in attesa",
      "noCaptchaHint": "La verifica anti-bot non è ancora attiva sulla piattaforma. Fino ad allora, per sicurezza, ogni prenotazione online arriva in attesa e devi accettarla in Prenotazioni, anche con la conferma automatica attiva."
    },
    "policy": {
      "label": "Termine per annullare o modificare la prenotazione online",
      "none": "Nessun limite (fino all’ora dell’appuntamento)",
      "hoursBefore_one": "{{count}} ora prima",
      "hoursBefore_few": "{{count}} ore prima",
      "hoursBefore_many": "{{count}} ore prima",
      "hoursBefore_other": "{{count}} ore prima",
      "custom": "Altro termine…",
      "customLabel": "Ore di anticipo (da 0 a 720)",
      "hoursUnit": "ore",
      "hint": "I tuoi clienti possono annullare o modificare l’appuntamento dal link che ricevono quando prenotano. Se manca meno tempo di quello scelto, quel link non lo consente più e chiede loro di contattarti. Non si addebita nulla: si bloccano solo la modifica e l’annullamento online. Puoi sempre annullare o spostare qualsiasi appuntamento dall’agenda, e le nuove prenotazioni non cambiano.",
      "invalid": "Indica un numero intero di ore tra 0 e 720."
    },
    "locale": {
      "legend": "Localizzazione",
      "language": "Lingua",
      "currency": "Valuta",
      "timezone": "Fuso orario",
      "country": "Paese (ISO)",
      "timezonePlaceholder": "Seleziona un fuso orario",
      "invalidNotice": "Controlla i valori evidenziati: con fuso orario, valuta o lingua errati i tuoi clienti vedranno orari e prezzi sbagliati.",
      "goToConfig": "Modifica in Impostazioni",
      "usedByBookingPage": "La tua pagina di prenotazione mostra orari e prezzi in base a questi valori."
    },
    "eyebrow": "Prenotazione online",
    "toasts": {
      "loadError": "Errore nel caricamento delle impostazioni",
      "saveError": "Errore durante il salvataggio"
    },
    "share": {
      "title": "Condividi la tua pagina di prenotazione",
      "subtitle": "Questo è il link da cui i tuoi clienti prenotano da soli. Mettilo su Instagram, Google Maps, WhatsApp, sul tuo sito web o alla reception.",
      "copied": "Copiato",
      "copyFailed": "Impossibile copiare. Seleziona il testo e copialo manualmente.",
      "open": "Visualizza come cliente",
      "disabledNotice": "La tua pagina non accetta ancora prenotazioni: attiva «Abilita pagina pubblica prenotazioni» qui sotto e salva le modifiche.",
      "noServices": "Non hai nessun servizio attivo: i tuoi clienti vedranno la pagina vuota.",
      "noPractitioners": "Non hai nessun professionista attivo: i tuoi clienti non troveranno orari disponibili.",
      "goToCatalogs": "Vai a servizi e professionisti",
      "trialBranding": "Durante il periodo di prova, la tua pagina di prenotazione, il portale degli appuntamenti, le email ai tuoi clienti e l'appuntamento che aggiungono al loro calendario riportano una menzione discreta di BookingForNow e, dopo la prenotazione, i tuoi clienti vedono un invito a creare gratis la propria pagina. Con Starter o Pro scompare tutto.",
      "whatsapp": "Condividi su WhatsApp",
      "whatsappMessage": "Prenota il tuo appuntamento da {{name}} quando vuoi, in meno di un minuto: {{url}}",
      "showQr": "Codice QR",
      "qrAlt": "Codice QR della tua pagina di prenotazione",
      "qrHint": "Stampalo e mettilo alla reception, in vetrina o sui tuoi biglietti da visita: scansionandolo si apre la tua pagina di prenotazione.",
      "printQr": "Stampa",
      "printCta": "Scansiona e prenota il tuo appuntamento",
      "downloadQr": "Scarica (SVG)",
      "qrError": "Impossibile generare il codice QR. Ricarica la pagina e riprova.",
      "popupBlocked": "Il browser ha bloccato la finestra di stampa. Consenti i pop-up per questo sito o scarica il codice QR.",
      "embedLabel": "Pulsante «Prenota» per il tuo sito web",
      "embedHint": "Incolla questo codice nel tuo sito web: mostra un pulsante che apre la tua pagina di prenotazione in una nuova scheda.",
      "embedButtonLabel": "Prenota un appuntamento",
      "copyEmbed": "Copia codice",
      "iframeLabel": "Oppure incorpora la pagina di prenotazione nel tuo sito",
      "iframeHint": "Incollalo dove vuoi che compaia il modulo di prenotazione. Se il tuo sito non accetta iframe, usa il pulsante qui sopra.",
      "copyIframe": "Copia codice",
      "iframeTitle": "Prenota da {{name}}"
    },
    "referral": {
      "title": "Consiglia BookingForNow",
      "lede_one": "Condividi il tuo link con altre attività. Quando una si registra con il tuo link e riceve la sua prima prenotazione online, ti regaliamo {{count}} giorno con tutte le funzioni oppure, se hai già un piano a pagamento, una mensilità come credito.",
      "lede_few": "Condividi il tuo link con altre attività. Quando una si registra con il tuo link e riceve la sua prima prenotazione online, ti regaliamo {{count}} giorni con tutte le funzioni oppure, se hai già un piano a pagamento, una mensilità come credito.",
      "lede_many": "Condividi il tuo link con altre attività. Quando una si registra con il tuo link e riceve la sua prima prenotazione online, ti regaliamo {{count}} giorni con tutte le funzioni oppure, se hai già un piano a pagamento, una mensilità come credito.",
      "lede_other": "Condividi il tuo link con altre attività. Quando una si registra con il tuo link e riceve la sua prima prenotazione online, ti regaliamo {{count}} giorni con tutte le funzioni oppure, se hai già un piano a pagamento, una mensilità come credito.",
      "linkLabel": "Il tuo link di invito:",
      "whatsapp": "Consiglia su WhatsApp",
      "whatsappMessage": "Ti consiglio BookingForNow per gestire gli appuntamenti della tua attività: i clienti prenotano online da soli e c’è un piano gratuito. Provalo qui: {{url}}",
      "terms": "Condizioni del programma",
      "stats": {
        "signedUp": "Registrate",
        "activated": "Ricevono prenotazioni",
        "rewards": "Premi quest’anno",
        "rewardsValue": "{{n}} su {{max}}"
      },
      "newReward": "Il tuo consiglio ha dato i suoi frutti: hai un premio già applicato al tuo account.",
      "historyTitle": "I tuoi premi",
      "reward": {
        "trial_one": "{{count}} giorno con tutte le funzioni, fino al {{date}}",
        "trial_few": "{{count}} giorni con tutte le funzioni, fino al {{date}}",
        "trial_many": "{{count}} giorni con tutte le funzioni, fino al {{date}}",
        "trial_other": "{{count}} giorni con tutte le funzioni, fino al {{date}}",
        "credit": "Credito di {{amount}} sul tuo abbonamento",
        "failed": "Non siamo riusciti ad applicarlo in automatico: lo verifichiamo a mano e ti scriviamo.",
        "cap": "Nessun premio: avevi già ricevuto i {{max}} di quest’anno."
      },
      "privacy": "Vedi solo numeri: non ti diciamo quali attività si sono registrate con il tuo link."
    },
    "errors": {
      "invalidBranding": "Il logo o il colore non sono validi. Usa un URL https e un colore nel formato #RRGGBB."
    },
    "branding": {
      "legend": "Aspetto della tua pagina"
    }
  },
  "adminAuditoria": {
    "title": "Registro di audit",
    "subtitle": "Registro inalterabile di chi ha modificato cosa nella tua attività.",
    "filter": {
      "action": "Azione",
      "entity": "Entità",
      "actor": "Email di chi ha fatto la modifica",
      "apply": "Applica",
      "loading": "Caricamento…",
      "allEntities": "Tutte",
      "allActions": "Tutte",
      "actorPlaceholder": "persona@esempio.com"
    },
    "cols": {
      "date": "Data",
      "actor": "Chi",
      "action": "Azione",
      "entity": "Entità",
      "id": "ID",
      "ip": "IP"
    },
    "close": "Chiudi",
    "view": "Visualizza",
    "empty": "Nessuna voce.",
    "eyebrow": "Registro",
    "noActor": "Cliente o sistema",
    "verbs": {
      "create": "Creazione",
      "update": "Modifica",
      "delete": "Eliminazione",
      "anonymize": "Anonimizzazione (cancellazione dei dati)",
      "bulk_import": "Importazione massiva",
      "reschedule": "Riprogrammazione",
      "accept": "Accettazione",
      "reject": "Rifiuto",
      "cancel": "Annullamento",
      "mark_paid": "Segnato come pagato",
      "upload": "Caricamento di file",
      "logo_upload": "Caricamento del logo",
      "practitioners_update": "Modifica dei professionisti assegnati",
      "services_update": "Modifica dei servizi assegnati",
      "locations_update": "Modifica delle sedi assegnate",
      "checkout_started": "Avvio del pagamento dell'abbonamento",
      "confirmed_from_checkout": "Abbonamento confermato",
      "cancel_scheduled": "Annullamento dell'abbonamento programmato",
      "reactivated": "Abbonamento riattivato",
      "downgraded_manual": "Passaggio a un piano inferiore",
      "billing_export": "Esportazione della fatturazione",
      "plan_changed": "Cambio di piano",
      "ended_reconciled": "Abbonamento terminato",
      "tenant_extend_trial": "Prova estesa dal supporto",
      "tenant_activate": "Account attivato dal supporto",
      "tenant_suspend": "Account sospeso dal supporto",
      "tenant_set_plan": "Piano modificato dal supporto",
      "restore": "Ripristino del backup",
      "invite": "Invito al team",
      "resend": "Invito reinviato",
      "remove": "Rimozione dal team",
      "terms_accepted": "Accettazione di Termini e condizioni e Informativa sulla privacy",
      "attribution": "Origine della registrazione",
      "rewarded": "Premio del programma inviti",
      "marketing_unsubscribed": "Disiscrizione dalle email di consigli e offerte",
      "restore_failed": "Ripristino del backup non riuscito",
      "prices_update": "Modifica dei prezzi",
      "feed_rotate": "Nuovo link di sincronizzazione del calendario"
    },
    "entities": {
      "patient": "Cliente",
      "appointment": "Appuntamento",
      "bono": "Pacchetto",
      "patient_file": "File del cliente",
      "service": "Servizio",
      "practitioner": "Professionista",
      "location": "Sede",
      "time_block": "Blocco orario",
      "note_template": "Modello di nota",
      "clinical_note": "Nota dell'appuntamento",
      "consent_form_template": "Modello di consenso",
      "consent_signature": "Firma del consenso",
      "tenant_settings": "Impostazioni dell'attività",
      "tenant": "Abbonamento",
      "report": "Report",
      "tenant_user": "Membro del team",
      "backup": "Backup",
      "email_preferences": "Preferenze email",
      "configuration": "Configurazione"
    },
    "pagination": {
      "range": "Voci {{from}}–{{to}}"
    },
    "errors": {
      "invalidFilter": "Filtro non valido: l'email non può contenere spazi, virgole, parentesi, * o %."
    }
  },
  "adminBloqueos": {
    "title": "Blocchi orario",
    "subtitle": "Periodi di indisponibilità (ferie, formazione, manutenzione…).",
    "filter": {
      "practitioner": "Professionista",
      "location": "Sede",
      "all": "— Tutti —",
      "allF": "— Tutte —",
      "hidePast": "Nascondi blocchi passati"
    },
    "form": {
      "newTitle": "Nuovo blocco",
      "editTitle": "Modifica blocco",
      "practitioner": "Professionista",
      "location": "Sede",
      "start": "Inizio",
      "end": "Fine",
      "reason": "Motivo",
      "reasonPlaceholder": "Ferie, formazione…",
      "globalHint": "Senza professionista né sede, il blocco chiude tutta l'attività: nessuno potrà prenotare in quel periodo.",
      "timezoneHint": "Gli orari sono quelli del fuso orario dell'attività: {{zone}}."
    },
    "empty": "Nessun blocco.",
    "confirm": {
      "title": "Elimina blocco",
      "message": "Sei sicuro di voler eliminare questo blocco?"
    },
    "eyebrow": "Disponibilità",
    "newLabel": "Nuovo blocco",
    "blockedLabel": "Bloccato",
    "allPractitioners": "Tutti i professionisti",
    "allLocations": "Tutte le sedi",
    "toasts": {
      "requiredTimes": "Inizio e fine obbligatori",
      "endAfterStart": "La fine deve essere successiva all'inizio",
      "saved": "Blocco salvato"
    },
    "globalLabel": "Chiusura generale",
    "emptyUpcoming": "Nessun blocco in programma",
    "emptyHint": "Blocca ferie, festivi o assenze perché nessuno possa prenotare in quegli orari.",
    "errors": {
      "notOwn": "Puoi gestire solo i tuoi blocchi orari.",
      "tooLong": "Un blocco non può durare più di {{days}} giorni.",
      "invalid": "Controlla le date e il motivo del blocco."
    }
  },
  "adminCatalogos": {
    "title": "Cataloghi",
    "subtitle": "Servizi, professionisti e sedi dell'azienda.",
    "info": "Un servizio è ciò che offri (es. un massaggio). Un professionista è chi lo esegue. Una sede è il luogo in cui viene erogato. Assegna a ogni professionista i suoi servizi e le sue sedi.",
    "loading": "Caricamento…",
    "catalog": {
      "practitioners": "Professionisti assegnati"
    },
    "tabs": {
      "services": "Servizi ({{count}})",
      "practitioners": "Professionisti ({{count}})",
      "locations": "Sedi ({{count}})"
    },
    "common": {
      "save": "Salva",
      "cancel": "Annulla",
      "edit": "Modifica",
      "delete": "Elimina",
      "saving": "Salvataggio…",
      "active": "Attivo",
      "inactive": "Inattivo"
    },
    "services": {
      "form": {
        "newTitle": "Nuovo servizio",
        "editTitle": "Modifica servizio",
        "name": "Nome",
        "namePlaceholder": "Es. Taglio di capelli, Prima visita, Controllo…",
        "duration": "Durata (min)",
        "price": "Prezzo",
        "tax": "Imposta (%)",
        "color": "Colore",
        "active": "Attivo",
        "description": "Descrizione"
      },
      "durationUnit": "{{min}} min",
      "newLabel": "Nuovo servizio",
      "emptyTitle": "Aggiungi il tuo primo servizio",
      "emptyHint": "Un servizio è ciò che i tuoi clienti vedono e prenotano: nome, durata e prezzo."
    },
    "practitioners": {
      "form": {
        "newTitle": "Nuovo professionista",
        "editTitle": "Modifica professionista",
        "firstName": "Nome",
        "lastName": "Cognome",
        "email": "Email",
        "phone": "Telefono",
        "color": "Colore",
        "active": "Attivo",
        "bio": "Biografia"
      },
      "assignments": {
        "services": "Servizi",
        "locations": "Sedi",
        "noServices": "Nessun servizio definito.",
        "noLocations": "Nessuna sede definita."
      },
      "empty": "Nessun professionista.",
      "newLabel": "Nuovo professionista",
      "emptyTitle": "Aggiungi il tuo team",
      "emptyHint": "I professionisti sono le persone che si occupano degli appuntamenti. Ognuno ha la propria agenda."
    },
    "locations": {
      "form": {
        "newTitle": "Nuova sede",
        "editTitle": "Modifica sede",
        "name": "Nome",
        "address": "Indirizzo",
        "cp": "CAP",
        "city": "Città",
        "province": "Provincia / regione",
        "country": "Paese",
        "phone": "Telefono",
        "email": "Email",
        "timezone": "Fuso orario",
        "timezonePlaceholder": "Seleziona un fuso orario",
        "active": "Attivo"
      },
      "newLabel": "Nuova sede",
      "emptyTitle": "Crea la tua prima sede",
      "emptyHint": "La sede è il tuo locale o luogo di lavoro. Ne serve almeno una per assegnare i professionisti."
    },
    "confirm": {
      "title": "Conferma eliminazione",
      "serviceMessage": "Sei sicuro di voler eliminare questo servizio?",
      "practitionerMessage": "Sei sicuro di voler eliminare questo professionista?",
      "locationMessage": "Sei sicuro di voler eliminare questa sede?",
      "serviceLabel": "Servizio",
      "practitionerLabel": "Professionista",
      "locationLabel": "Sede"
    },
    "eyebrow": "Impostazioni",
    "toasts": {
      "nameRequired": "Nome obbligatorio",
      "locationRequired": "Devi assegnare almeno una sede",
      "serviceSaved": "Servizio salvato",
      "practitionerSaved": "Professionista salvato",
      "locationSaved": "Sede salvata",
      "loadError": "Errore nel caricamento dei cataloghi",
      "saveError": "Errore durante il salvataggio",
      "serviceRequired": "Nome e durata sono obbligatori"
    },
    "inUse": {
      "title": "Impossibile eliminare",
      "message": "Ha appuntamenti o altri dati associati: eliminandolo, quello storico resterebbe incompleto.",
      "details": "Puoi disattivarlo: non verrà più offerto per le nuove prenotazioni e lo storico viene conservato.",
      "confirm": "Disattiva",
      "deactivated": "Disattivato: non viene più offerto per le nuove prenotazioni"
    }
  },
  "adminPendientes": {
    "title": "Prenotazioni in attesa",
    "refresh": "Aggiorna",
    "loading": "Caricamento…",
    "empty": "Nessuna prenotazione in attesa di conferma.",
    "accept": "Accetta",
    "reject": "Rifiuta",
    "modal": {
      "title": "Rifiuta prenotazione",
      "reason": "Motivo (opzionale, viene inviato al cliente)",
      "cancel": "Annulla",
      "confirm": "Conferma rifiuto"
    },
    "eyebrow": "Posta in arrivo",
    "toasts": {
      "acceptError": "Errore nell'accettare la prenotazione",
      "rejectError": "Errore nel rifiutare la prenotazione",
      "alreadyHandled": "Questa prenotazione era già stata gestita (accettata, rifiutata o annullata) ed è stata rimossa dalla posta in arrivo.",
      "overlap": "Impossibile accettare: questo professionista ha già un altro appuntamento a quell'ora. La prenotazione resta in attesa."
    },
    "unnamedClient": "Cliente senza nome",
    "noService": "Nessun servizio",
    "noPractitioner": "Nessun professionista assegnato",
    "source": {
      "online": "Prenotazione online",
      "staff": "Creata dal team",
      "other": "Altra origine"
    },
    "payment": {
      "none": "Nessun pagamento online",
      "pending": "Pagamento in attesa",
      "paid": "Pagato",
      "refunded": "Rimborsato",
      "failed": "Pagamento non riuscito"
    }
  },
  "billing": {
    "title": "Fatturazione",
    "planBilling": "Fatturazione e piano",
    "subtitle": "Scegli il piano più adatto alla tua attività.",
    "info": "Ogni piano definisce i limiti del tuo account. Free: 1 professionista, 1 sede, 2 utenti con accesso e fino a 50 clienti. Starter: fino a 3 professionisti, 1 sede e 5 utenti, con promemoria automatici via email. Pro: professionisti, sedi e utenti illimitati, con promemoria automatici via email e supporto prioritario.",
    "currentStatus": {
      "plan": "Piano attuale:",
      "renewal": "Prossimo rinnovo:",
      "manage": "Gestisci abbonamento",
      "cancel": "Annulla abbonamento",
      "reactivate": "Riattiva",
      "cancelingTag": "Annullamento programmato",
      "willCancelOn": "Verrà annullato il {{date}} e il tuo account passerà al piano Free."
    },
    "cancelModal": {
      "title": "Annulla abbonamento",
      "message": "Vuoi davvero annullare l'abbonamento?",
      "keepAccess": "Mantieni tutte le funzioni fino al {{date}}. Dopo, il tuo account passerà al piano Free (1 professionista, 1 sede, fino a 50 clienti e nessun promemoria automatico).",
      "confirm": "Sì, annulla",
      "downgradeNow": "Il tuo piano passerà subito a Free (1 professionista, 1 sede, fino a 50 clienti e nessun promemoria automatico)."
    },
    "usageSection": {
      "title": "Utilizzo attuale",
      "patients": "Clienti",
      "practitioners": "Professionisti",
      "locations": "Sedi",
      "unlimited": "(illimitato)"
    },
    "cycle": {
      "monthly": "Mensile",
      "yearly": "Annuale",
      "yearlySave": "2 mesi gratis"
    },
    "plan": {
      "recommended": "Consigliato",
      "current": "Piano attuale",
      "soon": "Prossimamente",
      "subscribe": "Abbonati",
      "change": "Passa a questo piano"
    },
    "loading": "Caricamento...",
    "plans": {
      "free": {
        "tagline": "Gratis per sempre, per iniziare a ricevere prenotazioni",
        "features": [
          "1 professionista e 1 sede",
          "Fino a 50 clienti",
          "2 utenti con accesso al pannello",
          "Agenda, pacchetti e pagina di prenotazione online 24/7"
        ],
        "note": "Piano gratuito per sempre. Cambia piano quando vuoi."
      },
      "starter": {
        "tagline": "Per piccole attività e professionisti individuali",
        "features": [
          "Fino a 3 professionisti e 1 sede",
          "Clienti illimitati",
          "Fino a 5 utenti con accesso al pannello",
          "Promemoria automatici via email",
          "Nessun marchio BookingForNow sulla tua pagina di prenotazione"
        ]
      },
      "pro": {
        "tagline": "Per attività in crescita con più sedi",
        "features": [
          "Professionisti, sedi e utenti illimitati",
          "Promemoria automatici via email",
          "Nessun marchio BookingForNow sulla tua pagina di prenotazione",
          "Supporto prioritario"
        ]
      }
    },
    "freePrice": "Gratuito",
    "monthlySuffix": "/mese",
    "yearlySuffix": "/anno",
    "yearlyEquivalent": "equivale a {{monthly}}/mese",
    "toasts": {
      "planUnavailable": "Questo piano non è ancora disponibile.",
      "checkoutError": "Impossibile avviare il pagamento.",
      "portalError": "Impossibile aprire il portale di fatturazione.",
      "portalNoCustomer": "Non hai ancora un abbonamento attivo. Scegli un piano per iniziare.",
      "cancelScheduled": "L'abbonamento sarà annullato alla fine del periodo.",
      "cancelError": "Impossibile annullare l'abbonamento.",
      "reactivated": "Abbonamento riattivato.",
      "reactivateError": "Impossibile riattivare l'abbonamento.",
      "planDowngraded": "Il tuo piano è passato a Free.",
      "alreadySubscribed": "Hai già un abbonamento attivo. Ti portiamo al portale di fatturazione per cambiare piano.",
      "checkoutCanceled": "Sei uscito dal pagamento senza completarlo. Non ti è stato addebitato nulla.",
      "checkoutStub": "I pagamenti non sono ancora attivi su questo server. Scrivici a soporte@bookingfornow.com e li attiviamo insieme.",
      "checkoutConfirmed": "Abbonamento attivato! Grazie per aver scelto BookingForNow.",
      "checkoutConfirmPending": "Pagamento ricevuto. L'attivazione può richiedere qualche secondo: ricarica la pagina se non vedi ancora il tuo piano.",
      "samePlan": "Questo è già il tuo piano attuale.",
      "providerUnavailable": "Non siamo riusciti a verificare il tuo abbonamento con il fornitore dei pagamenti. Riprova tra qualche minuto.",
      "paymentIssue": "Il tuo ultimo pagamento è in sospeso. Aggiorna il metodo di pagamento nel portale di fatturazione prima di cambiare piano.",
      "planChanged": "Piano cambiato. La differenza comparirà nella tua prossima fattura.",
      "changePlanError": "Impossibile cambiare il piano. Non ti è stato addebitato nulla."
    },
    "planErrors": {
      "planRequired": "Questa funzione non è inclusa nel tuo piano attuale. Esegui l'upgrade per attivarla.",
      "planLimitReached": "Hai raggiunto il limite del tuo piano.",
      "subscriptionInactive": "Il tuo abbonamento non è attivo. Aggiorna il metodo di pagamento per continuare.",
      "goToBilling": "Vai a Impostazioni → Fatturazione per aggiornare il tuo piano.",
      "limitPatients": "Hai raggiunto il massimo di {{limit}} clienti del tuo piano.",
      "limitPractitioners": "Hai raggiunto il massimo di {{limit}} professionisti del tuo piano.",
      "limitLocations": "Hai raggiunto il massimo di {{limit}} sedi del tuo piano.",
      "limitTeamMembers": "Hai raggiunto il massimo di {{limit}} utenti del tuo piano."
    },
    "downgrade": {
      "warnTitle": "Supererai i limiti del tuo nuovo piano",
      "warnBody": "Passando a un piano inferiore verrà disattivato ciò che supera il limite del nuovo piano: {{resources}}. Non viene eliminato nulla: tutto verrà riattivato automaticamente quando tornerai a un piano superiore.",
      "practitioners_one": "{{count}} professionista",
      "practitioners_few": "{{count}} professionisti",
      "practitioners_many": "{{count}} professionisti",
      "practitioners_other": "{{count}} professionisti",
      "locations_one": "{{count}} sede",
      "locations_few": "{{count}} sedi",
      "locations_many": "{{count}} sedi",
      "locations_other": "{{count}} sedi",
      "confirm": "Ho capito, continua"
    },
    "deactivatedByPlan": "Disattivato dal tuo piano",
    "upgradeCta": "Aggiorna il tuo piano",
    "planNames": {
      "free": "Free",
      "starter": "Starter",
      "pro": "Pro",
      "trial": "Prova gratuita"
    },
    "status": {
      "active": "Attivo",
      "trialing": "In periodo di prova",
      "past_due": "Pagamento in ritardo",
      "unpaid": "Non pagato",
      "canceled": "Annullato",
      "incomplete": "Pagamento non completato",
      "incomplete_expired": "Pagamento scaduto",
      "paused": "In pausa",
      "unknown": "Stato non disponibile"
    },
    "trialEndsOn": "termina il {{date}}",
    "ownerOnly": "Solo il proprietario dell'account può sottoscrivere, cambiare o annullare il piano. Chiedigli di farlo dal suo utente.",
    "billedInCurrency": "I piani vengono addebitati in {{currency}}, anche se la tua attività lavora in {{own}}. Non applichiamo alcuna conversione: sarà la tua banca ad applicare il tasso di cambio.",
    "changeModal": {
      "title": "Cambia piano",
      "message": "Stai per passare il tuo abbonamento al piano {{plan}} ({{price}}).",
      "proration": "La modifica si applica subito. La quota proporzionale del periodo in corso verrà aggiunta o detratta dalla tua prossima fattura.",
      "deactivateWarn": "Passando a {{plan}} verranno disattivati {{resources}} perché superano il suo limite. Non vengono eliminati: verranno riattivati quando tornerai a un piano superiore.",
      "confirm": "Conferma modifica"
    }
  },
  "suspended": {
    "title": "Account sospeso",
    "lead": "L'accesso a <strong>{{brand}}</strong> è temporaneamente sospeso.",
    "reason": "I tuoi dati sono ancora salvati e non è stato eliminato nulla. Scrivici e ti aiuteremo a riattivare l'account.",
    "contact": "Contatta il supporto",
    "logout": "Esci",
    "support": "Se pensi che sia un errore, scrivi a",
    "eyebrow": "Account",
    "visitorTitle": "Questa attività non è disponibile al momento",
    "visitorLead": "Non possiamo mostrarti questa pagina in questo momento. Se sei un cliente, contatta direttamente l'attività; se l'account è tuo, accedi per riattivarlo.",
    "mailSubject": "Riattivare l'account di {{brand}}"
  },
  "errors": {
    "generic": "Si è verificato un errore",
    "network": "Nessuna connessione al server",
    "notFound": "Risorsa non trovata",
    "forbidden": "Non hai i permessi per questa azione",
    "validation": "Controlla i campi evidenziati",
    "loadAppointments": "Errore nel caricamento degli appuntamenti",
    "loadPatients": "Errore durante il caricamento dei clienti",
    "readonlyRole": "Il tuo utente è di sola lettura: non può apportare modifiche."
  },
  "locale": {
    "es": "Español",
    "en": "English",
    "fr": "Français",
    "pt": "Português",
    "it": "Italiano",
    "de": "Deutsch",
    "ru": "Русский",
    "zh": "中文",
    "ko": "한국어",
    "ja": "日本語"
  },
  "config": {
    "tabs": {
      "clinic": "Informazioni dell'azienda",
      "backup": "Backup"
    },
    "clinic": {
      "title": "Informazioni dell'azienda",
      "name": "Nome dell'azienda",
      "phone": "Telefono",
      "email": "Email",
      "emailInvalid": "Email non valida",
      "address": "Indirizzo",
      "saving": "Salvataggio...",
      "eyebrow": "Azienda",
      "emailPlaceholder": "contatto@azienda.com",
      "addressPlaceholder": "Via Principale 123, Città",
      "contactHint": "Questi dati vengono mostrati sulla tua pagina di prenotazione e usati come indirizzo di risposta nelle email ai tuoi clienti.",
      "nameHint": "È il nome che i tuoi clienti vedono sulla pagina di prenotazione e nelle email.",
      "phoneInvalid": "Usa solo numeri, spazi e i simboli + - ( )"
    },
    "backup": {
      "title": "Gestione Backup",
      "subtitle": "Gestisci i backup del database",
      "create": "Crea Backup",
      "creating": "Creazione...",
      "stats": {
        "total": "Totale backup",
        "last": "Ultimo backup",
        "size": "Spazio Usato",
        "next": "Prossimo Automatico"
      },
      "autoConfig": "Configurazione Automatica",
      "daily": "Backup Giornaliero",
      "dailyTime": "Ogni giorno alle 2:00",
      "weekly": "Backup Settimanale",
      "weeklyTime": "Domenica alle 3:00",
      "active": "Attivo",
      "byDate": "Backup per Data",
      "viewList": "Vista Elenco",
      "viewDate": "Vista Data",
      "refresh": "Aggiorna",
      "loading": "Caricamento backup...",
      "empty": "Nessun backup disponibile",
      "emptyHint": "Crea il tuo primo backup usando il pulsante sopra",
      "current": "Attuale",
      "download": "Scarica",
      "restore": "Ripristina",
      "delete": "Elimina",
      "cols": {
        "date": "Data",
        "name": "Nome",
        "size": "Dimensione",
        "type": "Tipo",
        "actions": "Azioni"
      },
      "confirmDelete": {
        "title": "Elimina Backup",
        "message": "Sei sicuro di voler eliminare questo backup?",
        "details": "Questa azione non può essere annullata.",
        "itemLabel": "Data"
      },
      "confirmRestore": {
        "title": "Ripristina Backup",
        "message": "Sei sicuro di voler ripristinare questo backup?",
        "details": "Questa azione sostituirà tutti i dati attuali con quelli del backup selezionato. I dati attuali andranno persi.",
        "itemLabel": "Data backup"
      },
      "eyebrow": "Dati",
      "types": {
        "daily": "Giornaliero",
        "weekly": "Settimanale",
        "manual": "Manuale",
        "unknown": "Sconosciuto"
      }
    },
    "loading": "Caricamento configurazione...",
    "toasts": {
      "loadError": "Errore nel caricamento della configurazione",
      "clinicUpdateError": "Impossibile salvare i dati di contatto. Controlla telefono, email e indirizzo.",
      "backupsLoadError": "Errore nel caricamento dei backup",
      "backupCreated": "Backup creato con successo",
      "backupCreateError": "Errore nella creazione del backup",
      "backupsRefreshed": "Elenco dei backup aggiornato",
      "backupRestored": "Backup ripristinato con successo",
      "backupRestoreError": "Errore nel ripristino del backup",
      "backupDeleted": "Backup eliminato con successo",
      "backupDeleteError": "Errore nell'eliminazione del backup",
      "downloadStarted": "Download avviato",
      "backupDownloadError": "Errore nel download del backup",
      "invalidCountry": "Il paese deve essere un codice ISO di 2 lettere (ad esempio IT, ES o US).",
      "backupRestoreRolledBack": "Impossibile ripristinare il backup. I dati che avevi prima sono stati recuperati automaticamente.",
      "backupRestorePartial": "Il ripristino si è interrotto a metà e non è stato possibile recuperare i dati automaticamente. Ripristina il backup «pre-restore» più recente per tornare allo stato precedente.",
      "backupRestoreKeyMissing": "Impossibile ripristinare: il backup è cifrato e sul server non è configurata una chiave di cifratura valida. Nessun dato è stato modificato.",
      "backupRestoreDecryptFailed": "Impossibile ripristinare: non è stato possibile decifrare il backup (è stato cifrato con un'altra chiave o è danneggiato). Nessun dato è stato modificato.",
      "backupDownloadKeyMissing": "Impossibile scaricare: il backup è cifrato e sul server non è configurata una chiave di cifratura valida.",
      "backupDownloadDecryptFailed": "Impossibile scaricare: non è stato possibile decifrare il backup (è stato cifrato con un'altra chiave o è danneggiato)."
    },
    "readOnly": "Solo il proprietario o un amministratore può modificare queste impostazioni.",
    "unsaved": {
      "message": "Hai modifiche non salvate",
      "discard": "Scarta",
      "leaveConfirm": "Hai modifiche non salvate in Impostazioni. Vuoi uscire e scartarle?"
    }
  },
  "patients": {
    "deleteModal": {
      "itemLabel": "Cliente",
      "title": "Elimina cliente e cancella i suoi dati",
      "message": "Sei sicuro di voler eliminare questo cliente?",
      "confirm": "Elimina",
      "details": "I suoi dati personali (nome, contatti, indirizzo, documento, data di nascita, note ed etichette) verranno anonimizzati in modo irreversibile, i suoi file allegati verranno eliminati e i suoi appuntamenti futuri verranno annullati (gli appuntamenti prenotati con un pacchetto vengono restituiti). Lo storico degli appuntamenti passati e i pacchetti vengono conservati senza dati personali. Questa azione non può essere annullata."
    },
    "editInfo": "Modifica le informazioni del cliente",
    "addSessions": "Aggiungi pacchetto",
    "subtitle": "Gestisci le informazioni dei tuoi clienti",
    "cols": {
      "patient": "Cliente",
      "actions": "Azioni",
      "delete": "Elimina",
      "edit": "Modifica"
    },
    "smart": {
      "estado": "Stato",
      "proxima": "Prossimo",
      "visitas": "visite",
      "bono": "pacchetto",
      "valor": "valore",
      "sinBono": "nessun pacchetto",
      "sinVisitas": "nessuna visita",
      "sinProxima": "nessun appuntamento futuro",
      "ultimaVisita": "ult. visita"
    },
    "perPage": "per pagina",
    "age": "{{years}} anni",
    "show": "Mostra",
    "clearSearch": "Cancella ricerca",
    "total": "clienti",
    "bonoForm": {
      "title": "Nuovo pacchetto",
      "minutes": "Minuti per appuntamento",
      "quantity": "Numero di appuntamenti",
      "totalPrice": "Prezzo totale",
      "perSession": "Prezzo per appuntamento",
      "paid": "Pagato",
      "add": "Crea pacchetto",
      "cancel": "Annulla",
      "created": "Pacchetto creato correttamente"
    },
    "title": "Gestione clienti",
    "form": {
      "edit": "Modifica cliente",
      "new": "Nuovo cliente",
      "save": "Salva",
      "lastName": "Cognome",
      "email": "Email",
      "phone": "Telefono",
      "cp": "CAP",
      "whatsappHint": "Preferenza del cliente. Non viene inviato nulla in automatico: dall'agenda puoi inviargli il promemoria WhatsApp con un clic.",
      "whatsappLabel": "Accetta promemoria via WhatsApp",
      "firstName": "Nome",
      "province": "Provincia / Regione",
      "familyContact": "Contatto alternativo",
      "update": "Aggiorna",
      "dni": "Codice Fiscale / Documento",
      "city": "Città",
      "address": "Indirizzo",
      "optional": "(opzionale)",
      "birthDate": "Data di nascita",
      "phone2": "Telefono 2",
      "notes": "Note",
      "firstNamePlaceholder": "Scrivi il nome",
      "lastNamePlaceholder": "Inserisci il cognome",
      "dniPlaceholder": "CI, passaporto o altro documento",
      "phonePlaceholder": "Con prefisso internazionale se è di un altro paese",
      "phone2Placeholder": "Telefono alternativo",
      "emailPlaceholder": "email@esempio.com",
      "familyContactPlaceholder": "Nome e telefono di un'altra persona di contatto",
      "addressPlaceholder": "Indirizzo completo",
      "cpPlaceholder": "CAP",
      "cityPlaceholder": "Città o comune",
      "provincePlaceholder": "Provincia, stato o regione",
      "notesPlaceholder": "Note aggiuntive sul cliente...",
      "contactHint": "(telefono o email: almeno uno)",
      "errors": {
        "firstNameRequired": "Il nome è obbligatorio",
        "contactRequired": "Indica almeno un telefono o un'email",
        "phoneInvalid": "Telefono non valido: usa da 4 a 15 cifre; puoi includere +, spazi, parentesi e trattini",
        "emailInvalid": "L'email non è valida"
      }
    },
    "deletePatient": "Elimina cliente",
    "newBtn": "Nuovo cliente",
    "viewDetails": "Visualizza i dettagli del cliente",
    "showing": "Visualizzati {{from}} - {{to}} di {{total}} clienti",
    "addFirst": "Aggiungi il primo cliente",
    "cancelBtn": "Annulla",
    "empty": {
      "noResults": "Nessun cliente trovato",
      "noPatients": "Nessun cliente registrato",
      "hint": "Inizia aggiungendo il tuo primo cliente per gestire i suoi appuntamenti",
      "hintSearch": "Prova con altri termini di ricerca"
    },
    "searchPlaceholder": "Cerca per nome, cognome o telefono...",
    "import": {
      "button": "Importa",
      "title": "Importa clienti da CSV",
      "step1": "1. File",
      "step2": "2. Colonne",
      "step3": "3. Importa",
      "chooseFile": "Seleziona un file .csv",
      "fileHint": "CSV con intestazione; separatore virgola o punto e virgola; campi tra virgolette supportati.",
      "parseError": "Impossibile leggere il file. Verifica che sia un CSV valido.",
      "detected": "{{rows}} righe e {{cols}} colonne rilevate.",
      "mapTitle": "Associa ogni colonna a un campo",
      "ignore": "— Ignora —",
      "preview": "Anteprima (prime 5 righe)",
      "needFirstName": "Devi associare una colonna al campo Nome.",
      "fields": {
        "firstName": "Nome",
        "lastName": "Cognome",
        "phone": "Telefono",
        "email": "Email",
        "dni": "Documento d'identità",
        "birthdate": "Data di nascita",
        "notes": "Note"
      },
      "importBtn_one": "Importa {{count}} cliente",
      "importBtn_few": "Importa {{count}} clienti",
      "importBtn_many": "Importa {{count}} clienti",
      "importBtn_other": "Importa {{count}} clienti",
      "importing": "Importazione…",
      "progress": "{{done}} di {{total}} righe inviate",
      "summaryTitle": "Importazione completata",
      "inserted": "Inseriti: {{count}}",
      "skipped": "Saltati: {{count}}",
      "rowCol": "Riga",
      "reasonCol": "Motivo",
      "error": "L'importazione non è riuscita. Riprova.",
      "reasons": {
        "invalid_row": "Riga non valida",
        "missing_firstName": "Manca il nome",
        "invalid_email": "Email non valida",
        "invalid_birthdate": "Data di nascita non valida",
        "duplicate": "Duplicato (esiste già un cliente con questa email o questo telefono)"
      },
      "datesDropped": "{{count}} date di nascita non sono state riconosciute: quei clienti sono stati importati senza data."
    },
    "eyebrow": "Elenco",
    "toasts": {
      "createFirst": "Crea prima il cliente e poi assegnagli l'appuntamento",
      "created": "Cliente creato con successo",
      "createError": "Errore nella creazione del cliente",
      "updated": "Cliente aggiornato con successo",
      "updateError": "Errore nell'aggiornamento del cliente",
      "deleted": "Cliente eliminato: dati anonimizzati e appuntamenti futuri annullati",
      "deleteError": "Errore nell'eliminazione del cliente",
      "loadEditError": "Errore nel caricamento del cliente da modificare",
      "loadOneError": "Errore nel caricamento dei dati del cliente",
      "bonoCreateError": "Errore nella creazione del pacchetto"
    },
    "status": {
      "nuevo": "Nuovo",
      "activo": "Attivo",
      "fiel": "Fedele",
      "riesgo": "A rischio"
    },
    "export": {
      "button": "Esporta",
      "createdAt": "Data di registrazione",
      "filename": "clienti",
      "done": "{{count}} clienti esportati",
      "error": "Impossibile esportare l'elenco dei clienti. Riprova."
    }
  },
  "patientDetail": {
    "loading": "Caricamento...",
    "loadingDetails": "Caricamento dei dettagli del cliente...",
    "age": "{{years}} anni",
    "back": "Indietro",
    "edit": "Modifica",
    "tags": {
      "placeholder": "Nuova etichetta",
      "empty": "Nessuna etichetta",
      "removeLabel": "Rimuovi etichetta"
    },
    "stats": {
      "nextVisit": "Prossima visita",
      "noShows": "Assenze",
      "totalAppointments": "Totale appuntamenti",
      "completed": "Completati",
      "lastVisit": "Ultima visita",
      "totalSpent": "Spesa totale",
      "cancelledSub_one": "{{count}} annullato",
      "cancelledSub_few": "{{count}} annullati",
      "cancelledSub_many": "{{count}} annullati",
      "cancelledSub_other": "{{count}} annullati"
    },
    "info": {
      "phone2": "TELEFONO 2",
      "familyContact": "CONTATTO ALTERNATIVO",
      "phone": "TELEFONO",
      "city": "CITTÀ",
      "address": "INDIRIZZO",
      "province": "PROVINCIA / REGIONE",
      "age": "ETÀ",
      "email": "EMAIL",
      "birthDate": "DATA DI NASCITA",
      "fullName": "NOME COMPLETO",
      "title": "Informazioni personali",
      "dni": "DOCUMENTO D'IDENTITÀ",
      "cp": "CAP",
      "notes": "NOTE"
    },
    "sessions": {
      "used": "Appuntamenti usati",
      "addTitle": "Aggiungi pacchetto",
      "active": "Appuntamenti disponibili",
      "title": "Appuntamenti disponibili",
      "empty": "Nessun pacchetto attivo",
      "total": "Appuntamenti totali"
    },
    "system": {
      "updated": "Ultimo aggiornamento:",
      "created": "Registrato:"
    },
    "tabs": {
      "history": "Storico appuntamenti",
      "files": "File",
      "credits": "Appuntamenti"
    },
    "history": {
      "loading": "Caricamento...",
      "colNotes": "Note",
      "loadingText": "Caricamento storico appuntamenti...",
      "colDate": "Data",
      "empty": "Nessun appuntamento registrato per questo cliente.",
      "colTime": "Ora",
      "colDuration": "Durata",
      "colService": "Servizio",
      "colPrice": "Importo"
    },
    "files": {
      "loadingFiles": "Caricamento file...",
      "allowedTypes": "File consentiti: JPG, PNG, GIF, WEBP, PDF, DOC, DOCX, XLS, XLSX, TXT, CSV (max. 4 MB)",
      "empty": "Nessun file allegato",
      "previewClickTitle": "Clic per ingrandire",
      "descriptionPlaceholder": "Descrivi il contenuto del file...",
      "uploading": "Caricamento del file…",
      "emptyHint": "Carica il primo file usando il modulo sopra",
      "selectLabel": "Seleziona file",
      "uploadTitle": "Carica nuovo file",
      "downloadTitle": "Scarica file",
      "descriptionLabel": "Descrizione (opzionale)",
      "upload": "Carica file",
      "deleteTitle": "Elimina file",
      "categoryLabel": "Categoria",
      "listTitle": "File del cliente",
      "categories": {
        "document": "Documento",
        "photo": "Foto / immagine",
        "consent": "Consenso",
        "invoice": "Fattura / preventivo",
        "report": "Relazione",
        "other": "Altro"
      }
    },
    "packs": {
      "empty": "Questo cliente non ha pacchetti",
      "title": "Pacchetti",
      "addFirst": "Aggiungi il primo pacchetto",
      "addBtn": "Aggiungi pacchetto"
    },
    "notFound": {
      "title": "Cliente non trovato",
      "message": "Il cliente che cerchi non esiste o è stato eliminato",
      "back": "Torna ai clienti"
    },
    "deleteFileModal": {
      "confirm": "Elimina",
      "title": "Elimina file",
      "itemLabel": "File",
      "details": "Questa azione non può essere annullata.",
      "message": "Sei sicuro di voler eliminare questo file?"
    },
    "preview": {
      "closeTitle": "Chiudi",
      "download": "Scarica file",
      "downloadTitle": "Scarica",
      "noPreview": "Anteprima non disponibile per questo tipo di file",
      "loading": "Caricamento anteprima…",
      "loadError": "Impossibile caricare l'anteprima. Puoi scaricare il file."
    },
    "markPaidModal": {
      "title": "Segna come pagato",
      "message": "Confermi che questo pacchetto è già stato pagato?",
      "confirm": "Segna pagato"
    },
    "eyebrow": "Scheda del cliente",
    "toasts": {
      "maxTags": "Massimo 20 etichette per cliente.",
      "tagsSaveError": "Impossibile salvare le etichette.",
      "filesLoadError": "Errore nel caricamento dei file",
      "fileTooLarge": "Il file è troppo grande (massimo 4 MB)",
      "fileTypeNotAllowed": "Tipo di file non consentito",
      "fileUploaded": "File caricato con successo",
      "fileUploadError": "Errore nel caricamento del file",
      "fileDownloadError": "Errore nel download del file",
      "fileDeleted": "File eliminato con successo",
      "fileDeleteError": "Errore nell'eliminazione del file"
    },
    "loadError": {
      "title": "Impossibile caricare la scheda",
      "message": "Si è verificato un problema di connessione o del server. Il cliente non è stato eliminato: riprova.",
      "retry": "Riprova"
    },
    "quick": {
      "label": "Azioni rapide",
      "call": "Chiama",
      "whatsapp": "WhatsApp",
      "email": "Email",
      "newAppointmentLabel": "Nuovo appuntamento per {{name}}",
      "callLabel": "Chiama {{name}}",
      "whatsappLabel": "Scrivi a {{name}} su WhatsApp",
      "emailLabel": "Invia un'email a {{name}}"
    }
  },
  "bonos": {
    "eyebrow": "Appuntamenti prepagati",
    "title": "Pacchetti",
    "subtitle": "Gestisci i pacchetti (appuntamenti prepagati) dei tuoi clienti.",
    "info": "Un pacchetto raggruppa più appuntamenti della stessa durata per un cliente, a un prezzo totale. Si usa quando crei il suo appuntamento in agenda: lo scegli in «Usa pacchetto» e ne viene scalato uno. Se l'appuntamento viene annullato o eliminato, torna nel pacchetto. Le prenotazioni online non scalano nulla dal pacchetto.",
    "new": "Nuovo pacchetto",
    "formTitle": "Nuovo pacchetto",
    "patient": "Cliente",
    "minutes": "Minuti per appuntamento",
    "quantity": "Numero di appuntamenti",
    "totalPrice": "Prezzo totale",
    "pricePerSession": "Prezzo per appuntamento",
    "perSessionShort": "/appuntamento",
    "paid": "Pagato",
    "save": "Crea pacchetto",
    "saving": "Salvataggio in corso…",
    "cancel": "Annulla",
    "loading": "Caricamento…",
    "empty": "Ancora nessun pacchetto. Crea il primo.",
    "minSessions_one": "{{min}} min · {{count}} appuntamento",
    "minSessions_few": "{{min}} min · {{count}} appuntamenti",
    "minSessions_many": "{{min}} min · {{count}} appuntamenti",
    "minSessions_other": "{{min}} min · {{count}} appuntamenti",
    "paidChip": "Pagato",
    "pendingChip": "In sospeso",
    "togglePaidTitle": "Cambia stato di pagamento",
    "delete": "Elimina",
    "created": "Pacchetto creato correttamente",
    "deleted": "Pacchetto eliminato",
    "markedPaid": "Pacchetto segnato come pagato",
    "markedPending": "Pacchetto segnato come da pagare",
    "inUse": "Impossibile eliminare: questo pacchetto ha già appuntamenti usati.",
    "loadError": "Errore nel caricamento dei pacchetti",
    "createError": "Errore nella creazione del pacchetto",
    "updateError": "Errore nell'aggiornamento del pacchetto",
    "deleteError": "Errore nell'eliminazione del pacchetto",
    "deleteModal": {
      "title": "Elimina pacchetto",
      "message": "Sei sicuro di voler eliminare questo pacchetto?",
      "details": "Questa azione non può essere annullata."
    },
    "itemLabel": "Pacchetto",
    "changePatient": "Cambia",
    "filters": {
      "label": "Filtra pacchetti",
      "all": "Tutti",
      "unpaid": "Da pagare",
      "active": "Con appuntamenti residui",
      "spent": "Esauriti",
      "noMatches": "Nessun pacchetto corrisponde al filtro o alla ricerca."
    },
    "unpaidTotal": "Da incassare:",
    "createdOn": "Creato il {{date}}"
  },
  "patientPortal": {
    "loading": "Caricamento…",
    "title": "Il tuo appuntamento",
    "when": "Data e ora",
    "statusLabel": "Stato",
    "confirmReschedule": "Conferma modifica",
    "cancel": "Annulla appuntamento",
    "notFound": "Appuntamento non trovato o link non valido",
    "cancelConfirm": "Vuoi davvero annullare il tuo appuntamento?",
    "cancelled": "Il tuo appuntamento è stato annullato.",
    "rescheduled": "Il tuo appuntamento è stato riprogrammato.",
    "actionError": "Impossibile completare l'azione. Riprova.",
    "cancelTitle": "Annulla appuntamento",
    "policyWindow": "Puoi annullare o riprogrammare fino a {{hours}}h prima dell'appuntamento.",
    "policyAnytime": "Puoi annullare o riprogrammare online fino all'ora dell'appuntamento.",
    "policyPast": "Non è più possibile annullare o riprogrammare online: l'appuntamento è tra meno di {{hours}}h. Contatta l'attività.",
    "policyNone": "Questa attività non consente annullamenti o riprogrammazioni online. Contattala direttamente.",
    "openMap": "Vedi sulla mappa",
    "pendingNote": "{{business}} deve ancora confermare questo appuntamento. Ti avviseremo non appena verrà accettato.",
    "reschedule": "Cambia data o ora",
    "rescheduleTitle": "Scegli il nuovo giorno e l'ora",
    "pickDate": "Giorno",
    "newTime": "Nuovo appuntamento: {{when}}",
    "keepCurrent": "Mantieni l'appuntamento attuale",
    "bookAgain": "Prenota un altro appuntamento",
    "loadError": "Impossibile caricare l'appuntamento. Riprova tra qualche minuto.",
    "errors": {
      "terminalStatus": "Questo appuntamento non può più essere modificato.",
      "cancelDisabled": "Questa attività non consente l'annullamento online. Contattala direttamente.",
      "rescheduleDisabled": "Questa attività non consente di modificare l'appuntamento online. Contattala direttamente.",
      "cancelTooLate": "Puoi annullare solo con almeno {{hours}} h di anticipo.",
      "rescheduleTooLate": "Puoi modificare l'appuntamento solo con almeno {{hours}} h di anticipo."
    }
  },
  "signup": {
    "title": "Crea la tua azienda",
    "subtitle": "Prova gratuita di 14 giorni, senza carta.",
    "clinicName": "Nome dell'azienda",
    "email": "Email",
    "password": "Password",
    "submit": "Crea account",
    "creating": "Creazione…",
    "successTitle": "Account creato!",
    "successMsg": "La tua azienda è pronta. Ora puoi accedere.",
    "goToLogin": "Vai all'accesso",
    "haveAccount": "Hai già un account?",
    "login": "Accedi",
    "disabled": "La registrazione non è disponibile al momento.",
    "genericError": "Impossibile creare l'account. Riprova.",
    "captchaHint": "Completa la verifica anti-bot per continuare.",
    "sector": "Di cosa si occupa la tua attività?",
    "sectorPlaceholder": "Scegli un settore",
    "sectors": {
      "peluquerias": "Parrucchiere o barbiere",
      "estetica": "Centro estetico",
      "fisioterapeutas": "Fisioterapia",
      "gimnasios": "Palestra o personal trainer",
      "talleres": "Officina meccanica",
      "consultores": "Consulenza o coaching",
      "dentales": "Studio dentistico",
      "psicologos": "Psicologia",
      "veterinarios": "Clinica veterinaria",
      "autoescuelas": "Autoscuola",
      "nutricionistas": "Nutrizione e dietetica",
      "tatuadores": "Studio di tatuaggi o piercing",
      "peluqueria-canina": "Toelettatura per animali",
      "yoga-pilates": "Yoga o pilates",
      "masajes-spa": "Massaggi o spa",
      "podologos": "Podologia",
      "otro": "Altro tipo di attività"
    },
    "repeatPassword": "Ripeti la password",
    "passwordsMismatch": "Le password non coincidono",
    "captchaRequired": "Completa la verifica per continuare",
    "showPassword": "Mostra password",
    "hidePassword": "Nascondi password",
    "acceptTerms": "Ho letto e accetto i {{terms}} (incluso l'accordo sul trattamento dei dati dei miei clienti) e l'{{privacy}}.",
    "termsLink": "Termini e condizioni",
    "privacyLink": "Informativa sulla privacy",
    "gdprNotice": "Titolare: {{controller}}. Finalità: creare e gestire il tuo account, fornirti il servizio, sapere da quale canale ci hai conosciuto e, se non ti opponi, inviarti consigli e offerte su BookingForNow. Base giuridica: esecuzione del contratto e legittimo interesse. Destinatari: i fornitori che ospitano il servizio, in qualità di responsabili del trattamento; non cediamo i tuoi dati a terzi. Diritti: accesso, rettifica, cancellazione e gli altri previsti dal GDPR, scrivendo a {{email}}. Maggiori informazioni nell'{{privacy}}.",
    "regionNote": "Il tuo account verrà creato con: {{region}}. Potrai modificarlo in Impostazioni.",
    "errors": {
      "rateLimited": "Troppi tentativi di seguito. Attendi qualche minuto e riprova.",
      "captchaFailed": "Non siamo riusciti a verificare che tu sia una persona. Ripeti la verifica e riprova.",
      "termsRequired": "Devi accettare i Termini e l'Informativa sulla privacy per creare l'account.",
      "missingFields": "Compila il nome dell'attività, l'email e la password.",
      "emailRegistered": "Esiste già un account con questa email."
    },
    "ownerName": "Il tuo nome",
    "ownerNameHint": "Lo useremo per salutarti e come primo professionista della tua agenda.",
    "marketingNotice": "Durante la prova e al suo termine ti invieremo alcune email con consigli e offerte di BookingForNow. Se non le vuoi, seleziona questa casella; puoi anche annullare l'iscrizione gratis, con un clic, da una qualsiasi di esse.",
    "marketingOptOut": "Non voglio ricevere consigli né offerte di BookingForNow via email",
    "bookingPageReady": "La tua pagina di prenotazione è già stata creata e accetta prenotazioni da oggi. Prima di condividerla, controlla i tuoi orari e i servizi di esempio:",
    "metaTitle": "Crea il tuo account gratis — BookingForNow",
    "metaDescription": "Crea il tuo account gratis su BookingForNow: agenda, prenotazioni online 24/7, pacchetti e promemoria automatici. 14 giorni di prova, senza carta."
  },
  "login": {
    "metaDescription": "Accedi al tuo account BookingForNow per gestire agenda, prenotazioni online, clienti e pacchetti della tua attività.",
    "fillAllFields": "Compila tutti i campi",
    "loginError": "Errore di accesso. Riprova.",
    "enterEmail": "Inserisci la tua email",
    "resetError": "Errore nella richiesta di reimpostazione della password"
  },
  "landing": {
    "nav": {
      "login": "Accedi",
      "signup": "Crea account",
      "goToApp": "Vai alla mia agenda"
    },
    "hero": {
      "subtitle": "Agenda, prenotazioni online, pacchetti di appuntamenti e promemoria in un'unica piattaforma. Dedica il tuo tempo ai clienti, non alle scartoffie.",
      "ctaPrimary": "Prova gratis per 14 giorni",
      "note": "Nessuna carta di credito · Annulla quando vuoi",
      "demo": "Guarda la demo",
      "titlePre": "Tu fai il tuo lavoro.",
      "titleAccentLead": "Noi, la",
      "titleAccent": "gestione",
      "stats": {
        "supportValue": "24/7",
        "supportLabel": "prenotazione online",
        "languagesValue": "10",
        "languagesLabel": "lingue",
        "priceValue": "0€",
        "priceLabel": "per iniziare",
        "commissionValue": "0%",
        "commissionLabel": "commissioni sulle prenotazioni"
      },
      "badge": "Nessuna commissione · 14 giorni gratis · Senza carta",
      "heading": "Software di prenotazione online e gestione appuntamenti per attività di servizi"
    },
    "features": {
      "title": "Programma per agenda e prenotazioni online: cosa include",
      "agenda": {
        "title": "Agenda multi-professionista",
        "text": "Organizza gli appuntamenti di tutto il team con un'agenda chiara e senza sovrapposizioni."
      },
      "booking": {
        "title": "Prenotazione online 24/7",
        "text": "I tuoi clienti prenotano da soli dalla tua pagina pubblica, a qualsiasi ora e da qualsiasi dispositivo."
      },
      "packs": {
        "title": "Pacchetti di appuntamenti per cliente",
        "text": "Vendi a ogni cliente il suo pacchetto di appuntamenti: quando gli fissi un appuntamento in agenda scegli il pacchetto e ne viene scalato uno; se l'appuntamento viene annullato, torna nel pacchetto. Nella sua scheda vedi quanti gliene restano."
      },
      "reminders": {
        "title": "Promemoria automatici",
        "text": "Riduci le assenze con promemoria automatici via email. Inclusi nei piani Starter e Pro."
      },
      "eyebrow": "Funzionalità",
      "subtitle": "Dalla gestione manuale al pilota automatico. Tutto in un'unica piattaforma."
    },
    "howItWorks": {
      "title": "La tua pagina di prenotazione online, operativa in meno di 5 minuti",
      "eyebrow": "Come funziona",
      "step1": {
        "title": "Crea il tuo account",
        "text": "Registrati gratis, senza carta di credito. In un paio di minuti il tuo spazio di lavoro è pronto."
      },
      "step2": {
        "title": "Configura i tuoi servizi",
        "text": "Aggiungi servizi, prezzi, orari e professionisti. La procedura guidata ti accompagna passo dopo passo."
      },
      "step3": {
        "title": "Condividi e inizia",
        "text": "Condividi il tuo link su Instagram, WhatsApp o sul tuo sito web. I tuoi clienti prenotano da soli, 24/7."
      }
    },
    "pricing": {
      "title": "Prezzi del software di prenotazione",
      "subtitle": "Inizia gratis e cambia piano quando la tua attività cresce.",
      "free": "Gratis",
      "yearlyNote": "Con il piano annuale paghi solo 10 mesi: 2 mesi gratis.",
      "cta": "Inizia ora",
      "eyebrow": "Prezzi",
      "annualNote": "Fatturazione annuale: {{total}} all'anno · 2 mesi gratis",
      "currencyNote": "Prezzi in euro (EUR).",
      "detailsLink": "Vedi prezzi e limiti nel dettaglio (in inglese)"
    },
    "finalCta": {
      "title": "Pronto per iniziare?",
      "text": "Crea il tuo account in meno di 2 minuti e configura la tua attività oggi stesso.",
      "eyebrow": "Cosa aspetti?"
    },
    "footer": {
      "tagline": "BookingForNow — gestione completa degli appuntamenti per la tua attività.",
      "sectorsLabel": "Soluzioni per settore",
      "sectors": {
        "hairdressers": "Software per appuntamenti per parrucchieri",
        "beauty": "Software di prenotazione per centri estetici",
        "physio": "Software per appuntamenti per fisioterapisti",
        "gyms": "Software di prenotazione per palestre",
        "workshops": "Software per appuntamenti per officine meccaniche",
        "consultants": "Software per appuntamenti per consulenti",
        "allSectors": "Tutti i settori"
      },
      "blog": "Blog: gestione di appuntamenti e prenotazioni",
      "tools": "Strumenti gratuiti (in inglese)",
      "pagesInEnglish": "(pagine in inglese)",
      "freeScheduling": "Software gratuito per appuntamenti (in inglese)",
      "navLabel": "Navigazione del piè di pagina",
      "support": "Supporto",
      "legalLabel": "Informazioni legali",
      "legal": {
        "notice": "Note legali",
        "privacy": "Privacy",
        "terms": "Termini",
        "cookies": "Cookie",
        "contact": "Contatti"
      },
      "comparisons": {
        "booksy": "Alternativa a Booksy",
        "treatwell": "Alternativa a Treatwell",
        "fresha": "Alternativa a Fresha"
      },
      "calculator": "Calcolatore delle commissioni sulle prenotazioni",
      "referral": "Programma inviti",
      "inSpanish": "(in spagnolo)"
    },
    "preview": {
      "title": "Bacheca giornaliera",
      "kpiAppointments": "Appuntamenti",
      "kpiOccupancy": "Occupazione",
      "kpiRevenue": "Ricavi",
      "chipPack": "pacchetto",
      "notifTitle": "Nuova prenotazione online",
      "row1Name": "Lucía M.",
      "row1Service": "Taglio di capelli",
      "row2Name": "Carlos R.",
      "row2Service": "Massaggio sportivo",
      "row3Name": "Ana G.",
      "row3Service": "Manicure",
      "live": "In diretta",
      "chipConfirmed": "Confermato",
      "chipPending": "In attesa",
      "chipNew": "Nuovo",
      "row4Name": "Marco S.",
      "row4Service": "Allenamento personalizzato",
      "notifSub": "Marta L. · Oggi 16:00",
      "badge": "Prezzo fisso · Nessuna commissione",
      "sampleData": "Dati di esempio"
    },
    "social": {
      "sectors": {
        "hair": "Parrucchieri",
        "yoga": "Studi di yoga e pilates",
        "gyms": "Palestre",
        "dental": "Studi dentistici",
        "spa": "Spa e massaggi",
        "physio": "Fisioterapisti",
        "garages": "Officine",
        "vets": "Veterinari"
      },
      "label": "Pensato per le attività che lavorano su appuntamento"
    },
    "why": {
      "eyebrow": "Perché BookingForNow",
      "title": "Un sistema di prenotazione chiaro e senza clausole nascoste",
      "flat": {
        "title": "Prezzo fisso, 0% di commissioni",
        "text": "Paghi il tuo piano e basta. Non prendiamo mai una percentuale sulle tue prenotazioni né sui tuoi nuovi clienti, a differenza di alcuni marketplace."
      },
      "link": {
        "title": "Il tuo link di prenotazione",
        "text": "Un link tutto tuo, non di un marketplace: mettilo su Instagram, Google Maps o WhatsApp e i tuoi clienti prenotano da soli, senza installare nulla."
      },
      "languages": {
        "title": "10 lingue e qualsiasi fuso orario",
        "text": "La tua agenda e la tua pagina di prenotazione parlano la lingua dei tuoi clienti: spagnolo, inglese, francese, portoghese, italiano, tedesco, russo, cinese, coreano e giapponese."
      },
      "privacy": {
        "title": "I tuoi dati sono tuoi",
        "text": "Rispettiamo il GDPR, non vendiamo né cediamo i tuoi dati e non mostriamo pubblicità ai tuoi clienti."
      }
    },
    "faq": {
      "eyebrow": "Prima di iniziare",
      "title": "Domande frequenti sul programma per gestire gli appuntamenti",
      "items": {
        "price": {
          "q": "Quanto costa BookingForNow?",
          "a": "Ci sono tre piani a canone fisso e {{commission}}% di commissioni sulle prenotazioni: Free a {{free}} ({{practitioners}} professionista, fino a {{clients}} clienti, senza promemoria automatici), Starter a {{starter}}/mese e Pro a {{pro}}/mese. Il canone annuale costa quanto {{paidMonths}} mesi, quindi ne risparmi {{freeMonths}}. Gli importi sono in euro e vanno aggiunte le imposte applicabili. Ogni nuovo account inizia con una prova di {{trialDays}} giorni, senza carta."
        },
        "free": {
          "q": "Cosa include il piano gratuito e quali limiti ha?",
          "a": "Il piano Free costa {{free}}, non ha limiti di tempo e non richiede la carta. Include l'agenda, i pacchetti di appuntamenti e la tua pagina di prenotazione online per {{practitioners}} professionista, fino a {{clients}} clienti e {{locations}} sede. Non include i promemoria automatici, che arrivano con Starter. Ciò che vedono i tuoi clienti (pagina di prenotazione, portale degli appuntamenti ed email) riporta una menzione discreta di BookingForNow; con Starter o Pro scompare."
        },
        "commission": {
          "q": "Applicate commissioni sulle prenotazioni?",
          "a": "No, in nessun piano: {{commission}}% anche in Free. Paghi il canone fisso del tuo piano ({{free}} in Free) e basta, senza limiti di prenotazioni. BookingForNow non incassa le prenotazioni per tuo conto: i tuoi clienti ti pagano nella tua sede, come hanno sempre fatto, quindi non ci sono né percentuali né intermediari di pagamento."
        },
        "reminders": {
          "q": "Da quale piano sono inclusi i promemoria automatici?",
          "a": "Da Starter. I promemoria automatici degli appuntamenti partono via email, per i clienti che lasciano la loro email, nei piani Starter e Pro e durante la prova; il piano Free non li include. Non ci sono promemoria via SMS né messaggi automatici su WhatsApp."
        },
        "app": {
          "q": "Bisogna installare un'app?",
          "a": "No. BookingForNow funziona come app web su qualsiasi telefono o computer, senza installazioni né aggiornamenti da seguire: tu gestisci l'agenda dal browser e i tuoi clienti prenotano dal link della tua attività, senza scaricare nulla."
        },
        "trialEnd": {
          "q": "Cosa succede quando finiscono i {{trialDays}} giorni di prova?",
          "a": "Se non hai scelto un piano, il tuo account passa da solo al piano Free e non ti viene addebitato nulla: la prova non richiede la carta. Non viene cancellato nulla. Se usavi più professionisti o sedi di quelli inclusi in Free, restano attivi i più vecchi e gli altri vengono messi in pausa finché non scegli un piano che li includa. I promemoria automatici via email, che sono di Starter e Pro, smettono di essere inviati."
        }
      }
    }
  },
  "onboarding": {
    "title": "Primi passi",
    "progress": "{{done}} di {{total}} completati",
    "toggle": "Mostra o nascondi l'elenco",
    "dismiss": "Ignora",
    "copyLink": "Copia link",
    "copied": "Link copiato negli appunti",
    "steps": {
      "services": "Configura i tuoi servizi e prezzi",
      "booking": "Attiva la prenotazione online",
      "bookingOn": "La tua pagina accetta prenotazioni",
      "share": "Condividi la tua pagina di prenotazione",
      "firstAppointment": "Crea il tuo primo appuntamento"
    },
    "stepDone": "Completato:",
    "copyFailed": "Impossibile copiare il link. Copialo manualmente: {{url}}"
  },
  "settings": {
    "booking": {
      "logoUrl": "Logo della pagina di prenotazione (URL)",
      "useCustomColor": "Usa colore personalizzato",
      "primaryColor": "Colore principale",
      "brandingHint": "Il logo e il colore vengono applicati alla tua pagina pubblica di prenotazione."
    },
    "logo": {
      "title": "Logo dell'azienda",
      "upload": "Carica immagine",
      "change": "Cambia immagine",
      "uploading": "Caricamento…",
      "format": "Formati: PNG, JPG o WEBP. Massimo 2 MB.",
      "uploaded": "Logo aggiornato",
      "error": "Impossibile caricare il logo",
      "errorFormat": "Formato non consentito. Usa PNG, JPG o WEBP.",
      "errorSize": "L'immagine supera la dimensione massima (2 MB)."
    }
  },
  "adminPlatform": {
    "eyebrow": "Operatore",
    "title": "Piattaforma",
    "forbidden": "Accesso riservato agli amministratori della piattaforma.",
    "kpi": {
      "clinics": "Aziende",
      "trials": "Prove attive",
      "mrr": "MRR stimato",
      "mrrHint": "solo abbonamenti a pagamento",
      "mrrTitle": "Contano solo gli abbonamenti a pagamento attivi. Un piano assegnato a mano da questo pannello non è un abbonamento e non conta.",
      "signupsPeriod": "Iscrizioni del periodo",
      "webVisitors": "Visitatori · sito pubblico",
      "webVisitorDaysHint": "visitatori-giorno · ultimi {{days}} giorni",
      "webVisitorsHint": "somma per tipo di pagina e giorno · ultimi {{days}} giorni",
      "onlineBookings": "Prenotazioni online",
      "appointments": "Appuntamenti creati",
      "errors5xx": "Errori 5xx",
      "periodHint": "ultimi {{days}} giorni"
    },
    "cols": {
      "clinic": "Azienda",
      "plan": "Piano",
      "status": "Stato",
      "signup": "Iscrizione",
      "origin": "Origine"
    },
    "state": {
      "active": "Attiva",
      "suspended": "Sospesa"
    },
    "action": {
      "extend": "+14 giorni",
      "extendTitle": "Estendi la prova di 14 giorni",
      "suspend": "Sospendi",
      "activate": "Attiva",
      "changePlan": "Cambia piano"
    },
    "toasts": {
      "trialExtended": "Prova estesa di 14 giorni",
      "suspended": "Azienda sospesa",
      "activated": "Azienda attivata",
      "planChanged": "Piano cambiato in {{plan}}"
    },
    "subtitle": "Monitoraggio dell'applicazione e del traffico web",
    "refresh": "Aggiorna",
    "range": {
      "label": "Periodo",
      "d7": "7 giorni",
      "d30": "30 giorni",
      "d90": "90 giorni"
    },
    "tabs": {
      "overview": "Panoramica",
      "traffic": "Traffico web",
      "activity": "Attività",
      "health": "Stato di salute",
      "tenants": "Aziende"
    },
    "funnel": {
      "title": "Funnel di acquisizione",
      "subtitle": "Dal visitatore alla prima prenotazione, negli ultimi {{days}} giorni",
      "ofPrevious": "{{pct}} del passo precedente",
      "activatedHint": "Attività create nel periodo con almeno un appuntamento",
      "visitorsHint": "Ogni visitatore conta una volta al giorno, qualunque sia il numero di pagine del sito pubblico che vede. È lo stesso dato dell'indicatore e dell'area «Sito pubblico».",
      "landingVisitorsHint": "Somma dei visitatori-giorno della home e delle landing: chi vede entrambe nello stesso giorno conta due volte.",
      "cohortBookingsHint": "Prenotazioni online delle attività attivate nel periodo. Il totale di tutte le attività è nell'indicatore «Prenotazioni online».",
      "stages": {
        "visitors": "Visitatori-giorno del sito pubblico",
        "landingVisitors": "Visitatori-giorno su home e landing",
        "signupVisitors": "Visitatori di /signup",
        "signups": "Iscrizioni",
        "activated": "Attività attivate (≥1 appuntamento)",
        "onlineBookings": "Prenotazioni online",
        "cohortBookings": "Le loro prenotazioni online"
      },
      "perActivated": "{{n}} per attività attivata"
    },
    "audience": {
      "title": "Visitatori per area",
      "subtitle": "Ultimi {{days}} giorni, per tipo di pagina",
      "views_one": "{{n}} pagina vista",
      "views_few": "{{n}} pagine viste",
      "views_many": "{{n}} pagine viste",
      "views_other": "{{n}} pagine viste",
      "visitors_one": "{{n}} visitatore",
      "visitors_few": "{{n}} visitatori",
      "visitors_many": "{{n}} visitatori",
      "visitors_other": "{{n}} visitatori",
      "zones": {
        "web": {
          "label": "Sito pubblico",
          "hint": "La home, le pagine di settore, i confronti e gli strumenti, il blog, la registrazione e le pagine legali. È il dato che misura il posizionamento."
        },
        "booking": {
          "label": "Pagine di prenotazione delle attività",
          "hint": "Clienti delle attività sulla loro pagina di prenotazione e sul link del loro appuntamento. Non è traffico del sito."
        },
        "app": {
          "label": "Applicazione",
          "hint": "Team delle attività nella pagina di accesso e nelle schermate private."
        }
      },
      "note": "Sono visitatori-giorno sommati per tipo di pagina, non persone distinte: chi vede due tipi di pagina (la home e una pagina di settore) conta due volte, chi passa dal sito a una pagina di prenotazione conta in entrambe le aree e chi torna un altro giorno conta di nuovo, perché l'impronta anonima cambia ogni giorno alle 00:00 UTC. Le pagine viste, invece, sono esatte.",
      "noteWeb": "Sono visitatori-giorno, non persone distinte: l'impronta anonima cambia ogni giorno alle 00:00 UTC, quindi chi torna un altro giorno conta di nuovo. Nel sito pubblico ogni visitatore conta una volta al giorno, qualunque sia il numero di pagine che vede; le altre due aree sommano i propri tipi di pagina (chi passa dalla pagina di accesso e poi usa l'applicazione conta due volte) e chi passa dal sito a una pagina di prenotazione conta in entrambe le aree. Le pagine viste, invece, sono esatte.",
      "webBreakdown": "Visitatori-giorno del sito pubblico: {{total}}. Di questi, {{engaged}} con un'origine esterna (un altro sito o una campagna) o con più di una pagina vista, e {{single}} con una sola pagina e un ingresso diretto, come accade di solito con un crawler con l'aspetto di un normale browser. Tra i primi, con uso dell'applicazione nello stesso giorno (team o nuova iscrizione): {{withApp}}.",
      "webBreakdownSignal": "Visitatori-giorno del sito pubblico: {{total}}. Di questi, {{engaged}} con un'origine esterna (un altro sito o una campagna) o con più di una pagina vista, e {{single}} con una sola pagina e un ingresso diretto (senza origine nota: indirizzo digitato, segnalibro o un link che non trasmette l'origine). Tra i primi, con uso dell'applicazione nello stesso giorno (team o nuova iscrizione): {{withApp}}.",
      "other": "Non classificati: {{visitors}} e {{views}} su percorsi che il server non assegna a nessuna area: indirizzi che non esistono (404) e /cuenta-suspendida."
    },
    "charts": {
      "visitorsPerDay": "Visitatori al giorno",
      "allZones": "Tutte le aree insieme: sito pubblico, pagine di prenotazione e applicazione.",
      "signupsPerDay": "Iscrizioni al giorno",
      "trafficPerDay": "Visitatori e pagine viste al giorno",
      "appointmentsPerDay": "Appuntamenti e prenotazioni online al giorno",
      "newPatientsPerDay": "Nuovi clienti al giorno",
      "emailsPerDay": "Email al giorno",
      "apiRequestsPerDay": "Richieste API al giorno",
      "api5xxPerDay": "Errori 5xx al giorno",
      "apiP95PerDay": "Latenza p95 al giorno (ms, con cron e pannello)"
    },
    "series": {
      "visitors": "Visitatori",
      "views": "Pagine viste",
      "signups": "Iscrizioni",
      "appointments": "Appuntamenti",
      "onlineBookings": "Prenotazioni online",
      "newPatients": "Nuovi clienti",
      "emailsSent": "Inviate",
      "emailsFailed": "Non riuscite",
      "requests": "Richieste",
      "errors5xx": "Errori 5xx",
      "p95": "Latenza p95"
    },
    "chart": {
      "showTable": "Mostra tabella",
      "hideTable": "Nascondi tabella",
      "noData": "Nessun dato nel periodo",
      "allZero": "Tutto a zero nel periodo",
      "day": "Giorno",
      "total": "Totale"
    },
    "traffic": {
      "note": "Analisi proprietaria senza cookie. Contano solo le visite con un segnale di una persona reale (un tocco, un tasto, il mouse o 15 secondi con la pagina in vista) e i bot sono esclusi ({{bots}} visualizzazioni di bot nel periodo).",
      "visitorDays": "I visitatori sono visitatori-giorno: l'impronta anonima cambia ogni giorno alle 00:00 UTC (le 02:00 in Spagna d'estate, le 01:00 d'inverno), quindi chi torna un altro giorno, cambia rete o usa un altro browser conta di nuovo.",
      "scope": "Il grafico giornaliero e gli elenchi di siti di provenienza, paesi, lingue, dispositivi e UTM sommano tutte le aree (sito pubblico, pagine di prenotazione delle attività e applicazione); la ripartizione è in Panoramica.",
      "beforeHumanSignal": "Questo periodo include giorni precedenti al {{date}}, quando contavano ancora come visitatori i crawler con l'aspetto di un normale browser: i dati di quei giorni sono gonfiati e non sono confrontabili con quelli successivi.",
      "dataSince": "I dati partono dal {{date}}. Il periodo scelto inizia prima: i suoi primi giorni sono vuoti perché non si misurava ancora, non perché non sia entrato nessuno.",
      "topPages": "Pagine più visitate",
      "topPagesByZone": {
        "web": "Pagine del sito pubblico",
        "booking": "Percorsi delle pagine di prenotazione",
        "app": "Schermate dell'applicazione",
        "other": "Percorsi non classificati"
      },
      "referrers": "Siti di provenienza",
      "countries": "Paesi",
      "langs": "Lingue",
      "devices": "Dispositivi",
      "utmSources": "UTM · sorgente",
      "utmCampaigns": "UTM · campagna",
      "pageTypes": "Tipi di pagina",
      "bookingPages": "Pagine di prenotazione più visitate",
      "direct": "(diretto)",
      "visitors": "visitatori",
      "views": "visualizzazioni",
      "showAll": "Mostra tutte e {{n}}",
      "showLess": "Mostra meno",
      "empty": "Niente da mostrare nel periodo",
      "openBooking": "Apri la pagina di prenotazione"
    },
    "tracking": {
      "excluded": "Questo browser non conta nelle statistiche.",
      "counted": "Questo browser conta nelle statistiche. Per escluderlo, accedi da qui come operatore (viene contrassegnato con la chiave locale {{key}}) oppure attiva Do-Not-Track o Global Privacy Control.",
      "reasons": {
        "operator": "Hai effettuato l'accesso come operatore della piattaforma.",
        "optout": "Ha la chiave locale {{key}}, salvata automaticamente quando accedi come operatore: non conta nemmeno senza sessione.",
        "dnt": "Ha Do-Not-Track attivo.",
        "gpc": "Invia il segnale Global Privacy Control."
      },
      "sessionOnly": "Non è stato possibile salvare la chiave locale {{key}}: senza sessione, questo browser tornerà a contare.",
      "otherDevices": "Gli altri tuoi dispositivi contano finché non accedi una volta da ciascuno come operatore."
    },
    "pageTypes": {
      "landing": "Landing",
      "seo": "Landing SEO",
      "blog": "Blog",
      "legal": "Note legali e contatti",
      "signup": "Registrazione",
      "login": "Accesso",
      "book": "Prenotazione pubblica",
      "portal": "Portale clienti",
      "app": "Applicazione",
      "other": "Altro"
    },
    "devices": {
      "desktop": "Desktop",
      "mobile": "Smartphone",
      "tablet": "Tablet"
    },
    "activity": {
      "businessTitle": "Attività commerciale",
      "businessNote": "Le aziende interne (test e demo) non vengono contate.",
      "apiTitle": "API",
      "topErrors": "Errori API più frequenti",
      "noErrors": "Nessun errore API nel periodo",
      "emailsNote": "Le email non riuscite sono evidenziate; quelle inviate servono da contesto.",
      "cols": {
        "method": "Metodo",
        "route": "Percorso",
        "status": "Codice",
        "hits": "Occorrenze",
        "lastAt": "Ultima volta"
      }
    },
    "health": {
      "checkedAt": "Verificato {{time}}",
      "version": "Commit",
      "env": "Ambiente",
      "region": "Regione",
      "configTitle": "Configurazione",
      "configNote": "Si controlla solo che ogni variabile abbia un valore in Vercel; nulla viene verificato presso Stripe, Resend, Cloudflare o Sentry.",
      "configSummary": "{{ok}} di {{total}} obbligatori",
      "dbTitle": "Database",
      "dbLatency": "Latenza",
      "dbOk": "Connesso",
      "dbSlow": "Connesso, lento",
      "dbDown": "Nessuna risposta",
      "cronsTitle": "Attività pianificate",
      "cronState": {
        "ok": "OK",
        "stale": "In ritardo",
        "failed": "Non riuscito",
        "never": "Mai eseguito"
      },
      "cronLast": "Ultima esecuzione",
      "cronSummary": "Vedi riepilogo (JSON)",
      "cronNoRuns": "Nessuna esecuzione registrata",
      "cronRecent": "Ultime esecuzioni",
      "cronHint": "Controlla CRON_SECRET in Vercel e il log di Vercel Cron; per «reminders», controlla anche il workflow reminders-hourly in GitHub Actions",
      "cronFailedHint": "Controlla l'errore dell'ultima esecuzione e il log della funzione in Vercel",
      "cronsError": "Impossibile leggere il registro dei cron: {{error}}",
      "errorsTitle": "Ultimi errori",
      "noErrors": "Nessun errore registrato",
      "api24Title": "API · ultime 24 h",
      "api24Note": "La latenza p95 è il tempo di risposta del server, senza contare i cron né le richieste di questo pannello; le altre cifre li includono.",
      "emails24Title": "Email · ultime 24 h",
      "requests": "Richieste",
      "errors5xx": "Errori 5xx",
      "errors4xx": "Errori 4xx",
      "p95": "Latenza p95",
      "sent": "Inviate",
      "failed": "Non riuscite",
      "noData": "Nessun dato",
      "migrationTitle": "La migrazione 31 non è stata applicata",
      "migrationBody": "L'analisi della piattaforma richiede le tabelle e le funzioni di {{file}}. Applicala in Supabase e ricarica.",
      "ok": "Corretto",
      "configured": "Configurato",
      "missing": "Mancante",
      "recommended": "Consigliato",
      "optional": "Opzionale",
      "on": "Attivato",
      "off": "Disattivato",
      "cols": {
        "time": "Quando",
        "logger": "Origine",
        "tenant": "Azienda",
        "message": "Messaggio"
      },
      "items": {
        "supabase": {
          "label": "Supabase (URL + chiave di servizio)",
          "hint": "Imposta SUPABASE_URL e SUPABASE_SERVICE_KEY in Vercel"
        },
        "rlsJwtSecret": {
          "label": "Segreto JWT di Supabase (RLS)",
          "hint": "Copia il JWT secret del progetto Supabase in SUPABASE_JWT_SECRET su Vercel"
        },
        "cronSecret": {
          "label": "Segreto dei cron",
          "hint": "Aggiungi CRON_SECRET in Vercel; senza di esso i cron rispondono 401"
        },
        "stripeSecretKey": {
          "label": "Chiave segreta di Stripe",
          "hint": "Aggiungi STRIPE_SECRET_KEY in Vercel"
        },
        "stripeWebhookSecret": {
          "label": "Webhook di Stripe",
          "hint": "Crea il webhook in Stripe e aggiungi STRIPE_WEBHOOK_SECRET in Vercel"
        },
        "stripePrices": {
          "label": "Prezzi di Stripe ({{n}}/{{total}})",
          "hint": "Mancano gli ID dei prezzi: STRIPE_PRICE_STARTER_MONTHLY/YEARLY e STRIPE_PRICE_PRO_MONTHLY/YEARLY"
        },
        "resend": {
          "label": "Resend (invio email)",
          "hint": "Aggiungi RESEND_API_KEY in Vercel"
        },
        "emailFrom": {
          "label": "Mittente email",
          "hint": "Imposta EMAIL_FROM con un dominio verificato in Resend"
        },
        "turnstile": {
          "label": "Turnstile (protezione anti-bot)",
          "hint": "Aggiungi TURNSTILE_SECRET_KEY; senza di esso la registrazione pubblica resta senza protezione"
        },
        "superadmins": {
          "label": "Amministratori della piattaforma ({{n}})",
          "hint": "Imposta SUPERADMIN_EMAILS (email separate da virgole)"
        },
        "publicAppBaseUrl": {
          "label": "URL pubblico dell'app",
          "hint": "Imposta PUBLIC_APP_BASE_URL (es. https://www.bookingfornow.com)"
        },
        "sentry": {
          "label": "Sentry (errori del backend)",
          "hint": "Gli errori vengono già salvati qui sotto, in «Ultimi errori». Con SENTRY_DSN vengono inviati anche a Sentry."
        },
        "twilio": {
          "label": "Twilio (SMS)",
          "hint": "Dipende da TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN e TWILIO_FROM_NUMBER. Con tutte e tre, le aziende del piano Pro inviano promemoria e conferme via SMS; se ne manca una, non ne viene inviato nessuno. Oggi nessun piano lo pubblicizza."
        },
        "tenantSubdomains": {
          "label": "Sottodominio dedicato per attività",
          "hint": "Con CLOUDFLARE_API_TOKEN, CLOUDFLARE_ZONE_ID, VERCEL_TOKEN e VERCEL_PROJECT_ID, ogni registrazione crea il suo <attivita>.bookingfornow.com finché il progetto Vercel ha meno di VERCEL_MAX_DOMAINS domini (45 di default; aumentalo passando a Vercel Pro)"
        },
        "signupEnabled": {
          "label": "Registrazione pubblica",
          "hint": "SIGNUP_ENABLED=true consente nuove iscrizioni"
        },
        "demoEnabled": {
          "label": "Modalità demo",
          "hint": "Apre solo l'account demo dell'applicazione (e lo reimposta ogni giorno). La demo pubblica del sito (/en/demo) funziona sempre e non dipende da questo."
        },
        "cronSecretExternal": {
          "label": "Credenziale dell'attivazione oraria (GitHub Actions)",
          "hint": "Aggiungi CRON_SECRET_EXTERNAL su Vercel e lo stesso valore come secret del repository su GitHub; senza, i promemoria partono solo una volta al giorno con il cron di Vercel"
        }
      },
      "schema": {
        "title": "Schema del database",
        "unknown": "Non verificato",
        "migrationsLabel": "Migrazioni SQL",
        "migrationsCount": "{{applied}} di {{total}} registrate in schema_migrations",
        "pendingState": "In sospeso: {{n}}",
        "pendingHint": "Applica queste migrazioni prima di distribuire codice che ne dipende:",
        "baselineHint": "Nessuna migrazione registrata. Se il database era già aggiornato, non applicarle: controlla lo stato con --list e registrale con --baseline --until=N.",
        "reasons": {
          "SQL_DIR_UNAVAILABLE": "Il deploy non include backend/sql, quindi non è possibile confrontarlo con il database.",
          "MIGRATIONS_TABLE_MISSING": "La tabella schema_migrations non esiste: il database è stato migrato a mano. Registra ciò che è già applicato con --baseline --until=N.",
          "MIGRATIONS_TABLE_UNREADABLE": "Impossibile leggere la tabella schema_migrations."
        },
        "overlapLabel": "Protezione dalle sovrapposizioni degli appuntamenti (migrazione 32)",
        "overlapOff": "Non attiva",
        "overlapOffHint": "Il vincolo appointments_no_practitioner_overlap non esiste: se due persone prenotano nello stesso momento la stessa fascia oraria con lo stesso professionista, possono passare entrambe le prenotazioni. Cerca gli avvisi «32/1 SALTADO» della migrazione 32, correggi la causa ed esegui di nuovo il suo blocco 1.",
        "overlapPendingHint": "La migrazione 32 non è ancora stata applicata: la protezione viene creata quando la applichi (vedi l'elenco delle migrazioni in sospeso).",
        "overlapReasons": {
          "RPC_MISSING": "Impossibile verificare: manca la funzione platform_schema_flags della migrazione 31.",
          "RPC_ERROR": "Impossibile verificare il vincolo anti-sovrapposizione.",
          "RPC_UNEXPECTED": "La verifica del vincolo anti-sovrapposizione ha restituito una risposta inattesa."
        },
        "notApplied": "Non applicato",
        "flagPendingHint": "Arriva con la migrazione {{n}}, che è ancora in sospeso (vedi l'elenco delle migrazioni in sospeso).",
        "flagsLabel": "Altre verifiche dello schema",
        "flagsReasons": {
          "RPC_OUTDATED": "La funzione platform_schema_flags è ancora quella della migrazione 31. Applica la migrazione 33 per verificare il resto dello schema (se risulta già applicata, cerca l'avviso «33/6 SALTADO»).",
          "RPC_MISSING": "Impossibile verificare: manca la funzione platform_schema_flags (migrazioni 31 e 33).",
          "RPC_ERROR": "Impossibile interrogare lo stato dello schema.",
          "RPC_UNEXPECTED": "La verifica dello schema ha restituito una risposta inattesa."
        },
        "flags": {
          "unassignedOverlap": {
            "label": "Anti-sovrapposizione degli appuntamenti senza professionista (migrazione 33)",
            "hint": "Il vincolo appointments_no_unassigned_overlap non esiste: due appuntamenti senza professionista assegnato possono occupare la stessa fascia oraria nello stesso momento. Cerca l'avviso «33/2 SALTADO» della migrazione 33, risolvi le sovrapposizioni indicate ed eseguila di nuovo."
          },
          "durationCheck": {
            "label": "Durata coerente degli appuntamenti (migrazione 33)",
            "hint": "Il vincolo appointments_duration_consistent non esiste o non è convalidato: potrebbero esserci appuntamenti con un orario di fine che non corrisponde alla durata. Cerca gli avvisi «33/3» della migrazione 33, correggi quegli appuntamenti ed eseguila di nuovo."
          },
          "localeColumn": {
            "label": "Lingua del cliente negli appuntamenti (migrazione 33)",
            "hint": "Manca la colonna appointments.locale, dove si salva la lingua del cliente per scrivergli nella sua lingua. Cerca l'avviso «33/1 SALTADO» della migrazione 33, correggi la causa ed eseguila di nuovo."
          },
          "rateLimit": {
            "label": "Limite di richieste condiviso (migrazione 33)",
            "hint": "Manca la tabella rate_limit_hits o la funzione rate_limit_hit: la registrazione e i backup sono limitati solo nella memoria di ogni istanza, facile da aggirare. Cerca l'avviso «33/4 SALTADO» della migrazione 33 ed eseguila di nuovo."
          },
          "logsPrune": {
            "label": "Conservazione automatica dei registri (migrazione 33)",
            "hint": "Manca la funzione logs_prune: il cron giornaliero non applica la conservazione (le email più vecchie di un anno mantengono destinatario e oggetto, e i registri più vecchi di 3 anni non vengono eliminati). Cerca l'avviso «33/5 SALTADO» della migrazione 33 ed eseguila di nuovo."
          },
          "patientsSoftDelete": {
            "label": "Eliminazione dei clienti con anonimizzazione (migrazione 21)",
            "hint": "Mancano le colonne deletedAt o anonymizedAt di patients: l'eliminazione dei clienti con anonimizzazione e le query che escludono i clienti eliminati non funzionano. Applica (o esegui di nuovo) la migrazione 21."
          },
          "planDeactivation": {
            "label": "Disattivazione delle risorse in base al piano (migrazione 30)",
            "hint": "Manca la colonna deactivatedByPlan in practitioners o locations: passando a un piano inferiore non si possono disattivare i professionisti e le sedi in eccesso, né riattivarli tornando a un piano superiore. Applica (o esegui di nuovo) la migrazione 30."
          },
          "legacyWhatsapp": {
            "label": "Pulizia delle vecchie colonne di WhatsApp (migrazione 34)",
            "hint": "La tabella appointments ha ancora le colonne whatsappReminderSent e whatsappReminderSentAt, che non vengono più usate. La migrazione 34 le elimina ed è distruttiva: applicala con --allow-destructive dopo aver fatto un backup."
          }
        }
      },
      "top4xx": {
        "title": "4xx più frequenti",
        "hint": "Qualsiasi /api/* inesistente risponde 401 se arriva senza sessione, quindi un 401 su una rotta sconosciuta è un bot, uno scanner o una prova manuale. Controlla solo le rotte tue che si ripetono."
      }
    },
    "tenants": {
      "search": "Cerca per nome o slug…",
      "count_one": "{{count}} azienda",
      "count_few": "{{count}} aziende",
      "count_many": "{{count}} aziende",
      "count_other": "{{count}} aziende",
      "basicMode": "Dati di attività non disponibili; viene mostrato l'elenco di base.",
      "never": "Mai",
      "trialUntil": "Prova fino al {{date}}",
      "originDirect": "Diretto",
      "noResults": "Nessuna azienda corrisponde al filtro",
      "openBooking": "Apri la sua pagina di prenotazione",
      "referral": {
        "referredBy": "Consigliato da {{slug}}",
        "statusPending": "non attivato",
        "statusActivated": "attivato",
        "summary": "Ha consigliato {{referred}} · {{activated}} attivi · {{rewards}} premi",
        "failed": "Premi non applicati: {{n}} (da verificare)"
      },
      "sort": {
        "label": "Ordina per",
        "lastActivity": "Ultima attività",
        "created": "Data di iscrizione",
        "name": "Nome",
        "appointments": "Appuntamenti del periodo"
      },
      "cols": {
        "patients": "Clienti",
        "appointments": "Appuntamenti ({{days}} g)",
        "online": "Online ({{days}} g)",
        "lastActivity": "Ultima attività",
        "bookingViews": "Visite prenotazione",
        "actions": "Azioni"
      }
    },
    "confirmPlan": {
      "title": "Cambia piano",
      "message": "Cambiare il piano di {{name}} da «{{from}}» a «{{to}}»? Il backend adeguerà le risorse ai limiti del nuovo piano.",
      "confirm": "Cambia piano"
    },
    "confirmSuspend": {
      "title": "Sospendi azienda",
      "message": "Sospendere {{name}}? Il suo team perderà subito l'accesso e la sua pagina di prenotazione smetterà di accettare appuntamenti. Puoi riattivarla quando vuoi."
    },
    "unavailable": {
      "title": "Analisi non disponibile",
      "migration": "Non è stata applicata la migrazione 31 del database, che crea le tabelle e le funzioni di analisi.",
      "error": "Il backend ha restituito un errore durante il calcolo delle analisi.",
      "loadError": "Impossibile caricare le analisi (HTTP {{status}}).",
      "howTo": "Come risolvere",
      "migrationSteps": "Esegui «{{cmd}}» da backend/ (applica {{file}}) e ricarica questa pagina.",
      "retry": "Riprova"
    },
    "errors": {
      "TENANT_HAS_SUBSCRIPTION": "Questa azienda ha un abbonamento Stripe: il suo piano è gestito da Stripe. Modificalo o annullalo prima lì.",
      "TENANT_HAS_ACTIVE_PLAN": "Questa azienda ha un piano di cortesia attivo. Passala prima a Free e poi estendi la prova.",
      "TENANT_NOT_FOUND": "Questa azienda non esiste più.",
      "INVALID_TENANT_ID": "Identificativo azienda non valido.",
      "INVALID_PLAN": "Questo piano non è valido."
    }
  },
  "businessHours": {
    "eyebrow": "Azienda",
    "title": "Orario di lavoro",
    "open": "Aperto",
    "closed": "Chiuso",
    "addWindow": "+ Aggiungi fascia",
    "quitarTramo": "Rimuovi fascia",
    "desde": "Dalle",
    "hasta": "Alle",
    "errorFormato": "Formato orario non valido. Controlla gli orari (HH:MM) di ogni fascia.",
    "days": {
      "mon": "Lunedì",
      "tue": "Martedì",
      "wed": "Mercoledì",
      "thu": "Giovedì",
      "fri": "Venerdì",
      "sat": "Sabato",
      "sun": "Domenica"
    }
  },
  "subscriptionBanner": {
    "manage": "Gestisci",
    "trialEndsToday": "Il tuo periodo di prova termina oggi. Scegli un piano per mantenere tutte le funzioni.",
    "pastDue": "Il tuo ultimo pagamento non è andato a buon fine. Aggiorna il metodo di pagamento per evitare la sospensione del servizio.",
    "unpaid": "Ci sono fatture in sospeso sul tuo account. Regolarizza il pagamento per mantenere attivo il servizio.",
    "canceled": "Il tuo abbonamento è stato annullato. Riattiva un piano per continuare a usare la piattaforma.",
    "incompleteExpired": "Non è stato possibile completare il tuo abbonamento. Riprova il pagamento per attivare il piano.",
    "generic": "C'è un problema con il tuo abbonamento. Controlla le impostazioni di fatturazione.",
    "freeHint": "Sei sul piano Free. Quando la tua attività crescerà, passa a un piano superiore per ampliare limiti e funzioni.",
    "viewPlans": "Vedi i piani",
    "trialEndsInDays_one": "Il tuo periodo di prova termina tra {{count}} giorno. Scegli un piano per mantenere tutte le funzioni.",
    "trialEndsInDays_few": "Il tuo periodo di prova termina tra {{count}} giorni. Scegli un piano per mantenere tutte le funzioni.",
    "trialEndsInDays_many": "Il tuo periodo di prova termina tra {{count}} giorni. Scegli un piano per mantenere tutte le funzioni.",
    "trialEndsInDays_other": "Il tuo periodo di prova termina tra {{count}} giorni. Scegli un piano per mantenere tutte le funzioni."
  },
  "titles": {
    "home": "Software di prenotazione online gratuito",
    "suspended": "Account sospeso",
    "login": "Accedi al tuo software di prenotazione",
    "resetPassword": "Recupera password",
    "agenda": "Agenda",
    "clients": "Clienti",
    "clientDetail": "Scheda del cliente",
    "settings": "Impostazioni",
    "billing": "Fatturazione",
    "catalogs": "Cataloghi",
    "audit": "Registro di audit",
    "timeBlocks": "Blocchi orari",
    "bookingSettings": "Impostazioni prenotazione online",
    "pendingBookings": "Prenotazioni in attesa",
    "platform": "Piattaforma",
    "publicBooking": "Prenota online",
    "myAppointment": "Il mio appuntamento",
    "signup": "Crea il tuo account gratis: 14 giorni di prova senza carta",
    "notFound": "Pagina non trovata",
    "team": "Team",
    "bonos": "Pacchetti"
  },
  "notFound": {
    "eyebrow": "Errore 404",
    "title": "Pagina non trovata",
    "lead": "La pagina che cerchi non esiste o ha cambiato indirizzo.",
    "home": "Vai alla pagina principale"
  },
  "a11y": {
    "skipToContent": "Vai al contenuto"
  },
  "confirmModal": {
    "title": "Conferma azione",
    "message": "Sei sicuro di voler continuare?",
    "itemLabel": "Elemento"
  },
  "whatsappCta": {
    "homeLabel": "Dubbi? Scrivici su WhatsApp",
    "homeMessage": "Ciao, ho visto BookingForNow e ho una domanda",
    "signupLead": "Dubbi sulla registrazione?",
    "signupLabel": "Scrivici su WhatsApp",
    "signupMessage": "Ciao, mi sto registrando su BookingForNow e ho una domanda",
    "ariaLabel": "{{label}} (si apre in una nuova scheda)"
  },
  "tour": {
    "stepOf": "Passo {{current}} di {{total}}",
    "close": "Chiudi il tutorial",
    "skip": "Salta tutorial",
    "configure": "Vai alla configurazione",
    "finish": "Fine",
    "relaunch": "Vedi tutorial",
    "relaunchAria": "Vedi il tutorial di configurazione",
    "steps": {
      "business": {
        "title": "La tua attività",
        "body": "Inizia dai dati della tua attività: il telefono, l'email e l'indirizzo che i tuoi clienti vedranno al momento della prenotazione, oltre a lingua, valuta e fuso orario."
      },
      "team": {
        "title": "Il tuo team",
        "body": "Un professionista sei tu o ogni persona del tuo team che si occupa degli appuntamenti. Aggiungine almeno uno per poter ricevere prenotazioni. Lo trovi nella scheda «Professionisti»."
      },
      "services": {
        "title": "I tuoi servizi",
        "body": "I servizi sono ciò che offri (una seduta, un taglio, un controllo, una lezione…), ognuno con la sua durata e il suo prezzo. Creali nella scheda «Servizi»."
      },
      "hours": {
        "title": "Il tuo orario",
        "body": "Imposta il tuo orario di apertura in modo che i clienti possano prenotare solo quando sei disponibile."
      },
      "link": {
        "title": "Condividi il tuo link di prenotazione",
        "body": "La tua pagina accetta già prenotazioni: condividi il tuo link pubblico perché i clienti possano prenotare da soli. Lo trovi in «Impostazioni prenotazione online», dove puoi anche disattivarla.",
        "cta": "Vai al mio link"
      }
    }
  },
  "team": {
    "eyebrow": "Impostazioni",
    "title": "Team",
    "subtitle": "Dai accesso alla tua agenda ai tuoi professionisti e alla reception, ognuno con i permessi giusti.",
    "loadError": "Impossibile caricare il team.",
    "retry": "Riprova",
    "invite": {
      "title": "Invita una persona",
      "email": "Email",
      "emailPlaceholder": "nome@esempio.com",
      "role": "Ruolo",
      "practitioner": "Il suo profilo professionista",
      "practitionerNone": "Non collegato",
      "practitionerHelp": "Collegalo al suo profilo professionista perché possa gestire i propri blocchi orari.",
      "send": "Invia invito",
      "sending": "Invio…"
    },
    "members": {
      "linkOf": "Profilo professionista di {{email}}",
      "title": "Persone con accesso",
      "you": "Tu",
      "pending": "Invito in attesa",
      "lastSeen": "Ultimo accesso: {{date}}",
      "roleOf": "Ruolo di {{email}}",
      "resend": "Reinvia",
      "remove": "Rimuovi accesso"
    },
    "toasts": {
      "linkChanged": "Profilo professionista aggiornato",
      "invited": "Invito inviato a {{email}}",
      "resent": "Invito reinviato a {{email}}",
      "roleChanged": "Ruolo aggiornato",
      "removed": "{{email}} non ha più accesso"
    },
    "errors": {
      "PRACTITIONER_ALREADY_LINKED": "Questo profilo professionista è già collegato a un altro account.",
      "PRACTITIONER_NOT_FOUND": "Questo profilo professionista non esiste più.",
      "INVALID_EMAIL": "Questa email non è valida.",
      "INVALID_ROLE": "Questo ruolo non è valido.",
      "ROLE_NOT_ALLOWED": "Non hai il permesso di assegnare o gestire questo ruolo.",
      "ALREADY_MEMBER": "Questa persona fa già parte del team.",
      "PLAN_LIMIT_REACHED": "Hai raggiunto il numero di utenti previsto dal tuo piano.",
      "CANNOT_MODIFY_SELF": "Non puoi modificare il tuo accesso.",
      "OWNER_PROTECTED": "Il proprietario non può essere modificato da qui.",
      "NOT_FOUND": "Questa persona non fa più parte del team.",
      "INVITE_LINK_FAILED": "Impossibile generare l'invito. Riprova tra qualche minuto.",
      "AUTH_UNAVAILABLE": "Il servizio di accesso non è disponibile al momento.",
      "ACCOUNT_MISMATCH": "L'account di questa persona è cambiato. Rimuovi il suo accesso e invitala di nuovo.",
      "copyFailed": "Impossibile copiare. Seleziona il link e copialo manualmente."
    },
    "seats": {
      "count": "{{used}} di {{limit}} utenti",
      "unlimited": "{{used}} utenti · nessun limite",
      "full": "Hai raggiunto il numero di utenti previsto dal tuo piano.",
      "upgrade": "Vedi i piani"
    },
    "manual": {
      "title": "Condividi tu il link di accesso",
      "body": "Non siamo riusciti a inviare l'email a {{email}}. Copia questo link e invialo tramite WhatsApp o il canale che preferisci.",
      "linkLabel": "Link di accesso",
      "copy": "Copia link",
      "copied": "Copiato",
      "expires": "Il link è personale e scade tra 24 ore. Non pubblicarlo."
    },
    "confirmRemove": {
      "title": "Rimuovi accesso",
      "message": "Rimuovere l'accesso di {{email}}? Non potrà più accedere alla tua agenda, con effetto immediato. I suoi appuntamenti e i suoi dati non vengono eliminati."
    },
    "rolesGuide": {
      "title": "Cosa può fare ogni ruolo"
    },
    "roles": {
      "owner": {
        "name": "Proprietario",
        "help": "Tutto, compresi l'abbonamento e la gestione del team."
      },
      "admin": {
        "name": "Amministratore",
        "help": "Gestisce agenda, clienti, incassi, servizi e impostazioni. Può invitare professionisti e reception. Non vede l'abbonamento."
      },
      "practitioner": {
        "name": "Professionista",
        "help": "Lavora con l'agenda, i clienti e le relative note. Non gestisce incassi, report né impostazioni."
      },
      "receptionist": {
        "name": "Reception",
        "help": "Gestisce agenda, clienti, incassi e pacchetti. Non vede le note private dei professionisti."
      },
      "readonly": {
        "name": "Sola lettura",
        "help": "Può consultare l'agenda e i clienti, ma non modificare nulla."
      }
    },
    "managersOnly": "Solo il proprietario o un amministratore può gestire il team."
  },
  "theme": {
    "label": "Tema",
    "light": "Chiaro",
    "dark": "Scuro",
    "system": "Sistema"
  }
}
