Jelajahi Sumber

Fixed spacing, diacritics, updated to 0.1.9b

Matteo Parenti 3 bulan lalu
induk
melakukan
023d817ceb
1 mengubah file dengan 2546 tambahan dan 2533 penghapusan
  1. 2546 2533
      frontend/src/i18n/locales/it.ts

+ 2546 - 2533
frontend/src/i18n/locales/it.ts

@@ -1,2597 +1,2610 @@
 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',
-    },
+  // 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',
-        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',
-    },
+  // 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',
+    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: {
-            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',
-        powerOn: 'Accendi',
-        offlinePrintersWithPlugs: 'Stampanti offline con smart plug',
-        noPrintersConfigured: 'Nessuna stampante configurata',
-        // Printer card
-        readyToPrint: 'Pronta a stampare',
-        external: 'Esterna',
-        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 puo 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}}',
-        // 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',
-        },
-        // 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',
-        },
-        // Confirm modals
-        confirm: {
-            deleteTitle: 'Elimina Stampante',
-            deleteMessage: 'Sei sicuro di eliminare "{{name}}"? Questo rimuovera tutte le impostazioni di connessione.',
-            deleteArchivesNote: 'Tutta la cronologia di stampa sara eliminata definitivamente.',
-            keepArchivesNote: 'La cronologia sara mantenuta ma non piu associata a questa stampante.',
-            stopTitle: 'Ferma Stampa',
-            stopMessage: 'Sei sicuro di fermare la stampa corrente su "{{name}}"? Questo annullera 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 interrompera 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 gia configurate.',
-            alreadyAdded: 'Gia 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}}',
-        firmwareUpdateButton: 'Aggiorna',
-        // Plate detection
-        plateDetection: {
-            noPermission: 'Non hai il permesso di aggiornare 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',
-            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',
-            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.',
-        },
+  // 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: {
+      idle: 'Inattiva',
+      printing: 'In stampa',
+      paused: 'In pausa',
+      offline: 'Offline',
+      error: 'Errore',
+      finished: 'Finita',
+      unknown: 'Sconosciuto',
     },
-
-    // Archives page
-    archives: {
-        title: 'Archivi di stampa',
-        searchPlaceholder: 'Cerca archivi...',
-        filterByPrinter: 'Filtra per stampante',
-        filterByStatus: 'Filtra per stato',
-        sortBy: 'Ordina per',
-        sortNewest: 'Piu recenti',
-        sortOldest: 'Meno recenti',
-        sortName: 'Nome',
-        sortDuration: 'Durata',
-        sortLargest: 'Piu grandi',
-        sortSmallest: 'Piu 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',
-        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 gia 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 in Bambu Studio',
-            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 e 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: 'Sliciato per {{model}}',
-            uploadedBy: 'Caricato da',
-            noPermissionReprint: 'Non hai il permesso di ristampare',
-            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 in Bambu Studio',
-            openInBambuStudioToSlice: 'Apri in Bambu Studio per slice',
-            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 puo essere annullata.',
-            deleteButton: 'Elimina',
-            removeSource3mf: 'Rimuovi Sorgente 3MF',
-            removeSource3mfConfirm: 'Sei sicuro di rimuovere il file sorgente 3MF da "{{name}}"? Questo eliminera 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 puo 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',
-        },
+    temperatures: {
+      nozzle: 'Ugello',
+      bed: 'Piatto',
+      chamber: 'Camera',
     },
-
-    // Queue page
+    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',
+    powerOn: 'Accendi',
+    offlinePrintersWithPlugs: 'Stampanti offline con smart plug',
+    noPrintersConfigured: 'Nessuna stampante configurata',
+    // Printer card
+    readyToPrint: 'Pronta a stampare',
+    external: 'Esterna',
+    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',
+    // 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: {
-        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 e vuota',
-        position: 'Posizione',
-        scheduledTime: 'Ora programmata',
-        moveUp: 'Sposta su',
-        moveDown: 'Sposta giu',
-        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}}',
-        // 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',
-            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 (piu vecchi)',
-            descendingNewest: 'Decrescente (piu 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 annullera 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',
-        },
+      inQueue: '{{count}} stampa in coda',
+      inQueue_plural: '{{count}} stampe in coda',
     },
