export default {
  // Navigation
  nav: {
    printers: 'Stampanti',
    archives: 'Archivi',
    queue: 'Coda',
    stats: 'Statistiche',
    profiles: 'Profili',
    maintenance: 'Manutenzione',
    projects: 'Progetti',
    files: 'File',
    settings: 'Impostazioni',
    system: 'Sistema',
    collapseSidebar: 'Comprimi barra laterale',
    expandSidebar: 'Espandi barra laterale',
    update: 'Aggiorna',
    updateAvailable: 'Aggiornamento disponibile: v{{version}}',
    updateAvailableBanner: 'Versione {{version}} disponibile!',
    viewUpdate: 'Vedi aggiornamento',
    viewOnGithub: 'Vedi su GitHub',
    keyboardShortcuts: 'Scorciatoie da tastiera (?)',
    switchToLight: 'Passa a tema chiaro',
    switchToDark: 'Passa a tema scuro',
    smartSwitches: 'Interruttori Smart',
    logout: 'Esci',
  },

  // Common
  common: {
    save: 'Salva',
    saving: 'Salvataggio...',
    cancel: 'Annulla',
    delete: 'Elimina',
    edit: 'Modifica',
    add: 'Aggiungi',
    close: 'Chiudi',
    confirm: 'Conferma',
    loading: 'Caricamento...',
    error: 'Errore',
    success: 'Successo',
    warning: 'Avviso',
    enabled: 'Abilitato',
    disabled: 'Disabilitato',
    yes: 'Si',
    no: 'No',
    on: 'On',
    off: 'Off',
    all: 'Tutti',
    none: 'Nessuno',
    search: 'Cerca',
    filter: 'Filtro',
    sort: 'Ordina',
    refresh: 'Aggiorna',
    download: 'Scarica',
    upload: 'Carica',
    actions: 'Azioni',
    status: 'Stato',
    name: 'Nome',
    description: 'Descrizione',
    date: 'Data',
    time: 'Ora',
    hours: 'ore',
    minutes: 'minuti',
    seconds: 'secondi',
    days: 'giorni',
    enable: 'Abilita',
    disable: 'Disabilita',
    permissions: 'Permessi',
    noPrinters: 'Nessuna stampante configurata',
    noData: 'Nessun dato disponibile',
    linkNotFound: 'Link non trovato',
    required: 'Obbligatorio',
    optional: 'Opzionale',
    dismiss: 'Chiudi',
    apply: 'Applica',
    reset: 'Reimposta',
    clear: 'Pulisci',
    selectAll: 'Seleziona tutto',
    deselectAll: 'Deseleziona tutto',
    noChange: '— Nessun cambio —',
    unchanged: 'Invariato',
    unassigned: 'Non assegnato',
    unknown: 'Sconosciuto',
    unknownError: 'Errore sconosciuto',
    today: 'Oggi',
    tomorrow: 'Domani',
    asap: 'ASAP',
    overdue: 'Scaduto',
    now: 'Ora',
    collapse: 'Comprimi',
    expand: 'Espandi',
    viewArchive: 'Vedi archivio',
    viewInFileManager: 'Vedi nel Gestore file',
    addedBy: 'Aggiunto da {{username}}',
    prints: 'stampe',
    more: '+{{count}} altre',
    ascending: 'Crescente',
    descending: 'Decrescente',
    printer: 'Stampante',
    remove: 'Rimuovi',
    type: 'Tipo',
    print: 'Stampa',
    rename: 'Rinomina',
    move: 'Sposta',
    create: 'Crea',
    duplicate: 'Duplica',
    left: 'Sinistra',
    right: 'Destra',
  },

  // Printers page
  printers: {
    title: 'Stampanti',
    addPrinter: 'Aggiungi Stampante',
    editPrinter: 'Modifica Stampante',
    deletePrinter: 'Elimina Stampante',
    printerName: 'Nome Stampante',
    serialNumber: 'Numero Seriale',
    ipAddress: 'Indirizzo IP',
    accessCode: 'Codice di Accesso',
    model: 'Modello',
    nozzleCount: 'Numero Ugelli',
    autoArchive: 'Auto Archiviazione',
    status: {
      available: 'Disponibile',
      idle: 'Inattiva',
      printing: 'In stampa',
      paused: 'In pausa',
      offline: 'Offline',
      error: 'Errore',
      finished: 'Finita',
      unknown: 'Sconosciuto',
    },
    temperatures: {
      nozzle: 'Ugello',
      bed: 'Piatto',
      chamber: 'Camera',
    },
    progress: '{{percent}}% completato',
    timeRemaining: '{{time}} rimanente',
    deleteConfirm: 'Sei sicuro di eliminare "{{name}}"?',
    maintenanceOk: 'Manutenzione OK',
    maintenanceWarning: '{{count}} avviso',
    maintenanceWarning_plural: '{{count}} avvisi',
    maintenanceDue: '{{count}} in scadenza',
    maintenanceDue_plural: '{{count}} in scadenza',
    // Sort options
    sort: {
      name: 'Nome',
      status: 'Stato',
      model: 'Modello',
      location: 'Posizione',
      ascending: 'Ordina crescente',
      descending: 'Ordina decrescente',
    },
    // Card size
    cardSize: {
      small: 'Schede piccole',
      medium: 'Schede medie',
      large: 'Schede grandi',
      extraLarge: 'Schede extra grandi',
    },
    // Controls
    hideOffline: 'Nascondi offline',
    nextAvailable: 'Prossima disponibile',
    powerOn: 'Accendi',
    offlinePrintersWithPlugs: 'Stampanti offline con smart plug',
    noPrintersConfigured: 'Nessuna stampante configurata',
    // Printer card
    readyToPrint: 'Pronta a stampare',
    external: 'Esterna',
    extL: 'Ext-L',
    extR: 'Ext-R',
    deleteArchives: 'Elimina archivi stampa',
    noLabel: 'Nessuna etichetta',
    printPreview: 'Anteprima stampa',
    width: 'Larghezza',
    height: 'Altezza',
    noObjectsFound: 'Nessun oggetto trovato',
    objectsLoadedOnPrintStart: 'Gli oggetti sono caricati quando inizia una stampa',
    willBeSkipped: 'Verra saltato',
    name: 'Nome',
    serialCannotBeChanged: 'Il numero seriale non può essere cambiato',
    locationHelp: 'Usato per raggruppare stampanti e filtrare i lavori in coda',
    // WiFi signal strength
    wifiSignal: {
      veryWeak: 'Molto debole',
      weak: 'Debole',
      fair: 'Discreto',
      good: 'Buono',
      excellent: 'Eccellente',
    },
    // Maintenance
    maintenanceUpToDate: 'Tutta la manutenzione aggiornata - Clicca per vedere',
    // Chamber light
    chamberLightOn: 'Accendi luce camera',
    chamberLightOff: 'Spegni luce camera',
    // Files
    browseFiles: 'Sfoglia file stampante',
    // Smart plug
    autoOffAfterPrint: 'Spegnimento automatico dopo stampa',
    autoOffExecuted: 'Spegnimento automatico eseguito - accendi la stampante per reimpostare',
    // HMS errors
    hmsErrors: 'Errori HMS',
    viewHmsErrors: 'Vedi {{count}} errore(i) HMS',
    // Actions
    resume: 'Riprendi',
    pause: 'Pausa',
    stop: 'Ferma',
    camera: 'Camera',
    skipObject: 'Salta Oggetto',
    reconnect: 'Riconnetti',
    mqttDebug: 'Debug MQTT',
    activeNozzle: 'Attivo: ugello {{nozzle}}',
    nozzleRack: 'Rack Ugelli',
    nozzleDocked: 'Agganciato',
    nozzleMounted: 'Montato',
    nozzleWear: 'Usura',
    nozzleMaxTemp: 'Temp Max',
    nozzleSerial: 'Seriale',
    nozzleHardenedSteel: 'Acciaio Temprato',
    nozzleStainlessSteel: 'Acciaio Inox',
    nozzleTungstenCarbide: 'Carburo di Tungsteno',
    nozzleFlow: 'Flusso',
    nozzleHighFlow: 'Alto Flusso',
    nozzleStandardFlow: 'Standard',
    // Firmware
    firmwareUpdate: 'Aggiornamento Firmware',
    firmwareInstructions: 'Sul touchscreen della stampante, vai a',
    firmwareNav: 'Vai a',
    settings: 'Impostazioni',
    firmware: 'Firmware',
    // Discovery
    discoverPrinters: 'Trova Stampanti',
    searching: 'Ricerca...',
    manualEntry: 'Inserimento manuale',
    addFromCloud: 'Aggiungi da Cloud',
    // Toast messages
    toast: {
      printerDeleted: 'Stampante eliminata',
      printerAdded: 'Stampante aggiunta',
      printerUpdated: 'Stampante aggiornata',
      failedToDelete: 'Impossibile eliminare stampante',
      failedToAdd: 'Impossibile aggiungere stampante',
      failedToUpdate: 'Impossibile aggiornare stampante',
      commandSent: 'Comando inviato',
      failedToSendCommand: 'Impossibile inviare comando',
      turnedOn: '{{name}} accesa',
      failedToPowerOn: 'Impossibile accendere {{name}}',
      scriptTriggered: 'Script avviato',
      printStopped: 'Stampa fermata',
      printPaused: 'Stampa in pausa',
      printResumed: 'Stampa ripresa',
      referenceDeleted: 'Riferimento eliminato',
      detectionAreaSaved: 'Area rilevamento salvata',
      failedToRunScript: 'Impossibile eseguire script',
      failedToStopPrint: 'Impossibile fermare stampa',
      failedToPausePrint: 'Impossibile mettere in pausa stampa',
      failedToResumePrint: 'Impossibile riprendere stampa',
      failedToControlChamberLight: 'Impossibile controllare luce camera',
      failedToUpdateSetting: 'Impossibile aggiornare impostazione',
      failedToSkipObjects: 'Impossibile saltare oggetti',
      failedToRereadRfid: 'Impossibile rileggere RFID',
      failedToCheckPlate: 'Impossibile controllare piatto',
      failedToUpdateLabel: 'Impossibile aggiornare etichetta',
      failedToDeleteReference: 'Impossibile eliminare riferimento',
      failedToSaveDetectionArea: 'Impossibile salvare area rilevamento',
      plateCheckEnabled: 'Controllo piatto abilitato',
      plateCheckDisabled: 'Controllo piatto disabilitato',
      calibrationSaved: 'Calibrazione salvata!',
      calibrationFailed: 'Calibrazione non riuscita',
      rfidRereadInitiated: 'Rilettura RFID avviata',
    },
    // Connection status
    connection: {
      connected: 'Connesso',
      offline: 'Offline',
    },
    // Queue info
    queue: {
      inQueue: '{{count}} stampa in coda',
      inQueue_plural: '{{count}} stampe in coda',
    },
    // Controls section
    controls: 'Controlli',
    // RFID
    rfid: {
      reread: 'Rileggi RFID',
    },
    // Permissions
    permission: {
      noAdd: 'Non hai il permesso di aggiungere stampanti',
      noEdit: 'Non hai il permesso di modificare stampanti',
      noDelete: 'Non hai il permesso di eliminare stampanti',
      noControl: 'Non hai il permesso di controllare stampanti',
      noFiles: 'Non hai il permesso di accedere ai file stampante',
      noAmsRfid: 'Non hai il permesso di rileggere AMS RFID',
      noSmartPlugControl: 'Non hai il permesso di controllare smart plug',
      noCamera: 'Non hai il permesso di visualizzare le telecamere',
    },
    // Add/Edit modal
    modal: {
      addTitle: 'Aggiungi Stampante',
      editTitle: 'Modifica Stampante',
      myPrinter: 'La mia Stampante',
      selectModel: 'Seleziona modello...',
      locationGroup: 'Posizione / Gruppo (opzionale)',
      locationPlaceholder: 'es. Officina, Ufficio, Cantina',
      autoArchiveLabel: 'Archivia automaticamente stampe completate',
      fromPrinterSettings: 'Dalle impostazioni della stampante',
      modelOptional: 'Modello (opzionale)',
      saveChanges: 'Salva modifiche',
    },
    // Skip objects
    skipObjects: {
      tooltip: 'Salta oggetti',
      onlyWhilePrinting: 'Salta oggetti (solo durante la stampa)',
      requiresMultiple: 'Salta oggetti (richiede 2+ oggetti)',
      title: 'Salta Oggetti',
      matchIdsInfo: 'Abbina gli ID con il display della stampante',
      printerShowsIds: 'Lo schermo mostra gli ID oggetto sul piatto',
      skipSelected: 'Salta selezionati',
      skipping: 'Saltando...',
      noObjectsSelected: 'Nessun oggetto selezionato',
      selectObjectsToSkip: 'Seleziona gli oggetti da saltare nella stampa corrente',
      skipped: 'saltato',
      objectsSkipped: 'Oggetti saltati',
      activeCount: '{{count}} attivi',
      waitForLayer: 'Attendi il layer 2+ per saltare oggetti (attualmente layer {{layer}})',
      skip: 'Salta',
      confirmTitle: 'Saltare oggetto?',
      confirmMessage: 'Sei sicuro di voler saltare "{{name}}"? Questa azione non può essere annullata.',
    },
    // Confirm modals
    confirm: {
      deleteTitle: 'Elimina Stampante',
      deleteMessage: 'Sei sicuro di eliminare "{{name}}"? Questo rimuoverà tutte le impostazioni di connessione.',
      deleteArchivesNote: 'Tutta la cronologia di stampa sarà eliminata definitivamente.',
      keepArchivesNote: 'La cronologia sarà mantenuta ma non più associata a questa stampante.',
      stopTitle: 'Ferma Stampa',
      stopMessage: 'Sei sicuro di fermare la stampa corrente su "{{name}}"? Questo annullerà il lavoro di stampa.',
      stopButton: 'Ferma Stampa',
      pauseTitle: 'Pausa Stampa',
      pauseMessage: 'Sei sicuro di mettere in pausa la stampa corrente su "{{name}}"?',
      pauseButton: 'Pausa Stampa',
      resumeTitle: 'Riprendi Stampa',
      resumeMessage: 'Sei sicuro di riprendere la stampa su "{{name}}"?',
      resumeButton: 'Riprendi Stampa',
      powerOnTitle: 'Accendi Stampante',
      powerOnMessage: 'Sei sicuro di accendere "{{name}}"?',
      powerOnButton: 'Accendi',
      powerOffTitle: 'Spegni Stampante',
      powerOffMessage: 'Sei sicuro di spegnere "{{name}}"?',
      powerOffWarning: 'AVVISO: "{{name}}" sta stampando! Sei sicuro di spegnere? Questo interromperà la stampa e potrebbe danneggiare la stampante.',
      powerOffButton: 'Spegni',
    },
    // Discovery
    discovery: {
      title: 'Trova Stampanti',
      searching: 'Ricerca...',
      scanning: 'Scansione...',
      scanProgress: 'Scansione... {{scanned}}/{{total}}',
      foundPrinters: 'Trovate {{count}} stampante(i)',
      noPrintersFound: 'Nessuna stampante trovata',
      noPrintersFoundSubnet: 'Nessuna stampante trovata nella sottorete specificata.',
      noPrintersFoundNetwork: 'Nessuna stampante trovata sulla rete.',
      allConfigured: 'Tutte le stampanti trovate sono già configurate.',
      alreadyAdded: 'Già aggiunta',
      select: 'Seleziona',
      manualEntry: 'Inserimento manuale',
      addFromCloud: 'Aggiungi da Cloud',
      subnetToScan: 'Sottorete da scansionare',
      dockerNote: 'Docker rilevato. Inserisci la sottorete della stampante in notazione CIDR. Richiede network_mode: host in docker-compose.yml.',
      scanSubnet: 'Scansiona sottorete per stampanti',
      discoverNetwork: 'Trova stampanti in rete',
      scanningSubnet: 'Scansione sottorete per stampanti Bambu...',
      scanningNetwork: 'Scansione rete...',
      serialRequired: 'Seriale richiesto',
      unknown: 'Sconosciuto',
      failedToStart: 'Avvio ricerca non riuscito',
    },
    // Filaments section
    filaments: 'Filamenti',
    // Camera
    openCameraOverlay: 'Apri overlay camera',
    openCameraWindow: 'Apri camera in nuova finestra',
    // Firmware
    firmwareUpdateAvailable: 'Aggiornamento firmware disponibile: {{current}} → {{latest}}',
    firmwareUpToDate: 'Firmware {{version}} — Aggiornato',
    firmwareUpdateButton: 'Aggiorna',
    // Plate detection
    plateDetection: {
      noPermission: 'Non hai il permesso di aggiornare le stampanti',
      enabledClick: 'Controllo piatto abilitato - Clicca per disabilitare',
      disabledClick: 'Controllo piatto disabilitato - Clicca per abilitare',
      manageCalibration: 'Gestisci calibrazione rilevamento piatto',
      calibrationRequired: 'Calibrazione richiesta',
      calibrationInstructions: 'Assicurati che il piatto sia <strong>completamente vuoto</strong>, poi clicca Calibra.',
      calibrationDescription: 'La calibrazione salva un\'immagine di riferimento del piatto vuoto. I controlli futuri confronteranno con questo riferimento per rilevare oggetti.',
      calibrationTip: '<strong>Suggerimento:</strong> Puoi salvare fino a 5 calibrazioni per piatti diversi. Il sistema usa automaticamente la migliore corrispondenza durante il controllo.',
      plateEmpty: 'Il piatto sembra vuoto',
      objectsDetected: 'Oggetti rilevati sul piatto',
      confidence: 'Confidenza',
      difference: 'Differenza',
      analysisPreview: 'Anteprima analisi:',
      analysisLegend: 'Riquadro verde = area rilevamento, overlay rosso = differenze dalla calibrazione',
      savedReferences: 'Riferimenti salvati ({{count}}/{{max}})',
      deleteReference: 'Elimina riferimento',
      labelPlaceholder: 'Etichetta...',
      clickToEdit: '{{label}} - Clicca per modificare',
      clickToAddLabel: 'Clicca per aggiungere etichetta',
    },
    // Fans
    fans: {
      partCooling: 'Ventola raffreddamento parte',
      auxiliary: 'Ventola ausiliaria',
      chamber: 'Ventola camera',
    },
    // HMS errors
    clickToViewHmsErrors: 'Clicca per vedere errori HMS',
    estimatedCompletion: 'Tempo completamento stimato',
    slotOptions: 'Opzioni slot',
    // Firmware modal
    firmwareModal: {
      title: 'Aggiornamento Firmware',
      titleUpToDate: 'Info Firmware',
      currentVersion: 'Corrente:',
      latestVersion: 'Ultima:',
      releaseNotes: 'Note di rilascio',
      checkingPrereqs: 'Controllo prerequisiti...',
      sdCardReady: 'SD pronta. Clicca sotto per caricare firmware.',
      uploadedSuccess: 'Firmware caricato su SD!',
      applyInstructions: 'Per applicare l\'aggiornamento sulla stampante:',
      step1: 'Sul touchscreen della stampante, vai a <strong>Impostazioni</strong>',
      step2: 'Vai a <strong>Firmware</strong>',
      step3: 'Seleziona <strong>Aggiorna da SD</strong>',
      step4: 'L\'aggiornamento richiede 10-20 minuti',
      done: 'Fatto',
      starting: 'Avvio...',
      uploadFirmware: 'Carica Firmware',
      uploadFailed: 'Avvio caricamento fallito: {{error}}',
      uploadedToast: 'Firmware caricato! Avvia aggiornamento dal display.',
    },
    accessCodePlaceholder: 'Lascia vuoto per mantenere quello attuale',
    // ROI editor
    roi: {
      title: 'Area di rilevamento (ROI)',
      xStart: 'X Inizio',
      yStart: 'Y Inizio',
      width: 'Larghezza',
      height: 'Altezza',
      instruction: 'Regola l\'area di rilevamento per focalizzare il piatto. Il riquadro verde mostra l\'area corrente.',
    },
    developerModeWarning: 'La modalità sviluppatore LAN non è attivata su: {{names}}. Alcune funzionalità potrebbero non funzionare.',
    howToEnable: 'Come attivare',
  },

  // Archives page
  archives: {
    title: 'Archivi di stampa',
    searchPlaceholder: 'Cerca archivi...',
    filterByPrinter: 'Filtra per stampante',
    filterByStatus: 'Filtra per stato',
    sortBy: 'Ordina per',
    sortNewest: 'Più recenti',
    sortOldest: 'Meno recenti',
    sortName: 'Nome',
    sortDuration: 'Durata',
    sortLargest: 'Più grandi',
    sortSmallest: 'Più piccoli',
    sortSize: 'Dimensione',
    noArchives: 'Nessun archivio trovato',
    noArchivesSearch: 'Nessun archivio corrisponde alla ricerca',
    noArchivesYet: 'Nessun archivio ancora',
    loadingArchives: 'Caricamento archivi...',
    releaseToUpload: 'Rilascia per caricare',
    showAll: 'Mostra tutti',
    showFavoritesOnly: 'Solo preferiti',
    gridView: 'Vista griglia',
    listView: 'Vista elenco',
    calendarView: 'Vista calendario',
    logView: 'Registro stampe',
    manageTags: 'Gestisci tag',
    showFailedPrints: 'Mostra stampe fallite',
    hideFailedPrints: 'Nascondi stampe fallite',
    printTime: 'Tempo di stampa',
    filamentUsed: 'Filamento usato',
    cost: 'Costo',
    reprint: 'Ristampa',
    preview: 'Anteprima',
    deleteArchive: 'Elimina archivio',
    deleteConfirm: 'Sei sicuro di eliminare questo archivio?',
    favorite: 'Preferito',
    unfavorite: 'Rimuovi dai preferiti',
    viewDetails: 'Vedi dettagli',
    status: {
      completed: 'Completato',
      failed: 'Fallito',
      stopped: 'Fermato',
    },
    toast: {
      source3mfAttached: 'Sorgente 3MF allegata: {{filename}}',
      failedUploadSource3mf: 'Caricamento sorgente 3MF non riuscito',
      source3mfRemoved: 'Sorgente 3MF rimossa',
      failedRemoveSource3mf: 'Rimozione sorgente 3MF non riuscita',
      f3dAttached: 'F3D allegato: {{filename}}',
      failedUploadF3d: 'Caricamento F3D non riuscito',
      f3dRemoved: 'F3D rimosso',
      failedRemoveF3d: 'Rimozione F3D non riuscita',
      timelapseAttached: 'Timelapse allegato: {{filename}}',
      timelapseAlreadyAttached: 'Timelapse già allegato',
      noMatchingTimelapse: 'Nessun timelapse corrispondente',
      failedScanTimelapse: 'Scansione timelapse non riuscita',
      failedAttachTimelapse: 'Allegato timelapse non riuscito',
      archiveDeleted: 'Archivio eliminato',
      failedDeleteArchive: 'Eliminazione archivio non riuscita',
      addedToFavorites: 'Aggiunto ai preferiti',
      removedFromFavorites: 'Rimosso dai preferiti',
      projectUpdated: 'Progetto aggiornato',
      failedUpdateProject: 'Aggiornamento progetto non riuscito',
      linkCopied: 'Link copiato negli appunti',
      failedCopyLink: 'Copia link non riuscita',
      photoDeleted: 'Foto eliminata',
      failedDeletePhoto: 'Eliminazione foto non riuscita',
      failedDeleteArchives: 'Eliminazione archivi non riuscita',
      failedUpdateFavorites: 'Aggiornamento preferiti non riuscito',
      exportDownloaded: 'Export scaricato',
      exportFailed: 'Export non riuscito',
    },
    menu: {
      print: 'Stampa',
      schedule: 'Programma',
      openInBambuStudio: 'Apri nello slicer',
      slice: 'Slice',
      externalLink: 'Link esterno',
      viewOnMakerWorld: 'Vedi su MakerWorld',
      preview3d: 'Anteprima 3D',
      viewTimelapse: 'Vedi Timelapse',
      scanForTimelapse: 'Cerca Timelapse',
      downloadSource3mf: 'Scarica Sorgente 3MF',
      uploadSource3mf: 'Carica Sorgente 3MF',
      replaceSource3mf: 'Sostituisci Sorgente 3MF',
      removeSource3mf: 'Rimuovi Sorgente 3MF',
      uploadF3d: 'Carica F3D',
      replaceF3d: 'Sostituisci F3D',
      downloadF3d: 'Scarica F3D',
      removeF3d: 'Rimuovi F3D',
      download: 'Scarica',
      copyDownloadLink: 'Copia link download',
      qrCode: 'QR Code',
      viewPhotos: 'Vedi foto',
      viewPhotosCount: 'Vedi foto ({{count}})',
      projectPage: 'Pagina progetto',
      addToFavorites: 'Aggiungi ai preferiti',
      removeFromFavorites: 'Rimuovi dai preferiti',
      edit: 'Modifica',
      goToProject: 'Vai al progetto: {{name}}',
      addToProject: 'Aggiungi al progetto',
      removeFromProject: 'Rimuovi dal progetto',
      loading: 'Caricamento...',
      noProjectsAvailable: 'Nessun progetto disponibile',
      select: 'Seleziona',
      deselect: 'Deseleziona',
      delete: 'Elimina',
    },
    permission: {
      noReprint: 'Non hai il permesso di ristampare questo archivio',
      noAddToQueue: 'Non hai il permesso di aggiungere alla coda',
      noUpdateArchives: 'Non hai il permesso di aggiornare archivi',
      noUploadFiles: 'Non hai il permesso di caricare file',
      noDownload: 'Non hai il permesso di scaricare archivi',
      noCopyLink: 'Non hai il permesso di copiare link download',
      noDelete: 'Non hai il permesso di eliminare questo archivio',
      noCreate: 'Non hai il permesso di creare archivi',
    },
    card: {
      previousPlate: 'Piatto precedente',
      nextPlate: 'Piatto successivo',
      plateNumber: 'Piatto {{index}}',
      moreOptions: 'Clic destro per altre opzioni',
      addToFavorites: 'Aggiungi ai preferiti',
      removeFromFavorites: 'Rimuovi dai preferiti',
      cancelled: 'annullato',
      failed: 'fallito',
      duplicate: 'duplicato',
      duplicateTitle: 'Questo modello è stato stampato prima',
      openSource3mf: 'Apri sorgente 3MF in Bambu Studio (clic destro per altre opzioni)',
      downloadF3d: 'Scarica file design Fusion 360',
      viewTimelapse: 'Vedi timelapse',
      viewPhoto: 'Vedi 1 foto',
      viewPhotos: 'Vedi {{count}} foto',
      openFolder: 'Apri cartella: {{name}}',
      slicedFile: 'File slice - pronto a stampare',
      sourceFile: 'Solo file sorgente - nessuna mappatura AMS disponibile',
      gcode: 'GCODE',
      source: 'SOURCE',
      project: 'Progetto: {{name}}',
      estimated: 'Stimato: {{time}}',
      actual: 'Reale: {{time}}',
      accuracy: 'Accuratezza: {{percent}}%',
      filament: '{{weight}}g',
      layer: '{{count}} strato',
      layers: '{{count}} strati',
      object: '{{count}} oggetto',
      objects: '{{count}} oggetti',
      slicedFor: 'Sliced per {{model}}',
      uploadedBy: 'Caricato da',
      noPermissionReprint: 'Non hai il permesso di ristampare',
      noFileForReprint: 'Nessun file 3MF disponibile — il file non è stato scaricato dalla stampante durante la registrazione',
      noPermissionEdit: 'Non hai il permesso di modificare archivi',
      noPermissionDelete: 'Non hai il permesso di eliminare archivi',
      reprint: 'Ristampa',
      schedulePrint: 'Programma Stampa',
      schedule: 'Programma',
      openInBambuStudio: 'Apri nello slicer',
      openInBambuStudioToSlice: 'Apri nello slicer per slicing',
      slice: 'Slice',
      externalLink: 'Link esterno',
      makerWorld: 'MakerWorld: {{designer}}',
      viewProject: 'Vedi progetto',
      noExternalLink: 'Nessun link esterno',
      preview3d: 'Anteprima 3D',
      download: 'Scarica',
      edit: 'Modifica',
      delete: 'Elimina',
    },
    modal: {
      deleteArchive: 'Elimina Archivio',
      deleteConfirm: 'Sei sicuro di eliminare "{{name}}"? Questa azione non può essere annullata.',
      deleteButton: 'Elimina',
      removeSource3mf: 'Rimuovi Sorgente 3MF',
      removeSource3mfConfirm: 'Sei sicuro di rimuovere il file sorgente 3MF da "{{name}}"? Questo eliminerà il progetto slicer originale.',
      removeButton: 'Rimuovi',
      removeF3d: 'Rimuovi F3D',
      removeF3dConfirm: 'Sei sicuro di rimuovere il file Fusion 360 da "{{name}}"?',
      timelapse: '{{name}} - Timelapse',
      selectTimelapse: 'Seleziona Timelapse',
      selectTimelapseDesc: 'Nessun abbinamento automatico trovato. Seleziona il timelapse per questa stampa:',
      deleteArchives: 'Elimina Archivi',
      deleteArchivesConfirm: 'Sei sicuro di eliminare {{count}} archivio(i)? Questa azione non può essere annullata.',
      deleteCount: 'Elimina {{count}}',
    },
    page: {
      title: 'Archivi',
      printsCount: '{{filtered}} di {{total}} stampe',
      dropFilesHere: 'Rilascia file .3mf qui',
      releaseToUpload: 'Rilascia per caricare',
      only3mfSupported: 'Solo file .3mf supportati',
      close: 'Chiudi',
      selected: '{{count}} selezionati',
      selectAll: 'Seleziona tutto',
      tags: 'Tag',
      project: 'Progetto',
      favorite: 'Preferito',
      delete: 'Elimina',
      toggledFavorites: 'Preferiti aggiornati per {{count}} archivio(i)',
      failedUpdateFavorites: 'Aggiornamento preferiti non riuscito',
      archivesDeleted: '{{count}} archivio(i) eliminati',
      failedDeleteArchives: 'Eliminazione archivi non riuscita',
      photoDeleted: 'Foto eliminata',
      failedDeletePhoto: 'Eliminazione foto non riuscita',
    },
    list: {
      name: 'Nome',
      printer: 'Stampante',
      date: 'Data',
      size: 'Dimensione',
      actions: 'Azioni',
      hasTimelapse: 'Ha timelapse',
    },
    log: {
      date: 'Data',
      printName: 'Nome stampa',
      printer: 'Stampante',
      user: 'Utente',
      status: 'Stato',
      duration: 'Durata',
      filament: 'Filamento',
      allPrinters: 'Tutte le stampanti',
      allUsers: 'Tutti gli utenti',
      allStatuses: 'Tutti gli stati',
      cancelled: 'Annullato',
      skipped: 'Saltato',
      dateFrom: 'Dal',
      dateTo: 'Al',
      noEntries: 'Nessuna voce di registro trovata',
      showing: '{{count}} di {{total}} voci',
      rowsPerPage: 'Righe',
      page: 'Pagina',
      prev: 'Prec.',
      next: 'Succ.',
      clearLog: 'Cancella registro',
      clearLogTitle: 'Cancella registro stampe',
      clearLogConfirm: 'Tutte le voci del registro di stampa verranno eliminate permanentemente. Gli archivi e gli elementi della coda non sono interessati. Questa azione non può essere annullata. Sei sicuro?',
      clearLogButton: 'Cancella tutto',
      cleared: '{{count}} voci di registro cancellate',
      clearFailed: 'Impossibile cancellare il registro stampe',
    },
  },

  // Queue page
  queue: {
    title: 'Coda di stampa',
    subtitle: 'Programma e gestisci i tuoi lavori di stampa',
    addToQueue: 'Aggiungi alla coda',
    // Print modal
    print: 'Stampa',
    reprint: 'Ristampa',
    schedulePrint: 'Programma Stampa',
    editQueueItem: 'Modifica elemento coda',
    printToPrinters: 'Stampa su {{count}} Stampanti',
    queueToPrinters: 'Metti in coda su {{count}} Stampanti',
    sending: 'Invio...',
    sendingProgress: 'Invio {{current}}/{{total}}...',
    adding: 'Aggiunta...',
    addingProgress: 'Aggiunta {{current}}/{{total}}...',
    savingProgress: 'Salvataggio {{current}}/{{total}}...',
    clearQueue: 'Svuota coda',
    clearHistory: 'Svuota cronologia',
    emptyQueue: 'La coda è vuota',
    position: 'Posizione',
    scheduledTime: 'Ora programmata',
    moveUp: 'Sposta su',
    moveDown: 'Sposta giù',
    startNow: 'Avvia ora',
    printingInProgress: 'Stampa in corso...',
    viewArchive: 'Vedi archivio',
    viewInFileManager: 'Vedi nel Gestore file',
    itemCount: '{{count}} elemento',
    itemCount_plural: '{{count}} elementi',
    dragToReorder: 'Trascina per riordinare (solo ASAP)',
    reorderHint: 'La posizione influisce solo sugli elementi ASAP. Quelli programmati partono all\'orario.',
    addedBy: 'Aggiunto da {{name}}',
    plateNumber: 'Piatto {{index}}',
    // Sections
    sections: {
      currentlyPrinting: 'In stampa',
      queued: 'In coda',
      history: 'Cronologia',
    },
    // Status
    status: {
      pending: 'In attesa',
      waiting: 'In attesa',
      printing: 'In stampa',
      paused: 'In pausa',
      completed: 'Completato',
      failed: 'Fallito',
      skipped: 'Saltato',
      cancelled: 'Annullato',
    },
    // Summary cards
    summary: {
      printing: 'In stampa',
      queued: 'In coda',
      totalTime: 'Tempo totale coda',
      totalWeight: 'Peso totale della coda',
      history: 'Cronologia',
    },
    // Filters
    filter: {
      allPrinters: 'Tutte le stampanti',
      unassigned: 'Non assegnato',
      allStatus: 'Tutti gli stati',
      allLocations: 'Tutte le posizioni',
      any: 'Qualsiasi',
    },
    // Sort
    sort: {
      byPosition: 'Ordina per posizione',
      byName: 'Ordina per nome',
      byPrinter: 'Ordina per stampante',
      bySchedule: 'Ordina per programma',
      byDate: 'Ordina per data',
      ascendingOldest: 'Crescente (più vecchi)',
      descendingNewest: 'Decrescente (più recenti)',
    },
    // Badges
    badges: {
      staged: 'In staging',
      requiresPrevious: 'Richiede successo precedente',
      autoPowerOff: 'Spegnimento automatico',
    },
    // Empty state
    empty: {
      title: 'Nessuna stampa programmata',
      description: 'Programma una stampa dalla pagina Archivi usando l\'opzione "Programma" nel menu contestuale, o trascina i file per iniziare.',
    },
    // Time
    time: {
      asap: 'ASAP',
      overdue: 'Scaduto',
      now: 'Ora',
      lessThanMinute: 'Tra meno di un minuto',
      inMinutes: 'Tra {{count}} min',
      inHours: 'Tra {{count}} ore',
    },
    // Actions
    actions: {
      stopPrint: 'Ferma Stampa',
      startPrint: 'Avvia Stampa',
      requeue: 'Rimetti in coda',
    },
    // Bulk edit
    bulkEdit: {
      title: 'Modifica {{count}} elemento',
      title_plural: 'Modifica {{count}} elementi',
      description: 'Solo le impostazioni modificate saranno applicate agli elementi selezionati.',
      printer: 'Stampante',
      noChange: '— Nessun cambio —',
      queueOptions: 'Opzioni coda',
      staged: 'In staging (avvio manuale)',
      autoPowerOff: 'Spegnimento automatico dopo stampa',
      requirePrevious: 'Richiede successo precedente',
      printOptions: 'Opzioni stampa',
      bedLevelling: 'Livellamento piatto',
      flowCalibration: 'Calibrazione flusso',
      vibrationCalibration: 'Calibrazione vibrazioni',
      layerInspection: 'Controllo primo layer',
      timelapse: 'Timelapse',
      useAms: 'Usa AMS',
      applyChanges: 'Applica modifiche',
      selectAll: 'Seleziona tutto',
      deselectAll: 'Deseleziona tutto',
      selected: '{{count}} selezionati',
      editSelected: 'Modifica selezionati',
      cancelSelected: 'Annulla selezionati',
    },
    // Confirmations
    confirm: {
      cancelTitle: 'Annulla stampa programmata',
      cancelMessage: 'Sei sicuro di annullare "{{name}}"?',
      stopTitle: 'Ferma Stampa',
      stopMessage: 'Sei sicuro di fermare la stampa corrente "{{name}}"? Questo annullerà il lavoro sulla stampante.',
      removeTitle: 'Rimuovi dalla cronologia',
      removeMessage: 'Sei sicuro di rimuovere "{{name}}" dalla cronologia coda?',
      clearHistoryTitle: 'Svuota cronologia',
      clearHistoryMessage: 'Sei sicuro di rimuovere {{count}} elemento(i) dalla cronologia?',
      cancelButton: 'Annulla Stampa',
      stopButton: 'Ferma Stampa',
      thisPrint: 'questa stampa',
      thisItem: 'questo elemento',
    },
    // Toast messages
    toast: {
      cancelled: 'Elemento coda annullato',
      cancelFailed: 'Annullamento non riuscito',
      removed: 'Elemento coda rimosso',
      removeFailed: 'Rimozione non riuscita',
      stopped: 'Stampa fermata',
      stopFailed: 'Impossibile fermare stampa',
      released: 'Stampa rilasciata in coda',
      startFailed: 'Avvio stampa non riuscito',
      reorderFailed: 'Riordino coda non riuscito',
      historyCleared: 'Cancellati {{count}} elementi cronologia',
      clearHistoryFailed: 'Svuotamento cronologia non riuscito',
      updateFailed: 'Aggiornamento elementi non riuscito',
      bulkCancelled: 'Annullati {{count}} elementi',
      bulkCancelFailed: 'Annullamento elementi non riuscito',
    },
    // Permissions
    permissions: {
      noStopPrint: 'Non hai il permesso di fermare stampe',
      noStartPrint: 'Non hai il permesso di avviare stampe',
      noEdit: 'Non hai il permesso di modificare questo elemento coda',
      noCancel: 'Non hai il permesso di annullare questo elemento coda',
      noRequeue: 'Non hai il permesso di rimettere in coda elementi',
      noRemove: 'Non hai il permesso di rimuovere questo elemento coda',
      noClearHistory: 'Non hai il permesso di svuotare tutta la cronologia',
      noEditItems: 'Non hai il permesso di modificare elementi coda',
      noCancelItems: 'Non hai il permesso di annullare elementi coda',
    },
  },

  backgroundDispatch: {
    unknownFile: 'File sconosciuto',
    unknownPrinter: 'Stampante sconosciuta',
    startingPrints: 'Avvio stampe',
    progressSummary: '{{complete}}/{{total}} completati • Inviati: {{dispatched}} • In elaborazione: {{processing}}',
    expandDetails: 'Espandi dettagli dispatch',
    collapseDetails: 'Comprimi dettagli dispatch',
    dismissToast: 'Chiudi notifica dispatch',
    cancelDispatchJob: 'Annulla job dispatch',
    cancel: 'Annulla',
    cancelling: 'Annullamento…',
    status: {
      dispatched: 'Inviato',
      processing: 'In elaborazione',
      completed: 'Completato',
      failed: 'Fallito',
      cancelled: 'Annullato',
    },
    toast: {
      cancellingUpload: 'Annullamento upload...',
      cancelled: 'Dispatch annullato',
      cancelFailed: 'Impossibile annullare il dispatch',
      completeWithFailures: 'Dispatch in background completato: {{completed}} riusciti, {{failed}} falliti',
      completeSuccess: 'Dispatch in background completato: {{completed}} riusciti',
    },
  },

  // Statistics page
  stats: {
    title: 'Dashboard',
    subtitle: 'Trascina i widget per riordinare. Clicca l\'icona occhio per nascondere.',
    overview: 'Panoramica',
    totalPrints: 'Stampe totali',
    successRate: 'Tasso di successo',
    totalPrintTime: 'Tempo totale di stampa',
    printTime: 'Tempo di stampa',
    totalFilament: 'Filamento totale usato',
    filamentUsed: 'Filamento usato',
    filamentCost: 'Costo filamento',
    totalCost: 'Costo totale',
    energyUsed: 'Energia usata',
    energyCost: 'Costo energia',
    averagePrintTime: 'Tempo medio di stampa',
    printsPerDay: 'Stampe al giorno',
    byPrinter: 'Per stampante',
    printsByPrinter: 'Stampe per stampante',
    byMaterial: 'Per materiale',
    byMonth: 'Per mese',
    last7Days: 'Ultimi 7 giorni',
    last30Days: 'Ultimi 30 giorni',
    last90Days: 'Ultimi 90 giorni',
    allTime: 'Sempre',
    // Widgets
    quickStats: 'Statistiche rapide',
    printActivity: 'Attivita di stampa',
    filamentTypes: 'Tipi di filamento',
    filamentTrends: 'Trend filamento',
    failureAnalysis: 'Analisi guasti',
    timeAccuracy: 'Accuratezza tempo',
    successful: 'Riuscite:',
    failed: 'Fallite:',
    perfectEstimate: '100% = stima perfetta',
    noTimeAccuracyData: 'Nessun dato accuratezza tempo',
    noFilamentData: 'Nessun dato filamento',
    noPrinterData: 'Nessun dato stampante',
    noPrintData: 'Nessun dato stampa',
    noPrintDataLast30Days: 'Nessun dato stampa negli ultimi 30 giorni',
    failureReasons: 'Cause guasto',
    topFailureReasons: 'Cause principali',
    failedPrintsCount: '{{failed}} / {{total}} stampe fallite',
    lastWeekRate: 'Settimana scorsa: {{rate}}%',
    // Actions
    resetLayout: 'Reimposta layout',
    recalculateCosts: 'Ricalcola costi',
    recalculateCostsHint: 'Ricalcola tutti i costi archivi usando i prezzi filamento correnti',
    exportStats: 'Esporta statistiche',
    exportAsCsv: 'Esporta come CSV',
    exportAsExcel: 'Esporta come Excel',
    hiddenCount: '{{count}} Nascosti',
    // Toast
    exportDownloaded: 'Export scaricato',
    exportFailed: 'Export non riuscito',
    layoutReset: 'Layout reimpostato',
    recalculatedCosts: 'Costi ricalcolati per {{count}} archivi',
    recalculateFailed: 'Ricalcolo costi non riuscito',
    // Loading
    loadingStats: 'Caricamento statistiche...',
    // Permissions
    noPermissionResetLayout: 'Non hai il permesso di reimpostare il layout',
    noPermissionRecalculate: 'Non hai il permesso di ricalcolare i costi',
    noPrintDataInRange: 'Nessun dato nel periodo selezionato',
    periodFilament: 'Filamento utilizzato',
    periodCost: 'Costo',
    avgPerPrint: 'Media per stampa',
    usageOverTime: 'Utilizzo nel tempo',
    filamentByWeight: 'Peso',
    printDuration: 'Durata stampa',
    printerUtilization: 'Utilizzo stampante',
    filamentSuccess: 'Successo per materiale',
    printHabits: 'Abitudini di stampa',
    printTimeOfDay: 'Ora di stampa',
    colorDistribution: 'Distribuzione colori',
    noColorData: 'Nessun dato colore disponibile',
    records: 'Record',
    longestPrint: 'Stampa più lunga',
    heaviestPrint: 'Stampa più pesante',
    mostExpensivePrint: 'Più costosa',
    busiestDay: 'Giorno più attivo',
    successStreak: 'Serie di successi',
    streakPrint: 'stampa consecutiva',
    streakPrints: '{{count}} stampe consecutive',
    printerStats: 'Statistiche stampante',
    hours: 'ore',
    avgPrints: 'Media stampe',
    noArchiveData: 'Nessun dato di stampa disponibile',
    filamentByTime: 'Tempo',
    avgWeight: 'Media peso',
    avgTime: 'Media tempo',
    filamentByPrints: 'Stampe',
    timeframe: {
      'today': 'Oggi',
      'this-week': 'Questa settimana',
      'this-month': 'Questo mese',
      'last-7': 'Ultimi 7 giorni',
      'last-30': 'Ultimi 30 giorni',
      'last-90': 'Ultimi 90 giorni',
      'this-year': 'Quest\'anno',
      'all-time': 'Tutto',
      'custom': 'Personalizzato',
      from: 'Da',
      to: 'A',
    },
  },

  // Maintenance page
  maintenance: {
    title: 'Manutenzione',
    overview: 'Panoramica',
    allOk: 'Tutta la manutenzione aggiornata',
    dueCount: '{{count}} elemento in scadenza',
    dueCount_plural: '{{count}} elementi in scadenza',
    warningCount: '{{count}} avviso',
    warningCount_plural: '{{count}} avvisi',
    totalPrintTime: 'Tempo totale di stampa',
    nextMaintenance: 'Prossima manutenzione',
    nothingDue: 'Niente in scadenza',
    tasks: 'Attivita',
    lastPerformed: 'Ultima esecuzione',
    interval: 'Intervallo',
    hoursRemaining: '{{hours}}h rimanenti',
    hoursOverdue: '{{hours}}h in ritardo',
    markDone: 'Segna come fatto',
    performMaintenance: 'Esegui manutenzione',
    history: 'Cronologia',
    noHistory: 'Nessuna cronologia manutenzione',
    editPrintHours: 'Modifica ore stampa',
    currentHours: 'Ore attuali',
    // Tabs
    statusTab: 'Stato',
    settingsTab: 'Impostazioni',
    // Status
    overdueCount: '{{count}} in ritardo',
    dueSoonCount: '{{count}} in scadenza',
    dueSoon: 'In scadenza',
    allGood: 'Tutto ok',
    overdueBy: 'In ritardo di {{duration}}',
    dueIn: 'Scade tra {{duration}}',
    timeLeft: '{{duration}} rimanenti',
    // Duration formats
    day: '1 giorno',
    days: '{{count}} giorni',
    week: '1 settimana',
    weeks: '{{count}} settimane',
    month: '1 mese',
    months: '{{count}} mesi',
    year: '1 anno',
    // Settings
    maintenanceTypes: 'Tipi di manutenzione',
    maintenanceTypesDescription: 'Tipi di sistema e tue attivita personalizzate',
    addCustomType: 'Aggiungi tipo personalizzato',
    restoreDefaults: 'Ripristina attivita predefinite',
    intervalType: 'Tipo intervallo',
    intervalValue: 'Intervallo ({{type}})',
    icon: 'Icona',
    documentationLink: 'Link documentazione (opzionale)',
    assignToPrinters: 'Assegna alle stampanti',
    selectAtLeastOnePrinter: 'Seleziona almeno una stampante',
    addType: 'Aggiungi tipo',
    custom: 'Personalizzato',
    printHours: 'Ore di stampa',
    calendarDays: 'Giorni calendario',
    exampleName: 'es. Sostituisci filtro HEPA',
    viewDocumentation: 'Vedi documentazione',
    timeBasedInterval: 'Intervallo basato sul tempo',
    // Interval overrides
    intervalOverrides: 'Override intervallo',
    intervalOverridesDescription: 'Personalizza intervalli per stampanti specifiche',
    // Printer assignment
    assignedToPrinters: 'Assegnato alle stampanti:',
    noPrintersAssigned: 'Nessuna stampante assegnata',
    addPrinterShort: 'Aggiungi:',
    printersAssignedClick: '{{count}} stampante(i) assegnata - clicca per gestire',
    removeFromPrinter: 'Rimuovi da questa stampante',
    // Types
    types: {
      lubricateCarbonRods: 'Lubrifica aste in carbonio',
      lubricateRails: 'Lubrifica guide lineari',
      cleanNozzle: 'Pulisci ugello/Hotend',
      checkBelts: 'Controlla tensione cinghie',
      cleanBuildPlate: 'Pulisci piatto',
      checkExtruder: 'Controlla ingranaggi estrusore',
      checkCooling: 'Controlla ventole raffreddamento',
      generalInspection: 'Ispezione generale',
      cleanCarbonRods: 'Pulisci aste in carbonio',
      cleanLinearRails: 'Pulisci guide lineari',
      checkPtfeTube: 'Controlla tubo PTFE',
      replaceHepaFilter: 'Sostituisci filtro HEPA',
      replaceCarbonFilter: 'Sostituisci filtro carbone',
      lubricateLeftNozzleRail: 'Lubrifica guida ugello sinistro',
    },
    // Toast
    maintenanceComplete: 'Manutenzione segnata come completata',
    typeUpdated: 'Tipo manutenzione aggiornato',
    typeDeleted: 'Tipo manutenzione eliminato',
    defaultsRestored: 'Ripristinate {{count}} attivita predefinite',
    printHoursUpdated: 'Ore di stampa aggiornate',
    printerAssigned: 'Stampante assegnata',
    printerRemoved: 'Stampante rimossa',
    // Confirmation
    deleteTypeConfirm: 'Eliminare "{{name}}"?',
    deleteSystemTypeTitle: 'Eliminare attività di manutenzione predefinita?',
    deleteSystemTypeMessage: 'Sei sicuro di voler eliminare l\'attività di manutenzione predefinita "{{name}}"?',
    // Permissions
    noPermissionUpdate: 'Non hai il permesso di aggiornare elementi manutenzione',
    noPermissionPerform: 'Non hai il permesso di eseguire manutenzione',
    noPermissionEditTypes: 'Non hai il permesso di modificare tipi manutenzione',
    noPermissionDeleteTypes: 'Non hai il permesso di eliminare tipi manutenzione',
    noPermissionEditHours: 'Non hai il permesso di modificare ore stampa',
    noPermissionRemovePrinter: 'Non hai il permesso di rimuovere assegnazioni stampanti',
    noPermissionAssignPrinter: 'Non hai il permesso di assegnare stampanti',
    noPermissionEditIntervals: 'Non hai il permesso di modificare intervalli',
    // Configure link
    configureSettings: 'Configura tipi e intervalli manutenzione',
  },

  // Settings page
  settings: {
    title: 'Impostazioni',
    general: 'Generale',
    // Tab names
    tabs: {
      general: 'Generale',
      smartPlugs: 'Prese smart',
      notifications: 'Notifiche',
      filament: 'Filamento',
      network: 'Rete',
      apiKeys: 'Chiavi API',
      virtualPrinter: 'Stampante virtuale',
      users: 'Utenti',
      backup: 'Backup',
    },
    appearance: 'Aspetto',
    notifications: 'Notifiche',
    smartPlugs: 'Prese smart',
    spoolman: 'Spoolman',
    updates: 'Aggiornamenti',
    language: 'Lingua',
    languageDescription: 'Seleziona la lingua preferita',
    theme: 'Tema',
    themeLight: 'Chiaro',
    themeDark: 'Scuro',
    themeSystem: 'Sistema',
    defaultView: 'Vista predefinita',
    defaultViewDescription: "Pagina da mostrare all'apertura dell'app",
    checkForUpdates: 'Controlla aggiornamenti',
    autoUpdate: 'Aggiornamento automatico',
    currentVersion: 'Versione attuale',
    latestVersion: 'Ultima versione',
    upToDate: 'Sei aggiornato',
    updateAvailable: 'Aggiornamento disponibile',
    // Notifications
    notificationLanguage: 'Lingua notifiche',
    notificationLanguageDescription: 'Lingua per notifiche push',
    bedCooledThreshold: 'Soglia raffreddamento piatto',
    bedCooledThresholdDescription: 'Temperatura sotto la quale il piatto è considerato raffreddato dopo una stampa',
    notificationProviders: 'Provider notifiche',
    addProvider: 'Aggiungi provider',
    editProvider: 'Modifica provider',
    providerType: 'Tipo provider',
    testNotification: 'Notifica di test',
    testSuccess: 'Notifica di test inviata',
    testFailed: 'Invio notifica di test fallito',
    quietHours: 'Ore silenziose',
    quietHoursDescription: 'Non disturbare in queste ore',
    quietHoursStart: 'Inizio',
    quietHoursEnd: 'Fine',
    events: {
      title: 'Eventi notifica',
      printStart: 'Stampa avviata',
      printComplete: 'Stampa completata',
      printFailed: 'Stampa fallita',
      printStopped: 'Stampa interrotta',
      printProgress: 'Avanzamento',
      printProgressDescription: 'Notifica al 25%, 50%, 75%',
      printerOffline: 'Stampante offline',
      printerError: 'Errore stampante',
      filamentLow: 'Filamento in esaurimento',
      maintenanceDue: 'Manutenzione dovuta',
      maintenanceDueDescription: 'Notifica quando serve manutenzione',
    },
    // Smart Plugs
    smartPlug: {
      title: 'Prese smart',
      add: 'Aggiungi presa smart',
      edit: 'Modifica presa smart',
      name: 'Nome',
      ipAddress: 'Indirizzo IP',
      linkedPrinter: 'Stampante collegata',
      autoOn: 'Accensione automatica',
      autoOnDescription: 'Accendi all\'avvio stampa',
      autoOff: 'Spegnimento automatico',
      autoOffDescription: 'Spegni dopo il completamento',
      offDelay: 'Ritardo spegnimento',
      offDelayMinutes: 'Minuti dopo la stampa',
      offDelayTemp: 'Quando ugello sotto temperatura',
      currentState: 'Stato attuale',
      turnOn: 'Accendi',
      turnOff: 'Spegni',
    },
    // Spoolman
    spoolmanEnabled: 'Abilita integrazione Spoolman',
    spoolmanUrl: 'URL Spoolman',
    spoolmanConnected: 'Connesso',
    spoolmanDisconnected: 'Disconnesso',
    // Default printer
    noDefaultPrinter: 'Nessuna predefinita (chiedi ogni volta)',
    // Sidebar
    sidebarOrder: 'Ordine barra laterale',
    // Camera
    saveThumbnails: 'Salva miniature',
    captureFinishPhoto: 'Acquisisci foto finale',
    noPrintersConfigured: 'Nessuna stampante configurata',
    // Archive settings
    archiveMode: {
      always: 'Crea sempre voce archivio',
      never: 'Non creare mai voce archivio',
      ask: 'Chiedi ogni volta',
    },
    // Updates
    checkForUpdatesLabel: 'Controlla aggiornamenti',
    checkPrinterFirmware: 'Controlla firmware stampante',
    includeBetaUpdates: 'Includi versioni beta',
    includeBetaUpdatesDesc: 'Notifica versioni beta e prerelease durante il controllo aggiornamenti',
    // Queue
    enableRetry: 'Abilita retry',
    // Home Assistant
    homeAssistantDescription: 'Controlla prese smart tramite Home Assistant',
    environmentManagedLabel: '(Gestito dall\'ambiente)',
    autoEnabledViaEnv: 'Abilitato automaticamente tramite variabili d\'ambiente',
    urlFromEnvReadOnly: 'Valore impostato dalla variabile d\'ambiente HA_URL (sola lettura)',
    tokenFromEnvReadOnly: 'Valore impostato dalla variabile d\'ambiente HA_TOKEN (sola lettura)',
    // MQTT
    mqttConnectedTo: 'Connesso a',
    // Prometheus
    prometheusDescription: 'Esponi dati stampante in formato Prometheus',
    // Smart plugs empty state
    noSmartPlugsTitle: 'Nessuna presa smart configurata',
    noSmartPlugsDescription: 'Aggiungi una presa smart Tasmota per monitorare energia e automatizzare il controllo.',
    // Notifications empty state
    noProvidersTitle: 'Nessun provider configurato',
    noProvidersDescription: 'Aggiungi un provider per ricevere avvisi.',
    noTemplatesAvailable: 'Nessun template disponibile. Riavvia il backend per generare i template predefiniti.',
    // API permissions
    apiPermissionView: 'Visualizza stato stampante e coda',
    apiPermissionEdit: 'Aggiungi e rimuovi elementi dalla coda di stampa',
    // API keys
    apiKeysEmptyTitle: 'Nessuna chiave API',
    apiKeysEmptyDescription: 'Crea una chiave API per integrare servizi esterni.',
    // Users
    noUsersFound: 'Nessun utente trovato',
    noGroupsFound: 'Nessun gruppo trovato',
    noGroupsAvailable: 'Nessun gruppo disponibile',
    passwordsDoNotMatch: 'Le password non coincidono',
    systemGroupWarning: 'I nomi dei gruppi di sistema non possono essere modificati',
    // Auth disabled
    authDisabledTitle: 'Autenticazione disabilitata',
    authDisabledFeature1: 'Richiedi accesso per usare il sistema',
    authDisabledFeature2: 'Crea più utenti con permessi basati sui gruppi',
    authDisabledFeature3: 'Controlla accesso con 50+ permessi granulari',
    // User deletion
    userHasCreated: 'Questo utente ha creato:',
    userItemsQuestion: 'Cosa vuoi fare con questi elementi?',
    deleteUserConfirm: 'Sei sicuro di voler eliminare questo utente?',
    actionCannotBeUndone: 'Questa azione non può essere annullata.',
    // Smart plugs
    addFirstSmartPlug: 'Aggiungi la tua prima presa smart',
    // Notifications
    providers: 'Provider',
    log: 'Log',
    testAll: 'Testa tutto',
    testResults: 'Risultati test',
    testPassedCount: '{{count}} riusciti',
    testFailedCount: '{{count}} falliti',
    messageTemplates: 'Template messaggi',
    messageTemplatesDescription: 'Personalizza i messaggi per ogni evento.',
    // API Keys section
    apiKeys: 'Chiavi API',
    apiKeysDescription: 'Crea chiavi API per integrazioni esterne e webhook.',
    createKey: 'Crea chiave',
    apiKeyCreated: 'Chiave API creata con successo',
    apiKeyCopyWarning: "Copia questa chiave ora - non verra mostrata di nuovo!",
    useInApiBrowser: 'Usa nel Browser API',
    createNewApiKey: 'Crea nuova chiave API',
    keyName: 'Nome chiave',
    keyNamePlaceholder: 'es., Home Assistant, OctoPrint',
    readStatus: 'Leggi stato',
    readStatusDescription: 'Visualizza stato stampante e coda',
    manageQueue: 'Gestisci coda',
    manageQueueDescription: 'Aggiungi e rimuovi elementi dalla coda di stampa',
    controlPrinter: 'Controlla stampante',
    controlPrinterDescription: 'Metti in pausa, riprendi e ferma stampe',
    unnamedKey: 'Chiave senza nome',
    lastUsed: 'Ultimo uso',
    read: 'Lettura',
    control: 'Controllo',
    createFirstKey: 'Crea la tua prima chiave',
    webhookEndpoints: 'Endpoint webhook',
    webhookApiKeyHint: "Usa la tua chiave API nell'header X-API-Key.",
    webhook: {
      getAllStatus: 'Ottieni stato di tutte le stampanti',
      getSpecificStatus: 'Ottieni stato di una stampante',
      addToQueue: 'Aggiungi alla coda di stampa',
      pausePrint: 'Metti in pausa stampa',
      resumePrint: 'Riprendi stampa',
      stopPrint: 'Ferma stampa',
    },
    apiBrowser: 'Browser API',
    apiBrowserDescription: 'Esplora e testa tutti gli endpoint API disponibili.',
    apiKeyForTesting: 'Chiave API per test',
    apiKeyPlaceholder: 'Incolla qui la tua chiave API per testare gli endpoint autenticati...',
    apiKeyHint: "Questa chiave verra inviata come header X-API-Key.",
    deleteApiKeyTitle: 'Elimina chiave API',
    deleteApiKeyMessage: 'Sei sicuro di voler eliminare questa chiave API? Le integrazioni che la usano non funzioneranno più.',
    deleteKey: 'Elimina chiave',
    // Filament tab
    amsDisplayThresholds: 'Soglie visualizzazione AMS',
    amsThresholdsDescription: 'Configura soglie colore per umidità e temperatura AMS.',
    humidity: 'Umidità',
    goodGreen: 'Buono (verde)',
    fairOrange: 'Discreto (arancione)',
    aboveFairBad: 'Sopra soglia discreta mostra rosso (scarso)',
    temperature: 'Temperatura',
    goodBlue: 'Buono (blu)',
    aboveFairHot: 'Sopra soglia discreta mostra rosso (caldo)',
    historyRetention: 'Conservazione cronologia',
    keepSensorHistory: 'Mantieni cronologia sensori per',
    historyRetentionDescription: 'I dati più vecchi saranno eliminati automaticamente',
    printModal: 'Modale stampa',
    expandCustomMapping: 'Espandi mapping personalizzato di default',
    expandCustomMappingDescription: 'Quando stampi su più stampanti, mostra mapping AMS per stampante espanso',
    // User management
    authentication: 'Autenticazione',
    authEnabledDescription: 'La tua istanza è protetta con autenticazione',
    authDisabledDescription: 'Abilita per richiedere accesso e gestire utenti',
    authDisabledMessage: 'Abilita autenticazione per creare account, gestire permessi e proteggere la tua istanza Bambuddy.',
    enableAuthentication: 'Abilita autenticazione',
    currentUser: 'Utente corrente',
    changePassword: 'Cambia password',
    admin: 'Admin',
    users: 'Utenti',
    addUser: 'Aggiungi utente',
    groups: 'Gruppi',
    addGroup: 'Aggiungi gruppo',
    system: 'Sistema',
    noDescription: 'Nessuna descrizione',
    userCount: '{{count}} utenti',
    permissionCount: '{{count}} permessi',
    createUser: 'Crea utente',
    username: 'Nome utente',
    enterUsername: 'Inserisci nome utente',
    password: 'Password',
    enterPassword: 'Inserisci password (min 6 caratteri)',
    confirmPassword: 'Conferma password',
    confirmPasswordPlaceholder: 'Conferma password',
    // Title tooltips
    viewReleaseOnGitHub: 'Vedi release su GitHub',
    turnAllPlugsOn: 'Accendi tutte le prese',
    turnAllPlugsOff: 'Spegni tutte le prese',
    // Modal: Clear logs
    clearNotificationLogs: 'Cancella log notifiche',
    clearLogsMessage: 'Questo eliminerà definitivamente tutti i log notifiche più vecchi di 30 giorni. Questa azione non può essere annullata.',
    clearLogs: 'Cancella log',
    // Modal: Reset UI
    resetUiPreferences: 'Reimposta preferenze UI',
    resetUiPreferencesMessage: 'Questo reimposterà le preferenze UI ai valori predefiniti: ordine barra laterale, tema, layout dashboard, modalità vista e preferenze ordinamento. Stampanti, archivi e impostazioni server NON saranno modificati. La pagina si ricaricherà dopo la cancellazione.',
    resetPreferences: 'Reimposta preferenze',
    // Modal: Delete group
    deleteGroupTitle: 'Elimina gruppo',
    deleteGroupMessage: 'Sei sicuro di voler eliminare questo gruppo? Gli utenti in questo gruppo perderanno questi permessi.',
    deleteGroup: 'Elimina gruppo',
    // Modal: Disable auth
    disableAuthenticationTitle: 'Disabilita autenticazione',
    disableAuthenticationMessage: "Sei sicuro di voler disabilitare l'autenticazione? Questo renderà la tua istanza Bambuddy accessibile senza login. Tutti gli utenti resteranno nel database ma l'autenticazione sarà disabilitata.",
    disableAuthentication: 'Disabilita autenticazione',
    // Additional settings
    configureBambuddy: 'Configura Bambuddy',
    systemDefault: 'Predefinito di sistema',
    archiveSettings: 'Impostazioni archivio',
    newWindow: 'Nuova finestra',
    embeddedOverlay: 'Overlay incorporato',
    preferredSlicer: 'Slicer preferito',
    preferredSlicerDescription: 'Scegli quale applicazione slicer usare per aprire i file',
    externalCameras: 'Camere esterne',
    costTracking: 'Tracciamento costi',
    printsOnly: 'Solo stampe',
    totalConsumption: 'Consumo totale',
    dataManagement: 'Gestione dati',
    storageUsage: 'Memoria utilizzata',
    storageUsageDescription: 'Ripartizione della memoria per categoria',
    storageUsageTotal: 'Totale',
    storageUsageErrors: 'Errori',
    storageUsageOtherBreakdown: 'Altro (include risorse statiche, script e file di configurazione)',
    storageUsageSystem: 'Sistema',
    storageUsageData: 'Dati',
    storageUsageUnavailable: 'Informazioni sull\'utilizzo della memoria non disponibili',
    clearNotificationLogsDescription: 'Elimina log notifiche più vecchi di 30 giorni',
    resetUiPreferencesDescription: 'Reimposta ordine barra laterale, tema, modalità vista e preferenze layout. Stampanti, archivi e impostazioni non vengono modificati.',
    enableHomeAssistant: 'Abilita Home Assistant',
    enableMqtt: 'Abilita MQTT',
    useTls: 'Usa TLS',
    enableMetricsEndpoint: 'Abilita endpoint metriche',
    availableMetrics: 'Metriche disponibili',
    editUser: 'Modifica utente',
    deleteUserTitle: 'Elimina utente',
    groupName: 'Nome gruppo',
    // Placeholders
    leaveEmptyForAnonymous: 'Lascia vuoto per anonimo',
    leaveEmptyForNoAuth: 'Lascia vuoto per nessuna autenticazione',
    enterNewPassword: 'Inserisci nuova password',
    confirmNewPassword: 'Conferma nuova password',
    enterGroupName: 'Inserisci nome gruppo',
    enterDescriptionOptional: 'Inserisci descrizione (opzionale)',
    enterCurrentPassword: 'Inserisci password attuale',
    enterNewPasswordMin6: 'Inserisci nuova password (min 6 caratteri)',
    toast: {
      keyCopied: 'Chiave copiata negli appunti',
      copyFailed: 'Copia chiave fallita',
      keyAddedToBrowser: 'Chiave aggiunta al Browser API',
      clearLogsFailed: 'Eliminazione log fallita',
      uiPreferencesReset: 'Preferenze UI reimpostate. Aggiornamento...',
      authDisabled: 'Autenticazione disabilitata con successo',
      authDisableFailed: 'Disabilitazione autenticazione fallita',
      apiKeyCreated: 'Chiave API creata',
      apiKeyDeleted: 'Chiave API eliminata',
      userCreated: 'Utente creato con successo',
      userUpdated: 'Utente aggiornato con successo',
      userDeleted: 'Utente eliminato con successo',
      groupCreated: 'Gruppo creato con successo',
      groupUpdated: 'Gruppo aggiornato con successo',
      groupDeleted: 'Gruppo eliminato con successo',
      fillRequiredFields: 'Compila tutti i campi obbligatori',
      passwordsDoNotMatch: 'Le password non coincidono',
      passwordTooShort: 'La password deve essere di almeno 6 caratteri',
      enterGroupName: 'Inserisci un nome gruppo',
      settingsSaved: 'Impostazioni salvate',
      cameraSettingsSaved: 'Impostazioni camera salvate',
      enterCameraUrl: 'Inserisci un URL camera',
      passwordChanged: 'Password cambiata con successo',
      connectionFailed: 'Connessione fallita',
      testFailed: 'Test fallito',
      cameraConnected: 'Camera connessa{{resolution}}',
    },
    testConnection: 'Testa connessione',
  },

  // Notifications (for push notifications)
  notification: {
    printStarted: {
      title: 'Stampa avviata',
      body: '{{printer}}: {{filename}} ha iniziato a stampare',
    },
    printCompleted: {
      title: 'Stampa completata',
      body: '{{printer}}: {{filename}} completata con successo',
    },
    printFailed: {
      title: 'Stampa fallita',
      body: '{{printer}}: {{filename}} fallita',
    },
    printStopped: {
      title: 'Stampa interrotta',
      body: '{{printer}}: {{filename}} interrotta',
    },
    printProgress: {
      title: 'Avanzamento stampa',
      body: '{{printer}}: {{filename}} al {{percent}}% completamento',
    },
    printerOffline: {
      title: 'Stampante offline',
      body: '{{printer}} e offline',
    },
    printerError: {
      title: 'Errore stampante',
      body: '{{printer}}: {{error}}',
    },
    filamentLow: {
      title: 'Filamento in esaurimento',
      body: '{{printer}}: Filamento in esaurimento',
    },
    maintenanceDue: {
      title: 'Manutenzione dovuta',
      body: '{{printer}}: {{items}} richiedono attenzione',
    },
  },

  // Errors
  errors: {
    generic: 'Qualcosa e andato storto',
    networkError: 'Errore di rete. Controlla la connessione.',
    notFound: 'Non trovato',
    unauthorized: 'Non autorizzato',
    serverError: 'Errore server',
    validationError: 'Controlla i dati inseriti',
    printerConnectionFailed: 'Connessione alla stampante fallita',
    saveFailed: 'Salvataggio modifiche fallito',
    deleteFailed: 'Eliminazione fallita',
    loadFailed: 'Caricamento dati fallito',
  },

  // HMS Errors modal
  hmsErrors: {
    title: 'Errori - {{name}}',
    noErrors: 'Nessun errore',
    viewOnWiki: 'Vedi su Bambu Lab Wiki',
    clearInstructions: 'Cancella gli errori sulla stampante per rimuoverli qui.',
    clearErrors: 'Cancella errori',
    clearSuccess: 'Errori HMS cancellati',
    clearFailed: 'Impossibile cancellare gli errori HMS',
  },

  // MQTT Debug modal
  mqttDebug: {
    title: 'Log debug MQTT',
    searchPlaceholder: 'Cerca topic o payload...',
    noMessages: 'Nessun messaggio registrato',
    startLoggingHint: 'Clicca "Avvia logging" per iniziare a catturare messaggi MQTT',
    noMessagesMatch: 'Nessun messaggio corrisponde al filtro',
    adjustFilterHint: 'Prova a modificare la ricerca o i filtri',
    incoming: 'In ingresso',
    outgoing: 'In uscita',
    loggingStopped: 'Logging fermato',
    loggingActive: 'Logging attivo - i messaggi si aggiornano automaticamente',
    startLogging: 'Avvia logging',
    stopLogging: 'Ferma logging',
    clearLog: 'Pulisci log',
    topic: 'Topic',
    timestamp: 'Timestamp',
    direction: 'Direzione',
    all: 'Tutti',
  },

  // Printer File Manager modal (printer internal storage)
  printerFiles: {
    title: 'Gestore file',
    storageUsed: 'Usato:',
    storageFree: 'Libero:',
    filterPlaceholder: 'Filtra file...',
    deleteButton: 'Elimina',
    deleteFiles: 'Elimina {{count}} file',
    deleteFileConfirm: 'Eliminare "{{name}}"? Questa azione non può essere annullata.',
    deleteFilesConfirm: 'Eliminare {{count}} file selezionati? Questa azione non può essere annullata.',
    noFiles: 'Nessun file sulla stampante',
    loadingFiles: 'Caricamento file...',
    failedToLoad: 'Caricamento file fallito',
    toast: {
      filesDeleted: 'Eliminati {{count}} file',
      deleteFailed: 'Eliminazione fallita: {{error}}',
    },
  },

  // Confirmations
  confirm: {
    delete: 'Sei sicuro di voler eliminare questo?',
    unsavedChanges: 'Hai modifiche non salvate. Sei sicuro di voler uscire?',
    clearQueue: 'Sei sicuro di voler svuotare la coda?',
  },

  // Login page
  login: {
    title: 'Login Bambuddy',
    subtitle: 'Accedi al tuo account',
    username: 'Nome utente',
    usernamePlaceholder: 'Inserisci il nome utente',
    password: 'Password',
    passwordPlaceholder: 'Inserisci la password',
    signIn: 'Accedi',
    signingIn: 'Accesso in corso...',
    forgotPassword: 'Hai dimenticato la password?',
    loginSuccess: 'Accesso riuscito',
    loginFailed: 'Accesso fallito',
    enterCredentials: 'Inserisci nome utente e password',
    forgotPasswordTitle: 'Password dimenticata',
    forgotPasswordMessage: 'Se hai dimenticato la password, contatta il tuo amministratore di sistema per reimpostarla.',
    howToReset: 'Come reimpostare la password:',
    resetStep1: 'Contatta il tuo amministratore Bambuddy',
    resetStep2: 'Chiedi di reimpostare la password in Gestione utenti',
    resetStep3: 'Possono impostare una nuova password temporanea',
    resetStep4: 'Accedi con la nuova password e cambiala in Impostazioni',
    gotIt: 'Capito',
  },

  // Setup page
  setup: {
    title: 'Configurazione Bambuddy',
    subtitle: 'Configura autenticazione per la tua istanza Bambuddy',
    enableAuth: 'Abilita autenticazione',
    adminAccount: 'Account admin',
    adminAccountDesc: 'Se esistono già admin, l\'autenticazione verrà abilitata usando gli account esistenti. Lascia i campi sotto vuoti per usare gli admin esistenti, oppure inserisci nuove credenziali per creare un nuovo utente admin.',
    adminUsername: 'Nome utente admin',
    adminPassword: 'Password admin',
    optionalIfAdminExists: '(opzionale se esistono admin)',
    adminUsernamePlaceholder: 'Inserisci nome utente admin (opzionale)',
    adminPasswordPlaceholder: 'Inserisci password admin (opzionale)',
    confirmPassword: 'Conferma password',
    confirmPasswordPlaceholder: 'Conferma password admin',
    settingUp: 'Configurazione...',
    completeSetup: 'Completa configurazione',
    toast: {
      authEnabledAdminCreated: 'Autenticazione abilitata e utente admin creato',
      authEnabledExistingAdmins: 'Autenticazione abilitata usando admin esistenti',
      setupCompleted: 'Configurazione completata',
      enterBothCredentials: 'Inserisci nome utente e password admin, oppure lascia entrambi vuoti per usare admin esistenti',
      passwordsDoNotMatch: 'Le password non coincidono',
      passwordTooShort: 'La password deve essere di almeno 6 caratteri',
    },
  },

  // Password change
  changePassword: {
    title: 'Cambia password',
    currentPassword: 'Password attuale',
    currentPasswordPlaceholder: 'Inserisci password attuale',
    newPassword: 'Nuova password',
    newPasswordPlaceholder: 'Inserisci nuova password (min 6 caratteri)',
    confirmPassword: 'Conferma nuova password',
    confirmPasswordPlaceholder: 'Conferma nuova password',
    passwordsDoNotMatch: 'Le password non coincidono',
    passwordTooShort: 'La password deve essere di almeno 6 caratteri',
    changing: 'Modifica in corso...',
    success: 'Password cambiata con successo',
    failed: 'Modifica password fallita',
  },

  // Plate detection alert
  plateAlert: {
    title: 'Stampa in pausa!',
    message: 'Oggetti rilevati sul piatto. La stampa è stata messa automaticamente in pausa. Svuota il piatto e riprendi la stampa.',
    understand: 'Ho capito',
  },

  // Camera page
  camera: {
    title: 'Vista camera',
    invalidPrinterId: 'ID stampante non valido',
    live: 'Live',
    snapshot: 'Snapshot',
    restartStream: 'Riavvia stream',
    refreshSnapshot: 'Aggiorna snapshot',
    fullscreen: 'Schermo intero',
    exitFullscreen: 'Esci da schermo intero',
    connectingToCamera: 'Connessione alla camera...',
    capturingSnapshot: 'Acquisizione snapshot...',
    connectionLost: 'Connessione persa',
    connectionFailed: 'Connessione camera fallita',
    reconnecting: 'Riconnessione tra {{countdown}}s... (tentativo {{attempt}}/{{max}})',
    reconnectNow: 'Riconnetti ora',
    cameraUnavailable: 'Camera non disponibile',
    cameraUnavailableDesc: 'Assicurati che la stampante sia accesa e connessa.',
    noCamera: 'Nessuna camera disponibile',
    retry: 'Riprova',
    cameraStream: 'Stream camera',
    zoomOut: 'Zoom indietro',
    zoomIn: 'Zoom avanti',
    resetZoom: 'Reset zoom',
    recording: 'Registrazione',
    startRecording: 'Avvia registrazione',
    stopRecording: 'Ferma registrazione',
    chamberLight: 'Accendi/Spegni luce camera',
  },

  // Groups management
  groups: {
    title: 'Gestione gruppi',
    subtitle: 'Gestisci gruppi permessi per controllo accesso',
    backToSettings: 'Torna a Impostazioni',
    createGroup: 'Crea gruppo',
    noPermission: 'Non hai il permesso di accedere a questa pagina.',
    system: 'Sistema',
    noDescription: 'Nessuna descrizione',
    usersCount: '{{count}} utenti',
    permissionsCount: '{{count}} permessi',
    edit: 'Modifica',
    delete: 'Elimina',
    toast: {
      created: 'Gruppo creato con successo',
      updated: 'Gruppo aggiornato con successo',
      deleted: 'Gruppo eliminato con successo',
      enterGroupName: 'Inserisci un nome gruppo',
    },
    modal: {
      editGroup: 'Modifica gruppo',
      createGroup: 'Crea gruppo',
      cancel: 'Annulla',
      saving: 'Salvataggio...',
      creating: 'Creazione...',
      saveChanges: 'Salva modifiche',
    },
    form: {
      groupName: 'Nome gruppo',
      groupNamePlaceholder: 'Inserisci nome gruppo',
      systemGroupWarning: 'I nomi dei gruppi di sistema non possono essere modificati',
      description: 'Descrizione',
      descriptionPlaceholder: 'Inserisci descrizione (opzionale)',
      permissions: 'Permessi ({{count}} selezionati)',
    },
    deleteModal: {
      title: 'Elimina gruppo',
      message: 'Sei sicuro di voler eliminare questo gruppo? Gli utenti in questo gruppo perderanno questi permessi.',
      confirm: 'Elimina gruppo',
    },
    editor: {
      title: 'Modifica gruppo',
      createTitle: 'Crea gruppo',
      search: 'Cerca permessi...',
      selectAll: 'Seleziona tutto',
      clearAll: 'Deseleziona tutto',
      permissionsSelected: '{{count}} selezionati',
      noResults: 'Nessun permesso corrisponde alla ricerca',
    },
  },

  // Users management
  users: {
    title: 'Gestione utenti',
    subtitle: 'Gestisci utenti e accesso alla tua istanza Bambuddy',
    backToSettings: 'Torna a Impostazioni',
    createUser: 'Crea utente',
    noPermission: 'Non hai il permesso di accedere a questa pagina.',
    admin: 'Admin',
    noGroups: 'Nessun gruppo',
    active: 'Attivo',
    inactive: 'Inattivo',
    edit: 'Modifica',
    delete: 'Elimina',
    system: 'Sistema',
    noGroupsAvailable: 'Nessun gruppo disponibile',
    table: {
      username: 'Nome utente',
      groups: 'Gruppi',
      status: 'Stato',
      actions: 'Azioni',
    },
    toast: {
      created: 'Utente creato con successo',
      updated: 'Utente aggiornato con successo',
      deleted: 'Utente eliminato con successo',
      fillRequired: 'Compila tutti i campi obbligatori',
      passwordsDoNotMatch: 'Le password non coincidono',
      passwordTooShort: 'La password deve essere di almeno 6 caratteri',
    },
    modal: {
      createUser: 'Crea utente',
      editUser: 'Modifica utente',
      cancel: 'Annulla',
      creating: 'Creazione...',
      saving: 'Salvataggio...',
      saveChanges: 'Salva modifiche',
    },
    form: {
      username: 'Nome utente',
      usernamePlaceholder: 'Inserisci nome utente',
      password: 'Password',
      passwordPlaceholder: 'Inserisci password',
      confirmPassword: 'Conferma password',
      confirmPasswordPlaceholder: 'Conferma password',
      newPasswordPlaceholder: 'Inserisci nuova password',
      confirmNewPasswordPlaceholder: 'Conferma nuova password',
      leaveBlankToKeep: 'lascia vuoto per mantenere attuale',
      groups: 'Gruppi',
    },
    deleteModal: {
      title: 'Elimina utente',
      message: 'Sei sicuro di voler eliminare questo utente? Questa azione non può essere annullata.',
      confirm: 'Elimina utente',
    },
  },

  // Stream overlay
  streamOverlay: {
    title: 'Overlay stream',
    invalidPrinterId: 'ID stampante non valido',
    cameraStream: 'Stream camera',
    progress: 'Avanzamento',
    eta: 'ETA',
    printerIdle: 'Stampante inattiva',
    printerOffline: 'Stampante offline',
    status: {
      printing: 'In stampa',
      paused: 'In pausa',
      finished: 'Completata',
      failed: 'Fallita',
      idle: 'Inattiva',
      unknown: 'Sconosciuto',
    },
  },

  // Profiles
  profiles: {
    title: 'Profili',
    subtitle: 'Gestisci preset slicer e calibrazioni pressure advance',
    tabs: {
      cloud: 'Profili cloud',
      local: 'Profili locali',
      kprofiles: 'K-Profiles',
    },
    localProfiles: {
      title: 'Profili locali',
      subtitle: 'Importa e gestisci preset slicer da OrcaSlicer',
      import: 'Importa profili',
      importDesc: 'Trascina file .bbscfg, .bbsflmt, .orca_filament, .zip o .json qui',
      importing: 'Importazione...',
      search: 'Cerca preset locali...',
      noPresets: 'Nessun preset locale ancora',
      badge: 'Locale',
      edit: 'Modifica',
      delete: 'Elimina',
      cancel: 'Annulla',
      deleteConfirmTitle: 'Elimina preset',
      deleteConfirm: 'Sei sicuro di voler eliminare questo preset? Questa azione non può essere annullata.',
      source: 'Fonte',
      inheritsFrom: 'Eredita da',
      filamentType: 'Tipo',
      vendor: 'Produttore',
      compatiblePrinters: 'Stampanti',
      nozzleTemp: 'Temp. ugello',
      cost: 'Costo',
      density: 'Densità',
      pressureAdvance: 'Pressure Advance',
      filament: 'Filamento',
      process: 'Processo',
      printer: 'Stampante',
      toast: {
        importSuccess: '{{count}} preset importati',
        importSkipped: '{{count}} preset saltati (duplicati)',
        importError: '{{count}} errori durante l\'importazione',
        deleted: 'Preset eliminato',
        updated: 'Preset aggiornato',
      },
    },
    connectedAs: 'Connesso come',
    logout: 'Esci',
    noLogoutPermission: 'Non hai il permesso di disconnetterti',
    failedToLoad: 'Caricamento profili fallito',
    retry: 'Riprova',
    time: {
      justNow: 'Proprio ora',
      minsAgo: '{{count}}m fa',
      hoursAgo: '{{count}}h fa',
      daysAgo: '{{count}}g fa',
    },
    toast: {
      loggedOut: 'Disconnesso',
    },
    login: {
      title: 'Connetti a Bambu Cloud',
      subtitle: 'Sincronizza i preset del slicer tra dispositivi',
      email: 'Email',
      password: 'Password',
      region: 'Regione',
      regionGlobal: 'Globale',
      regionChina: 'Cina',
      verificationCode: 'Codice di verifica',
      totpCode: 'Codice autenticatore',
      checkEmail: 'Controlla la tua email ({{email}}) per un codice a 6 cifre',
      enterTotpHint: 'Inserisci il codice a 6 cifre dalla tua app autenticatore',
      accessToken: 'Access Token',
      accessTokenHint: 'Incolla il tuo access token Bambu Lab (da Bambu Studio)',
      back: 'Indietro',
      loginButton: 'Accedi',
      verifyButton: 'Verifica',
      setTokenButton: 'Imposta token',
      useToken: 'Usa access token invece',
      useEmail: 'Accedi con email invece',
      toast: {
        loggedIn: 'Accesso riuscito',
        codeSent: 'Codice di verifica inviato via email',
        enterTotp: 'Inserisci il codice dalla tua app autenticatore',
        tokenSet: 'Token impostato con successo',
      },
    },
    presets: {
      myPreset: 'Il mio preset (modificabile)',
      duplicate: 'Duplica',
      editable: 'Modificabile',
      failedToLoadDetails: 'Caricamento dettagli preset fallito',
      deleteConfirm: 'Eliminare questo preset?',
      deleteWarning: 'Questo eliminerà definitivamente "{{name}}" da Bambu Cloud. Questa azione non può essere annullata.',
      noDuplicatePermission: 'Non hai il permesso di duplicare preset',
      noEditPermission: 'Non hai il permesso di modificare preset',
      noDeletePermission: 'Non hai il permesso di eliminare preset',
      types: {
        filament: 'Preset filamento',
        printer: 'Preset stampante',
        process: 'Preset processo',
      },
      toast: {
        deleted: 'Preset eliminato',
        created: 'Preset creato',
        updated: 'Preset aggiornato',
        duplicated: 'Preset duplicato',
        fieldAdded: 'Campo "{{key}}" aggiunto',
        exported: 'Preset esportato',
      },
      baseLabel: 'Base: {{name}}',
      currentLabel: 'Corrente: {{name}}',
      newPreset: 'Nuovo preset',
      editPreset: 'Modifica preset',
      duplicatePreset: 'Duplica preset',
      createNewPreset: 'Crea nuovo preset',
      customizeSettings: 'Personalizza le impostazioni per il nuovo preset',
      compareWithBase: 'Confronta con base',
      compare: 'Confronta',
      // CreatePresetModal - Basic Info
      basePreset: 'Preset base',
      selectBasePreset: 'Seleziona preset base...',
      presetName: 'Nome preset',
      myCustomPreset: 'Il mio preset personalizzato',
      inheritsFrom: 'Deriva da',
      dropJsonToImport: 'Rilascia JSON per importare',
      // CreatePresetModal - Tabs
      tabs: {
        common: 'Comune',
        allFields: 'Tutti i campi',
      },
      // CreatePresetModal - All Fields Tab
      availableFields: 'Campi disponibili',
      searchFieldsPlaceholder: 'Cerca campi...',
      noMatchingFields: 'Nessun campo corrispondente',
      allFieldsAdded: 'Tutti i campi aggiunti',
      addCustomField: 'Aggiungi campo personalizzato',
      yourOverrides: 'Le tue override',
      noOverridesYet: 'Nessun override ancora',
      clickFieldsToAdd: 'Clicca i campi a sinistra per aggiungerli',
      saveAsTemplate: 'Salva come template',
      jsonTip: 'Suggerimento: trascina e rilascia un file .json ovunque in questa modale per importare impostazioni',
    },
    cloudView: {
      searchPlaceholder: 'Cerca preset...',
      templates: 'Template',
      refresh: 'Aggiorna',
      newPreset: 'Nuovo preset',
      clearFilters: 'Pulisci filtri',
      // Compare mode
      compareMode: 'Modalita confronto',
      selectAnotherPreset: 'Seleziona un altro preset {{type}}',
      clickTwoPresets: 'Clicca due preset dello stesso tipo per confrontare',
      selectFirst: '1. Seleziona il primo',
      selectSecond: '2. Seleziona il secondo',
      compareNow: 'Confronta ora',
      // Status row
      lastSynced: 'Ultima sincronizzazione:',
      showingCount: 'Mostrati {{showing}} di {{total}} preset',
      noPresetsFound: 'Nessun preset trovato',
      // Column headers
      columns: {
        filament: 'Filamento',
        process: 'Processo',
        printer: 'Stampante',
      },
      noFilamentPresets: 'Nessun preset filamento',
      noProcessPresets: 'Nessun preset processo',
      noPrinterPresets: 'Nessun preset stampante',
      // Filters
      filters: {
        type: 'Tipo',
        owner: 'Proprietario',
        printer: 'Stampante',
        nozzle: 'Ugello',
        filament: 'Filamento',
        layer: 'Layer',
        all: 'Tutti',
        myPresets: 'I miei preset',
        builtIn: 'Integrati',
        process: 'Processo',
      },
      // Permissions
      noTemplatesPermission: 'Non hai il permesso di gestire i template',
      noRefreshPermission: 'Non hai il permesso di aggiornare i profili',
      noCreatePermission: 'Non hai il permesso di creare preset',
    },
    templates: {
      title: 'Template rapidi',
      noTemplates: 'Nessun template ancora',
      createFirst: 'Crea template dall\'editor preset',
      typeFilter: 'Tipo:',
      deleteTitle: 'Elimina template',
      deleteWarning: 'Questa azione non può essere annullata',
      deleteConfirm: 'Sei sicuro di voler eliminare "{{name}}"?',
      namePlaceholder: 'Nome template',
      descriptionPlaceholder: 'Descrizione',
      settingsJson: 'Impostazioni (JSON)',
      fieldsCount: '{{count}} campi',
      shownInModals: 'Mostrati nelle modali',
      hiddenInModals: 'Nascosti nelle modali',
      apply: 'Applica',
      toast: {
        deleted: 'Template eliminato',
        updated: 'Template aggiornato',
        created: 'Template creato',
        applied: 'Template applicato',
      },
    },
  },

  // Support/Debug
  support: {
    debugLoggingActive: 'Log debug attivo',
    manageLogs: 'Gestisci',
    collectItem7: 'Connettività stampante e versioni firmware',
    collectItem8: 'Stato integrazioni (Spoolman, MQTT, HA)',
    collectItem9: 'Interfacce di rete (solo subnet)',
    collectItem10: 'Versioni dei pacchetti Python',
    collectItem11: 'Controlli di integrità del database',
    collectItem12: 'Dettagli dell\'ambiente Docker',
  },

  // File manager
  fileManager: {
    title: 'Gestore file',
    subtitle: 'Organizza e gestisci i tuoi file di stampa',
    uploadFiles: 'Carica file',
    newFolder: 'Nuova cartella',
    folderName: 'Nome cartella',
    folderNamePlaceholder: 'es., Parti funzionali',
    renameFile: 'Rinomina file',
    renameFolder: 'Rinomina cartella',
    moveFiles: 'Sposta {{count}} file',
    rootNoFolder: 'Root (nessuna cartella)',
    current: 'corrente',
    linkFolder: 'Collega cartella',
    linkFolderDescription: 'Collega "{{name}}" a un progetto o archivio per accesso rapido.',
    project: 'Progetto',
    archive: 'Archivio',
    noProjectsFound: 'Nessun progetto trovato',
    noArchivesFound: 'Nessun archivio trovato',
    unlink: 'Scollega',
    link: 'Collega',
    dragDropFiles: 'Trascina e rilascia file qui',
    dropFilesHere: 'Rilascia file qui',
    orClickToBrowse: 'oppure clicca per sfogliare',
    allFileTypesSupported: 'Tutti i tipi di file supportati. I file ZIP saranno estratti.',
    zipFilesDetected: 'File ZIP rilevati',
    zipExtractOptions: 'I file ZIP saranno estratti. Scegli come gestire la struttura cartelle:',
    preserveZipStructure: 'Mantieni struttura cartelle dal ZIP',
    createFolderFromZip: 'Crea cartella dal nome ZIP',
    stlThumbnailGeneration: 'Generazione miniature STL',
    zipMayContainStl: 'I file ZIP possono contenere STL. Le miniature possono essere generate durante l\'estrazione.',
    thumbnailsCanBeGenerated: 'Le miniature possono essere generate per file STL. I modelli grandi possono richiedere più tempo.',
    generateThumbnailsForStl: 'Genera miniature per file STL',
    threemfDetected: 'File 3MF rilevati',
    threemfExtractionInfo: 'Modello stampante, materiale, colore e impostazioni stampa saranno estratti automaticamente dai file 3MF.',
    willBeExtracted: 'Sara estratto',
    filesExtracted: '{{count}} file estratti',
    uploadComplete: 'Caricamento completato: {{succeeded}} riusciti',
    uploadFailed: '{{count}} falliti',
    uploading: 'Caricamento...',
    changeLink: 'Cambia collegamento...',
    linkTo: 'Collega a...',
    linkToProjectOrArchive: 'Collega a progetto o archivio',
    addToQueue: 'Aggiungi alla coda',
    schedulePrint: 'Pianifica',
    generateThumbnail: 'Genera miniatura',
    generateThumbnails: 'Genera miniature',
    generateThumbnailsForMissing: 'Genera miniature per STL senza miniatura',
    gridView: 'Vista griglia',
    listView: 'Vista elenco',
    lowDiskSpaceWarning: 'Avviso spazio disco basso',
    lowDiskSpaceDetails: 'Solo {{free}} liberi su {{total}} totali. La soglia e {{threshold}} GB nelle impostazioni.',
    files: 'File',
    folders: 'Cartelle',
    size: 'Dimensione',
    free: 'Libero',
    allFiles: 'Tutti i file',
    wrap: 'A capo',
    enableTextWrapping: 'Abilita a capo testo',
    disableTextWrapping: 'Disabilita a capo testo',
    dragToResizeTooltip: 'Trascina per ridimensionare, doppio clic per reset',
    searchFiles: 'Cerca file...',
    allTypes: 'Tutti i tipi',
    prints: 'Stampe',
    ascending: 'Crescente',
    descending: 'Decrescente',
    resultsCount: '{{showing}} di {{total}} file',
    selectAll: 'Seleziona tutto',
    deselectAll: 'Deseleziona tutto',
    selected: '{{count}} selezionati',
    adding: 'Aggiunta...',
    loadingFiles: 'Caricamento file...',
    folderIsEmpty: 'La cartella e vuota',
    noFilesYet: 'Nessun file ancora',
    folderEmptyDescription: 'Carica file o sposta file in questa cartella per iniziare.',
    noFilesDescription: 'Carica file per iniziare a organizzare i file di stampa.',
    noMatchingFiles: 'Nessun file corrispondente',
    noMatchingFilesDescription: 'Nessun file corrisponde ai criteri di ricerca o filtro.',
    clearFilters: 'Pulisci filtri',
    printedCount: 'Stampato {{count}}x',
    uploadedBy: 'Caricato da',
    deleteFolder: 'Elimina cartella',
    deleteFile: 'Elimina file',
    deleteFilesCount: 'Elimina {{count}} file',
    deleteFolderConfirm: 'Sei sicuro di voler eliminare questa cartella? Tutti i file dentro saranno eliminati.',
    deleteFileConfirm: 'Sei sicuro di voler eliminare questo file?',
    deleteFilesConfirm: 'Sei sicuro di voler eliminare {{count}} file selezionati? Questa azione non può essere annullata.',
    deleting: 'Eliminazione...',
    noPermissionRenameFolder: 'Non hai il permesso di rinominare cartelle',
    noPermissionLinkFolder: 'Non hai il permesso di collegare cartelle',
    noPermissionDeleteFolder: 'Non hai il permesso di eliminare cartelle',
    noPermissionPrint: 'Non hai il permesso di stampare',
    noPermissionAddToQueue: 'Non hai il permesso di aggiungere alla coda',
    noPermissionDownload: 'Non hai il permesso di scaricare file',
    noPermissionRenameFile: 'Non hai il permesso di rinominare questo file',
    noPermissionGenerateThumbnail: 'Non hai il permesso di generare miniature',
    noPermissionDeleteFile: 'Non hai il permesso di eliminare questo file',
    noPermissionCreateFolder: 'Non hai il permesso di creare cartelle',
    noPermissionUpload: 'Non hai il permesso di caricare file',
    noPermissionMoveFiles: 'Non hai il permesso di spostare file',
    noPermissionDeleteFiles: 'Non hai il permesso di eliminare file',
    toast: {
      folderCreated: 'Cartella creata',
      folderDeleted: 'Cartella eliminata',
      fileDeleted: 'File eliminato',
      filesDeleted: 'Eliminati {{count}} file',
      filesMoved: 'File spostati',
      folderLinked: 'Cartella collegata',
      folderUnlinked: 'Cartella scollegata',
      addedToQueue: 'Aggiunti {{count}} file alla coda',
      addedToQueuePartial: 'Aggiunti {{added}} file, {{failed}} falliti',
      failedToAddToQueue: 'Aggiunta file fallita: {{error}}',
      fileRenamed: 'File rinominato',
      folderRenamed: 'Cartella rinominata',
      thumbnailsGenerated: 'Generate {{count}} miniature',
      thumbnailsGeneratedPartial: 'Generate {{succeeded}} miniature, {{failed}} fallite',
      noStlMissingThumbnails: 'Nessun file STL senza miniature',
      failedToGenerateThumbnails: 'Generazione miniature fallita: {{error}}',
      thumbnailGenerated: 'Miniatura generata',
      failedToGenerateThumbnail: 'Generazione miniatura fallita: {{error}}',
    },
  },

  // Projects
  projects: {
    title: 'Progetti',
    subtitle: 'Organizza e traccia i tuoi progetti di stampa 3D',
    newProject: 'Nuovo progetto',
    editProject: 'Modifica progetto',
    deleteProject: 'Elimina progetto',
    projectName: 'Nome progetto',
    description: 'Descrizione',
    noProjects: 'Nessun progetto ancora',
    noProjectsFiltered: 'Nessun progetto {{status}}',
    noProjectsFilteredHelp: 'Non hai progetti {{status}}. I progetti appariranno qui quando il loro stato cambia.',
    createFirst: 'Crea il tuo primo progetto per organizzare stampe correlate, tracciare progressi e gestire i tuoi build.',
    createFirstButton: 'Crea il tuo primo progetto',
    create: 'Crea',
    files: 'File',
    prints: 'Stampe',
    plates: 'piatti',
    parts: 'parti',
    lastModified: 'Ultima modifica',
    deleteConfirm: 'Sei sicuro di voler eliminare questo progetto? Archivi e elementi in coda saranno scollegati ma non eliminati.',
    addFiles: 'Aggiungi file',
    removeFile: 'Rimuovi file',
    viewDetails: 'Vedi dettagli',
    // Modal fields
    namePlaceholder: 'es., Build Voron 2.4',
    descriptionPlaceholder: 'Descrizione opzionale...',
    color: 'Colore',
    targetPlates: 'Piatti target',
    targetPlatesPlaceholder: 'es., 25',
    targetPlatesHelp: 'Numero di job di stampa',
    targetParts: 'Parti target',
    targetPartsPlaceholder: 'es., 150',
    targetPartsHelp: 'Totale oggetti necessari',
    tagsLabel: 'Tag (separati da virgola)',
    tagsPlaceholder: 'es., voron, funzionale, regalo',
    dueDate: 'Data scadenza',
    priority: 'Priorita',
    priorityLow: 'Bassa',
    priorityNormal: 'Normale',
    priorityHigh: 'Alta',
    priorityUrgent: 'Urgente',
    // Status
    statusActive: 'Attivo',
    statusCompleted: 'Completato',
    statusArchived: 'Archiviato',
    done: 'Fatto',
    completed: 'completato',
    failed: 'fallito',
    inQueue: 'in coda',
    noPrintsYet: 'Nessuna stampa ancora',
    // Footer stats
    printJobs: 'Job di stampa (piatti)',
    partsPrinted: 'Parti stampate',
    failedParts: 'Parti fallite',
    // Actions
    import: 'Importa',
    export: 'Esporta',
    importProject: 'Importa progetto',
    exportAll: 'Esporta tutti i progetti',
    loading: 'Caricamento progetti...',
    // Permissions
    noEditPermission: 'Non hai il permesso di modificare progetti',
    noDeletePermission: 'Non hai il permesso di eliminare progetti',
    noCreatePermission: 'Non hai il permesso di creare progetti',
    noImportPermission: 'Non hai il permesso di importare progetti',
    noExportPermission: 'Non hai il permesso di esportare progetti',
    // Toast
    toast: {
      created: 'Progetto creato',
      updated: 'Progetto aggiornato',
      deleted: 'Progetto eliminato',
      imported: 'Progetto importato',
      multipleImported: '{{count}} progetti importati',
      importFailed: 'Import fallito',
      exported: 'Progetti esportati (solo metadati)',
    },
  },

  // Project detail page
  projectDetail: {
    notFound: 'Progetto non trovato',
    backToProjects: 'Torna a Progetti',
    export: 'Esporta',
    exportProject: 'Esporta progetto',
    noExportPermission: 'Non hai il permesso di esportare progetti',
    noEditPermission: 'Non hai il permesso di modificare progetti',
    partOf: 'Parte di:',
    priorityLabel: 'Priorita:',
    noPrints: 'Nessuna stampa in questo progetto ancora',
    status: {
      active: 'Attivo',
      completed: 'Completato',
      archived: 'Archiviato',
    },
    priority: {
      low: 'Bassa',
      normal: 'Normale',
      high: 'Alta',
      urgent: 'Urgente',
    },
    dueDate: {
      overdue: 'Scaduto',
      today: 'Scade oggi',
      daysLeft: '{{count}} giorni rimanenti',
    },
    progress: {
      platesProgress: 'Avanzamento piatti',
      partsProgress: 'Avanzamento parti',
      printJobs: 'job di stampa',
      parts: 'parti',
      percentComplete: '{{percent}}% completato',
      remaining: '{{count}} rimanenti',
    },
    stats: {
      printJobs: 'Job di stampa',
      total: 'totale',
      failed: '{{count}} falliti',
      partsPrinted: '{{count}} parti stampate',
      printTime: 'Tempo di stampa',
      filamentUsed: 'Filamento usato',
    },
    cost: {
      title: 'Tracciamento costi',
      filamentCost: 'Costo filamento',
      energy: 'Energia',
      budget: 'Budget',
      remaining: 'Rimanente',
    },
    subProjects: {
      title: 'Sotto-progetti ({{count}})',
    },
    notes: {
      title: 'Note',
      noEditPermission: 'Non hai il permesso di modificare le note',
      placeholder: 'Aggiungi note su questo progetto...',
      empty: 'Nessuna nota ancora. Clicca Modifica per aggiungere note.',
    },
    files: {
      title: 'File',
      linkFolders: 'Collega cartelle dal Gestore file',
      forQuickAccess: 'a questo progetto per accesso rapido.',
      fileCount: '{{count}} file',
      empty: 'Nessuna cartella collegata. Vai a Gestore file e collega una cartella a questo progetto.',
    },
    bom: {
      title: 'Distinta materiali',
      acquired: '{{completed}}/{{total}} acquisiti',
      showAll: 'Mostra tutti',
      hideDone: 'Nascondi completati',
      addPart: 'Aggiungi parte',
      noAddPermission: 'Non hai il permesso di aggiungere parti',
      partNamePlaceholder: 'Nome parte (es., viti M3x8)',
      partName: 'Nome parte',
      qty: 'Qta',
      price: 'Prezzo ({{currency}})',
      sourcingUrlPlaceholder: 'URL fornitura (opzionale)',
      remarksPlaceholder: 'Note (opzionale)',
      deletePart: 'Elimina parte',
      deleteConfirm: 'Sei sicuro di voler eliminare "{{name}}"?',
      noUpdatePermission: 'Non hai il permesso di aggiornare parti',
      noEditPermission: 'Non hai il permesso di modificare parti',
      noDeletePermission: 'Non hai il permesso di eliminare parti',
      totalCost: 'Costo totale:',
      empty: 'Nessuna parte nella distinta materiali. Aggiungi hardware, elettronica o altri componenti da reperire.',
    },
    timeline: {
      title: 'Timeline attivita',
      empty: 'Nessuna attivita ancora.',
    },
    template: {
      saveAsTemplate: 'Salva come template',
      noCreatePermission: 'Non hai il permesso di creare template',
    },
    queue: {
      title: 'Coda',
      viewAll: 'Vedi tutto',
      printing: '{{count}} in stampa',
      queued: '{{count}} in coda',
    },
    prints: {
      title: 'Stampe ({{count}})',
    },
    toast: {
      projectUpdated: 'Progetto aggiornato',
      partAdded: 'Parte aggiunta',
      partRemoved: 'Parte rimossa',
      exportFailed: 'Export fallito',
      projectExported: 'Progetto esportato',
      templateCreated: 'Template creato',
    },
  },

  // System info
  system: {
    title: 'Informazioni sistema',
    version: 'Versione',
    uptime: 'Tempo attivo',
    cpuUsage: 'Uso CPU',
    memoryUsage: 'Uso memoria',
    diskUsage: 'Uso disco',
    networkInfo: 'Info rete',
    logs: 'Log',
    debugMode: 'Modalita debug',
    enableDebug: 'Abilita log debug',
    disableDebug: 'Disabilita log debug',
    downloadLogs: 'Scarica log',
    clearLogs: 'Cancella log',
    dockerInfo: 'Info Docker',
    containerName: 'Nome container',
    imageName: 'Nome immagine',
    platform: 'Piattaforma',
    architecture: 'Architettura',
  },

  // Library (K Profiles)
  library: {
    title: 'Libreria filamenti',
    addFilament: 'Aggiungi filamento',
    editFilament: 'Modifica filamento',
    deleteFilament: 'Elimina filamento',
    vendor: 'Produttore',
    material: 'Materiale',
    color: 'Colore',
    kFactor: 'K Factor',
    temperature: 'Temperatura',
    noFilaments: 'Nessun filamento in libreria',
    deleteConfirm: 'Sei sicuro di voler eliminare questo filamento?',
    importFromPrinter: 'Importa da stampante',
    exportToFile: 'Esporta su file',
  },

  // Spoolman
  spoolman: {
    title: 'Integrazione Spoolman',
    enabled: 'Spoolman abilitato',
    url: 'URL Spoolman',
    connected: 'Connesso',
    disconnected: 'Non connesso',
    testConnection: 'Testa connessione',
    sync: 'Sincronizza',
    syncing: 'Sincronizzazione...',
    lastSync: 'Ultima sincronizzazione',
    linkToSpoolman: 'Collega a Spoolman',
    openInSpoolman: 'Apri in Spoolman',
    unlinkSpool: 'Scollega bobina',
    selectSpool: 'Seleziona bobina',
    noUnlinkedSpools: 'Nessuna bobina scollegata disponibile',
    linkSuccess: 'Bobina collegata a Spoolman con successo',
    linkFailed: 'Collegamento bobina fallito',
    spoolId: 'ID bobina',
    fillSourceLabel: '(Spoolman)',
    weight: 'Peso',
    remaining: 'Rimanente',
    disableWeightSync: 'Disabilita sync peso stimato AMS',
    disableWeightSyncDesc: 'Non aggiornare la capacità rimanente dalle stime AMS. Usalo se preferisci il tracciamento di Spoolman rispetto alle stime AMS. Le nuove bobine useranno comunque la stima AMS come peso iniziale.',
    reportPartialUsage: 'Segnala uso parziale per stampe fallite',
    reportPartialUsageDesc: 'Quando una stampa fallisce o viene annullata, segnala il filamento stimato usato fino a quel punto in base all\'avanzamento layer.',
  },

  // Inventory
  inventory: {
    title: 'Inventario Bobine',
    addSpool: 'Aggiungi Bobina',
    editSpool: 'Modifica Bobina',
    material: 'Materiale',
    selectMaterial: 'Seleziona materiale...',
    subtype: 'Sottotipo',
    brand: 'Marchio',
    searchBrand: 'Cerca marchio...',
    useCustomBrand: 'Usa "{{brand}}"',
    useCustomMaterial: 'Usa materiale personalizzato: {{material}}',
    colorName: 'Nome Colore',
    colorNamePlaceholder: 'Jade White, Fire Red...',
    color: 'Colore',
    hexColor: 'Colore Hex',
    pickColor: 'Scegli colore personalizzato',
    labelWeight: 'Peso da Etichetta',
    coreWeight: 'Peso Bobina Vuota',
    searchSpoolWeight: 'Cerca peso bobina...',
    weightUsed: 'Utilizzato',
    currentWeight: 'Peso Rimanente',
    measuredWeight: 'Peso Misurato',
    costPerKg: 'Costo per kg',
    measuredWeightError: 'Il peso misurato deve essere compreso tra {{min}}g e {{max}}g.',
    slicerFilament: 'Filamento Slicer',
    slicerFilamentName: 'Nome Preset Slicer',
    slicerPreset: 'Preset Slicer',
    searchPresets: 'Cerca preset filamento...',
    selectedPreset: 'Selezionato',
    noPresetsFound: 'Nessun preset trovato',
    tempOverrides: 'Override Temperatura',
    note: 'Nota',
    notePlaceholder: 'Eventuali note aggiuntive su questa bobina...',
    archive: 'Archivia',
    restore: 'Ripristina',
    noSpools: 'Ancora nessuna bobina. Aggiungi la tua prima bobina per iniziare.',
    noManualSpools: 'Nessuna bobina aggiunta manualmente disponibile. Aggiungi prima una bobina al tuo inventario.',
    kProfiles: 'K-Profiles',
    addKProfile: 'Aggiungi K-Profile',
    assignSpool: 'Assegna Bobina',
    unassignSpool: 'Scollega',
    assignSuccess: 'Bobina assegnata e slot AMS configurato',
    assignFailed: 'Assegnazione bobina fallita',
    selectSpool: 'Seleziona una bobina da assegnare a questo slot',
    assigned: 'Assegnato',
    assigning: 'Assegnazione...',
    searchSpools: 'Cerca bobine...',
    allMaterials: 'Tutti i Materiali',
    filterByBrand: 'Filtra per marchio...',
    showArchived: 'Mostra archiviate',
    quickAdd: 'Aggiunta rapida (Scorta)',
    quantity: 'Quantità',
    stock: 'Scorta',
    configured: 'Configurata',
    spoolsCreated: '{{count}} bobine create',
    spoolCreated: 'Bobina creata',
    spoolUpdated: 'Bobina aggiornata',
    spoolDeleted: 'Bobina eliminata',
    spoolArchived: 'Bobina archiviata',
    spoolRestored: 'Bobina ripristinata',
    deleteConfirm: 'Sei sicuro di voler eliminare questa bobina? Questa azione non può essere annullata.',
    advancedSettings: 'Impostazioni Avanzate',
    weightCheck: 'Controllo Peso',
    lastWeighed: 'Ultima pesatura',
    neverWeighed: 'Mai pesato',
  },

  // Timelapse
  timelapse: {
    title: 'Timelapse',
    create: 'Crea timelapse',
    download: 'Scarica',
    delete: 'Elimina',
    preview: 'Anteprima',
    frameRate: 'Frame rate',
    quality: 'Qualità',
    processing: 'Elaborazione...',
    noTimelapses: 'Nessun timelapse disponibile',
  },

  // AMS
  ams: {
    title: 'AMS',
    slot: 'Slot',
    empty: 'Vuoto',
    emptySlot: 'Slot vuoto',
    unknown: 'Sconosciuto',
    humidity: 'Umidità',
    temperature: 'Temperatura',
    filamentType: 'Tipo filamento',
    filamentColor: 'Colore',
    remaining: 'Rimanente',
    history: 'Cronologia AMS',
    noHistory: 'Nessuna cronologia disponibile',
    configureSlot: 'Configura slot',
    externalSpool: 'Bobina esterna',
    profile: 'Profilo',
    kFactor: 'K Factor',
    fill: 'Livello',
    configure: 'Configura',
    used: 'utilizzato',
    remainingUnit: 'rimanente',
  },

  // Print modal
  printModal: {
    title: 'Avvia stampa',
    selectPrinter: 'Seleziona stampante',
    selectPlate: 'Seleziona piatto',
    filamentMapping: 'Mappatura filamento',
    totalCost: 'Costo totale:',
    slotRemainingShort: ' - {{grams}}g rim.',
    printSettings: 'Impostazioni stampa',
    bedLeveling: 'Livellamento piatto',
    flowCalibration: 'Calibrazione flusso',
    vibrationCalibration: 'Calibrazione vibrazioni',
    layerInspection: 'Ispezione primo layer',
    timelapse: 'Timelapse',
    startPrint: 'Avvia stampa',
    addToQueue: 'Aggiungi alla coda',
    cancel: 'Annulla',
    noPrintersAvailable: 'Nessuna stampante disponibile',
    printerBusy: 'Stampante occupata',
    printerOffline: 'Stampante offline',
    leftNozzle: 'L',
    rightNozzle: 'R',
    leftNozzleTooltip: 'Ugello sinistro',
    rightNozzleTooltip: 'Ugello destro',
    filamentOverride: 'Sostituzione filamento',
    filamentOverrideHint: 'Sostituisci opzionalmente i filamenti per l\'assegnazione basata sul modello. Lo scheduler abbinerà i filamenti selezionati invece dei valori 3MF originali.',
    originalFilament: 'Originale',
    overrideWith: 'Sostituisci con',
    resetToOriginal: 'Ripristina originale',
  },

  // Backup
  backup: {
    title: 'Backup e ripristino',
    createBackup: 'Crea backup',
    restoreBackup: 'Ripristina backup',
    restoreDescription: 'Sostituisci tutti i dati da un file di backup',
    downloadBackup: 'Scarica backup',
    uploadBackup: 'Carica backup',
    lastBackup: 'Ultimo backup',
    autoBackup: 'Backup automatico',
    backupNow: 'Esegui backup ora',
    restoreWarning: 'Avviso: il ripristino sovrascriverà tutti i dati attuali.',
    includeArchives: 'Includi archivi',
    includeSettings: 'Includi impostazioni',
    includeProfiles: 'Includi profili',
    backupSuccess: 'Backup creato con successo',
    restoreSuccess: 'Backup ripristinato con successo',
    backupFailed: 'Backup fallito',
    restoreFailed: 'Ripristino fallito',
    restoreNote: 'La stampante virtuale verrà fermata durante il ripristino',
  },

  // Tags
  tags: {
    title: 'Tag',
    addTag: 'Aggiungi tag',
    editTag: 'Modifica tag',
    deleteTag: 'Elimina tag',
    tagName: 'Nome tag',
    tagColor: 'Colore tag',
    noTags: 'Nessun tag',
    deleteConfirm: 'Sei sicuro di voler eliminare questo tag?',
    manageTags: 'Gestisci tag',
  },

  // Upload modal (archives)
  uploadModal: {
    title: 'Carica file 3MF',
    dragDrop: 'Trascina e rilascia file .3mf qui',
    or: 'o',
    browseFiles: 'Sfoglia file',
    extractionInfo: 'Il modello stampante sarà estratto automaticamente dai metadati del file 3MF.',
    uploaded: 'caricati',
    failed: 'falliti',
    uploading: 'Caricamento...',
    upload: 'Carica',
    uploadFailed: 'Caricamento fallito',
  },

  // Edit archive modal
  editArchive: {
    title: 'Modifica archivio',
    name: 'Nome',
    namePlaceholder: 'Nome stampa',
    printer: 'Stampante',
    noPrinter: 'Nessuna stampante',
    project: 'Progetto',
    noProject: 'Nessun progetto',
    itemsPrinted: 'Elementi stampati',
    itemsPrintedHelp: 'Numero di elementi prodotti in questo job di stampa',
    notes: 'Note',
    notesPlaceholder: 'Aggiungi note su questa stampa...',
    externalLink: 'Link esterno',
    externalLinkPlaceholder: 'https://printables.com/model/...',
    externalLinkHelp: 'Link a Printables, Thingiverse o altra fonte',
    tags: 'Tag',
    tagsPlaceholder: 'Aggiungi tag...',
    addMoreTags: 'Aggiungi altri tag...',
    matchingTags: 'Tag corrispondenti "{{query}}"',
    existingTags: 'Tag esistenti',
    clickToAdd: '(clicca per aggiungere)',
    status: 'Stato',
    failureReason: 'Motivo fallimento',
    selectReason: 'Seleziona motivo...',
    photos: 'Foto del risultato stampato',
    photosHelp: 'Clicca + per aggiungere foto del risultato stampato',
    printResult: 'Risultato stampa',
    saving: 'Salvataggio...',
    // Failure reasons
    failureReasons: {
      adhesionFailure: 'Fallimento adesione',
      spaghettiDetached: 'Spaghetti / staccato',
      layerShift: 'Spostamento layer',
      cloggedNozzle: 'Ugello intasato',
      filamentRunout: 'Filamento esaurito',
      warping: 'Warping',
      stringing: 'Stringing',
      underExtrusion: 'Sotto-estrusione',
      powerFailure: 'Mancanza corrente',
      userCancelled: 'Annullato dall\'utente',
      other: 'Altro',
    },
    // Archive statuses
    statuses: {
      completed: 'Completato',
      failed: 'Fallito',
      aborted: 'Annullato',
      printing: 'In stampa',
    },
  },

  // K-Profiles
  kProfiles: {
    title: 'K-Profiles',
    noPrintersConfigured: 'Nessuna stampante configurata',
    addPrinterInSettings: 'Aggiungi una stampante in Impostazioni per gestire i K-profiles',
    noActivePrinters: 'Nessuna stampante attiva',
    enablePrinterConnection: 'Abilita una connessione stampante per vedere i K-profiles',
    loadingProfiles: 'Caricamento K-Profiles...',
    printerOffline: 'Stampante offline',
    printerOfflineDesc: 'La stampante selezionata non e connessa. Accendila per vedere i K-profiles.',
    noMatchingProfiles: 'Nessun profilo corrispondente',
    noMatchingProfilesDesc: 'Nessun profilo corrisponde ai criteri di ricerca',
    noKProfiles: 'Nessun K-Profile',
    noKProfilesDesc: 'Nessun profilo pressure advance per ugello da {{diameter}}mm',
    createFirstProfile: 'Crea primo profilo',
    // Controls
    printer: 'Stampante',
    nozzle: 'Ugello',
    refresh: 'Aggiorna',
    addProfile: 'Aggiungi profilo',
    export: 'Esporta',
    import: 'Importa',
    select: 'Seleziona',
    selectAll: 'Seleziona tutto',
    delete: 'Elimina',
    // Filters
    searchPlaceholder: 'Cerca per nome o filamento...',
    allExtruders: 'Tutti gli estrusori',
    leftOnly: 'Solo sinistro',
    rightOnly: 'Solo destro',
    allFlow: 'Tutto flow',
    hfOnly: 'Solo HF',
    sOnly: 'Solo S',
    sortName: 'Ordina: Nome',
    sortKValue: 'Ordina: K-Value',
    sortFilament: 'Ordina: Filamento',
    // Dual extruder labels
    leftExtruder: 'Estrusore sinistro',
    rightExtruder: 'Estrusore destro',
    // Modal
    modal: {
      addTitle: 'Aggiungi K-Profile',
      editTitle: 'Modifica K-Profile',
      profileName: 'Nome profilo',
      profileNamePlaceholder: 'Il mio profilo PLA',
      kValue: 'K-Value',
      kValuePlaceholder: '0.020',
      kValueHelp: 'Intervallo tipico: 0.01 - 0.06 per PLA, 0.02 - 0.10 per PETG',
      filament: 'Filamento',
      selectFilament: 'Seleziona filamento...',
      noFilamentsHelp: 'Nessun filamento trovato. Crea prima un K-profile in Bambu Studio.',
      flowType: 'Tipo flow',
      highFlow: 'High Flow',
      standard: 'Standard',
      nozzleSize: 'Dimensione ugello',
      extruder: 'Estrusore',
      extruders: 'Estrusori',
      left: 'Sinistra',
      right: 'Destra',
      notes: 'Note (salvate localmente)',
      notesPlaceholder: 'Aggiungi note su questo profilo...',
      notesHelp: 'Le note sono salvate in Bambuddy, non sulla stampante',
      syncing: 'Sincronizzazione con stampante...',
      savingExtruder: 'Salvataggio su estrusore {{current}}/{{total}}...',
      pleaseWait: 'Attendere',
    },
    // Delete confirmation
    deleteConfirm: {
      title: 'Elimina profilo',
      cannotUndo: 'Questo non può essere annullato',
      message: 'Sei sicuro di voler eliminare "{{name}}" dalla stampante?',
    },
    // Bulk delete
    bulkDelete: {
      title: 'Elimina profili',
      cannotUndo: 'Questo non può essere annullato',
      message: 'Sei sicuro di voler eliminare {{count}} profili selezionati dalla stampante?',
    },
    // Toast
    toast: {
      profileSaved: 'K-profile salvato',
      profilesSaved: 'K-profile salvato su {{count}} estrusori',
      selectAtLeastOneExtruder: 'Seleziona almeno un estrusore',
      profileDeleted: 'K-profile eliminato',
      profilesDeleted: 'Eliminati {{count}} profili',
      exportedProfiles: 'Esportati {{count}} profili',
      importedProfiles: 'Importati {{count}} di {{total}} profili',
      noProfilesToExport: 'Nessun profilo da esportare',
      invalidFileFormat: 'Formato file non valido',
      failedToParseImport: 'Parsing file import fallito',
      failedToSaveBatch: 'Salvataggio K-profiles fallito',
      noteSaved: 'Nota salvata',
      failedToSaveNote: 'Salvataggio nota fallito',
    },
    // Permissions
    permission: {
      noRead: 'Non hai il permesso di aggiornare i profili',
      noCreate: 'Non hai il permesso di aggiungere profili',
      noUpdate: 'Non hai il permesso di aggiornare K-profiles',
      noDelete: 'Non hai il permesso di eliminare K-profiles',
      noExport: 'Non hai il permesso di esportare profili',
      noImport: 'Non hai il permesso di importare profili',
    },
  },

  // Virtual Printer
  virtualPrinter: {
    title: 'Stampante virtuale',
    running: 'In esecuzione',
    stopped: 'Ferma',
    description: {
      default: 'Abilita una stampante virtuale che appare in Bambu Studio e OrcaSlicer. I file inviati a questa stampante saranno archiviati senza stampare.',
      proxy: 'Abilita un proxy che inoltra il traffico slicer a una stampante reale, permettendo la stampa remota su qualsiasi rete.',
    },
    enable: {
      title: 'Abilita stampante virtuale',
      visibleInSlicer: 'Visibile come "Bambuddy" nella ricerca slicer',
      proxyingTo: 'In proxy verso {{name}}',
      notActive: 'Non attivo',
    },
    model: {
      title: 'Modello stampante',
      description: 'Seleziona il modello stampante da emulare.',
      restartWarning: 'Cambiare il modello riavviera la stampante virtuale',
    },
    accessCode: {
      title: 'Codice accesso',
      isSet: 'Codice accesso impostato',
      notSet: 'Nessun codice accesso impostato - richiesto per abilitare',
      placeholder: 'Inserisci codice 8 caratteri',
      placeholderChange: 'Inserisci nuovo codice per cambiare',
      hint: 'Deve essere esattamente 8 caratteri. Usato dagli slicer per autenticarsi.',
      charCount: '({{count}}/8)',
    },
    targetPrinter: {
      title: 'Stampante target',
      configured: 'Target proxy configurato',
      notConfigured: 'Nessuna stampante target selezionata - richiesta per modalita proxy',
      placeholder: 'Seleziona una stampante...',
      hint: 'Seleziona la stampante a cui fare proxy. La stampante deve essere in modalita LAN.',
      noPrinters: 'Nessuna stampante configurata. Aggiungi una stampante per usare la modalita proxy.',
    },
    remoteInterface: {
      title: 'Sovrascrittura interfaccia di rete',
      configured: 'Sovrascrittura interfaccia attiva',
      optional: 'Opzionale - usare se l\'IP rilevato automaticamente e sbagliato (es. piu NIC, Docker, VPN)',
      placeholder: 'Rilevamento automatico (predefinito)...',
      hint: 'Sovrascrive l\'indirizzo IP pubblicizzato via SSDP e usato nel certificato TLS. Utile quando Bambuddy ha piu interfacce di rete.',
    },
    bindIp: {
      title: 'Interfaccia di rete',
      placeholder: 'Seleziona interfaccia...',
      hint: 'Interfaccia di rete a cui questa stampante virtuale si collega. Deve essere unica per stampante.',
    },
    proxy: {
      accessCodeHint: 'In modalita proxy, usa il codice di accesso della stampante di destinazione nello slicer. La connessione viene inoltrata in modo trasparente alla stampante reale.',
    },
    mode: {
      title: 'Modalita',
      archive: 'Archivio',
      archiveDesc: 'Archivia subito i file',
      review: 'Revisione',
      reviewDesc: 'Rivedi prima di archiviare',
      queue: 'Coda',
      queueDesc: 'Archivia e aggiungi alla coda',
      proxy: 'Proxy',
      proxyDesc: 'Inoltra a stampante reale',
    },
    setupRequired: {
      title: 'Configurazione necessaria',
      description: 'La stampante virtuale richiede configurazioni di sistema aggiuntive prima di funzionare. Include port forwarding, regole firewall e impostazioni specifiche della piattaforma.',
      readGuide: 'Leggi la guida prima di abilitare',
    },
    howItWorks: {
      title: 'Come funziona',
      step1: 'Sulla stessa LAN, le stampanti virtuali appaiono automaticamente nel tuo slicer (Bambu Studio / OrcaSlicer). Da altre reti, aggiungile manualmente tramite indirizzo IP e codice di accesso.',
      step2: 'In modalità Archivio, Revisione e Coda, usa il pulsante "Invia" nel tuo slicer per caricare file 3MF su Bambuddy. Lo slicer mostrerà "Stampa riuscita" — il file viene salvato, non stampato.',
      step3: 'In modalità Proxy, la stampante virtuale inoltra tutto il traffico a una stampante reale — le stampe partono immediatamente come con una connessione diretta.',
    },
    status: {
      title: 'Dettagli stato',
      printerName: 'Nome stampante',
      model: 'Modello',
      serialNumber: 'Numero seriale',
      mode: 'Modalita',
      pendingFiles: 'File in sospeso',
      targetPrinter: 'Stampante target',
      ftpPort: 'Porta FTP',
      mqttPort: 'Porta MQTT',
      ftpConnections: 'Connessioni FTP',
      mqttConnections: 'Connessioni MQTT',
    },
    toast: {
      updated: 'Impostazioni stampante virtuale aggiornate',
      failedToUpdate: 'Aggiornamento impostazioni fallito',
      accessCodeRequired: 'Imposta prima un codice accesso',
      targetPrinterRequired: 'Seleziona prima una stampante target',
      accessCodeEmpty: 'Il codice accesso non può essere vuoto',
      accessCodeLength: 'Il codice accesso deve essere esattamente 8 caratteri',
    },
  },

  // Model Viewer
  modelViewer: {
    openInSlicer: 'Apri nello slicer',
    tabs: {
      model: 'Modello 3D',
      gcode: 'Anteprima G-code',
    },
    notAvailable: 'non disponibile',
    notSliced: 'non sezionato',
    plates: 'Piatti',
    allPlates: 'Tutti i piatti',
    plateNumber: 'Piatto {{number}}',
    plateCount: '{{count}} piatto',
    plateCount_other: '{{count}} piatti',
    objectCount: '{{count}} oggetto',
    objectCount_other: '{{count}} oggetti',
    filamentCount: '{{count}} filamento',
    filamentCount_other: '{{count}} filamenti',
    eta: 'ETA {{minutes}} min',
    noPreview: 'Nessuna anteprima disponibile per questo file',
    pagination: {
      pageOf: 'Pagina {{current}} di {{total}}',
      prev: 'Prec',
      next: 'Succ',
    },
    errors: {
      failedToLoad: 'Caricamento file fallito',
      noMeshes: 'Nessuna mesh trovata nel file 3MF',
      unsupportedFormat: 'Formato file non supportato',
    },
  },

  // Maintenance type descriptions (built-in)
  maintenanceDescriptions: {
    lubricateCarbonRods: 'Applica lubrificante alle aste in carbonio per un movimento fluido',
    lubricateRails: 'Applica lubrificante alle guide lineari per un movimento fluido',
    cleanNozzle: 'Pulisci hotend e ugello per prevenire intasamenti',
    checkBelts: 'Verifica tensione cinghie per stampe accurate',
    cleanBuildPlate: 'Pulisci il piatto per migliorare l\'adesione',
    checkExtruder: 'Ispeziona ingranaggi estrusore per usura',
    checkCooling: 'Assicurati che le ventole di raffreddamento funzionino',
    generalInspection: 'Ispezione generale stampante',
    cleanCarbonRods: 'Pulisci le aste in carbonio per ridurre attrito',
    cleanLinearRails: 'Pulisci le guide lineari per rimuovere polvere e detriti',
    checkPtfeTube: 'Ispeziona il tubo PTFE per usura o danni',
    replaceHepaFilter: 'Sostituisci filtro HEPA per qualità aria',
    replaceCarbonFilter: 'Sostituisci filtro a carbone attivo',
    lubricateLeftNozzleRail: 'Lubrifica guida ugello sinistro (serie H2)',
  },

  // Configure AMS Slot Modal
  configureAmsSlot: {
    title: 'Configura Slot AMS',
    slotConfigured: 'Slot configurato!',
    configuringSlot: 'Configurazione slot:',
    slotLabel: '{{ams}} Slot {{slot}}',
    searchPresets: 'Cerca preset...',
    colorPlaceholder: 'Nome colore o hex (es. marrone, FF8800)',
    clearCustomColor: 'Cancella colore personalizzato',
    noCloudPresets: 'Nessun preset cloud. Accedi a Bambu Cloud per sincronizzare.',
    noPresetsAvailable: 'Nessun preset disponibile. Accedi a Bambu Cloud o importa profili locali.',
    noMatchingPresets: 'Nessun preset corrispondente trovato.',
    custom: 'Personalizzato',
    builtin: 'Integrato',
    settingsSentToPrinter: 'Impostazioni inviate alla stampante',
    filamentProfile: 'Profilo filamento',
    kProfileLabel: 'Profilo K (Pressure Advance)',
    filteringFor: 'Filtrando per: {{material}}',
    noKProfile: 'Nessun profilo K (usa predefinito 0.020)',
    noMatchingKProfiles: 'Nessun profilo K corrispondente. Verrà usato K=0.020 predefinito.',
    selectFilamentFirst: 'Seleziona prima un profilo filamento',
    kFromCalibration: 'K={{value}} dalla calibrazione stampante',
    customColorLabel: 'Colore personalizzato (opzionale)',
    presetColors: 'Colori {{name}}:',
    showLessColors: 'Mostra meno colori',
    showMoreColors: 'Mostra più colori',
    clear: 'Cancella',
    hexLabel: 'Hex: #{{hex}}',
    resetting: 'Ripristino...',
    resetSlot: 'Ripristina slot',
    cancel: 'Annulla',
    configuring: 'Configurazione...',
    configureSlot: 'Configura slot',
  },

  // Time
  time: {
    unknown: '-',
    waiting: 'In attesa',
    justNow: 'Proprio ora',
    now: 'Ora',
    minsAgo: '{{count}}m fa',
    inMins: 'tra {{count}}m',
    hoursAgo: '{{count}}h fa',
    inHours: 'tra {{count}}h',
    daysAgo: '{{count}}g fa',
    inDays: 'tra {{count}}g',
  },

  // SpoolBuddy Kiosk
  spoolbuddy: {
    nav: {
      dashboard: 'Dashboard',
      ams: 'AMS',
      inventory: 'Inventario',
      writeTag: 'Scrivi',
      settings: 'Impostazioni',
    },
    status: {
      nfcReady: 'NFC pronto',
      nfcOff: 'NFC spento',
      offline: 'Offline',
      online: 'Online',
      noPrinters: 'Nessuna stampante',
      deviceOffline: 'Dispositivo offline',
      waitingConnection: 'In attesa della connessione...',
      systemReady: 'Sistema pronto',
      status: 'Stato',
    },
    dashboard: {
      readyToScan: 'Pronto per la scansione',
      idleMessage: 'Posiziona una bobina sulla bilancia per identificarla',
      nfcHint: 'Il tag NFC verrà letto automaticamente',
      device: 'Dispositivo',
      syncWeight: 'Sincronizza peso',
      weightSynced: 'Sincronizzato!',
      unknownTag: 'Tag sconosciuto',
      newTag: 'Nuovo tag rilevato',
      onScale: 'sulla bilancia',
      linkSpool: 'Collega a bobina',
      linkTagTitle: 'Collega tag a bobina',
      linkTag: 'Collega tag',
      selectSpool: 'Seleziona una bobina da collegare a questo tag:',
      noUntagged: 'Nessuna bobina senza tag trovata',
      tagDetected: 'Tag rilevato',
      noTag: 'Nessun tag',
      tagId: 'Tag',
      grossWeight: 'Peso lordo',
      spoolSize: 'Dimensione bobina',
      close: 'Chiudi',
    },
    weight: {
      noReading: 'Nessuna lettura',
      stable: 'Stabile',
      measuring: 'Misurazione...',
      tare: 'Tara',
      calibrate: 'Calibra',
    },
    spool: {
      remaining: 'Rimanente',
      material: 'Materiale',
      brand: 'Marca',
      color: 'Colore',
      coreWeight: 'Nucleo',
      labelWeight: 'Etichetta',
      scaleWeight: 'Bilancia',
      netWeight: 'Netto',
      lastUsed: 'Ultimo utilizzo',
    },
    ams: {
      noData: 'Nessun AMS rilevato',
      connectAms: 'Collega un AMS per vedere gli slot',
      noPrinter: 'Nessuna stampante selezionata',
      selectPrinter: 'Seleziona una stampante dalla barra superiore',
      printerDisconnected: 'Stampante disconnessa',
      humidity: 'Umidità',
      level: 'Livello',
      active: 'Attivo',
      slot: 'Slot',
      empty: 'Vuoto',
    },
    inventory: {
      search: 'Cerca bobine...',
      empty: 'Nessuna bobina nell\'inventario',
      noResults: 'Nessuna bobina corrispondente',
      spools: 'bobine',
      addSpool: 'Aggiungi bobina',
    },
    settings: {
      // Schede
      tabDevice: 'Dispositivo',
      tabDisplay: 'Display',
      tabScale: 'Bilancia',
      tabUpdates: 'Aggiornamenti',
      // Scheda dispositivo
      nfcReader: 'Lettore NFC',
      type: 'Tipo',
      connection: 'Connessione',
      notConnected: 'N/A',
      deviceInfo: 'Info dispositivo',
      hostname: 'Host',
      uptime: 'Tempo di attività',
      // Scheda display
      brightness: 'Luminosità',
      saved: 'Salvato',
      noBacklight: 'Nessuna retroilluminazione DSI rilevata. Il controllo luminosità richiede un display DSI.',
      screenBlank: 'Timeout spegnimento schermo',
      screenBlankDesc: 'Lo schermo si spegne dopo inattività. Tocca per riattivare.',
      displayNote: 'La luminosità viene applicata come filtro software.',
      // Scheda bilancia
      scaleCalibration: 'Calibrazione bilancia',
      currentWeight: 'Peso attuale',
      tareOffset: 'Tara',
      calFactor: 'Fattore',
      knownWeight: 'Peso noto',
      calStep1: 'Rimuovere tutto dalla bilancia e premere Imposta zero.',
      calStep2: 'Posizionare il peso noto sulla bilancia.',
      setZero: 'Imposta zero',
      calibrateNow: 'Calibra',
      calibrated: 'Calibrato',
      tareSet: 'Comando tara inviato. In attesa del dispositivo...',
      tareFailed: 'Invio comando tara fallito',
      zeroSet: 'Punto zero impostato. Posizionare il peso noto sulla bilancia.',
      calibrationDone: 'Calibrazione completata!',
      calibrationFailed: 'Calibrazione fallita',
      lastCalibrated: 'Ultima calibrazione',
      stable: 'Stabile',
      settling: 'Stabilizzazione...',
      firmware: 'Firmware',
      scale: 'Bilancia',
      noDevice: 'Nessun dispositivo SpoolBuddy trovato',
      // Scheda aggiornamenti
      daemonVersion: 'Versione daemon',
      currentVersion: 'Attuale',
      versionPending: 'In attesa del daemon...',
      checking: 'Verifica...',
      checkUpdates: 'Verifica aggiornamenti',
      updateAvailable: 'Aggiornamento disponibile',
      updateInstructions: 'Aggiorna via SSH: esegui lo script di installazione SpoolBuddy.',
      upToDate: 'Aggiornato',
      includeBeta: 'Includi versioni beta',
    },
    writeTag: {
      tabExisting: 'Bobina esistente',
      tabNew: 'Nuova bobina',
      tabReplace: 'Sostituisci tag',
      searchPlaceholder: 'Cerca per materiale, colore, marca...',
      noUntaggedSpools: 'Nessuna bobina senza tag',
      noTaggedSpools: 'Nessuna bobina con tag',
      selectSpool: 'Seleziona una bobina, poi posiziona un NTAG sul lettore',
      placeTag: 'Posiziona un NTAG sul lettore',
      tagReady: 'Tag rilevato — pronto per la scrittura',
      writeTag: 'Scrivi tag',
      replaceTag: 'Sostituisci tag',
      writing: 'Scrittura tag...',
      waiting: 'In attesa di SpoolBuddy...',
      writeSuccess: 'Tag scritto con successo!',
      writeFailed: 'Scrittura fallita',
      queueFailed: 'Impossibile accodare il comando di scrittura',
      tryAgain: 'Riprova',
      cancel: 'Annulla',
      replaceWarning: 'Il vecchio tag verrà scollegato. Il nuovo tag lo sostituirà.',
      deviceOffline: 'SpoolBuddy è offline',
      material: 'Materiale',
      colorName: 'Nome colore',
      color: 'Colore',
      brand: 'Marca',
      weight: 'Peso (g)',
      createSpool: 'Crea bobina',
      creating: 'Creazione...',
      spoolCreated: 'Bobina creata! Pronto per la scrittura.',
      createFailed: 'Impossibile creare la bobina',
    },
  },
};
