{
  "common": {
    "settings": "Impostazioni",
    "theme": "Tema",
    "language": "Lingua",
    "dark": "Scuro",
    "light": "Chiaro",
    "logout": "Esci",
    "save": "Salva",
    "cancel": "Annulla",
    "close": "Chiudi",
    "delete": "Elimina",
    "edit": "Modifica",
    "new": "Nuovo",
    "search": "Cerca",
    "actions": "Azioni",
    "confirm": "Conferma",
    "back": "Indietro",
    "loading": "Caricamento...",
    "error": "Errore",
    "success": "Successo",
    "unknown": "Sconosciuto",
    "deleteAll": "Elimina Tutto",
    "generate": "Genera",
    "warning": "Attenzione",
    "create": "Crea",
    "deleteConfirm": "Eliminare questo elemento?",
    "optional": "Opzionale",
    "notes": "Note",
    "preview": "Anteprima",
    "none": "Nessuno"
  },
  "menu": {
    "dashboard": "Dashboard",
    "calendar": "Calendario",
    "events": "Eventi",
    "clients": "Clienti",
    "location": "Location",
    "articles": "Articoli",
    "resources": "Risorse",
    "warehouse": "Magazzino",
    "reports": "Report",
    "modules": "Moduli",
    "autoCodes": "Codici Auto",
    "customFields": "Campi Personalizzati"
  },
  "dashboard": {
    "title": "Dashboard",
    "totalEvents": "Eventi Totali",
    "confirmed": "Confermati",
    "inQuote": "In Preventivo",
    "eventsToday": "Eventi Oggi",
    "upcomingEvents": "Prossimi Eventi (30 giorni)",
    "expiringQuotes": "Preventivi in Scadenza",
    "noEvents": "Nessun evento nei prossimi 30 giorni",
    "noQuotes": "Nessun preventivo in attesa",
    "generateDemoData": "Genera Dati Demo",
    "clearDatabase": "Pulisci Database",
    "generateDialogTitle": "Genera Dati Demo",
    "generateDialogText": "Questa operazione genera dati di test per dimostrazioni:<br />- 15 Clienti<br />- 10 Location<br />- 12 Risorse (staff)<br />- 20 Articoli<br />- 20 Eventi con dettagli<br /><br />I dati esistenti non verranno modificati.",
    "clearDialogTitle": "Pulisci Database",
    "clearDialogWarning": "Attenzione: questa operazione elimina TUTTI i dati dal database!",
    "clearDialogText": "Verranno eliminati:<br />- Tutti gli eventi e i relativi dettagli<br />- Tutti i clienti<br />- Tutte le location<br />- Tutte le risorse<br />- Tutti gli articoli<br /><br />Questa operazione non puo essere annullata.",
    "clearSuccess": "Database pulito. Eliminati: {{events}} eventi, {{clients}} clienti, {{locations}} location, {{resources}} risorse, {{articles}} articoli.",
    "generateError": "Errore durante la generazione dei dati",
    "clearError": "Errore durante la pulizia dei dati",
    "expires": "Scade: {{date}}",
    "guests": "{{count}} ospiti"
  },
  "events": {
    "title": "Eventi",
    "newEvent": "Nuovo Evento",
    "code": "Codice",
    "date": "Data",
    "description": "Descrizione",
    "client": "Cliente",
    "location": "Location",
    "guests": "Ospiti",
    "status": "Stato",
    "type": "Tipo Evento",
    "eventDate": "Data Evento",
    "deleteSuccess": "Evento eliminato con successo",
    "detail": {
      "status": {
        "draft": "Scheda Evento",
        "quote": "Preventivo",
        "confirmed": "Confermato",
        "new": "Nuovo"
      },
      "loading": "Caricamento...",
      "newEvent": "Nuovo Evento",
      "noDescription": "Senza descrizione",
      "actions": {
        "duplicate": "Duplica",
        "recalculate": "Ricalcola Qta",
        "confirm": "Conferma",
        "save": "Salva",
        "print": "Stampa PDF",
        "back": "Indietro"
      },
      "fields": {
        "date": "Data Evento",
        "startTime": "Ora Inizio",
        "endTime": "Ora Fine",
        "type": "Tipo Evento",
        "description": "Descrizione Evento",
        "descriptionPlaceholder": "es. Matrimonio Rossi-Bianchi",
        "client": "Cliente",
        "location": "Location",
        "totalGuests": "N. Ospiti Totale",
        "costPerPerson": "Costo a Persona",
        "totalCost": "Costo Totale",
        "totalDeposits": "Totale Acconti",
        "balance": "Saldo",
        "status": "Stato"
      },
      "tabs": {
        "guests": "Ospiti",
        "withdrawalList": "Lista Prelievo",
        "resources": "Risorse",
        "costs": "Costi",
        "notes": "Note"
      },
      "guestsTab": {
        "total": "Totale ospiti",
        "add": "Aggiungi Tipo Ospite",
        "type": "Tipo Ospite",
        "quantity": "Quantità",
        "notes": "Note",
        "empty": "Nessun ospite aggiunto. Clicca \"Aggiungi Tipo Ospite\" per iniziare."
      },
      "withdrawalTab": {
        "total": "Articoli in lista",
        "add": "Aggiungi Articolo",
        "code": "Codice",
        "article": "Articolo",
        "qtyRequested": "Qta Richiesta",
        "qtyCalculated": "Qta Calcolata",
        "qtyActual": "Qta Effettiva",
        "notes": "Note",
        "empty": "Nessun articolo in lista."
      },
      "resourcesTab": {
        "total": "Risorse impegnate",
        "add": "Aggiungi Risorsa",
        "resource": "Risorsa",
        "quantity": "Quantità",
        "costUnit": "Costo Unitario",
        "costTotal": "Costo Totale",
        "notes": "Note",
        "empty": "Nessuna risorsa aggiunta."
      },
      "dialogs": {
        "addGuest": "Aggiungi Ospite",
        "addArticle": "Aggiungi Articolo",
        "addResource": "Aggiungi Risorsa",
        "cancel": "Annulla",
        "add": "Aggiungi"
      }
    }
  },
  "clients": {
    "title": "Clienti",
    "newClient": "Nuovo Cliente",
    "editClient": "Modifica Cliente",
    "code": "Codice",
    "altCode": "Cod. Alt.",
    "businessName": "Ragione Sociale",
    "city": "Città",
    "province": "Prov.",
    "phone": "Telefono",
    "email": "Email",
    "vat": "P.IVA",
    "address": "Indirizzo",
    "zip": "CAP",
    "pec": "PEC",
    "fiscalCode": "Codice Fiscale",
    "recipientCode": "Codice Destinatario",
    "generatedOnSave": "(Generato al salvataggio)",
    "autoGenerated": "Generato automaticamente",
    "willBeAssigned": "Verrà assegnato automaticamente",
    "deleteConfirm": "Eliminare questo cliente?"
  },
  "location": {
    "title": "Location",
    "newLocation": "Nuova Location",
    "editLocation": "Modifica Location",
    "name": "Nome",
    "city": "Città",
    "province": "Prov.",
    "distance": "Distanza (km)",
    "contact": "Referente",
    "phone": "Telefono",
    "address": "Indirizzo",
    "zip": "CAP",
    "email": "Email",
    "deleteConfirm": "Eliminare questa location?"
  },
  "articles": {
    "title": "Articoli",
    "newArticle": "Nuovo Articolo",
    "editArticle": "Modifica Articolo",
    "code": "Codice",
    "altCode": "Cod. Alt.",
    "description": "Descrizione",
    "type": "Tipo",
    "category": "Categoria",
    "available": "Disponibile",
    "qtyA": "Qta A",
    "qtyB": "Qta B",
    "qtyS": "Qta S",
    "uom": "UM",
    "qtyAvailable": "Quantità Disponibile",
    "unitOfMeasure": "Unità Misura",
    "qtyStdAdults": "Qta Std Adulti (A)",
    "qtyStdBuffet": "Qta Std Buffet (B)",
    "qtyStdSeated": "Qta Std Seduti (S)",
    "generatedOnSave": "(Generato al salvataggio)",
    "autoGenerated": "Generato automaticamente",
    "willBeAssigned": "Verrà assegnato automaticamente",
    "deleteConfirm": "Eliminare questo articolo?",
    "materialType": "Tipo Materiale"
  },
  "resources": {
    "title": "Risorse",
    "newResource": "Nuova Risorsa",
    "editResource": "Modifica Risorsa",
    "name": "Nome",
    "surname": "Cognome",
    "type": "Tipo",
    "phone": "Telefono",
    "email": "Email",
    "resourceType": "Tipo Risorsa",
    "deleteConfirm": "Eliminare questa risorsa?"
  },
  "calendar": {
    "title": "Calendario Eventi",
    "newEvent": "Nuovo Evento",
    "createEvent": "Crea Evento",
    "createEventConfirm": "Vuoi creare un nuovo evento per il giorno",
    "today": "Oggi",
    "month": "Mese",
    "week": "Settimana",
    "day": "Giorno"
  },
  "status": {
    "scheda": "Scheda",
    "preventivo": "Preventivo",
    "confermato": "Confermato"
  },
  "modules": {
    "warehouse": {
      "title": "Gestione Magazzino",
      "inventory": "Inventario",
      "movements": "Movimenti",
      "stock": "Giacenze",
      "categories": "Categorie"
    },
    "admin": {
      "title": "Gestione Moduli",
      "subtitle": "Configura i moduli attivi e gestisci le subscription",
      "checkExpired": "Controlla Scadenze",
      "refresh": "Aggiorna",
      "expiringWarning": "{{count}} modulo/i in scadenza nei prossimi 30 giorni:",
      "disableConfirmTitle": "Conferma disattivazione",
      "disableConfirmText": "Sei sicuro di voler disattivare il modulo",
      "disableConfirmSubtext": "I dati inseriti rimarranno nel sistema ma non saranno più accessibili fino alla riattivazione.",
      "disable": "Disattiva",
      "enable": "Attiva",
      "details": "Dettagli",
      "renew": "Rinnova",
      "active": "Attivo",
      "inactive": "Disattivo",
      "core": "Core",
      "annualPrice": "Prezzo annuale",
      "monthlyPrice": "Prezzo mensile",
      "dependencies": "Dipendenze",
      "subscriptionDetails": "Dettagli Subscription",
      "type": "Tipo",
      "startDate": "Data inizio",
      "endDate": "Data scadenza",
      "daysRemaining": "Giorni rimanenti",
      "autoRenew": "Rinnova automatico",
      "yes": "Sì",
      "no": "No",
      "purchaseTitle": "Attiva Modulo",
      "purchaseSubtitle": "Scegli il piano di abbonamento per il modulo {{name}}",
      "missingDependencies": "Questo modulo richiede i seguenti moduli che non sono attivi:",
      "subscriptionType": "Tipo di abbonamento",
      "monthly": "Mensile",
      "annual": "Annuale",
      "perMonth": "/mese",
      "perYear": "/anno",
      "savings": "Risparmi {{percent}}%",
      "autoRenewLabel": "Rinnova automatico alla scadenza",
      "orderSummary": "Riepilogo ordine",
      "total": "Totale",
      "activating": "Attivazione in corso...",
      "activateModule": "Attiva Modulo",
      "purchaseNote": "Potrai disattivare il modulo in qualsiasi momento dalle impostazioni. I dati inseriti rimarranno disponibili.",
      "includedFeatures": "Funzionalità incluse",
      "moduleNotFound": "Modulo non trovato",
      "moduleNotFoundText": "Il modulo richiesto non esiste.",
      "backToHome": "Torna alla Home",
      "status": "Stato",
      "module": "Modulo",
      "subscription": "Abbonamento",
      "activationError": "Errore durante l'attivazione del modulo"
    },
    "features": {
      "warehouse": {
        "0": "Gestione anagrafica articoli",
        "1": "Movimenti di magazzino (carico/scarico)",
        "2": "Giacenze in tempo reale",
        "3": "Valorizzazione scorte (FIFO, LIFO, medio ponderato)",
        "4": "Inventario e rettifiche",
        "5": "Report giacenze e movimenti"
      },
      "purchases": {
        "0": "Gestione ordini a fornitore",
        "1": "DDT di entrata",
        "2": "Fatture passive",
        "3": "Scadenziario pagamenti",
        "4": "Analisi acquisti per fornitore/articolo",
        "5": "Storico prezzi di acquisto"
      },
      "sales": {
        "0": "Gestione ordini cliente",
        "1": "DDT di uscita",
        "2": "Fatturazione elettronica",
        "3": "Scadenziario incassi",
        "4": "Analisi vendite per cliente/articolo",
        "5": "Listini prezzi"
      },
      "production": {
        "0": "Distinte base multilivello",
        "1": "Cicli di lavoro",
        "2": "Ordini di produzione",
        "3": "Pianificazione MRP",
        "4": "Avanzamento produzione",
        "5": "Costi di produzione"
      },
      "quality": {
        "0": "Piani di controllo",
        "1": "Registrazione controlli",
        "2": "Gestione non conformità",
        "3": "Azioni correttive/preventive",
        "4": "Certificazioni e audit",
        "5": "Statistiche qualità"
      },
      "default": "Funzionalità complete del modulo"
    }
  },
  "autoCodes": {
    "title": "Codici Automatici",
    "subtitle": "Configura i pattern per la generazione automatica dei codici",
    "helpPattern": "Guida Pattern",
    "entity": "Entità",
    "prefix": "Prefisso",
    "pattern": "Pattern",
    "example": "Esempio",
    "sequence": "Sequenza",
    "reset": "Reset",
    "status": "Stato",
    "monthly": "Mensile",
    "yearly": "Annuale",
    "never": "Mai",
    "previewTooltip": "Anteprima prossimo codice",
    "resetTooltip": "Reset sequenza",
    "resetConfirmTitle": "Conferma Reset Sequenza",
    "resetConfirmText": "Sei sicuro di voler resettare la sequenza per",
    "resetWarning": "La sequenza verrà riportata a 0. Il prossimo codice generato partirà da 1.",
    "previewTitle": "Anteprima Prossimo Codice",
    "previewText": "Questo è il codice che verrà generato alla prossima creazione.\nLa sequenza non è stata incrementata.",
    "helpTitle": "Guida ai Pattern",
    "helpText": "I pattern definiscono come vengono generati i codici automatici. Puoi combinare testo statico e placeholder dinamici.",
    "placeholders": "Placeholder Disponibili",
    "examples": "Esempi di Pattern",
    "editTitle": "Modifica Configurazione",
    "prefixHelper": "Testo sostituito nel placeholder {PREFIX}",
    "patternHelper": "Pattern per generazione codice",
    "previewLabel": "Anteprima:",
    "resetSequence": "Reset Sequenza",
    "everyYear": "Ogni anno",
    "everyMonth": "Ogni mese",
    "generationActive": "Generazione attiva",
    "readOnly": "Codice non modificabile"
  },
  "customFields": {
    "title": "Gestione Campi Personalizzati",
    "sectionTitle": "Campi Personalizzati",
    "entity": "Entità",
    "newField": "Nuovo Campo",
    "label": "Etichetta",
    "fieldName": "Nome Interno",
    "type": "Tipo",
    "required": "Obbligatorio",
    "order": "Ordine",
    "editField": "Modifica Campo",
    "deleteConfirm": "Sei sicuro di voler eliminare questo campo?",
    "fieldNameHelper": "Deve essere univoco per l'entità. Usa solo lettere minuscole e underscore.",
    "optionsJson": "Opzioni (JSON Array)",
    "optionsHelper": "Inserisci un array JSON valido di stringhe",
    "description": "Descrizione / Helper Text",
    "noFields": "Nessun campo personalizzato configurato per questa entità.",
    "types": {
      "text": "Testo",
      "number": "Numero",
      "date": "Data",
      "boolean": "Booleano (Sì/No)",
      "select": "Lista a discesa",
      "multiselect": "Selezione Multipla",
      "textarea": "Area di testo",
      "color": "Colore",
      "url": "URL",
      "email": "Email"
    },
    "entities": {
      "client": "Clienti",
      "article": "Articoli (Catering)",
      "event": "Eventi",
      "warehousearticle": "Articoli Magazzino",
      "warehouselocation": "Magazzini",
      "resource": "Risorse (Staff)"
    }
  },
  "reports": {
    "title": "Template Report",
    "import": "Importa",
    "newTemplate": "Nuovo Template",
    "filterCategory": "Filtra per categoria",
    "all": "Tutte",
    "importTemplate": "Importa Template",
    "noTemplates": "Nessun template trovato",
    "createFirstTemplate": "Crea il tuo primo template di report o importane uno esistente",
    "createTemplate": "Crea Template",
    "vertical": "Verticale",
    "horizontal": "Orizzontale",
    "edit": "Modifica",
    "duplicate": "Duplica",
    "export": "Esporta",
    "delete": "Elimina",
    "confirmDelete": "Conferma Eliminazione",
    "deleteConfirmText": "Sei sicuro di voler eliminare il template \"{{name}}\"?",
    "irreversibleAction": "Questa azione non può essere annullata.",
    "cancel": "Annulla",
    "deleting": "Eliminazione...",
    "importTitle": "Importa Template",
    "importText": "Seleziona un file .aprt da importare",
    "selectFile": "Seleziona File",
    "importing": "Importazione...",
    "categories": {
      "Evento": "Evento",
      "Cliente": "Cliente",
      "Articoli": "Articoli",
      "Generale": "Generale",
      "Importato": "Importato"
    },
    "editor": {
      "newTemplate": "Nuovo Template",
      "templateUpdatedByOther": "Template aggiornato da un altro utente",
      "deleteSuccess": "Evento eliminato con successo",
      "detail": {
        "status": {
          "draft": "Scheda Evento",
          "quote": "Preventivo",
          "confirmed": "Confermato",
          "new": "Nuovo"
        },
        "loading": "Caricamento...",
        "newEvent": "Nuovo Evento",
        "noDescription": "Senza descrizione",
        "actions": {
          "duplicate": "Duplica",
          "recalculate": "Ricalcola Qta",
          "confirm": "Conferma",
          "save": "Salva",
          "print": "Stampa PDF",
          "back": "Indietro"
        },
        "fields": {
          "date": "Data Evento",
          "startTime": "Ora Inizio",
          "endTime": "Ora Fine",
          "type": "Tipo Evento",
          "description": "Descrizione Evento",
          "descriptionPlaceholder": "es. Matrimonio Rossi-Bianchi",
          "client": "Cliente",
          "location": "Location",
          "totalGuests": "N. Ospiti Totale",
          "costPerPerson": "Costo a Persona",
          "totalCost": "Costo Totale",
          "totalDeposits": "Totale Acconti",
          "balance": "Saldo",
          "status": "Stato"
        },
        "tabs": {
          "guests": "Ospiti",
          "withdrawalList": "Lista Prelievo",
          "resources": "Risorse",
          "costs": "Costi",
          "notes": "Note"
        },
        "guestsTab": {
          "total": "Totale ospiti",
          "add": "Aggiungi Tipo Ospite",
          "type": "Tipo Ospite",
          "quantity": "Quantità",
          "notes": "Note",
          "empty": "Nessun ospite aggiunto. Clicca \"Aggiungi Tipo Ospite\" per iniziare."
        },
        "withdrawalTab": {
          "total": "Articoli in lista",
          "add": "Aggiungi Articolo",
          "code": "Codice",
          "article": "Articolo",
          "qtyRequested": "Qta Richiesta",
          "qtyCalculated": "Qta Calcolata",
          "qtyActual": "Qta Effettiva",
          "notes": "Note",
          "empty": "Nessun articolo in lista."
        },
        "resourcesTab": {
          "total": "Risorse impegnate",
          "add": "Aggiungi Risorsa",
          "resource": "Risorsa",
          "quantity": "Quantità",
          "costUnit": "Costo Unitario",
          "costTotal": "Costo Totale",
          "notes": "Note",
          "empty": "Nessuna risorsa aggiunta."
        },
        "dialogs": {
          "addGuest": "Aggiungi Ospite",
          "addArticle": "Aggiungi Articolo",
          "addResource": "Aggiungi Risorsa",
          "cancel": "Annulla",
          "add": "Aggiungi"
        }
      },
      "saveSuccess": "Template salvato con successo",
      "saveError": "Errore nel salvataggio: {{error}}",
      "pageName": "Pagina {{number}}",
      "copyOf": "{{name}} (copia)",
      "newText": "Nuovo testo",
      "column": "Colonna {{number}}",
      "elementCopied": "Elemento copiato",
      "pastedSuffix": "_incollato",
      "copySuffix": "_copia",
      "groupingNotImplemented": "Raggruppamento non ancora implementato",
      "ungroupingNotImplemented": "Separazione non ancora implementata",
      "doubleClickToEdit": "Fai doppio click sul testo per modificarlo",
      "fitToContentNotImplemented": "Adatta al contenuto non ancora implementato",
      "selectDatasetForPreview": "Seleziona almeno un dataset per l'anteprima",
      "saveBeforePreview": "Salva il template prima di visualizzare l'anteprima",
      "previewError": "Errore nella generazione dell'anteprima: {{error}}",
      "panels": {
        "pages": "Pagine",
        "data": "Campi Dati",
        "properties": "Proprietà"
      },
      "defaultPageName": "Pagina 1",
      "saveDialog": {
        "title": "Salva Template",
        "name": "Nome",
        "description": "Descrizione",
        "category": "Categoria",
        "cancel": "Annulla",
        "saving": "Salvataggio...",
        "save": "Salva"
      }
    }
  },
  "warehouse": {
    "dashboard": {
      "newInbound": "Nuovo Carico",
      "stockLevels": "Giacenze",
      "activeArticles": "Articoli Attivi",
      "warehouses": "Magazzini",
      "totalValue": "Valore Totale",
      "lowStock": "Sotto Scorta",
      "outOfStock": "esauriti",
      "recentMovements": "Ultimi Movimenti",
      "viewAll": "Vedi tutti",
      "noRecentMovements": "Nessun movimento recente",
      "lines": "righe",
      "manage": "Gestisci",
      "draftMovements": "movimenti in bozza da confermare",
      "view": "Visualizza",
      "expiringBatches": "lotti in scadenza nei prossimi 30 giorni",
      "lowStockArticles": "Articoli Sotto Scorta",
      "noLowStockArticles": "Nessun articolo sotto scorta",
      "quickActions": "Azioni Rapide",
      "inbound": "Carico",
      "outbound": "Scarico",
      "transfer": "Trasferimento",
      "newArticle": "Nuovo Articolo",
      "inventory": "Inventario",
      "valuation": "Valorizzazione"
    },
    "articles": {
      "title": "Anagrafica Articoli",
      "newArticle": "Nuovo Articolo",
      "columns": {
        "code": "Codice",
        "description": "Descrizione",
        "category": "Categoria",
        "uom": "U.M.",
        "averageCost": "Costo Medio",
        "status": "Stato",
        "active": "Attivo",
        "inactive": "Inattivo"
      },
      "filters": {
        "searchPlaceholder": "Cerca per codice o descrizione...",
        "category": "Categoria",
        "all": "Tutte",
        "showAll": "Mostra Tutti",
        "onlyActive": "Solo Attivi",
        "viewList": "Vista Lista",
        "viewGrid": "Vista Griglia"
      },
      "loadingError": "Errore nel caricamento degli articoli: {{error}}",
      "noArticlesFound": "Nessun articolo trovato",
      "actions": {
        "edit": "Modifica",
        "viewStock": "Visualizza Giacenze",
        "delete": "Elimina"
      },
      "deleteDialog": {
        "title": "Conferma Eliminazione",
        "content": "Sei sicuro di voler eliminare l'articolo <strong>{{code}} - {{description}}</strong>?",
        "warning": "Questa azione non può essere annullata.",
        "cancel": "Annulla",
        "deleting": "Eliminazione...",
        "delete": "Elimina"
      }
    },
    "articleForm": {
      "titleNew": "Nuovo Articolo",
      "titleEdit": "Articolo: {{code}}",
      "tabs": {
        "general": "Dati Generali",
        "stock": "Giacenze",
        "batches": "Lotti",
        "serials": "Matricole"
      },
      "sections": {
        "basicInfo": "Informazioni Base",
        "stockLevels": "Livelli di Scorta",
        "costs": "Costi e Valorizzazione",
        "traceability": "Tracciabilità",
        "image": "Immagine",
        "summary": "Riepilogo"
      },
      "fields": {
        "code": "Codice",
        "alternativeCode": "Codice Alternativo",
        "description": "Descrizione",
        "shortDescription": "Descrizione Breve",
        "category": "Categoria",
        "uom": "Unità di Misura",
        "barcode": "Codice a Barre",
        "notes": "Note",
        "minStock": "Scorta Minima",
        "maxStock": "Scorta Massima",
        "reorderPoint": "Punto di Riordino",
        "reorderQuantity": "Quantità Riordino",
        "standardCost": "Costo Standard",
        "stockManagement": "Gestione Stock",
        "valuationMethod": "Metodo di Valorizzazione",
        "batchManaged": "Gestione Lotti",
        "serialManaged": "Gestione Matricole",
        "expiryManaged": "Gestione Scadenza",
        "active": "Articolo Attivo"
      },
      "helpers": {
        "generatedOnSave": "(Generato al salvataggio)",
        "willBeGenerated": "Verrà assegnato automaticamente",
        "generatedAutomatically": "Generato automaticamente",
        "optional": "Opzionale"
      },
      "validation": {
        "codeRequired": "Il codice è obbligatorio",
        "descriptionRequired": "La descrizione è obbligatoria",
        "uomRequired": "L'unità di misura è obbligatoria"
      },
      "errors": {
        "saveError": "Errore durante il salvataggio: {{error}}"
      },
      "actions": {
        "upload": "Carica",
        "cancel": "Annulla",
        "save": "Salva",
        "saving": "Salvataggio..."
      },
      "summary": {
        "averageCost": "Costo Medio",
        "lastPurchase": "Ultimo Acquisto"
      },
      "tables": {
        "warehouse": "Magazzino",
        "quantity": "Quantità",
        "reserved": "Riservata",
        "available": "Disponibile",
        "value": "Valore",
        "batchNumber": "Numero Lotto",
        "expiryDate": "Data Scadenza",
        "status": "Stato",
        "serialNumber": "Matricola",
        "lot": "Lotto",
        "noStock": "Nessuna giacenza",
        "noBatches": "Nessun lotto",
        "noSerials": "Nessuna matricola"
      },
      "status": {
        "expired": "Scaduto",
        "available": "Disponibile",
        "unavailable": "Non disponibile"
      },
      "options": {
        "noCategory": "Nessuna"
      }
    },
    "stockManagementType": {
      "Standard": "Standard",
      "NotManaged": "Non Gestito",
      "VariableWeight": "Peso Variabile",
      "Kit": "Kit"
    },
    "valuationMethod": {
      "WeightedAverage": "Costo Medio Ponderato",
      "FIFO": "FIFO",
      "LIFO": "LIFO",
      "StandardCost": "Costo Standard",
      "SpecificCost": "Costo Specifico"
    },
    "movements": {
      "title": "Movimenti di Magazzino",
      "filters": {
        "searchPlaceholder": "Cerca documento, riferimento...",
        "warehouse": "Magazzino",
        "all": "Tutti",
        "type": "Tipo",
        "status": "Stato",
        "from": "Da",
        "to": "A",
        "reset": "Reset"
      },
      "columns": {
        "document": "Documento",
        "date": "Data",
        "type": "Tipo",
        "status": "Stato",
        "warehouse": "Magazzino",
        "destination": "Destinazione",
        "reason": "Causale",
        "lines": "Righe",
        "value": "Valore",
        "reference": "Riferimento"
      },
      "actions": {
        "newMovement": "Nuovo Movimento",
        "inbound": "Carico",
        "outbound": "Scarico",
        "transfer": "Trasferimento",
        "adjustment": "Rettifica",
        "view": "Visualizza",
        "confirm": "Conferma",
        "cancel": "Annulla",
        "delete": "Elimina"
      },
      "dialogs": {
        "confirm": {
          "title": "Conferma Movimento",
          "content": "Confermare il movimento <strong>{{doc}}</strong>?",
          "warning": "Le giacenze verranno aggiornate e il movimento non potrà più essere modificato.",
          "confirming": "Conferma...",
          "confirm": "Conferma",
          "cancel": "Annulla"
        },
        "cancel": {
          "title": "Annulla Movimento",
          "content": "Annullare il movimento <strong>{{doc}}</strong>?",
          "warning": "Il movimento verrà marcato come annullato ma non eliminato.",
          "cancelling": "Annullamento...",
          "cancelMovement": "Annulla Movimento",
          "back": "Indietro"
        },
        "delete": {
          "title": "Elimina Movimento",
          "content": "Eliminare definitivamente il movimento <strong>{{doc}}</strong>?",
          "warning": "Questa azione non può essere annullata.",
          "deleting": "Eliminazione...",
          "delete": "Elimina",
          "cancel": "Annulla"
        }
      },
      "loadingError": "Errore nel caricamento dei movimenti: {{error}}"
    },
    "movementType": {
      "Inbound": "Carico",
      "Outbound": "Scarico",
      "Transfer": "Trasferimento",
      "Adjustment": "Rettifica",
      "Production": "Produzione",
      "Consumption": "Consumo",
      "SupplierReturn": "Reso Fornitore",
      "CustomerReturn": "Reso Cliente"
    },
    "movementStatus": {
      "Draft": "Bozza",
      "Confirmed": "Confermato",
      "Cancelled": "Annullato"
    },
    "inbound": {
      "title": "Nuovo Carico",
      "subtitle": "Movimento di entrata merce in magazzino",
      "sections": {
        "movementData": "Dati Movimento",
        "lines": "Righe Movimento"
      },
      "fields": {
        "date": "Data Movimento",
        "warehouse": "Magazzino",
        "documentNumber": "Numero Documento",
        "externalReference": "Riferimento Esterno",
        "notes": "Note",
        "article": "Articolo",
        "quantity": "Quantità",
        "unitCost": "Costo Unitario",
        "total": "Totale"
      },
      "placeholders": {
        "documentNumber": "DDT, Fattura, etc.",
        "externalReference": "Ordine, Fornitore, etc.",
        "selectArticle": "Seleziona articolo"
      },
      "actions": {
        "addLine": "Aggiungi Riga",
        "cancel": "Annulla",
        "saveDraft": "Salva Bozza",
        "saveAndConfirm": "Salva e Conferma"
      },
      "totals": {
        "quantity": "Totale Quantità",
        "value": "Totale Valore"
      },
      "validation": {
        "warehouseRequired": "Seleziona un magazzino",
        "dateRequired": "Inserisci la data",
        "linesRequired": "Inserisci almeno una riga con articolo e quantità"
      },
      "errors": {
        "saveError": "Errore: {{error}}"
      }
    },
    "outbound": {
      "title": "Nuovo Scarico",
      "subtitle": "Movimento di uscita merce da magazzino",
      "warnings": {
        "stockIssues": "Attenzione: alcune righe superano la disponibilità in magazzino",
        "overStock": "Quantità superiore alla disponibilità"
      },
      "sections": {
        "movementData": "Dati Movimento",
        "lines": "Righe Movimento"
      },
      "fields": {
        "date": "Data Movimento",
        "warehouse": "Magazzino",
        "documentNumber": "Numero Documento",
        "externalReference": "Riferimento Esterno",
        "notes": "Note",
        "article": "Articolo",
        "available": "Disponibile",
        "quantity": "Quantità"
      },
      "placeholders": {
        "documentNumber": "DDT, Bolla, etc.",
        "externalReference": "Ordine, Cliente, etc.",
        "selectArticle": "Seleziona articolo",
        "notes": "Note"
      },
      "actions": {
        "addLine": "Aggiungi Riga",
        "cancel": "Annulla",
        "saveDraft": "Salva Bozza",
        "saveAndConfirm": "Salva e Conferma"
      },
      "totals": {
        "quantity": "Totale Quantità"
      },
      "validation": {
        "warehouseRequired": "Seleziona un magazzino",
        "dateRequired": "Inserisci la data",
        "linesRequired": "Inserisci almeno una riga con articolo e quantità"
      },
      "errors": {
        "saveError": "Errore: {{error}}"
      }
    },
    "transfer": {
      "title": "Trasferimento tra Magazzini",
      "subtitle": "Sposta merce da un magazzino all'altro",
      "sections": {
        "transferData": "Dati Trasferimento",
        "lines": "Articoli da Trasferire"
      },
      "fields": {
        "date": "Data",
        "sourceWarehouse": "Magazzino Origine",
        "destWarehouse": "Magazzino Destinazione",
        "document": "Documento",
        "externalReference": "Riferimento Esterno",
        "notes": "Note",
        "article": "Articolo",
        "available": "Disponibile",
        "quantity": "Quantità"
      },
      "placeholders": {
        "article": "Articolo",
        "notes": "Note"
      },
      "actions": {
        "add": "Aggiungi",
        "cancel": "Annulla",
        "saveDraft": "Salva Bozza",
        "saveAndConfirm": "Salva e Conferma"
      },
      "totals": {
        "total": "Totale: {{value}}"
      },
      "validation": {
        "sourceRequired": "Seleziona magazzino origine",
        "destRequired": "Seleziona magazzino destinazione",
        "sameWarehouse": "Origine e destinazione devono essere diversi",
        "dateRequired": "Inserisci la data",
        "linesRequired": "Inserisci almeno una riga"
      },
      "errors": {
        "saveError": "Errore: {{error}}"
      }
    },
    "locations": {
      "title": "Gestione Magazzini",
      "newWarehouse": "Nuovo Magazzino",
      "emptyState": {
        "title": "Nessun magazzino configurato",
        "action": "Aggiungi il primo magazzino"
      },
      "card": {
        "default": "Magazzino Predefinito",
        "inactive": "Inattivo",
        "setDefault": "Imposta come predefinito",
        "edit": "Modifica",
        "delete": "Elimina"
      },
      "dialog": {
        "createTitle": "Nuovo Magazzino",
        "editTitle": "Modifica Magazzino",
        "fields": {
          "code": "Codice",
          "alternativeCode": "Codice Alternativo",
          "name": "Nome",
          "description": "Descrizione",
          "type": "Tipo",
          "address": "Indirizzo",
          "isDefault": "Magazzino Predefinito",
          "isActive": "Attivo"
        },
        "helpers": {
          "generatedOnSave": "(Generato al salvataggio)",
          "generatedAutomatically": "Generato automaticamente",
          "willBeAssigned": "Verrà assegnato automaticamente",
          "optional": "Opzionale"
        },
        "validation": {
          "nameRequired": "Il nome è obbligatorio"
        },
        "actions": {
          "cancel": "Annulla",
          "save": "Salva",
          "saving": "Salvataggio..."
        }
      },
      "deleteDialog": {
        "title": "Conferma Eliminazione",
        "content": "Sei sicuro di voler eliminare il magazzino <strong>{{code}} - {{name}}</strong>?",
        "warning": "Questa azione non può essere annullata.",
        "deleting": "Eliminazione...",
        "delete": "Elimina",
        "cancel": "Annulla"
      },
      "loadingError": "Errore nel caricamento dei magazzini: {{error}}"
    },
    "warehouseType": {
      "Physical": "Fisico",
      "Transit": "Transito",
      "Returns": "Resi",
      "Defective": "Difettosi",
      "Subcontract": "Conto Lavoro"
    },
    "stockLevels": {
      "title": "Giacenze di Magazzino",
      "valuation": "Valorizzazione",
      "summary": {
        "articles": "Articoli",
        "totalQuantity": "Quantità Totale",
        "totalValue": "Valore Totale",
        "lowStock": "Sotto Scorta"
      },
      "filters": {
        "search": "Cerca articolo...",
        "warehouse": "Magazzino",
        "category": "Categoria",
        "lowStockOnly": "Solo sotto scorta",
        "allWarehouses": "Tutti",
        "allCategories": "Tutte"
      },
      "columns": {
        "code": "Codice",
        "article": "Articolo",
        "warehouse": "Magazzino",
        "category": "Categoria",
        "quantity": "Giacenza",
        "reserved": "Riservata",
        "available": "Disponibile",
        "averageCost": "Costo Medio",
        "value": "Valore"
      },
      "error": "Errore: {{error}}"
    },
    "inventory": {
      "title": "Inventari Fisici",
      "newInventory": "Nuovo Inventario",
      "status": {
        "Draft": "Bozza",
        "InProgress": "In Corso",
        "Completed": "Completato",
        "Confirmed": "Confermato",
        "Cancelled": "Annullato"
      },
      "columns": {
        "code": "Codice",
        "description": "Descrizione",
        "date": "Data Inventario",
        "warehouse": "Magazzino",
        "category": "Categoria",
        "status": "Stato",
        "progress": "Progresso",
        "actions": "Azioni"
      },
      "actions": {
        "view": "Dettaglio",
        "start": "Avvia Conteggio",
        "continue": "Continua Conteggio",
        "cancel": "Annulla"
      },
      "confirmCancel": "Sei sicuro di voler annullare questo inventario?",
      "form": {
        "title": {
          "new": "Nuovo Inventario",
          "edit": "Modifica Inventario",
          "editWithCode": "Inventario {{code}}"
        },
        "breadcrumbs": {
          "list": "Inventari"
        },
        "fields": {
          "description": "Descrizione",
          "date": "Data Inventario",
          "warehouse": "Magazzino",
          "category": "Categoria (Opzionale)",
          "type": "Tipo Inventario",
          "notes": "Note"
        },
        "options": {
          "allCategories": "Tutte",
          "type": {
            "Full": "Completo",
            "Partial": "Parziale",
            "Cyclic": "Ciclico",
            "Sample": "A Campione"
          }
        },
        "actions": {
          "back": "Indietro",
          "save": "Salva Modifiche",
          "create": "Crea e Inizia"
        }
      },
      "count": {
        "title": "Inventario: {{description}}",
        "actions": {
          "back": "Indietro",
          "start": "Avvia Inventario",
          "complete": "Completa Conteggio",
          "confirm": "Conferma e Rettifica"
        },
        "cards": {
          "date": "Data Inventario",
          "warehouse": "Magazzino",
          "totalLines": "Righe Totali",
          "countedLines": "Righe Contate"
        },
        "alert": {
          "completed": "L'inventario è completato. Verifica le differenze prima di confermare. La conferma genererà automaticamente i movimenti di rettifica."
        },
        "columns": {
          "articleCode": "Codice Articolo",
          "description": "Descrizione",
          "batch": "Lotto",
          "location": "Ubicazione",
          "theoreticalQty": "Qta Teorica",
          "countedQty": "Qta Contata",
          "difference": "Differenza"
        },
        "confirmDialog": {
          "title": "Conferma Inventario",
          "content": "Sei sicuro di voler confermare l'inventario? Questa operazione è irreversibile e genererà i movimenti di rettifica per le differenze riscontrate.",
          "cancel": "Annulla",
          "confirm": "Conferma"
        }
      }
    }
  }
}