-
-    // 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',
+    // Controls section
+    controls: 'Controlli',
+    // RFID
+    rfid: {
+      reread: 'Rileggi RFID',
     },
-
-    // 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',
-        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: {
-            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',
-            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',
-        printHoursUpdated: 'Ore di stampa aggiornate',
-        printerAssigned: 'Stampante assegnata',
-        printerRemoved: 'Stampante rimossa',
-        // Confirmation
-        deleteTypeConfirm: 'Eliminare "{{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',
+    // 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',
     },
-
-    // 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',
-        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',
-        // Queue
-        enableRetry: 'Abilita retry',
-        // Home Assistant
-        homeAssistantDescription: 'Controlla prese smart tramite Home Assistant',
-        // 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 piu 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 puo 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 piu.',
-        deleteKey: 'Elimina chiave',
-        // Filament tab
-        amsDisplayThresholds: 'Soglie visualizzazione AMS',
-        amsThresholdsDescription: 'Configura soglie colore per umidita e temperatura AMS.',
-        humidity: 'Umidita',
-        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 piu vecchi saranno eliminati automaticamente',
-        printModal: 'Modale stampa',
-        expandCustomMapping: 'Espandi mapping personalizzato di default',
-        expandCustomMappingDescription: 'Quando stampi su piu stampanti, mostra mapping AMS per stampante espanso',
-        // User management
-        authentication: 'Autenticazione',
-        authEnabledDescription: 'La tua istanza e 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 eliminera definitivamente tutti i log notifiche piu vecchi di 30 giorni. Questa azione non puo essere annullata.',
-        clearLogs: 'Cancella log',
-        // Modal: Reset UI
-        resetUiPreferences: 'Reimposta preferenze UI',
-        resetUiPreferencesMessage: 'Questo reimpostera le preferenze UI ai valori predefiniti: ordine barra laterale, tema, layout dashboard, modalita vista e preferenze ordinamento. Stampanti, archivi e impostazioni server NON saranno modificati. La pagina si ricarichera 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 rendera la tua istanza Bambuddy accessibile senza login. Tutti gli utenti resteranno nel database ma l'autenticazione sara disabilitata.",
-        disableAuthentication: 'Disabilita autenticazione',
-        // Additional settings
-        configureBambuddy: 'Configura Bambuddy',
-        systemDefault: 'Predefinito di sistema',
-        archiveSettings: 'Impostazioni archivio',
-        newWindow: 'Nuova finestra',
-        embeddedOverlay: 'Overlay incorporato',
-        externalCameras: 'Camere esterne',
-        costTracking: 'Tracciamento costi',
-        printsOnly: 'Solo stampe',
-        totalConsumption: 'Consumo totale',
-        dataManagement: 'Gestione dati',
-        clearNotificationLogsDescription: 'Elimina log notifiche piu vecchi di 30 giorni',
-        resetUiPreferencesDescription: 'Reimposta ordine barra laterale, tema, modalita 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',
+    // 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',
     },
-
-    // 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',
-        },
+    // 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',
     },
-
-    // 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',
+    // 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',
     },
-
-    // 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.',
+    // 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',
     },
-
-    // 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',
+    // Filaments section
+    filaments: 'Filamenti',
+    // Camera
+    openCameraOverlay: 'Apri overlay camera',
+    openCameraWindow: 'Apri camera in nuova finestra',
+    // Firmware
+    firmwareUpdateAvailable: 'Aggiornamento firmware disponibile: {{current}} → {{latest}}',
+    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',
+      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',
+      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.',
+    },
+  },
 
