| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652 |
- export default {
- // Navigation
- nav: {
- printers: 'Stampanti',
- archives: 'Archivi',
- queue: 'Coda',
- stats: 'Statistiche',
- profiles: 'Profili',
- maintenance: 'Manutenzione',
- projects: 'Progetti',
- files: 'File',
- settings: 'Impostazioni',
- system: 'Sistema',
- collapseSidebar: 'Comprimi barra laterale',
- expandSidebar: 'Espandi barra laterale',
- update: 'Aggiorna',
- updateAvailable: 'Aggiornamento disponibile: v{{version}}',
- updateAvailableBanner: 'Versione {{version}} disponibile!',
- viewUpdate: 'Vedi aggiornamento',
- viewOnGithub: 'Vedi su GitHub',
- keyboardShortcuts: 'Scorciatoie da tastiera (?)',
- switchToLight: 'Passa a tema chiaro',
- switchToDark: 'Passa a tema scuro',
- smartSwitches: 'Interruttori Smart',
- logout: 'Esci',
- },
- // Common
- common: {
- save: 'Salva',
- saving: 'Salvataggio...',
- cancel: 'Annulla',
- delete: 'Elimina',
- edit: 'Modifica',
- add: 'Aggiungi',
- close: 'Chiudi',
- confirm: 'Conferma',
- loading: 'Caricamento...',
- error: 'Errore',
- success: 'Successo',
- warning: 'Avviso',
- enabled: 'Abilitato',
- disabled: 'Disabilitato',
- yes: 'Si',
- no: 'No',
- on: 'On',
- off: 'Off',
- all: 'Tutti',
- none: 'Nessuno',
- search: 'Cerca',
- filter: 'Filtro',
- sort: 'Ordina',
- refresh: 'Aggiorna',
- download: 'Scarica',
- upload: 'Carica',
- actions: 'Azioni',
- status: 'Stato',
- name: 'Nome',
- description: 'Descrizione',
- date: 'Data',
- time: 'Ora',
- hours: 'ore',
- minutes: 'minuti',
- seconds: 'secondi',
- days: 'giorni',
- enable: 'Abilita',
- disable: 'Disabilita',
- permissions: 'Permessi',
- noPrinters: 'Nessuna stampante configurata',
- noData: 'Nessun dato disponibile',
- linkNotFound: 'Link non trovato',
- required: 'Obbligatorio',
- optional: 'Opzionale',
- dismiss: 'Chiudi',
- apply: 'Applica',
- reset: 'Reimposta',
- clear: 'Pulisci',
- selectAll: 'Seleziona tutto',
- deselectAll: 'Deseleziona tutto',
- noChange: '— Nessun cambio —',
- unchanged: 'Invariato',
- unassigned: 'Non assegnato',
- unknown: 'Sconosciuto',
- unknownError: 'Errore sconosciuto',
- today: 'Oggi',
- 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 può essere cambiato',
- locationHelp: 'Usato per raggruppare stampanti e filtrare i lavori in coda',
- // WiFi signal strength
- wifiSignal: {
- veryWeak: 'Molto debole',
- weak: 'Debole',
- fair: 'Discreto',
- good: 'Buono',
- excellent: 'Eccellente',
- },
- // Maintenance
- maintenanceUpToDate: 'Tutta la manutenzione aggiornata - Clicca per vedere',
- // Chamber light
- chamberLightOn: 'Accendi luce camera',
- chamberLightOff: 'Spegni luce camera',
- // Files
- browseFiles: 'Sfoglia file stampante',
- // Smart plug
- autoOffAfterPrint: 'Spegnimento automatico dopo stampa',
- autoOffExecuted: 'Spegnimento automatico eseguito - accendi la stampante per reimpostare',
- // HMS errors
- hmsErrors: 'Errori HMS',
- viewHmsErrors: 'Vedi {{count}} errore(i) HMS',
- // Actions
- resume: 'Riprendi',
- pause: 'Pausa',
- stop: 'Ferma',
- camera: 'Camera',
- skipObject: 'Salta Oggetto',
- reconnect: 'Riconnetti',
- mqttDebug: 'Debug MQTT',
- activeNozzle: 'Attivo: ugello {{nozzle}}',
- nozzleRack: 'Rack Ugelli',
- nozzleDocked: 'Agganciato',
- nozzleMounted: 'Montato',
- nozzleWear: 'Usura',
- nozzleMaxTemp: 'Temp Max',
- nozzleSerial: 'Seriale',
- nozzleHardenedSteel: 'Acciaio Temprato',
- nozzleStainlessSteel: 'Acciaio Inox',
- // 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 rimuoverà tutte le impostazioni di connessione.',
- deleteArchivesNote: 'Tutta la cronologia di stampa sarà eliminata definitivamente.',
- keepArchivesNote: 'La cronologia sarà mantenuta ma non più associata a questa stampante.',
- stopTitle: 'Ferma Stampa',
- stopMessage: 'Sei sicuro di fermare la stampa corrente su "{{name}}"? Questo annullerà il lavoro di stampa.',
- stopButton: 'Ferma Stampa',
- pauseTitle: 'Pausa Stampa',
- pauseMessage: 'Sei sicuro di mettere in pausa la stampa corrente su "{{name}}"?',
- pauseButton: 'Pausa Stampa',
- resumeTitle: 'Riprendi Stampa',
- resumeMessage: 'Sei sicuro di riprendere la stampa su "{{name}}"?',
- resumeButton: 'Riprendi Stampa',
- powerOnTitle: 'Accendi Stampante',
- powerOnMessage: 'Sei sicuro di accendere "{{name}}"?',
- powerOnButton: 'Accendi',
- powerOffTitle: 'Spegni Stampante',
- powerOffMessage: 'Sei sicuro di spegnere "{{name}}"?',
- powerOffWarning: 'AVVISO: "{{name}}" sta stampando! Sei sicuro di spegnere? Questo interromperà la stampa e potrebbe danneggiare la stampante.',
- powerOffButton: 'Spegni',
- },
- // Discovery
- discovery: {
- title: 'Trova Stampanti',
- searching: 'Ricerca...',
- scanning: 'Scansione...',
- scanProgress: 'Scansione... {{scanned}}/{{total}}',
- foundPrinters: 'Trovate {{count}} stampante(i)',
- noPrintersFound: 'Nessuna stampante trovata',
- noPrintersFoundSubnet: 'Nessuna stampante trovata nella sottorete specificata.',
- noPrintersFoundNetwork: 'Nessuna stampante trovata sulla rete.',
- allConfigured: 'Tutte le stampanti trovate sono già configurate.',
- alreadyAdded: 'Già aggiunta',
- select: 'Seleziona',
- manualEntry: 'Inserimento manuale',
- addFromCloud: 'Aggiungi da Cloud',
- subnetToScan: 'Sottorete da scansionare',
- dockerNote: 'Docker rilevato. Inserisci la sottorete della stampante in notazione CIDR. Richiede network_mode: host in docker-compose.yml.',
- scanSubnet: 'Scansiona sottorete per stampanti',
- discoverNetwork: 'Trova stampanti in rete',
- scanningSubnet: 'Scansione sottorete per stampanti Bambu...',
- scanningNetwork: 'Scansione rete...',
- serialRequired: 'Seriale richiesto',
- unknown: 'Sconosciuto',
- failedToStart: 'Avvio ricerca non riuscito',
- },
- // Filaments section
- filaments: 'Filamenti',
- // Camera
- openCameraOverlay: 'Apri overlay camera',
- openCameraWindow: 'Apri camera in nuova finestra',
- // Firmware
- firmwareUpdateAvailable: 'Aggiornamento firmware disponibile: {{current}} → {{latest}}',
- 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.',
- },
- },
- // 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: {
- cancelTitle: 'Annulla stampa programmata',
- cancelMessage: 'Sei sicuro di annullare "{{name}}"?',
- stopTitle: 'Ferma Stampa',
- stopMessage: 'Sei sicuro di fermare la stampa corrente "{{name}}"? Questo annullerà il lavoro sulla stampante.',
- removeTitle: 'Rimuovi dalla cronologia',
- removeMessage: 'Sei sicuro di rimuovere "{{name}}" dalla cronologia coda?',
- clearHistoryTitle: 'Svuota cronologia',
- clearHistoryMessage: 'Sei sicuro di rimuovere {{count}} elemento(i) dalla cronologia?',
- cancelButton: 'Annulla Stampa',
- stopButton: 'Ferma Stampa',
- thisPrint: 'questa stampa',
- thisItem: 'questo elemento',
- },
- // Toast messages
- toast: {
- cancelled: 'Elemento coda annullato',
- cancelFailed: 'Annullamento non riuscito',
- removed: 'Elemento coda rimosso',
- removeFailed: 'Rimozione non riuscita',
- stopped: 'Stampa fermata',
- stopFailed: 'Impossibile fermare stampa',
- released: 'Stampa rilasciata in coda',
- startFailed: 'Avvio stampa non riuscito',
- reorderFailed: 'Riordino coda non riuscito',
- historyCleared: 'Cancellati {{count}} elementi cronologia',
- clearHistoryFailed: 'Svuotamento cronologia non riuscito',
- updateFailed: 'Aggiornamento elementi non riuscito',
- bulkCancelled: 'Annullati {{count}} elementi',
- bulkCancelFailed: 'Annullamento elementi non riuscito',
- },
- // Permissions
- permissions: {
- noStopPrint: 'Non hai il permesso di fermare stampe',
- noStartPrint: 'Non hai il permesso di avviare stampe',
- noEdit: 'Non hai il permesso di modificare questo elemento coda',
- noCancel: 'Non hai il permesso di annullare questo elemento coda',
- noRequeue: 'Non hai il permesso di rimettere in coda elementi',
- noRemove: 'Non hai il permesso di rimuovere questo elemento coda',
- noClearHistory: 'Non hai il permesso di svuotare tutta la cronologia',
- noEditItems: 'Non hai il permesso di modificare elementi coda',
- noCancelItems: 'Non hai il permesso di annullare elementi coda',
- },
- },
- // 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',
- },
- // 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',
- },
- // 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',
- environmentManagedLabel: '(Gestito dall\'ambiente)',
- autoEnabledViaEnv: 'Abilitato automaticamente tramite variabili d\'ambiente',
- urlFromEnvReadOnly: 'Valore impostato dalla variabile d\'ambiente HA_URL (sola lettura)',
- tokenFromEnvReadOnly: 'Valore impostato dalla variabile d\'ambiente HA_TOKEN (sola lettura)',
- // MQTT
- mqttConnectedTo: 'Connesso a',
- // Prometheus
- prometheusDescription: 'Esponi dati stampante in formato Prometheus',
- // Smart plugs empty state
- noSmartPlugsTitle: 'Nessuna presa smart configurata',
- noSmartPlugsDescription: 'Aggiungi una presa smart Tasmota per monitorare energia e automatizzare il controllo.',
- // Notifications empty state
- noProvidersTitle: 'Nessun provider configurato',
- noProvidersDescription: 'Aggiungi un provider per ricevere avvisi.',
- noTemplatesAvailable: 'Nessun template disponibile. Riavvia il backend per generare i template predefiniti.',
- // API permissions
- apiPermissionView: 'Visualizza stato stampante e coda',
- apiPermissionEdit: 'Aggiungi e rimuovi elementi dalla coda di stampa',
- // API keys
- apiKeysEmptyTitle: 'Nessuna chiave API',
- apiKeysEmptyDescription: 'Crea una chiave API per integrare servizi esterni.',
- // Users
- noUsersFound: 'Nessun utente trovato',
- noGroupsFound: 'Nessun gruppo trovato',
- noGroupsAvailable: 'Nessun gruppo disponibile',
- passwordsDoNotMatch: 'Le password non coincidono',
- systemGroupWarning: 'I nomi dei gruppi di sistema non possono essere modificati',
- // Auth disabled
- authDisabledTitle: 'Autenticazione disabilitata',
- authDisabledFeature1: 'Richiedi accesso per usare il sistema',
- authDisabledFeature2: 'Crea più utenti con permessi basati sui gruppi',
- authDisabledFeature3: 'Controlla accesso con 50+ permessi granulari',
- // User deletion
- userHasCreated: 'Questo utente ha creato:',
- userItemsQuestion: 'Cosa vuoi fare con questi elementi?',
- deleteUserConfirm: 'Sei sicuro di voler eliminare questo utente?',
- actionCannotBeUndone: 'Questa azione non può essere annullata.',
- // Smart plugs
- addFirstSmartPlug: 'Aggiungi la tua prima presa smart',
- // Notifications
- providers: 'Provider',
- log: 'Log',
- testAll: 'Testa tutto',
- testResults: 'Risultati test',
- testPassedCount: '{{count}} riusciti',
- testFailedCount: '{{count}} falliti',
- messageTemplates: 'Template messaggi',
- messageTemplatesDescription: 'Personalizza i messaggi per ogni evento.',
- // API Keys section
- apiKeys: 'Chiavi API',
- apiKeysDescription: 'Crea chiavi API per integrazioni esterne e webhook.',
- createKey: 'Crea chiave',
- apiKeyCreated: 'Chiave API creata con successo',
- apiKeyCopyWarning: "Copia questa chiave ora - non verra mostrata di nuovo!",
- useInApiBrowser: 'Usa nel Browser API',
- createNewApiKey: 'Crea nuova chiave API',
- keyName: 'Nome chiave',
- keyNamePlaceholder: 'es., Home Assistant, OctoPrint',
- readStatus: 'Leggi stato',
- readStatusDescription: 'Visualizza stato stampante e coda',
- manageQueue: 'Gestisci coda',
- manageQueueDescription: 'Aggiungi e rimuovi elementi dalla coda di stampa',
- controlPrinter: 'Controlla stampante',
- controlPrinterDescription: 'Metti in pausa, riprendi e ferma stampe',
- unnamedKey: 'Chiave senza nome',
- lastUsed: 'Ultimo uso',
- read: 'Lettura',
- control: 'Controllo',
- createFirstKey: 'Crea la tua prima chiave',
- webhookEndpoints: 'Endpoint webhook',
- webhookApiKeyHint: "Usa la tua chiave API nell'header X-API-Key.",
- webhook: {
- getAllStatus: 'Ottieni stato di tutte le stampanti',
- getSpecificStatus: 'Ottieni stato di una stampante',
- addToQueue: 'Aggiungi alla coda di stampa',
- pausePrint: 'Metti in pausa stampa',
- resumePrint: 'Riprendi stampa',
- stopPrint: 'Ferma stampa',
- },
- apiBrowser: 'Browser API',
- apiBrowserDescription: 'Esplora e testa tutti gli endpoint API disponibili.',
- apiKeyForTesting: 'Chiave API per test',
- apiKeyPlaceholder: 'Incolla qui la tua chiave API per testare gli endpoint autenticati...',
- apiKeyHint: "Questa chiave verra inviata come header X-API-Key.",
- deleteApiKeyTitle: 'Elimina chiave API',
- deleteApiKeyMessage: 'Sei sicuro di voler eliminare questa chiave API? Le integrazioni che la usano non funzioneranno più.',
- deleteKey: 'Elimina chiave',
- // Filament tab
- amsDisplayThresholds: 'Soglie visualizzazione AMS',
- amsThresholdsDescription: 'Configura soglie colore per umidità e temperatura AMS.',
- humidity: 'Umidità',
- goodGreen: 'Buono (verde)',
- fairOrange: 'Discreto (arancione)',
- aboveFairBad: 'Sopra soglia discreta mostra rosso (scarso)',
- temperature: 'Temperatura',
- goodBlue: 'Buono (blu)',
- aboveFairHot: 'Sopra soglia discreta mostra rosso (caldo)',
- historyRetention: 'Conservazione cronologia',
- keepSensorHistory: 'Mantieni cronologia sensori per',
- historyRetentionDescription: 'I dati più vecchi saranno eliminati automaticamente',
- printModal: 'Modale stampa',
- expandCustomMapping: 'Espandi mapping personalizzato di default',
- expandCustomMappingDescription: 'Quando stampi su più stampanti, mostra mapping AMS per stampante espanso',
- // User management
- authentication: 'Autenticazione',
- authEnabledDescription: 'La tua istanza è protetta con autenticazione',
- authDisabledDescription: 'Abilita per richiedere accesso e gestire utenti',
- authDisabledMessage: 'Abilita autenticazione per creare account, gestire permessi e proteggere la tua istanza Bambuddy.',
- enableAuthentication: 'Abilita autenticazione',
- currentUser: 'Utente corrente',
- changePassword: 'Cambia password',
- admin: 'Admin',
- users: 'Utenti',
- addUser: 'Aggiungi utente',
- groups: 'Gruppi',
- addGroup: 'Aggiungi gruppo',
- system: 'Sistema',
- noDescription: 'Nessuna descrizione',
- userCount: '{{count}} utenti',
- permissionCount: '{{count}} permessi',
- createUser: 'Crea utente',
- username: 'Nome utente',
- enterUsername: 'Inserisci nome utente',
- password: 'Password',
- enterPassword: 'Inserisci password (min 6 caratteri)',
- confirmPassword: 'Conferma password',
- confirmPasswordPlaceholder: 'Conferma password',
- // Title tooltips
- viewReleaseOnGitHub: 'Vedi release su GitHub',
- turnAllPlugsOn: 'Accendi tutte le prese',
- turnAllPlugsOff: 'Spegni tutte le prese',
- // Modal: Clear logs
- clearNotificationLogs: 'Cancella log notifiche',
- clearLogsMessage: 'Questo eliminerà definitivamente tutti i log notifiche più vecchi di 30 giorni. Questa azione non può essere annullata.',
- clearLogs: 'Cancella log',
- // Modal: Reset UI
- resetUiPreferences: 'Reimposta preferenze UI',
- resetUiPreferencesMessage: 'Questo reimposterà le preferenze UI ai valori predefiniti: ordine barra laterale, tema, layout dashboard, modalità vista e preferenze ordinamento. Stampanti, archivi e impostazioni server NON saranno modificati. La pagina si ricaricherà dopo la cancellazione.',
- resetPreferences: 'Reimposta preferenze',
- // Modal: Delete group
- deleteGroupTitle: 'Elimina gruppo',
- deleteGroupMessage: 'Sei sicuro di voler eliminare questo gruppo? Gli utenti in questo gruppo perderanno questi permessi.',
- deleteGroup: 'Elimina gruppo',
- // Modal: Disable auth
- disableAuthenticationTitle: 'Disabilita autenticazione',
- disableAuthenticationMessage: "Sei sicuro di voler disabilitare l'autenticazione? Questo renderà la tua istanza Bambuddy accessibile senza login. Tutti gli utenti resteranno nel database ma l'autenticazione sarà disabilitata.",
- disableAuthentication: 'Disabilita autenticazione',
- // Additional settings
- configureBambuddy: 'Configura Bambuddy',
- systemDefault: 'Predefinito di sistema',
- archiveSettings: 'Impostazioni archivio',
- newWindow: 'Nuova finestra',
- embeddedOverlay: 'Overlay incorporato',
- 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',
- },
- // Notifications (for push notifications)
- notification: {
- printStarted: {
- title: 'Stampa avviata',
- body: '{{printer}}: {{filename}} ha iniziato a stampare',
- },
- printCompleted: {
- title: 'Stampa completata',
- body: '{{printer}}: {{filename}} completata con successo',
- },
- printFailed: {
- title: 'Stampa fallita',
- body: '{{printer}}: {{filename}} fallita',
- },
- printStopped: {
- title: 'Stampa interrotta',
- body: '{{printer}}: {{filename}} interrotta',
- },
- printProgress: {
- title: 'Avanzamento stampa',
- body: '{{printer}}: {{filename}} al {{percent}}% completamento',
- },
- printerOffline: {
- title: 'Stampante offline',
- body: '{{printer}} e offline',
- },
- printerError: {
- title: 'Errore stampante',
- body: '{{printer}}: {{error}}',
- },
- filamentLow: {
- title: 'Filamento in esaurimento',
- body: '{{printer}}: Filamento in esaurimento',
- },
- maintenanceDue: {
- title: 'Manutenzione dovuta',
- body: '{{printer}}: {{items}} richiedono attenzione',
- },
- },
- // Errors
- errors: {
- generic: 'Qualcosa e andato storto',
- networkError: 'Errore di rete. Controlla la connessione.',
- notFound: 'Non trovato',
- unauthorized: 'Non autorizzato',
- serverError: 'Errore server',
- validationError: 'Controlla i dati inseriti',
- printerConnectionFailed: 'Connessione alla stampante fallita',
- saveFailed: 'Salvataggio modifiche fallito',
- deleteFailed: 'Eliminazione fallita',
- loadFailed: 'Caricamento dati fallito',
- },
- // HMS Errors modal
- hmsErrors: {
- title: 'Errori - {{name}}',
- noErrors: 'Nessun errore',
- viewOnWiki: 'Vedi su Bambu Lab Wiki',
- clearInstructions: 'Cancella gli errori sulla stampante per rimuoverli qui.',
- },
- // MQTT Debug modal
- mqttDebug: {
- title: 'Log debug MQTT',
- searchPlaceholder: 'Cerca topic o payload...',
- noMessages: 'Nessun messaggio registrato',
- startLoggingHint: 'Clicca "Avvia logging" per iniziare a catturare messaggi MQTT',
- noMessagesMatch: 'Nessun messaggio corrisponde al filtro',
- adjustFilterHint: 'Prova a modificare la ricerca o i filtri',
- incoming: 'In ingresso',
- outgoing: 'In uscita',
- loggingStopped: 'Logging fermato',
- loggingActive: 'Logging attivo - i messaggi si aggiornano automaticamente',
- startLogging: 'Avvia logging',
- stopLogging: 'Ferma logging',
- clearLog: 'Pulisci log',
- topic: 'Topic',
- timestamp: 'Timestamp',
- direction: 'Direzione',
- all: 'Tutti',
- },
- // Printer File Manager modal (printer internal storage)
- printerFiles: {
- title: 'Gestore file',
- storageUsed: 'Usato:',
- storageFree: 'Libero:',
- filterPlaceholder: 'Filtra file...',
- deleteButton: 'Elimina',
- deleteFiles: 'Elimina {{count}} file',
- deleteFileConfirm: 'Eliminare "{{name}}"? Questa azione non può essere annullata.',
- deleteFilesConfirm: 'Eliminare {{count}} file selezionati? Questa azione non può essere annullata.',
- noFiles: 'Nessun file sulla stampante',
- loadingFiles: 'Caricamento file...',
- failedToLoad: 'Caricamento file fallito',
- toast: {
- filesDeleted: 'Eliminati {{count}} file',
- deleteFailed: 'Eliminazione fallita: {{error}}',
- },
- },
- // Confirmations
- confirm: {
- delete: 'Sei sicuro di voler eliminare questo?',
- unsavedChanges: 'Hai modifiche non salvate. Sei sicuro di voler uscire?',
- clearQueue: 'Sei sicuro di voler svuotare la coda?',
- },
- // Login page
- login: {
- title: 'Login Bambuddy',
- subtitle: 'Accedi al tuo account',
- username: 'Nome utente',
- usernamePlaceholder: 'Inserisci il nome utente',
- password: 'Password',
- passwordPlaceholder: 'Inserisci la password',
- signIn: 'Accedi',
- signingIn: 'Accesso in corso...',
- forgotPassword: 'Hai dimenticato la password?',
- loginSuccess: 'Accesso riuscito',
- loginFailed: 'Accesso fallito',
- enterCredentials: 'Inserisci nome utente e password',
- forgotPasswordTitle: 'Password dimenticata',
- forgotPasswordMessage: 'Se hai dimenticato la password, contatta il tuo amministratore di sistema per reimpostarla.',
- howToReset: 'Come reimpostare la password:',
- resetStep1: 'Contatta il tuo amministratore Bambuddy',
- resetStep2: 'Chiedi di reimpostare la password in Gestione utenti',
- resetStep3: 'Possono impostare una nuova password temporanea',
- resetStep4: 'Accedi con la nuova password e cambiala in Impostazioni',
- gotIt: 'Capito',
- },
- // Setup page
- setup: {
- title: 'Configurazione Bambuddy',
- subtitle: 'Configura autenticazione per la tua istanza Bambuddy',
- enableAuth: 'Abilita autenticazione',
- adminAccount: 'Account admin',
- adminAccountDesc: 'Se esistono già admin, l\'autenticazione verrà abilitata usando gli account esistenti. Lascia i campi sotto vuoti per usare gli admin esistenti, oppure inserisci nuove credenziali per creare un nuovo utente admin.',
- adminUsername: 'Nome utente admin',
- adminPassword: 'Password admin',
- optionalIfAdminExists: '(opzionale se esistono admin)',
- adminUsernamePlaceholder: 'Inserisci nome utente admin (opzionale)',
- adminPasswordPlaceholder: 'Inserisci password admin (opzionale)',
- confirmPassword: 'Conferma password',
- confirmPasswordPlaceholder: 'Conferma password admin',
- settingUp: 'Configurazione...',
- completeSetup: 'Completa configurazione',
- toast: {
- authEnabledAdminCreated: 'Autenticazione abilitata e utente admin creato',
- authEnabledExistingAdmins: 'Autenticazione abilitata usando admin esistenti',
- setupCompleted: 'Configurazione completata',
- enterBothCredentials: 'Inserisci nome utente e password admin, oppure lascia entrambi vuoti per usare admin esistenti',
- passwordsDoNotMatch: 'Le password non coincidono',
- passwordTooShort: 'La password deve essere di almeno 6 caratteri',
- },
- },
- // Password change
- changePassword: {
- title: 'Cambia password',
- currentPassword: 'Password attuale',
- currentPasswordPlaceholder: 'Inserisci password attuale',
- newPassword: 'Nuova password',
- newPasswordPlaceholder: 'Inserisci nuova password (min 6 caratteri)',
- confirmPassword: 'Conferma nuova password',
- confirmPasswordPlaceholder: 'Conferma nuova password',
- passwordsDoNotMatch: 'Le password non coincidono',
- passwordTooShort: 'La password deve essere di almeno 6 caratteri',
- changing: 'Modifica in corso...',
- success: 'Password cambiata con successo',
- failed: 'Modifica password fallita',
- },
- // Plate detection alert
- plateAlert: {
- title: 'Stampa in pausa!',
- message: 'Oggetti rilevati sul piatto. La stampa è stata messa automaticamente in pausa. Svuota il piatto e riprendi la stampa.',
- understand: 'Ho capito',
- },
- // Camera page
- camera: {
- title: 'Vista camera',
- invalidPrinterId: 'ID stampante non valido',
- live: 'Live',
- snapshot: 'Snapshot',
- restartStream: 'Riavvia stream',
- refreshSnapshot: 'Aggiorna snapshot',
- fullscreen: 'Schermo intero',
- exitFullscreen: 'Esci da schermo intero',
- connectingToCamera: 'Connessione alla camera...',
- capturingSnapshot: 'Acquisizione snapshot...',
- connectionLost: 'Connessione persa',
- connectionFailed: 'Connessione camera fallita',
- reconnecting: 'Riconnessione tra {{countdown}}s... (tentativo {{attempt}}/{{max}})',
- reconnectNow: 'Riconnetti ora',
- cameraUnavailable: 'Camera non disponibile',
- cameraUnavailableDesc: 'Assicurati che la stampante sia accesa e connessa.',
- noCamera: 'Nessuna camera disponibile',
- retry: 'Riprova',
- cameraStream: 'Stream camera',
- zoomOut: 'Zoom indietro',
- zoomIn: 'Zoom avanti',
- resetZoom: 'Reset zoom',
- recording: 'Registrazione',
- startRecording: 'Avvia registrazione',
- stopRecording: 'Ferma registrazione',
- chamberLight: 'Accendi/Spegni luce camera',
- },
- // Groups management
- groups: {
- title: 'Gestione gruppi',
- subtitle: 'Gestisci gruppi permessi per controllo accesso',
- backToSettings: 'Torna a Impostazioni',
- createGroup: 'Crea gruppo',
- noPermission: 'Non hai il permesso di accedere a questa pagina.',
- system: 'Sistema',
- noDescription: 'Nessuna descrizione',
- usersCount: '{{count}} utenti',
- permissionsCount: '{{count}} permessi',
- edit: 'Modifica',
- delete: 'Elimina',
- toast: {
- created: 'Gruppo creato con successo',
- updated: 'Gruppo aggiornato con successo',
- deleted: 'Gruppo eliminato con successo',
- enterGroupName: 'Inserisci un nome gruppo',
- },
- modal: {
- editGroup: 'Modifica gruppo',
- createGroup: 'Crea gruppo',
- cancel: 'Annulla',
- saving: 'Salvataggio...',
- creating: 'Creazione...',
- saveChanges: 'Salva modifiche',
- },
- form: {
- groupName: 'Nome gruppo',
- groupNamePlaceholder: 'Inserisci nome gruppo',
- systemGroupWarning: 'I nomi dei gruppi di sistema non possono essere modificati',
- description: 'Descrizione',
- descriptionPlaceholder: 'Inserisci descrizione (opzionale)',
- permissions: 'Permessi ({{count}} selezionati)',
- },
- deleteModal: {
- title: 'Elimina gruppo',
- message: 'Sei sicuro di voler eliminare questo gruppo? Gli utenti in questo gruppo perderanno questi permessi.',
- confirm: 'Elimina gruppo',
- },
- },
- // Users management
- users: {
- title: 'Gestione utenti',
- subtitle: 'Gestisci utenti e accesso alla tua istanza Bambuddy',
- backToSettings: 'Torna a Impostazioni',
- createUser: 'Crea utente',
- noPermission: 'Non hai il permesso di accedere a questa pagina.',
- admin: 'Admin',
- noGroups: 'Nessun gruppo',
- active: 'Attivo',
- inactive: 'Inattivo',
- edit: 'Modifica',
- delete: 'Elimina',
- system: 'Sistema',
- noGroupsAvailable: 'Nessun gruppo disponibile',
- table: {
- username: 'Nome utente',
- groups: 'Gruppi',
- status: 'Stato',
- actions: 'Azioni',
- },
- toast: {
- created: 'Utente creato con successo',
- updated: 'Utente aggiornato con successo',
- deleted: 'Utente eliminato con successo',
- fillRequired: 'Compila tutti i campi obbligatori',
- passwordsDoNotMatch: 'Le password non coincidono',
- passwordTooShort: 'La password deve essere di almeno 6 caratteri',
- },
- modal: {
- createUser: 'Crea utente',
- editUser: 'Modifica utente',
- cancel: 'Annulla',
- creating: 'Creazione...',
- saving: 'Salvataggio...',
- saveChanges: 'Salva modifiche',
- },
- form: {
- username: 'Nome utente',
- usernamePlaceholder: 'Inserisci nome utente',
- password: 'Password',
- passwordPlaceholder: 'Inserisci password',
- confirmPassword: 'Conferma password',
- confirmPasswordPlaceholder: 'Conferma password',
- newPasswordPlaceholder: 'Inserisci nuova password',
- confirmNewPasswordPlaceholder: 'Conferma nuova password',
- leaveBlankToKeep: 'lascia vuoto per mantenere attuale',
- groups: 'Gruppi',
- },
- deleteModal: {
- title: 'Elimina utente',
- message: 'Sei sicuro di voler eliminare questo utente? Questa azione non può essere annullata.',
- confirm: 'Elimina utente',
- },
- },
- // Stream overlay
- streamOverlay: {
- title: 'Overlay stream',
- invalidPrinterId: 'ID stampante non valido',
- cameraStream: 'Stream camera',
- progress: 'Avanzamento',
- eta: 'ETA',
- tomorrow: 'Domani',
- printerIdle: 'Stampante inattiva',
- printerOffline: 'Stampante offline',
- status: {
- printing: 'In stampa',
- paused: 'In pausa',
- finished: 'Completata',
- failed: 'Fallita',
- idle: 'Inattiva',
- unknown: 'Sconosciuto',
- },
- },
- // Profiles
- profiles: {
- title: 'Profili',
- subtitle: 'Gestisci preset slicer e calibrazioni pressure advance',
- tabs: {
- cloud: 'Profili cloud',
- local: 'Profili locali',
- kprofiles: 'K-Profiles',
- },
- localProfiles: {
- title: 'Profili locali',
- subtitle: 'Importa e gestisci preset slicer da OrcaSlicer',
- import: 'Importa profili',
- importDesc: 'Trascina file .bbscfg, .bbsflmt, .orca_filament, .zip o .json qui',
- importing: 'Importazione...',
- search: 'Cerca preset locali...',
- noPresets: 'Nessun preset locale ancora',
- badge: 'Locale',
- edit: 'Modifica',
- delete: 'Elimina',
- cancel: 'Annulla',
- deleteConfirmTitle: 'Elimina preset',
- deleteConfirm: 'Sei sicuro di voler eliminare questo preset? Questa azione non può essere annullata.',
- source: 'Fonte',
- inheritsFrom: 'Eredita da',
- filamentType: 'Tipo',
- vendor: 'Produttore',
- compatiblePrinters: 'Stampanti',
- nozzleTemp: 'Temp. ugello',
- cost: 'Costo',
- density: 'Densità',
- pressureAdvance: 'Pressure Advance',
- filament: 'Filamento',
- process: 'Processo',
- printer: 'Stampante',
- toast: {
- importSuccess: '{{count}} preset importati',
- importSkipped: '{{count}} preset saltati (duplicati)',
- importError: '{{count}} errori durante l\'importazione',
- deleted: 'Preset eliminato',
- updated: 'Preset aggiornato',
- },
- },
- connectedAs: 'Connesso come',
- logout: 'Esci',
- noLogoutPermission: 'Non hai il permesso di disconnetterti',
- failedToLoad: 'Caricamento profili fallito',
- retry: 'Riprova',
- time: {
- justNow: 'Proprio ora',
- minsAgo: '{{count}}m fa',
- hoursAgo: '{{count}}h fa',
- daysAgo: '{{count}}g fa',
- },
- toast: {
- loggedOut: 'Disconnesso',
- },
- login: {
- title: 'Connetti a Bambu Cloud',
- subtitle: 'Sincronizza i preset del slicer tra dispositivi',
- email: 'Email',
- password: 'Password',
- region: 'Regione',
- regionGlobal: 'Globale',
- regionChina: 'Cina',
- verificationCode: 'Codice di verifica',
- totpCode: 'Codice autenticatore',
- checkEmail: 'Controlla la tua email ({{email}}) per un codice a 6 cifre',
- enterTotpHint: 'Inserisci il codice a 6 cifre dalla tua app autenticatore',
- accessToken: 'Access Token',
- accessTokenHint: 'Incolla il tuo access token Bambu Lab (da Bambu Studio)',
- back: 'Indietro',
- loginButton: 'Accedi',
- verifyButton: 'Verifica',
- setTokenButton: 'Imposta token',
- useToken: 'Usa access token invece',
- useEmail: 'Accedi con email invece',
- toast: {
- loggedIn: 'Accesso riuscito',
- codeSent: 'Codice di verifica inviato via email',
- enterTotp: 'Inserisci il codice dalla tua app autenticatore',
- tokenSet: 'Token impostato con successo',
- },
- },
- presets: {
- myPreset: 'Il mio preset (modificabile)',
- duplicate: 'Duplica',
- editable: 'Modificabile',
- failedToLoadDetails: 'Caricamento dettagli preset fallito',
- deleteConfirm: 'Eliminare questo preset?',
- deleteWarning: 'Questo eliminerà definitivamente "{{name}}" da Bambu Cloud. Questa azione non può essere annullata.',
- noDuplicatePermission: 'Non hai il permesso di duplicare preset',
- noEditPermission: 'Non hai il permesso di modificare preset',
- noDeletePermission: 'Non hai il permesso di eliminare preset',
- types: {
- filament: 'Preset filamento',
- printer: 'Preset stampante',
- process: 'Preset processo',
- },
- toast: {
- deleted: 'Preset eliminato',
- created: 'Preset creato',
- updated: 'Preset aggiornato',
- duplicated: 'Preset duplicato',
- fieldAdded: 'Campo "{{key}}" aggiunto',
- exported: 'Preset esportato',
- },
- baseLabel: 'Base: {{name}}',
- currentLabel: 'Corrente: {{name}}',
- newPreset: 'Nuovo preset',
- editPreset: 'Modifica preset',
- duplicatePreset: 'Duplica preset',
- createNewPreset: 'Crea nuovo preset',
- customizeSettings: 'Personalizza le impostazioni per il nuovo preset',
- compareWithBase: 'Confronta con base',
- compare: 'Confronta',
- // CreatePresetModal - Basic Info
- basePreset: 'Preset base',
- selectBasePreset: 'Seleziona preset base...',
- presetName: 'Nome preset',
- myCustomPreset: 'Il mio preset personalizzato',
- inheritsFrom: 'Deriva da',
- dropJsonToImport: 'Rilascia JSON per importare',
- // CreatePresetModal - Tabs
- tabs: {
- common: 'Comune',
- allFields: 'Tutti i campi',
- },
- // CreatePresetModal - All Fields Tab
- availableFields: 'Campi disponibili',
- searchFieldsPlaceholder: 'Cerca campi...',
- noMatchingFields: 'Nessun campo corrispondente',
- allFieldsAdded: 'Tutti i campi aggiunti',
- addCustomField: 'Aggiungi campo personalizzato',
- yourOverrides: 'Le tue override',
- noOverridesYet: 'Nessun override ancora',
- clickFieldsToAdd: 'Clicca i campi a sinistra per aggiungerli',
- saveAsTemplate: 'Salva come template',
- jsonTip: 'Suggerimento: trascina e rilascia un file .json ovunque in questa modale per importare impostazioni',
- },
- cloudView: {
- searchPlaceholder: 'Cerca preset...',
- templates: 'Template',
- refresh: 'Aggiorna',
- newPreset: 'Nuovo preset',
- clearFilters: 'Pulisci filtri',
- // Compare mode
- compareMode: 'Modalita confronto',
- selectAnotherPreset: 'Seleziona un altro preset {{type}}',
- clickTwoPresets: 'Clicca due preset dello stesso tipo per confrontare',
- selectFirst: '1. Seleziona il primo',
- selectSecond: '2. Seleziona il secondo',
- compareNow: 'Confronta ora',
- // Status row
- lastSynced: 'Ultima sincronizzazione:',
- showingCount: 'Mostrati {{showing}} di {{total}} preset',
- noPresetsFound: 'Nessun preset trovato',
- // Column headers
- columns: {
- filament: 'Filamento',
- process: 'Processo',
- printer: 'Stampante',
- },
- noFilamentPresets: 'Nessun preset filamento',
- noProcessPresets: 'Nessun preset processo',
- noPrinterPresets: 'Nessun preset stampante',
- // Filters
- filters: {
- type: 'Tipo',
- owner: 'Proprietario',
- printer: 'Stampante',
- nozzle: 'Ugello',
- filament: 'Filamento',
- layer: 'Layer',
- all: 'Tutti',
- myPresets: 'I miei preset',
- builtIn: 'Integrati',
- process: 'Processo',
- },
- // Permissions
- noTemplatesPermission: 'Non hai il permesso di gestire i template',
- noRefreshPermission: 'Non hai il permesso di aggiornare i profili',
- noCreatePermission: 'Non hai il permesso di creare preset',
- },
- templates: {
- title: 'Template rapidi',
- noTemplates: 'Nessun template ancora',
- createFirst: 'Crea template dall\'editor preset',
- typeFilter: 'Tipo:',
- deleteTitle: 'Elimina template',
- deleteWarning: 'Questa azione non può essere annullata',
- deleteConfirm: 'Sei sicuro di voler eliminare "{{name}}"?',
- namePlaceholder: 'Nome template',
- descriptionPlaceholder: 'Descrizione',
- settingsJson: 'Impostazioni (JSON)',
- fieldsCount: '{{count}} campi',
- shownInModals: 'Mostrati nelle modali',
- hiddenInModals: 'Nascosti nelle modali',
- apply: 'Applica',
- toast: {
- deleted: 'Template eliminato',
- updated: 'Template aggiornato',
- created: 'Template creato',
- applied: 'Template applicato',
- },
- },
- },
- // Support/Debug
- support: {
- debugLoggingActive: 'Log debug attivo',
- manageLogs: 'Gestisci',
- collectItem7: 'Connettività stampante e versioni firmware',
- collectItem8: 'Stato integrazioni (Spoolman, MQTT, HA)',
- collectItem9: 'Interfacce di rete (solo subnet)',
- collectItem10: 'Versioni dei pacchetti Python',
- collectItem11: 'Controlli di integrità del database',
- collectItem12: 'Dettagli dell\'ambiente Docker',
- },
- // File manager
- fileManager: {
- title: 'Gestore file',
- subtitle: 'Organizza e gestisci i tuoi file di stampa',
- uploadFiles: 'Carica file',
- newFolder: 'Nuova cartella',
- folderName: 'Nome cartella',
- folderNamePlaceholder: 'es., Parti funzionali',
- renameFile: 'Rinomina file',
- renameFolder: 'Rinomina cartella',
- moveFiles: 'Sposta {{count}} file',
- rootNoFolder: 'Root (nessuna cartella)',
- current: 'corrente',
- linkFolder: 'Collega cartella',
- linkFolderDescription: 'Collega "{{name}}" a un progetto o archivio per accesso rapido.',
- project: 'Progetto',
- archive: 'Archivio',
- noProjectsFound: 'Nessun progetto trovato',
- noArchivesFound: 'Nessun archivio trovato',
- unlink: 'Scollega',
- link: 'Collega',
- dragDropFiles: 'Trascina e rilascia file qui',
- dropFilesHere: 'Rilascia file qui',
- orClickToBrowse: 'oppure clicca per sfogliare',
- allFileTypesSupported: 'Tutti i tipi di file supportati. I file ZIP saranno estratti.',
- zipFilesDetected: 'File ZIP rilevati',
- zipExtractOptions: 'I file ZIP saranno estratti. Scegli come gestire la struttura cartelle:',
- preserveZipStructure: 'Mantieni struttura cartelle dal ZIP',
- createFolderFromZip: 'Crea cartella dal nome ZIP',
- stlThumbnailGeneration: 'Generazione miniature STL',
- zipMayContainStl: 'I file ZIP possono contenere STL. Le miniature possono essere generate durante l\'estrazione.',
- thumbnailsCanBeGenerated: 'Le miniature possono essere generate per file STL. I modelli grandi possono richiedere più tempo.',
- generateThumbnailsForStl: 'Genera miniature per file STL',
- threemfDetected: 'File 3MF rilevati',
- threemfExtractionInfo: 'Modello stampante, materiale, colore e impostazioni stampa saranno estratti automaticamente dai file 3MF.',
- willBeExtracted: 'Sara estratto',
- filesExtracted: '{{count}} file estratti',
- uploadComplete: 'Caricamento completato: {{succeeded}} riusciti',
- uploadFailed: '{{count}} falliti',
- uploading: 'Caricamento...',
- changeLink: 'Cambia collegamento...',
- linkTo: 'Collega a...',
- linkToProjectOrArchive: 'Collega a progetto o archivio',
- addToQueue: 'Aggiungi alla coda',
- schedulePrint: 'Pianifica',
- generateThumbnail: 'Genera miniatura',
- generateThumbnails: 'Genera miniature',
- generateThumbnailsForMissing: 'Genera miniature per STL senza miniatura',
- gridView: 'Vista griglia',
- listView: 'Vista elenco',
- lowDiskSpaceWarning: 'Avviso spazio disco basso',
- lowDiskSpaceDetails: 'Solo {{free}} liberi su {{total}} totali. La soglia e {{threshold}} GB nelle impostazioni.',
- files: 'File',
- folders: 'Cartelle',
- size: 'Dimensione',
- free: 'Libero',
- allFiles: 'Tutti i file',
- wrap: 'A capo',
- enableTextWrapping: 'Abilita a capo testo',
- disableTextWrapping: 'Disabilita a capo testo',
- dragToResizeTooltip: 'Trascina per ridimensionare, doppio clic per reset',
- searchFiles: 'Cerca file...',
- allTypes: 'Tutti i tipi',
- prints: 'Stampe',
- ascending: 'Crescente',
- descending: 'Decrescente',
- resultsCount: '{{showing}} di {{total}} file',
- selectAll: 'Seleziona tutto',
- deselectAll: 'Deseleziona tutto',
- selected: '{{count}} selezionati',
- adding: 'Aggiunta...',
- loadingFiles: 'Caricamento file...',
- folderIsEmpty: 'La cartella e vuota',
- noFilesYet: 'Nessun file ancora',
- folderEmptyDescription: 'Carica file o sposta file in questa cartella per iniziare.',
- noFilesDescription: 'Carica file per iniziare a organizzare i file di stampa.',
- noMatchingFiles: 'Nessun file corrispondente',
- noMatchingFilesDescription: 'Nessun file corrisponde ai criteri di ricerca o filtro.',
- clearFilters: 'Pulisci filtri',
- printedCount: 'Stampato {{count}}x',
- uploadedBy: 'Caricato da',
- deleteFolder: 'Elimina cartella',
- deleteFile: 'Elimina file',
- deleteFilesCount: 'Elimina {{count}} file',
- deleteFolderConfirm: 'Sei sicuro di voler eliminare questa cartella? Tutti i file dentro saranno eliminati.',
- deleteFileConfirm: 'Sei sicuro di voler eliminare questo file?',
- deleteFilesConfirm: 'Sei sicuro di voler eliminare {{count}} file selezionati? Questa azione non può essere annullata.',
- deleting: 'Eliminazione...',
- noPermissionRenameFolder: 'Non hai il permesso di rinominare cartelle',
- noPermissionLinkFolder: 'Non hai il permesso di collegare cartelle',
- noPermissionDeleteFolder: 'Non hai il permesso di eliminare cartelle',
- noPermissionPrint: 'Non hai il permesso di stampare',
- noPermissionAddToQueue: 'Non hai il permesso di aggiungere alla coda',
- noPermissionDownload: 'Non hai il permesso di scaricare file',
- noPermissionRenameFile: 'Non hai il permesso di rinominare questo file',
- noPermissionGenerateThumbnail: 'Non hai il permesso di generare miniature',
- noPermissionDeleteFile: 'Non hai il permesso di eliminare questo file',
- noPermissionCreateFolder: 'Non hai il permesso di creare cartelle',
- noPermissionUpload: 'Non hai il permesso di caricare file',
- noPermissionMoveFiles: 'Non hai il permesso di spostare file',
- noPermissionDeleteFiles: 'Non hai il permesso di eliminare file',
- toast: {
- folderCreated: 'Cartella creata',
- folderDeleted: 'Cartella eliminata',
- fileDeleted: 'File eliminato',
- filesDeleted: 'Eliminati {{count}} file',
- filesMoved: 'File spostati',
- folderLinked: 'Cartella collegata',
- folderUnlinked: 'Cartella scollegata',
- addedToQueue: 'Aggiunti {{count}} file alla coda',
- addedToQueuePartial: 'Aggiunti {{added}} file, {{failed}} falliti',
- failedToAddToQueue: 'Aggiunta file fallita: {{error}}',
- fileRenamed: 'File rinominato',
- folderRenamed: 'Cartella rinominata',
- thumbnailsGenerated: 'Generate {{count}} miniature',
- thumbnailsGeneratedPartial: 'Generate {{succeeded}} miniature, {{failed}} fallite',
- noStlMissingThumbnails: 'Nessun file STL senza miniature',
- failedToGenerateThumbnails: 'Generazione miniature fallita: {{error}}',
- thumbnailGenerated: 'Miniatura generata',
- failedToGenerateThumbnail: 'Generazione miniatura fallita: {{error}}',
- },
- },
- // Projects
- projects: {
- title: 'Progetti',
- subtitle: 'Organizza e traccia i tuoi progetti di stampa 3D',
- newProject: 'Nuovo progetto',
- editProject: 'Modifica progetto',
- deleteProject: 'Elimina progetto',
- projectName: 'Nome progetto',
- description: 'Descrizione',
- noProjects: 'Nessun progetto ancora',
- noProjectsFiltered: 'Nessun progetto {{status}}',
- noProjectsFilteredHelp: 'Non hai progetti {{status}}. I progetti appariranno qui quando il loro stato cambia.',
- createFirst: 'Crea il tuo primo progetto per organizzare stampe correlate, tracciare progressi e gestire i tuoi build.',
- createFirstButton: 'Crea il tuo primo progetto',
- create: 'Crea',
- files: 'File',
- prints: 'Stampe',
- plates: 'piatti',
- parts: 'parti',
- lastModified: 'Ultima modifica',
- deleteConfirm: 'Sei sicuro di voler eliminare questo progetto? Archivi e elementi in coda saranno scollegati ma non eliminati.',
- addFiles: 'Aggiungi file',
- removeFile: 'Rimuovi file',
- viewDetails: 'Vedi dettagli',
- // Modal fields
- namePlaceholder: 'es., Build Voron 2.4',
- descriptionPlaceholder: 'Descrizione opzionale...',
- color: 'Colore',
- targetPlates: 'Piatti target',
- targetPlatesPlaceholder: 'es., 25',
- targetPlatesHelp: 'Numero di job di stampa',
- targetParts: 'Parti target',
- targetPartsPlaceholder: 'es., 150',
- targetPartsHelp: 'Totale oggetti necessari',
- tagsLabel: 'Tag (separati da virgola)',
- tagsPlaceholder: 'es., voron, funzionale, regalo',
- dueDate: 'Data scadenza',
- priority: 'Priorita',
- priorityLow: 'Bassa',
- priorityNormal: 'Normale',
- priorityHigh: 'Alta',
- priorityUrgent: 'Urgente',
- // Status
- statusActive: 'Attivo',
- statusCompleted: 'Completato',
- statusArchived: 'Archiviato',
- done: 'Fatto',
- completed: 'completato',
- failed: 'fallito',
- inQueue: 'in coda',
- noPrintsYet: 'Nessuna stampa ancora',
- // Footer stats
- printJobs: 'Job di stampa (piatti)',
- partsPrinted: 'Parti stampate',
- failedParts: 'Parti fallite',
- // Actions
- import: 'Importa',
- export: 'Esporta',
- importProject: 'Importa progetto',
- exportAll: 'Esporta tutti i progetti',
- loading: 'Caricamento progetti...',
- // Permissions
- noEditPermission: 'Non hai il permesso di modificare progetti',
- noDeletePermission: 'Non hai il permesso di eliminare progetti',
- noCreatePermission: 'Non hai il permesso di creare progetti',
- noImportPermission: 'Non hai il permesso di importare progetti',
- noExportPermission: 'Non hai il permesso di esportare progetti',
- // Toast
- toast: {
- created: 'Progetto creato',
- updated: 'Progetto aggiornato',
- deleted: 'Progetto eliminato',
- imported: 'Progetto importato',
- multipleImported: '{{count}} progetti importati',
- importFailed: 'Import fallito',
- exported: 'Progetti esportati (solo metadati)',
- },
- },
- // Project detail page
- projectDetail: {
- notFound: 'Progetto non trovato',
- backToProjects: 'Torna a Progetti',
- export: 'Esporta',
- exportProject: 'Esporta progetto',
- noExportPermission: 'Non hai il permesso di esportare progetti',
- noEditPermission: 'Non hai il permesso di modificare progetti',
- partOf: 'Parte di:',
- priorityLabel: 'Priorita:',
- noPrints: 'Nessuna stampa in questo progetto ancora',
- status: {
- active: 'Attivo',
- completed: 'Completato',
- archived: 'Archiviato',
- },
- priority: {
- low: 'Bassa',
- normal: 'Normale',
- high: 'Alta',
- urgent: 'Urgente',
- },
- dueDate: {
- overdue: 'Scaduto',
- today: 'Scade oggi',
- daysLeft: '{{count}} giorni rimanenti',
- },
- progress: {
- platesProgress: 'Avanzamento piatti',
- partsProgress: 'Avanzamento parti',
- printJobs: 'job di stampa',
- parts: 'parti',
- percentComplete: '{{percent}}% completato',
- remaining: '{{count}} rimanenti',
- },
- stats: {
- printJobs: 'Job di stampa',
- total: 'totale',
- failed: '{{count}} falliti',
- partsPrinted: '{{count}} parti stampate',
- printTime: 'Tempo di stampa',
- filamentUsed: 'Filamento usato',
- },
- cost: {
- title: 'Tracciamento costi',
- filamentCost: 'Costo filamento',
- energy: 'Energia',
- budget: 'Budget',
- remaining: 'Rimanente',
- },
- subProjects: {
- title: 'Sotto-progetti ({{count}})',
- },
- notes: {
- title: 'Note',
- noEditPermission: 'Non hai il permesso di modificare le note',
- placeholder: 'Aggiungi note su questo progetto...',
- empty: 'Nessuna nota ancora. Clicca Modifica per aggiungere note.',
- },
- files: {
- title: 'File',
- linkFolders: 'Collega cartelle dal Gestore file',
- forQuickAccess: 'a questo progetto per accesso rapido.',
- fileCount: '{{count}} file',
- empty: 'Nessuna cartella collegata. Vai a Gestore file e collega una cartella a questo progetto.',
- },
- bom: {
- title: 'Distinta materiali',
- acquired: '{{completed}}/{{total}} acquisiti',
- showAll: 'Mostra tutti',
- hideDone: 'Nascondi completati',
- addPart: 'Aggiungi parte',
- noAddPermission: 'Non hai il permesso di aggiungere parti',
- partNamePlaceholder: 'Nome parte (es., viti M3x8)',
- partName: 'Nome parte',
- qty: 'Qta',
- price: 'Prezzo ({{currency}})',
- sourcingUrlPlaceholder: 'URL fornitura (opzionale)',
- remarksPlaceholder: 'Note (opzionale)',
- deletePart: 'Elimina parte',
- deleteConfirm: 'Sei sicuro di voler eliminare "{{name}}"?',
- noUpdatePermission: 'Non hai il permesso di aggiornare parti',
- noEditPermission: 'Non hai il permesso di modificare parti',
- noDeletePermission: 'Non hai il permesso di eliminare parti',
- totalCost: 'Costo totale:',
- empty: 'Nessuna parte nella distinta materiali. Aggiungi hardware, elettronica o altri componenti da reperire.',
- },
- timeline: {
- title: 'Timeline attivita',
- empty: 'Nessuna attivita ancora.',
- },
- template: {
- saveAsTemplate: 'Salva come template',
- noCreatePermission: 'Non hai il permesso di creare template',
- },
- queue: {
- title: 'Coda',
- viewAll: 'Vedi tutto',
- printing: '{{count}} in stampa',
- queued: '{{count}} in coda',
- },
- prints: {
- title: 'Stampe ({{count}})',
- },
- toast: {
- projectUpdated: 'Progetto aggiornato',
- partAdded: 'Parte aggiunta',
- partRemoved: 'Parte rimossa',
- exportFailed: 'Export fallito',
- projectExported: 'Progetto esportato',
- templateCreated: 'Template creato',
- },
- },
- // System info
- system: {
- title: 'Informazioni sistema',
- version: 'Versione',
- uptime: 'Tempo attivo',
- cpuUsage: 'Uso CPU',
- memoryUsage: 'Uso memoria',
- diskUsage: 'Uso disco',
- networkInfo: 'Info rete',
- logs: 'Log',
- debugMode: 'Modalita debug',
- enableDebug: 'Abilita log debug',
- disableDebug: 'Disabilita log debug',
- downloadLogs: 'Scarica log',
- clearLogs: 'Cancella log',
- dockerInfo: 'Info Docker',
- containerName: 'Nome container',
- imageName: 'Nome immagine',
- platform: 'Piattaforma',
- architecture: 'Architettura',
- },
- // Library (K Profiles)
- library: {
- title: 'Libreria filamenti',
- addFilament: 'Aggiungi filamento',
- editFilament: 'Modifica filamento',
- deleteFilament: 'Elimina filamento',
- vendor: 'Produttore',
- material: 'Materiale',
- color: 'Colore',
- kFactor: 'K Factor',
- temperature: 'Temperatura',
- noFilaments: 'Nessun filamento in libreria',
- deleteConfirm: 'Sei sicuro di voler eliminare questo filamento?',
- importFromPrinter: 'Importa da stampante',
- exportToFile: 'Esporta su file',
- },
- // Spoolman
- spoolman: {
- title: 'Integrazione Spoolman',
- enabled: 'Spoolman abilitato',
- url: 'URL Spoolman',
- connected: 'Connesso',
- disconnected: 'Non connesso',
- testConnection: 'Testa connessione',
- sync: 'Sincronizza',
- syncing: 'Sincronizzazione...',
- lastSync: 'Ultima sincronizzazione',
- linkToSpoolman: 'Collega a Spoolman',
- openInSpoolman: 'Apri in Spoolman',
- unlinkSpool: 'Scollega bobina',
- selectSpool: 'Seleziona bobina',
- noUnlinkedSpools: 'Nessuna bobina scollegata disponibile',
- linkSuccess: 'Bobina collegata a Spoolman con successo',
- linkFailed: 'Collegamento bobina fallito',
- spoolId: 'ID bobina',
- fillSourceLabel: '(Spoolman)',
- weight: 'Peso',
- remaining: 'Rimanente',
- disableWeightSync: 'Disabilita sync peso stimato AMS',
- disableWeightSyncDesc: 'Non aggiornare la capacità rimanente dalle stime AMS. Usalo se preferisci il tracciamento di Spoolman rispetto alle stime AMS. Le nuove bobine useranno comunque la stima AMS come peso iniziale.',
- reportPartialUsage: 'Segnala uso parziale per stampe fallite',
- reportPartialUsageDesc: 'Quando una stampa fallisce o viene annullata, segnala il filamento stimato usato fino a quel punto in base all\'avanzamento layer.',
- },
- // 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',
- },
- },
- // K-Profiles
- kProfiles: {
- title: 'K-Profiles',
- noPrintersConfigured: 'Nessuna stampante configurata',
- addPrinterInSettings: 'Aggiungi una stampante in Impostazioni per gestire i K-profiles',
- noActivePrinters: 'Nessuna stampante attiva',
- enablePrinterConnection: 'Abilita una connessione stampante per vedere i K-profiles',
- loadingProfiles: 'Caricamento K-Profiles...',
- printerOffline: 'Stampante offline',
- printerOfflineDesc: 'La stampante selezionata non e connessa. Accendila per vedere i K-profiles.',
- noMatchingProfiles: 'Nessun profilo corrispondente',
- noMatchingProfilesDesc: 'Nessun profilo corrisponde ai criteri di ricerca',
- noKProfiles: 'Nessun K-Profile',
- noKProfilesDesc: 'Nessun profilo pressure advance per ugello da {{diameter}}mm',
- createFirstProfile: 'Crea primo profilo',
- // Controls
- printer: 'Stampante',
- nozzle: 'Ugello',
- refresh: 'Aggiorna',
- addProfile: 'Aggiungi profilo',
- export: 'Esporta',
- import: 'Importa',
- select: 'Seleziona',
- selectAll: 'Seleziona tutto',
- delete: 'Elimina',
- // Filters
- searchPlaceholder: 'Cerca per nome o filamento...',
- allExtruders: 'Tutti gli estrusori',
- leftOnly: 'Solo sinistro',
- rightOnly: 'Solo destro',
- allFlow: 'Tutto flow',
- hfOnly: 'Solo HF',
- sOnly: 'Solo S',
- sortName: 'Ordina: Nome',
- sortKValue: 'Ordina: K-Value',
- sortFilament: 'Ordina: Filamento',
- // Dual extruder labels
- leftExtruder: 'Estrusore sinistro',
- rightExtruder: 'Estrusore destro',
- // Modal
- modal: {
- addTitle: 'Aggiungi K-Profile',
- editTitle: 'Modifica K-Profile',
- profileName: 'Nome profilo',
- profileNamePlaceholder: 'Il mio profilo PLA',
- kValue: 'K-Value',
- kValuePlaceholder: '0.020',
- kValueHelp: 'Intervallo tipico: 0.01 - 0.06 per PLA, 0.02 - 0.10 per PETG',
- filament: 'Filamento',
- selectFilament: 'Seleziona filamento...',
- noFilamentsHelp: 'Nessun filamento trovato. Crea prima un K-profile in Bambu Studio.',
- flowType: 'Tipo flow',
- highFlow: 'High Flow',
- standard: 'Standard',
- nozzleSize: 'Dimensione ugello',
- extruder: 'Estrusore',
- extruders: 'Estrusori',
- left: 'Sinistra',
- right: 'Destra',
- notes: 'Note (salvate localmente)',
- notesPlaceholder: 'Aggiungi note su questo profilo...',
- notesHelp: 'Le note sono salvate in Bambuddy, non sulla stampante',
- syncing: 'Sincronizzazione con stampante...',
- savingExtruder: 'Salvataggio su estrusore {{current}}/{{total}}...',
- pleaseWait: 'Attendere',
- },
- // Delete confirmation
- deleteConfirm: {
- title: 'Elimina profilo',
- cannotUndo: 'Questo non può essere annullato',
- message: 'Sei sicuro di voler eliminare "{{name}}" dalla stampante?',
- },
- // Bulk delete
- bulkDelete: {
- title: 'Elimina profili',
- cannotUndo: 'Questo non può essere annullato',
- message: 'Sei sicuro di voler eliminare {{count}} profili selezionati dalla stampante?',
- },
- // Toast
- toast: {
- profileSaved: 'K-profile salvato',
- profilesSaved: 'K-profile salvato su {{count}} estrusori',
- selectAtLeastOneExtruder: 'Seleziona almeno un estrusore',
- profileDeleted: 'K-profile eliminato',
- profilesDeleted: 'Eliminati {{count}} profili',
- exportedProfiles: 'Esportati {{count}} profili',
- importedProfiles: 'Importati {{count}} di {{total}} profili',
- noProfilesToExport: 'Nessun profilo da esportare',
- invalidFileFormat: 'Formato file non valido',
- failedToParseImport: 'Parsing file import fallito',
- failedToSaveBatch: 'Salvataggio K-profiles fallito',
- noteSaved: 'Nota salvata',
- failedToSaveNote: 'Salvataggio nota fallito',
- },
- // Permissions
- permission: {
- noRead: 'Non hai il permesso di aggiornare i profili',
- noCreate: 'Non hai il permesso di aggiungere profili',
- noUpdate: 'Non hai il permesso di aggiornare K-profiles',
- noDelete: 'Non hai il permesso di eliminare K-profiles',
- noExport: 'Non hai il permesso di esportare profili',
- noImport: 'Non hai il permesso di importare profili',
- },
- },
- // Virtual Printer
- virtualPrinter: {
- title: 'Stampante virtuale',
- running: 'In esecuzione',
- stopped: 'Ferma',
- description: {
- default: 'Abilita una stampante virtuale che appare in Bambu Studio e OrcaSlicer. I file inviati a questa stampante saranno archiviati senza stampare.',
- proxy: 'Abilita un proxy che inoltra il traffico slicer a una stampante reale, permettendo la stampa remota su qualsiasi rete.',
- },
- enable: {
- title: 'Abilita stampante virtuale',
- visibleInSlicer: 'Visibile come "Bambuddy" nella ricerca slicer',
- proxyingTo: 'In proxy verso {{name}}',
- notActive: 'Non attivo',
- },
- model: {
- title: 'Modello stampante',
- description: 'Seleziona il modello stampante da emulare.',
- restartWarning: 'Cambiare il modello riavviera la stampante virtuale',
- },
- accessCode: {
- title: 'Codice accesso',
- isSet: 'Codice accesso impostato',
- notSet: 'Nessun codice accesso impostato - richiesto per abilitare',
- placeholder: 'Inserisci codice 8 caratteri',
- placeholderChange: 'Inserisci nuovo codice per cambiare',
- hint: 'Deve essere esattamente 8 caratteri. Usato dagli slicer per autenticarsi.',
- charCount: '({{count}}/8)',
- },
- targetPrinter: {
- title: 'Stampante target',
- configured: 'Target proxy configurato',
- notConfigured: 'Nessuna stampante target selezionata - richiesta per modalita proxy',
- placeholder: 'Seleziona una stampante...',
- hint: 'Seleziona la stampante a cui fare proxy. La stampante deve essere in modalita LAN.',
- noPrinters: 'Nessuna stampante configurata. Aggiungi una stampante per usare la modalita proxy.',
- },
- remoteInterface: {
- title: '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',
- },
- },
- // 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)',
- },
- };
|