-    // 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 puo essere annullata.',
-        deleteFilesConfirm: 'Eliminare {{count}} file selezionati? Questa azione non puo essere annullata.',
-        noFiles: 'Nessun file sulla stampante',
-        loadingFiles: 'Caricamento file...',
-        failedToLoad: 'Caricamento file fallito',
-        toast: {
-            filesDeleted: 'Eliminati {{count}} file',
-            deleteFailed: 'Eliminazione fallita: {{error}}',
-        },
+  // 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',
+    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 in Bambu Studio',
+      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',
+      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 in Bambu Studio',
+      openInBambuStudioToSlice: 'Apri in Bambu Studio 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',
+    },
+  },
 
+  // 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}}',
+    // 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',
+      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: {
-        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?',
+      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',
     },
-
-    // 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',
+    // 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',
     },
-
-    // Setup page
-    setup: {
-        title: 'Configurazione Bambuddy',
-        subtitle: 'Configura autenticazione per la tua istanza Bambuddy',
-        enableAuth: 'Abilita autenticazione',
-        adminAccount: 'Account admin',
-        adminAccountDesc: 'Se esistono gia admin, l\'autenticazione verra 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',
-        },
+    // 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',
     },
+  },
 
-    // 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',
-    },
+  // 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',
+  },
 
-    // Plate detection alert
-    plateAlert: {
-        title: 'Stampa in pausa!',
-        message: 'Oggetti rilevati sul piatto. La stampa e stata messa automaticamente in pausa. Svuota il piatto e riprendi la stampa.',
-        understand: 'Ho capito',
+  // 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',
+    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: {
+      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',
+      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',
+    printHoursUpdated: 'Ore di stampa aggiornate',
+    printerAssigned: 'Stampante assegnata',
+    printerRemoved: 'Stampante rimossa',
+    // Confirmation
+    deleteTypeConfirm: 'Eliminare "{{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',
+  },
 
-    // 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',
+  // 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',
     },
-
-    // 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',
-        },
+    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',
+    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',
     },
-
-    // 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 puo essere annullata.',
-            confirm: 'Elimina utente',
-        },
+    // 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',
     },
-
-    // Stream overlay
-    streamOverlay: {
-        title: 'Overlay stream',
-        invalidPrinterId: 'ID stampante non valido',
-        cameraStream: 'Stream camera',
-        progress: 'Avanzamento',
-        eta: 'ETA',
-        tomorrow: 'Domani',
-        printerIdle: 'Stampante inattiva',
-        printerOffline: 'Stampante offline',
-        status: {
-            printing: 'In stampa',
-            paused: 'In pausa',
-            finished: 'Completata',
-            failed: 'Fallita',
-            idle: 'Inattiva',
-            unknown: 'Sconosciuto',
-        },
+    // 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',
     },
-
-    // Profiles
-    profiles: {
-        title: 'Profili',
-        subtitle: 'Gestisci preset slicer e calibrazioni pressure advance',
-        tabs: {
-            cloud: 'Profili cloud',
-            kprofiles: 'K-Profiles',
-        },
-        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 eliminera definitivamente "{{name}}" da Bambu Cloud. Questa azione non puo 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 puo 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',
-            },
-        },
+    // Updates
+    checkForUpdatesLabel: 'Controlla aggiornamenti',
+    checkPrinterFirmware: 'Controlla firmware stampante',
+    // 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',
     },
-
-    // Support/Debug
-    support: {
-        debugLoggingActive: 'Log debug attivo',
-        manageLogs: 'Gestisci',
+    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',
+    externalCameras: 'Camere esterne',
+    costTracking: 'Tracciamento costi',
+    printsOnly: 'Solo stampe',
+    totalConsumption: 'Consumo totale',
+    dataManagement: 'Gestione dati',
+    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',
+  },
 
-    // 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: 'Radice (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 piu 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 puo 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}}',
-        },
+  // Notifications (for push notifications)
+  notification: {
+    printStarted: {
+      title: 'Stampa avviata',
+      body: '{{printer}}: {{filename}} ha iniziato a stampare',
     },
-
-    // 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)',
-        },
+    printCompleted: {
+      title: 'Stampa completata',
+      body: '{{printer}}: {{filename}} completata con successo',
     },
-
-    // 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',
-        },
+    printFailed: {
+      title: 'Stampa fallita',
+      body: '{{printer}}: {{filename}} fallita',
     },
-
-    // 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',
+    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',
     },
+  },
 
-    // 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',
+  // 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.',
+  },
+
+  // 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}}',
     },
+  },
 
-    // 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',
-        weight: 'Peso',
-        remaining: 'Rimanente',
-        disableWeightSync: 'Disabilita sync peso stimato AMS',
-        disableWeightSyncDesc: 'Non aggiornare la capacita 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.',
+  // 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',
+  },
 
-    // Timelapse
-    timelapse: {
-        title: 'Timelapse',
-        create: 'Crea timelapse',
-        download: 'Scarica',
-        delete: 'Elimina',
-        preview: 'Anteprima',
-        frameRate: 'Frame rate',
-        quality: 'Qualita',
-        processing: 'Elaborazione...',
-        noTimelapses: 'Nessun timelapse disponibile',
+  // 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',
+    },
+  },
 
-    // AMS
-    ams: {
-        title: 'AMS',
-        slot: 'Slot',
-        empty: 'Vuoto',
-        emptySlot: 'Slot vuoto',
-        unknown: 'Sconosciuto',
-        humidity: 'Umidita',
-        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: 'Riempi',
-        configure: 'Configura',
+  // 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',
+    },
+  },
 
-    // Print modal
-    printModal: {
-        title: 'Avvia stampa',
-        selectPrinter: 'Seleziona stampante',
-        selectPlate: 'Seleziona piatto',
-        filamentMapping: 'Mappatura filamento',
-        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',
+  // Stream overlay
+  streamOverlay: {
+    title: 'Overlay stream',
+    invalidPrinterId: 'ID stampante non valido',
+    cameraStream: 'Stream camera',
+    progress: 'Avanzamento',
+    eta: 'ETA',
+    tomorrow: 'Domani',
+    printerIdle: 'Stampante inattiva',
+    printerOffline: 'Stampante offline',
+    status: {
+      printing: 'In stampa',
+      paused: 'In pausa',
+      finished: 'Completata',
+      failed: 'Fallita',
+      idle: 'Inattiva',
+      unknown: 'Sconosciuto',
     },
+  },
 
-    // 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 sovrascrivera 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 verra fermata durante il ripristino',
+  // Profiles
+  profiles: {
+    title: 'Profili',
+    subtitle: 'Gestisci preset slicer e calibrazioni pressure advance',
+    tabs: {
+      cloud: 'Profili cloud',
+      kprofiles: 'K-Profiles',
     },
+    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',
+      },
+    },
+  },
 
-    // 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',
+  // 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}}',
     },
+  },
 
-    // Upload modal (archives)
-    uploadModal: {
-        title: 'Carica file 3MF',
-        dragDrop: 'Trascina e rilascia file .3mf qui',
-        or: 'o',
-        browseFiles: 'Sfoglia file',
-        extractionInfo: 'Il modello stampante sara estratto automaticamente dai metadati del file 3MF.',
-        uploaded: 'caricati',
-        failed: 'falliti',
-        uploading: 'Caricamento...',
-        upload: 'Carica',
-        uploadFailed: 'Caricamento fallito',
+  // 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)',
     },
+  },
 
-    // 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',
-        },
+  // 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',
+    },
+  },
 
-    // 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 puo essere annullato',
-            message: 'Sei sicuro di voler eliminare "{{name}}" dalla stampante?',
-        },
-        // Bulk delete
-        bulkDelete: {
-            title: 'Elimina profili',
-            cannotUndo: 'Questo non puo 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',
-        },
+  // 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.',
+  },
+
+  // 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: 'Riempi',
+    configure: 'Configura',
+  },
+
+  // Print modal
+  printModal: {
+    title: 'Avvia stampa',
+    selectPrinter: 'Seleziona stampante',
+    selectPlate: 'Seleziona piatto',
+    filamentMapping: 'Mappatura filamento',
+    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',
+  },
+
+  // 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',
+    },
+  },
 
-    // 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: 'Interfaccia rete slicer',
-            configured: 'Proxy SSDP abilitato',
-            optional: 'Opzionale - per discovery SSDP tra reti',
-            placeholder: 'Seleziona interfaccia per rete slicer...',
-            hint: 'Seleziona l\'interfaccia di rete connessa allo slicer. Abilita scoperta automatica in Bambu Studio.',
-        },
-        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',
-            titleProxy: 'Come funziona (Modalita proxy)',
-            step1: 'Completa la guida di configurazione per la tua piattaforma',
-            step2: 'Abilita la stampante virtuale e imposta un codice accesso',
-            step3: 'In Bambu Studio o OrcaSlicer, vai su "Aggiungi stampante"',
-            step4: 'La stampante "Bambuddy" dovrebbe apparire nella lista',
-            step5: 'Connettiti usando il codice accesso impostato',
-            step6: 'Quando "stampi" su Bambuddy, il file 3MF viene archiviato',
-            proxyStep1: 'Seleziona la stampante target (deve essere in modalita LAN)',
-            proxyStep2: 'Per rete diversa: seleziona l\'interfaccia rete slicer',
-            proxyStep3: 'Abilita il proxy - la stampante appare via SSDP',
-            proxyStep4: 'Connettiti usando il codice accesso della stampante',
-            proxyStep5: 'Stampa normalmente - il traffico e inoltrato via Bambuddy',
-            proxyStep6: 'Lo streaming camera richiede NAT/IP forwarding (vedi docs)',
-        },
-        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 puo essere vuoto',
-            accessCodeLength: 'Il codice accesso deve essere esattamente 8 caratteri',
-        },
+  // 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',
+    },
+  },
 
-    // Model Viewer
-    modelViewer: {
-        openInSlicer: 'Apri in 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',
-        },
+  // 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: 'Interfaccia rete slicer',
+      configured: 'Proxy SSDP abilitato',
+      optional: 'Opzionale - per discovery SSDP tra reti',
+      placeholder: 'Seleziona interfaccia per rete slicer...',
+      hint: 'Seleziona l\'interfaccia di rete connessa allo slicer. Abilita scoperta automatica in Bambu Studio.',
+    },
+    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',
+      titleProxy: 'Come funziona (Modalita proxy)',
+      step1: 'Completa la guida di configurazione per la tua piattaforma',
+      step2: 'Abilita la stampante virtuale e imposta un codice accesso',
+      step3: 'In Bambu Studio o OrcaSlicer, vai su "Aggiungi stampante"',
+      step4: 'La stampante "Bambuddy" dovrebbe apparire nella lista',
+      step5: 'Connettiti usando il codice accesso impostato',
+      step6: 'Quando "stampi" su Bambuddy, il file 3MF viene archiviato',
+      proxyStep1: 'Seleziona la stampante target (deve essere in modalita LAN)',
+      proxyStep2: 'Per rete diversa: seleziona l\'interfaccia rete slicer',
+      proxyStep3: 'Abilita il proxy - la stampante appare via SSDP',
+      proxyStep4: 'Connettiti usando il codice accesso della stampante',
+      proxyStep5: 'Stampa normalmente - il traffico è inoltrato via Bambuddy',
+      proxyStep6: 'Lo streaming della camera richiede NAT/IP forwarding (vedi docs)',
+    },
+    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',
+    },
+  },
 
-    // Maintenance type descriptions (built-in)
-    maintenanceDescriptions: {
-        lubricateRails: 'Applica lubrificante alle guide lineari per movimento fluido',
-        cleanNozzle: 'Pulisci hotend e ugello per prevenire intasamenti',
-        checkBelts: 'Verifica tensione cinghie per stampe accurate',
-        cleanBuildPlate: 'Pulisci il piatto per migliore 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',
-        checkPtfeTube: 'Ispeziona il tubo PTFE per usura o danni',
-        replaceHepaFilter: 'Sostituisci filtro HEPA per qualita aria',
-        replaceCarbonFilter: 'Sostituisci filtro a carbone attivo',
-        lubricateLeftNozzleRail: 'Lubrifica guida ugello sinistro (serie H2)',
+  // 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: {
+    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',
+    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)',
+  },
 };