| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440 |
- export default {
- // Navigation
- nav: {
- printers: 'Stampanti',
- archives: 'Archivi',
- queue: 'Coda',
- stats: 'Statistiche',
- profiles: 'Profili',
- maintenance: 'Manutenzione',
- projects: 'Progetti',
- inventory: 'Filamento',
- 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',
- uploading: 'Caricamento...',
- uploadFailed: 'Caricamento fallito',
- 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',
- export: 'Esporta',
- import: 'Importa',
- clear: 'Pulisci',
- selectAll: 'Seleziona tutto',
- deselectAll: 'Deseleziona tutto',
- noChange: '— Nessun cambio —',
- unchanged: 'Invariato',
- unassigned: 'Non assegnato',
- unknown: 'Sconosciuto',
- unknownError: 'Errore sconosciuto',
- today: 'Oggi',
- tomorrow: 'Domani',
- asap: 'ASAP',
- overdue: 'Scaduto',
- now: 'Ora',
- collapse: 'Comprimi',
- expand: 'Espandi',
- viewArchive: 'Vedi archivio',
- viewInFileManager: 'Vedi nel Gestore file',
- addedBy: 'Aggiunto da {{username}}',
- prints: 'stampe',
- more: '+{{count}} altre',
- ascending: 'Crescente',
- descending: 'Decrescente',
- printer: 'Stampante',
- remove: 'Rimuovi',
- type: 'Tipo',
- print: 'Stampa',
- rename: 'Rinomina',
- move: 'Sposta',
- create: 'Crea',
- duplicate: 'Duplica',
- left: 'Sinistra',
- right: 'Destra',
- },
- // Printers page
- printers: {
- title: 'Stampanti',
- addPrinter: 'Aggiungi Stampante',
- editPrinter: 'Modifica Stampante',
- deletePrinter: 'Elimina Stampante',
- printerName: 'Nome Stampante',
- serialNumber: 'Numero Seriale',
- ipAddress: 'Indirizzo IP',
- accessCode: 'Codice di Accesso',
- model: 'Modello',
- nozzleCount: 'Numero Ugelli',
- autoArchive: 'Auto Archiviazione',
- status: {
- available: 'Disponibile',
- idle: 'Inattiva',
- printing: 'In stampa',
- paused: 'In pausa',
- offline: 'Offline',
- error: 'Errore',
- finished: 'Finita',
- unknown: 'Sconosciuto',
- },
- temperatures: {
- nozzle: 'Ugello',
- bed: 'Piatto',
- chamber: 'Camera',
- },
- progress: '{{percent}}% completato',
- timeRemaining: '{{time}} rimanente',
- deleteConfirm: 'Sei sicuro di eliminare "{{name}}"?',
- maintenanceOk: 'Manutenzione OK',
- maintenanceWarning: '{{count}} avviso',
- maintenanceWarning_plural: '{{count}} avvisi',
- maintenanceDue: '{{count}} in scadenza',
- maintenanceDue_plural: '{{count}} in scadenza',
- // Sort options
- sort: {
- name: 'Nome',
- status: 'Stato',
- model: 'Modello',
- location: 'Posizione',
- ascending: 'Ordina crescente',
- descending: 'Ordina decrescente',
- },
- // Card size
- cardSize: {
- small: 'Schede piccole',
- medium: 'Schede medie',
- large: 'Schede grandi',
- extraLarge: 'Schede extra grandi',
- },
- // Controls
- hideOffline: 'Nascondi offline',
- nextAvailable: 'Prossima disponibile',
- powerOn: 'Accendi',
- offlinePrintersWithPlugs: 'Stampanti offline con smart plug',
- noPrintersConfigured: 'Nessuna stampante configurata',
- // Printer card
- readyToPrint: 'Pronta a stampare',
- external: 'Esterna',
- extL: 'Ext-L',
- extR: 'Ext-R',
- deleteArchives: 'Elimina archivi stampa',
- noLabel: 'Nessuna etichetta',
- printPreview: 'Anteprima stampa',
- width: 'Larghezza',
- height: 'Altezza',
- noObjectsFound: 'Nessun oggetto trovato',
- objectsLoadedOnPrintStart: 'Gli oggetti sono caricati quando inizia una stampa',
- willBeSkipped: 'Verra saltato',
- name: 'Nome',
- serialCannotBeChanged: 'Il numero seriale non può essere cambiato',
- locationHelp: 'Usato per raggruppare stampanti e filtrare i lavori in coda',
- // WiFi signal strength
- wifiSignal: {
- veryWeak: 'Molto debole',
- weak: 'Debole',
- fair: 'Discreto',
- good: 'Buono',
- excellent: 'Eccellente',
- },
- // Maintenance
- maintenanceUpToDate: 'Tutta la manutenzione aggiornata - Clicca per vedere',
- // Chamber light
- chamberLightOn: 'Accendi luce camera',
- chamberLightOff: 'Spegni luce camera',
- // Files
- files: 'File',
- 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',
- printerInformation: 'Informazioni stampante',
- copyToClipboard: 'Copia',
- copied: 'Copiato!',
- state: 'Stato',
- wifiSignalLabel: 'Segnale WiFi',
- developerMode: 'Modalità sviluppatore',
- enabled: 'Attivato',
- disabled: 'Disattivato',
- addedOn: 'Aggiunta il',
- sdCard: 'Scheda SD',
- inserted: 'Inserita',
- notInserted: 'Non inserita',
- totalPrintHours: 'Ore di stampa',
- activeNozzle: 'Attivo: ugello {{nozzle}}',
- nozzleRack: 'Rack Ugelli',
- nozzleDocked: 'Agganciato',
- nozzleMounted: 'Montato',
- nozzleActive: 'Attivo',
- nozzleIdle: 'Inattivo',
- nozzleDiameter: 'Diametro',
- nozzleType: 'Tipo',
- nozzleStatus: 'Stato',
- nozzleFilament: 'Filamento',
- nozzleWear: 'Usura',
- nozzleMaxTemp: 'Temp Max',
- nozzleSerial: 'Seriale',
- nozzleHardenedSteel: 'Acciaio Temprato',
- nozzleStainlessSteel: 'Acciaio Inox',
- nozzleTungstenCarbide: 'Carburo di Tungsteno',
- nozzleFlow: 'Flusso',
- nozzleHighFlow: 'Alto Flusso',
- nozzleStandardFlow: 'Standard',
- // Firmware
- firmwareUpdate: 'Aggiornamento Firmware',
- firmwareInstructions: 'Sul touchscreen della stampante, vai a',
- firmwareNav: 'Vai a',
- settings: 'Impostazioni',
- firmware: 'Firmware',
- // Discovery
- discoverPrinters: 'Trova Stampanti',
- searching: 'Ricerca...',
- manualEntry: 'Inserimento manuale',
- addFromCloud: 'Aggiungi da Cloud',
- // Toast messages
- toast: {
- printerDeleted: 'Stampante eliminata',
- printerAdded: 'Stampante aggiunta',
- printerUpdated: 'Stampante aggiornata',
- failedToDelete: 'Impossibile eliminare stampante',
- failedToAdd: 'Impossibile aggiungere stampante',
- failedToUpdate: 'Impossibile aggiornare stampante',
- commandSent: 'Comando inviato',
- failedToSendCommand: 'Impossibile inviare comando',
- turnedOn: '{{name}} accesa',
- failedToPowerOn: 'Impossibile accendere {{name}}',
- scriptTriggered: 'Script avviato',
- printStopped: 'Stampa fermata',
- printPaused: 'Stampa in pausa',
- printResumed: 'Stampa ripresa',
- referenceDeleted: 'Riferimento eliminato',
- detectionAreaSaved: 'Area rilevamento salvata',
- failedToRunScript: 'Impossibile eseguire script',
- failedToStopPrint: 'Impossibile fermare stampa',
- failedToPausePrint: 'Impossibile mettere in pausa stampa',
- failedToResumePrint: 'Impossibile riprendere stampa',
- failedToControlChamberLight: 'Impossibile controllare luce camera',
- failedToUpdateSetting: 'Impossibile aggiornare impostazione',
- failedToSkipObjects: 'Impossibile saltare oggetti',
- failedToRereadRfid: 'Impossibile rileggere RFID',
- failedToCheckPlate: 'Impossibile controllare piatto',
- failedToUpdateLabel: 'Impossibile aggiornare etichetta',
- failedToDeleteReference: 'Impossibile eliminare riferimento',
- failedToSaveDetectionArea: 'Impossibile salvare area rilevamento',
- plateCheckEnabled: 'Controllo piatto abilitato',
- plateCheckDisabled: 'Controllo piatto disabilitato',
- calibrationSaved: 'Calibrazione salvata!',
- calibrationFailed: 'Calibrazione non riuscita',
- rfidRereadInitiated: 'Rilettura RFID avviata',
- },
- // Connection status
- connection: {
- connected: 'Connesso',
- offline: 'Offline',
- },
- // Queue info
- queue: {
- inQueue: '{{count}} stampa in coda',
- inQueue_plural: '{{count}} stampe in coda',
- },
- // Controls section
- controls: 'Controlli',
- // RFID
- rfid: {
- reread: 'Rileggi RFID',
- },
- // Permissions
- permission: {
- noAdd: 'Non hai il permesso di aggiungere stampanti',
- noEdit: 'Non hai il permesso di modificare stampanti',
- noDelete: 'Non hai il permesso di eliminare stampanti',
- noControl: 'Non hai il permesso di controllare stampanti',
- noFiles: 'Non hai il permesso di accedere ai file stampante',
- noAmsRfid: 'Non hai il permesso di rileggere AMS RFID',
- noSmartPlugControl: 'Non hai il permesso di controllare smart plug',
- noCamera: 'Non hai il permesso di visualizzare le telecamere',
- },
- // Add/Edit modal
- modal: {
- addTitle: 'Aggiungi Stampante',
- editTitle: 'Modifica Stampante',
- myPrinter: 'La mia Stampante',
- selectModel: 'Seleziona modello...',
- locationGroup: 'Posizione / Gruppo (opzionale)',
- locationPlaceholder: 'es. Officina, Ufficio, Cantina',
- autoArchiveLabel: 'Archivia automaticamente stampe completate',
- fromPrinterSettings: 'Dalle impostazioni della stampante',
- modelOptional: 'Modello (opzionale)',
- saveChanges: 'Salva modifiche',
- },
- // Skip objects
- skipObjects: {
- tooltip: 'Salta oggetti',
- onlyWhilePrinting: 'Salta oggetti (solo durante la stampa)',
- requiresMultiple: 'Salta oggetti (richiede 2+ oggetti)',
- title: 'Salta Oggetti',
- matchIdsInfo: 'Abbina gli ID con il display della stampante',
- printerShowsIds: 'Lo schermo mostra gli ID oggetto sul piatto',
- skipSelected: 'Salta selezionati',
- skipping: 'Saltando...',
- noObjectsSelected: 'Nessun oggetto selezionato',
- selectObjectsToSkip: 'Seleziona gli oggetti da saltare nella stampa corrente',
- skipped: 'saltato',
- objectsSkipped: 'Oggetti saltati',
- activeCount: '{{count}} attivi',
- waitForLayer: 'Attendi il layer 2+ per saltare oggetti (attualmente layer {{layer}})',
- skip: 'Salta',
- confirmTitle: 'Saltare oggetto?',
- confirmMessage: 'Sei sicuro di voler saltare "{{name}}"? Questa azione non può essere annullata.',
- },
- // Confirm modals
- confirm: {
- deleteTitle: 'Elimina Stampante',
- deleteMessage: 'Sei sicuro di eliminare "{{name}}"? Questo rimuoverà tutte le impostazioni di connessione.',
- deleteArchivesNote: 'Tutta la cronologia di stampa sarà eliminata definitivamente.',
- keepArchivesNote: 'La cronologia sarà mantenuta ma non più associata a questa stampante.',
- stopTitle: 'Ferma Stampa',
- stopMessage: 'Sei sicuro di fermare la stampa corrente su "{{name}}"? Questo annullerà il lavoro di stampa.',
- stopButton: 'Ferma Stampa',
- pauseTitle: 'Pausa Stampa',
- pauseMessage: 'Sei sicuro di mettere in pausa la stampa corrente su "{{name}}"?',
- pauseButton: 'Pausa Stampa',
- resumeTitle: 'Riprendi Stampa',
- resumeMessage: 'Sei sicuro di riprendere la stampa su "{{name}}"?',
- resumeButton: 'Riprendi Stampa',
- powerOnTitle: 'Accendi Stampante',
- powerOnMessage: 'Sei sicuro di accendere "{{name}}"?',
- powerOnButton: 'Accendi',
- powerOffTitle: 'Spegni Stampante',
- powerOffMessage: 'Sei sicuro di spegnere "{{name}}"?',
- powerOffWarning: 'AVVISO: "{{name}}" sta stampando! Sei sicuro di spegnere? Questo interromperà la stampa e potrebbe danneggiare la stampante.',
- powerOffButton: 'Spegni',
- },
- // Discovery
- discovery: {
- title: 'Trova Stampanti',
- searching: 'Ricerca...',
- scanning: 'Scansione...',
- scanProgress: 'Scansione... {{scanned}}/{{total}}',
- foundPrinters: 'Trovate {{count}} stampante(i)',
- noPrintersFound: 'Nessuna stampante trovata',
- noPrintersFoundSubnet: 'Nessuna stampante trovata nella sottorete specificata.',
- noPrintersFoundNetwork: 'Nessuna stampante trovata sulla rete.',
- allConfigured: 'Tutte le stampanti trovate sono già configurate.',
- alreadyAdded: 'Già aggiunta',
- select: 'Seleziona',
- manualEntry: 'Inserimento manuale',
- addFromCloud: 'Aggiungi da Cloud',
- subnetToScan: 'Sottorete da scansionare',
- dockerNote: 'Docker rilevato. Inserisci la sottorete della stampante in notazione CIDR. Richiede network_mode: host in docker-compose.yml.',
- scanSubnet: 'Scansiona sottorete per stampanti',
- discoverNetwork: 'Trova stampanti in rete',
- scanningSubnet: 'Scansione sottorete per stampanti Bambu...',
- scanningNetwork: 'Scansione rete...',
- serialRequired: 'Seriale richiesto',
- unknown: 'Sconosciuto',
- failedToStart: 'Avvio ricerca non riuscito',
- },
- // Filaments section
- filaments: 'Filamenti',
- // Camera
- openCameraOverlay: 'Apri overlay camera',
- openCameraWindow: 'Apri camera in nuova finestra',
- // Firmware
- firmwareUpdateAvailable: 'Aggiornamento firmware disponibile: {{current}} → {{latest}}',
- firmwareUpToDate: 'Firmware {{version}} — Aggiornato',
- firmwareUpdateButton: 'Aggiorna',
- // Plate detection
- plateDetection: {
- noPermission: 'Non hai il permesso di aggiornare le stampanti',
- enabledClick: 'Controllo piatto abilitato - Clicca per disabilitare',
- disabledClick: 'Controllo piatto disabilitato - Clicca per abilitare',
- manageCalibration: 'Gestisci calibrazione rilevamento piatto',
- calibrationRequired: 'Calibrazione richiesta',
- calibrationInstructions: 'Assicurati che il piatto sia <strong>completamente vuoto</strong>, poi clicca Calibra.',
- calibrationDescription: 'La calibrazione salva un\'immagine di riferimento del piatto vuoto. I controlli futuri confronteranno con questo riferimento per rilevare oggetti.',
- calibrationTip: '<strong>Suggerimento:</strong> Puoi salvare fino a 5 calibrazioni per piatti diversi. Il sistema usa automaticamente la migliore corrispondenza durante il controllo.',
- plateEmpty: 'Il piatto sembra vuoto',
- objectsDetected: 'Oggetti rilevati sul piatto',
- confidence: 'Confidenza',
- difference: 'Differenza',
- analysisPreview: 'Anteprima analisi:',
- analysisLegend: 'Riquadro verde = area rilevamento, overlay rosso = differenze dalla calibrazione',
- savedReferences: 'Riferimenti salvati ({{count}}/{{max}})',
- deleteReference: 'Elimina riferimento',
- labelPlaceholder: 'Etichetta...',
- clickToEdit: '{{label}} - Clicca per modificare',
- clickToAddLabel: 'Clicca per aggiungere etichetta',
- },
- // Fans
- fans: {
- partCooling: 'Ventola raffreddamento parte',
- auxiliary: 'Ventola ausiliaria',
- chamber: 'Ventola camera',
- },
- // HMS errors
- clickToViewHmsErrors: 'Clicca per vedere errori HMS',
- estimatedCompletion: 'Tempo completamento stimato',
- slotOptions: 'Opzioni slot',
- // AMS hover popup
- amsPopup: {
- friendlyName: 'Nome AMS',
- friendlyNamePlaceholder: 'es. Nome AMS amichevole',
- serialNumber: 'Numero di serie',
- firmwareVersion: 'Firmware',
- save: 'Salva',
- clear: 'Cancella',
- noEditPermission: 'Non hai il permesso di rinominare le unità AMS',
- },
- // Firmware modal
- firmwareModal: {
- title: 'Aggiornamento Firmware',
- titleUpToDate: 'Info Firmware',
- currentVersion: 'Corrente:',
- latestVersion: 'Ultima:',
- releaseNotes: 'Note di rilascio',
- checkingPrereqs: 'Controllo prerequisiti...',
- sdCardReady: 'SD pronta. Clicca sotto per caricare firmware.',
- uploadedSuccess: 'Firmware caricato su SD!',
- applyInstructions: 'Per applicare l\'aggiornamento sulla stampante:',
- step1: 'Sul touchscreen della stampante, vai a <strong>Impostazioni</strong>',
- step2: 'Vai a <strong>Firmware</strong>',
- step3: 'Seleziona <strong>Aggiorna da SD</strong>',
- step4: 'L\'aggiornamento richiede 10-20 minuti',
- done: 'Fatto',
- starting: 'Avvio...',
- uploadFirmware: 'Carica Firmware',
- uploadFailed: 'Avvio caricamento fallito: {{error}}',
- uploadedToast: 'Firmware caricato! Avvia aggiornamento dal display.',
- },
- accessCodePlaceholder: 'Lascia vuoto per mantenere quello attuale',
- // ROI editor
- roi: {
- title: 'Area di rilevamento (ROI)',
- xStart: 'X Inizio',
- yStart: 'Y Inizio',
- width: 'Larghezza',
- height: 'Altezza',
- instruction: 'Regola l\'area di rilevamento per focalizzare il piatto. Il riquadro verde mostra l\'area corrente.',
- },
- developerModeWarning: 'La modalità sviluppatore LAN non è attivata su: {{names}}. Alcune funzionalità potrebbero non funzionare.',
- howToEnable: 'Come attivare',
- incompatibleFile: 'Questo file è stato preparato per {{slicedFor}}, ma questa stampante è una {{printerModel}}',
- dropNotPrintable: 'Solo i file .gcode e .gcode.3mf possono essere stampati',
- dropToPrint: 'Rilascia per stampare',
- cannotPrint: 'Stampante occupata',
- },
- // Archives page
- archives: {
- title: 'Archivi di stampa',
- searchPlaceholder: 'Cerca archivi...',
- filterByPrinter: 'Filtra per stampante',
- filterByStatus: 'Filtra per stato',
- sortBy: 'Ordina per',
- sortNewest: 'Più recenti',
- sortOldest: 'Meno recenti',
- sortName: 'Nome',
- sortDuration: 'Durata',
- sortLargest: 'Più grandi',
- sortSmallest: 'Più piccoli',
- sortSize: 'Dimensione',
- noArchives: 'Nessun archivio trovato',
- noArchivesSearch: 'Nessun archivio corrisponde alla ricerca',
- noArchivesYet: 'Nessun archivio ancora',
- loadingArchives: 'Caricamento archivi...',
- releaseToUpload: 'Rilascia per caricare',
- showAll: 'Mostra tutti',
- showFavoritesOnly: 'Solo preferiti',
- gridView: 'Vista griglia',
- listView: 'Vista elenco',
- calendarView: 'Vista calendario',
- logView: 'Registro stampe',
- manageTags: 'Gestisci tag',
- showFailedPrints: 'Mostra stampe fallite',
- hideFailedPrints: 'Nascondi stampe fallite',
- printTime: 'Tempo di stampa',
- filamentUsed: 'Filamento usato',
- cost: 'Costo',
- reprint: 'Ristampa',
- preview: 'Anteprima',
- deleteArchive: 'Elimina archivio',
- deleteConfirm: 'Sei sicuro di eliminare questo archivio?',
- favorite: 'Preferito',
- unfavorite: 'Rimuovi dai preferiti',
- viewDetails: 'Vedi dettagli',
- status: {
- completed: 'Completato',
- failed: 'Fallito',
- stopped: 'Fermato',
- },
- toast: {
- source3mfAttached: 'Sorgente 3MF allegata: {{filename}}',
- failedUploadSource3mf: 'Caricamento sorgente 3MF non riuscito',
- source3mfRemoved: 'Sorgente 3MF rimossa',
- failedRemoveSource3mf: 'Rimozione sorgente 3MF non riuscita',
- f3dAttached: 'F3D allegato: {{filename}}',
- failedUploadF3d: 'Caricamento F3D non riuscito',
- f3dRemoved: 'F3D rimosso',
- failedRemoveF3d: 'Rimozione F3D non riuscita',
- timelapseAttached: 'Timelapse allegato: {{filename}}',
- timelapseAlreadyAttached: 'Timelapse già allegato',
- noMatchingTimelapse: 'Nessun timelapse corrispondente',
- failedScanTimelapse: 'Scansione timelapse non riuscita',
- failedAttachTimelapse: 'Allegato timelapse non riuscito',
- timelapseRemoved: 'Timelapse rimosso',
- failedRemoveTimelapse: 'Impossibile rimuovere il timelapse',
- timelapseUploaded: 'Timelapse caricato: {{filename}}',
- failedUploadTimelapse: 'Impossibile caricare il timelapse',
- archiveDeleted: 'Archivio eliminato',
- failedDeleteArchive: 'Eliminazione archivio non riuscita',
- addedToFavorites: 'Aggiunto ai preferiti',
- removedFromFavorites: 'Rimosso dai preferiti',
- projectUpdated: 'Progetto aggiornato',
- failedUpdateProject: 'Aggiornamento progetto non riuscito',
- linkCopied: 'Link copiato negli appunti',
- failedCopyLink: 'Copia link non riuscita',
- photoDeleted: 'Foto eliminata',
- failedDeletePhoto: 'Eliminazione foto non riuscita',
- failedDeleteArchives: 'Eliminazione archivi non riuscita',
- failedUpdateFavorites: 'Aggiornamento preferiti non riuscito',
- exportDownloaded: 'Export scaricato',
- exportFailed: 'Export non riuscito',
- },
- menu: {
- print: 'Stampa',
- schedule: 'Programma',
- openInBambuStudio: 'Apri nello slicer',
- slice: 'Slice',
- externalLink: 'Link esterno',
- viewOnMakerWorld: 'Vedi su MakerWorld',
- preview3d: 'Anteprima 3D',
- viewTimelapse: 'Vedi Timelapse',
- scanForTimelapse: 'Cerca Timelapse',
- uploadTimelapse: 'Carica timelapse',
- removeTimelapse: 'Rimuovi timelapse',
- downloadSource3mf: 'Scarica Sorgente 3MF',
- uploadSource3mf: 'Carica Sorgente 3MF',
- replaceSource3mf: 'Sostituisci Sorgente 3MF',
- removeSource3mf: 'Rimuovi Sorgente 3MF',
- uploadF3d: 'Carica F3D',
- replaceF3d: 'Sostituisci F3D',
- downloadF3d: 'Scarica F3D',
- removeF3d: 'Rimuovi F3D',
- download: 'Scarica',
- copyDownloadLink: 'Copia link download',
- qrCode: 'QR Code',
- viewPhotos: 'Vedi foto',
- viewPhotosCount: 'Vedi foto ({{count}})',
- projectPage: 'Pagina progetto',
- addToFavorites: 'Aggiungi ai preferiti',
- removeFromFavorites: 'Rimuovi dai preferiti',
- edit: 'Modifica',
- goToProject: 'Vai al progetto: {{name}}',
- addToProject: 'Aggiungi al progetto',
- removeFromProject: 'Rimuovi dal progetto',
- loading: 'Caricamento...',
- noProjectsAvailable: 'Nessun progetto disponibile',
- select: 'Seleziona',
- deselect: 'Deseleziona',
- delete: 'Elimina',
- },
- permission: {
- noReprint: 'Non hai il permesso di ristampare questo archivio',
- noAddToQueue: 'Non hai il permesso di aggiungere alla coda',
- noUpdateArchives: 'Non hai il permesso di aggiornare archivi',
- noUploadFiles: 'Non hai il permesso di caricare file',
- noDownload: 'Non hai il permesso di scaricare archivi',
- noCopyLink: 'Non hai il permesso di copiare link download',
- noDelete: 'Non hai il permesso di eliminare questo archivio',
- noCreate: 'Non hai il permesso di creare archivi',
- },
- card: {
- previousPlate: 'Piatto precedente',
- nextPlate: 'Piatto successivo',
- plateNumber: 'Piatto {{index}}',
- moreOptions: 'Clic destro per altre opzioni',
- addToFavorites: 'Aggiungi ai preferiti',
- removeFromFavorites: 'Rimuovi dai preferiti',
- cancelled: 'annullato',
- failed: 'fallito',
- duplicate: 'duplicato',
- duplicateTitle: 'Questo modello è stato stampato prima',
- openSource3mf: 'Apri sorgente 3MF in Bambu Studio (clic destro per altre opzioni)',
- downloadF3d: 'Scarica file design Fusion 360',
- viewTimelapse: 'Vedi timelapse',
- viewPhoto: 'Vedi 1 foto',
- viewPhotos: 'Vedi {{count}} foto',
- openFolder: 'Apri cartella: {{name}}',
- slicedFile: 'File slice - pronto a stampare',
- sourceFile: 'Solo file sorgente - nessuna mappatura AMS disponibile',
- gcode: 'GCODE',
- source: 'SOURCE',
- project: 'Progetto: {{name}}',
- estimated: 'Stimato: {{time}}',
- actual: 'Reale: {{time}}',
- accuracy: 'Accuratezza: {{percent}}%',
- filament: '{{weight}}g',
- layer: '{{count}} strato',
- layers: '{{count}} strati',
- object: '{{count}} oggetto',
- objects: '{{count}} oggetti',
- slicedFor: 'Sliced per {{model}}',
- uploadedBy: 'Caricato da',
- noPermissionReprint: 'Non hai il permesso di ristampare',
- noFileForReprint: 'Nessun file 3MF disponibile — il file non è stato scaricato dalla stampante durante la registrazione',
- noPermissionEdit: 'Non hai il permesso di modificare archivi',
- noPermissionDelete: 'Non hai il permesso di eliminare archivi',
- reprint: 'Ristampa',
- schedulePrint: 'Programma Stampa',
- schedule: 'Programma',
- openInBambuStudio: 'Apri nello slicer',
- openInBambuStudioToSlice: 'Apri nello slicer per slicing',
- slice: 'Slice',
- externalLink: 'Link esterno',
- makerWorld: 'MakerWorld: {{designer}}',
- viewProject: 'Vedi progetto',
- noExternalLink: 'Nessun link esterno',
- preview3d: 'Anteprima 3D',
- download: 'Scarica',
- edit: 'Modifica',
- delete: 'Elimina',
- },
- modal: {
- deleteArchive: 'Elimina Archivio',
- deleteConfirm: 'Sei sicuro di eliminare "{{name}}"? Questa azione non può essere annullata.',
- deleteButton: 'Elimina',
- removeSource3mf: 'Rimuovi Sorgente 3MF',
- removeSource3mfConfirm: 'Sei sicuro di rimuovere il file sorgente 3MF da "{{name}}"? Questo eliminerà il progetto slicer originale.',
- removeButton: 'Rimuovi',
- removeF3d: 'Rimuovi F3D',
- removeF3dConfirm: 'Sei sicuro di rimuovere il file Fusion 360 da "{{name}}"?',
- removeTimelapse: 'Rimuovi timelapse',
- removeTimelapseConfirm: 'Sei sicuro di voler rimuovere il video timelapse da "{{name}}"?',
- timelapse: '{{name}} - Timelapse',
- selectTimelapse: 'Seleziona Timelapse',
- selectTimelapseDesc: 'Nessun abbinamento automatico trovato. Seleziona il timelapse per questa stampa:',
- deleteArchives: 'Elimina Archivi',
- deleteArchivesConfirm: 'Sei sicuro di eliminare {{count}} archivio(i)? Questa azione non può essere annullata.',
- deleteCount: 'Elimina {{count}}',
- },
- page: {
- title: 'Archivi',
- printsCount: '{{filtered}} di {{total}} stampe',
- dropFilesHere: 'Rilascia file .3mf qui',
- releaseToUpload: 'Rilascia per caricare',
- only3mfSupported: 'Solo file .3mf supportati',
- close: 'Chiudi',
- selected: '{{count}} selezionati',
- selectAll: 'Seleziona tutto',
- tags: 'Tag',
- project: 'Progetto',
- favorite: 'Preferito',
- delete: 'Elimina',
- toggledFavorites: 'Preferiti aggiornati per {{count}} archivio(i)',
- failedUpdateFavorites: 'Aggiornamento preferiti non riuscito',
- archivesDeleted: '{{count}} archivio(i) eliminati',
- failedDeleteArchives: 'Eliminazione archivi non riuscita',
- photoDeleted: 'Foto eliminata',
- failedDeletePhoto: 'Eliminazione foto non riuscita',
- },
- list: {
- name: 'Nome',
- printer: 'Stampante',
- date: 'Data',
- size: 'Dimensione',
- actions: 'Azioni',
- hasTimelapse: 'Ha timelapse',
- },
- log: {
- date: 'Data',
- printName: 'Nome stampa',
- printer: 'Stampante',
- user: 'Utente',
- status: 'Stato',
- duration: 'Durata',
- filament: 'Filamento',
- allPrinters: 'Tutte le stampanti',
- allUsers: 'Tutti gli utenti',
- allStatuses: 'Tutti gli stati',
- cancelled: 'Annullato',
- skipped: 'Saltato',
- dateFrom: 'Dal',
- dateTo: 'Al',
- noEntries: 'Nessuna voce di registro trovata',
- showing: '{{count}} di {{total}} voci',
- rowsPerPage: 'Righe',
- page: 'Pagina',
- prev: 'Prec.',
- next: 'Succ.',
- clearLog: 'Cancella registro',
- clearLogTitle: 'Cancella registro stampe',
- clearLogConfirm: 'Tutte le voci del registro di stampa verranno eliminate permanentemente. Gli archivi e gli elementi della coda non sono interessati. Questa azione non può essere annullata. Sei sicuro?',
- clearLogButton: 'Cancella tutto',
- cleared: '{{count}} voci di registro cancellate',
- clearFailed: 'Impossibile cancellare il registro stampe',
- },
- },
- // Queue page
- queue: {
- title: 'Coda di stampa',
- subtitle: 'Programma e gestisci i tuoi lavori di stampa',
- addToQueue: 'Aggiungi alla coda',
- // Print modal
- print: 'Stampa',
- reprint: 'Ristampa',
- schedulePrint: 'Programma Stampa',
- editQueueItem: 'Modifica elemento coda',
- printToPrinters: 'Stampa su {{count}} Stampanti',
- queueToPrinters: 'Metti in coda su {{count}} Stampanti',
- queueAllPlates: 'Metti in coda tutte le {{count}} piastre',
- printQueued: 'Stampa in coda',
- itemsQueued: '{{count}} elementi in coda',
- 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}}',
- nextInQueue: 'Prossimo in coda',
- clearPlate: 'Libera piatto e avvia il prossimo',
- clearPlateSuccess: 'Piatto liberato — pronto per la prossima stampa',
- plateReady: 'Piatto liberato — pronto per la prossima stampa',
- plateNumber: 'Piatto {{index}}',
- // Sections
- sections: {
- currentlyPrinting: 'In stampa',
- queued: 'In coda',
- history: 'Cronologia',
- },
- // Status
- status: {
- pending: 'In attesa',
- waiting: 'In attesa',
- printing: 'In stampa',
- paused: 'In pausa',
- completed: 'Completato',
- failed: 'Fallito',
- skipped: 'Saltato',
- cancelled: 'Annullato',
- },
- // Summary cards
- summary: {
- printing: 'In stampa',
- queued: 'In coda',
- totalTime: 'Tempo totale coda',
- totalWeight: 'Peso totale della coda',
- history: 'Cronologia',
- },
- // Filters
- filter: {
- allPrinters: 'Tutte le stampanti',
- unassigned: 'Non assegnato',
- allStatus: 'Tutti gli stati',
- allLocations: 'Tutte le posizioni',
- any: 'Qualsiasi',
- },
- // Sort
- sort: {
- byPosition: 'Ordina per posizione',
- byName: 'Ordina per nome',
- byPrinter: 'Ordina per stampante',
- bySchedule: 'Ordina per programma',
- byDate: 'Ordina per data',
- ascendingOldest: 'Crescente (più vecchi)',
- descendingNewest: 'Decrescente (più recenti)',
- },
- // Badges
- badges: {
- staged: 'In staging',
- requiresPrevious: 'Richiede successo precedente',
- autoPowerOff: 'Spegnimento automatico',
- },
- // Empty state
- empty: {
- title: 'Nessuna stampa programmata',
- description: 'Programma una stampa dalla pagina Archivi usando l\'opzione "Programma" nel menu contestuale, o trascina i file per iniziare.',
- },
- // Time
- time: {
- asap: 'ASAP',
- overdue: 'Scaduto',
- now: 'Ora',
- lessThanMinute: 'Tra meno di un minuto',
- inMinutes: 'Tra {{count}} min',
- inHours: 'Tra {{count}} ore',
- },
- // Actions
- actions: {
- stopPrint: 'Ferma Stampa',
- startPrint: 'Avvia Stampa',
- requeue: 'Rimetti in coda',
- },
- // Bulk edit
- bulkEdit: {
- title: 'Modifica {{count}} elemento',
- title_plural: 'Modifica {{count}} elementi',
- description: 'Solo le impostazioni modificate saranno applicate agli elementi selezionati.',
- printer: 'Stampante',
- noChange: '— Nessun cambio —',
- queueOptions: 'Opzioni coda',
- staged: 'In staging (avvio manuale)',
- autoPowerOff: 'Spegnimento automatico dopo stampa',
- requirePrevious: 'Richiede successo precedente',
- printOptions: 'Opzioni stampa',
- bedLevelling: 'Livellamento piatto',
- flowCalibration: 'Calibrazione flusso',
- vibrationCalibration: 'Calibrazione vibrazioni',
- layerInspection: 'Controllo primo layer',
- timelapse: 'Timelapse',
- useAms: 'Usa AMS',
- applyChanges: 'Applica modifiche',
- selectAll: 'Seleziona tutto',
- deselectAll: 'Deseleziona tutto',
- selected: '{{count}} selezionati',
- editSelected: 'Modifica selezionati',
- cancelSelected: 'Annulla selezionati',
- },
- // Confirmations
- confirm: {
- cancelTitle: 'Annulla stampa programmata',
- cancelMessage: 'Sei sicuro di annullare "{{name}}"?',
- stopTitle: 'Ferma Stampa',
- stopMessage: 'Sei sicuro di fermare la stampa corrente "{{name}}"? Questo annullerà il lavoro sulla stampante.',
- removeTitle: 'Rimuovi dalla cronologia',
- removeMessage: 'Sei sicuro di rimuovere "{{name}}" dalla cronologia coda?',
- clearHistoryTitle: 'Svuota cronologia',
- clearHistoryMessage: 'Sei sicuro di rimuovere {{count}} elemento(i) dalla cronologia?',
- cancelButton: 'Annulla Stampa',
- stopButton: 'Ferma Stampa',
- thisPrint: 'questa stampa',
- thisItem: 'questo elemento',
- },
- // Toast messages
- toast: {
- cancelled: 'Elemento coda annullato',
- cancelFailed: 'Annullamento non riuscito',
- removed: 'Elemento coda rimosso',
- removeFailed: 'Rimozione non riuscita',
- stopped: 'Stampa fermata',
- stopFailed: 'Impossibile fermare stampa',
- released: 'Stampa rilasciata in coda',
- startFailed: 'Avvio stampa non riuscito',
- reorderFailed: 'Riordino coda non riuscito',
- historyCleared: 'Cancellati {{count}} elementi cronologia',
- clearHistoryFailed: 'Svuotamento cronologia non riuscito',
- updateFailed: 'Aggiornamento elementi non riuscito',
- bulkCancelled: 'Annullati {{count}} elementi',
- bulkCancelFailed: 'Annullamento elementi non riuscito',
- },
- // Permissions
- permissions: {
- noStopPrint: 'Non hai il permesso di fermare stampe',
- noStartPrint: 'Non hai il permesso di avviare stampe',
- noEdit: 'Non hai il permesso di modificare questo elemento coda',
- noCancel: 'Non hai il permesso di annullare questo elemento coda',
- noRequeue: 'Non hai il permesso di rimettere in coda elementi',
- noRemove: 'Non hai il permesso di rimuovere questo elemento coda',
- noClearHistory: 'Non hai il permesso di svuotare tutta la cronologia',
- noEditItems: 'Non hai il permesso di modificare elementi coda',
- noCancelItems: 'Non hai il permesso di annullare elementi coda',
- },
- },
- backgroundDispatch: {
- unknownFile: 'File sconosciuto',
- unknownPrinter: 'Stampante sconosciuta',
- startingPrints: 'Avvio stampe',
- progressSummary: '{{complete}}/{{total}} completati • Inviati: {{dispatched}} • In elaborazione: {{processing}}',
- expandDetails: 'Espandi dettagli dispatch',
- collapseDetails: 'Comprimi dettagli dispatch',
- dismissToast: 'Chiudi notifica dispatch',
- cancelDispatchJob: 'Annulla job dispatch',
- cancel: 'Annulla',
- cancelling: 'Annullamento…',
- status: {
- dispatched: 'Inviato',
- processing: 'In elaborazione',
- completed: 'Completato',
- failed: 'Fallito',
- cancelled: 'Annullato',
- },
- toast: {
- cancellingUpload: 'Annullamento upload...',
- cancelled: 'Dispatch annullato',
- cancelFailed: 'Impossibile annullare il dispatch',
- completeWithFailures: 'Dispatch in background completato: {{completed}} riusciti, {{failed}} falliti',
- completeSuccess: 'Dispatch in background completato: {{completed}} riusciti',
- printStartedRemaining: '{{completed}} stampa/e avviata/e, {{remaining}} in invio...',
- },
- },
- // Statistics page
- stats: {
- title: 'Dashboard',
- subtitle: 'Trascina i widget per riordinare. Clicca l\'icona occhio per nascondere.',
- overview: 'Panoramica',
- totalPrints: 'Stampe totali',
- successRate: 'Tasso di successo',
- totalPrintTime: 'Tempo totale di stampa',
- printTime: 'Tempo di stampa',
- totalFilament: 'Filamento totale usato',
- filamentUsed: 'Filamento usato',
- filamentCost: 'Costo filamento',
- totalCost: 'Costo totale',
- energyUsed: 'Energia usata',
- energyCost: 'Costo energia',
- averagePrintTime: 'Tempo medio di stampa',
- printsPerDay: 'Stampe al giorno',
- byPrinter: 'Per stampante',
- printsByPrinter: 'Stampe per stampante',
- byMaterial: 'Per materiale',
- byMonth: 'Per mese',
- last7Days: 'Ultimi 7 giorni',
- last30Days: 'Ultimi 30 giorni',
- last90Days: 'Ultimi 90 giorni',
- allTime: 'Sempre',
- // Widgets
- quickStats: 'Statistiche rapide',
- printActivity: 'Attivita di stampa',
- filamentTypes: 'Tipi di filamento',
- filamentTrends: 'Trend filamento',
- failureAnalysis: 'Analisi guasti',
- timeAccuracy: 'Accuratezza tempo',
- successful: 'Riuscite:',
- failed: 'Fallite:',
- perfectEstimate: '100% = stima perfetta',
- noTimeAccuracyData: 'Nessun dato accuratezza tempo',
- noFilamentData: 'Nessun dato filamento',
- noPrinterData: 'Nessun dato stampante',
- noPrintData: 'Nessun dato stampa',
- noPrintDataLast30Days: 'Nessun dato stampa negli ultimi 30 giorni',
- failureReasons: 'Cause guasto',
- topFailureReasons: 'Cause principali',
- failedPrintsCount: '{{failed}} / {{total}} stampe fallite',
- lastWeekRate: 'Settimana scorsa: {{rate}}%',
- // Actions
- resetLayout: 'Reimposta layout',
- recalculateCosts: 'Ricalcola costi',
- recalculateCostsHint: 'Ricalcola tutti i costi archivi usando i prezzi filamento correnti',
- exportStats: 'Esporta statistiche',
- exportAsCsv: 'Esporta come CSV',
- exportAsExcel: 'Esporta come Excel',
- hiddenCount: '{{count}} Nascosti',
- // Toast
- exportDownloaded: 'Export scaricato',
- exportFailed: 'Export non riuscito',
- layoutReset: 'Layout reimpostato',
- recalculatedCosts: 'Costi ricalcolati per {{count}} archivi',
- recalculateFailed: 'Ricalcolo costi non riuscito',
- // Loading
- loadingStats: 'Caricamento statistiche...',
- // Permissions
- noPermissionResetLayout: 'Non hai il permesso di reimpostare il layout',
- noPermissionRecalculate: 'Non hai il permesso di ricalcolare i costi',
- noPrintDataInRange: 'Nessun dato nel periodo selezionato',
- periodFilament: 'Filamento utilizzato',
- periodCost: 'Costo',
- avgPerPrint: 'Media per stampa',
- usageOverTime: 'Utilizzo nel tempo',
- filamentByWeight: 'Peso',
- printDuration: 'Durata stampa',
- printerUtilization: 'Utilizzo stampante',
- filamentSuccess: 'Successo per materiale',
- printHabits: 'Abitudini di stampa',
- printTimeOfDay: 'Ora di stampa',
- colorDistribution: 'Distribuzione colori',
- noColorData: 'Nessun dato colore disponibile',
- records: 'Record',
- longestPrint: 'Stampa più lunga',
- heaviestPrint: 'Stampa più pesante',
- mostExpensivePrint: 'Più costosa',
- busiestDay: 'Giorno più attivo',
- successStreak: 'Serie di successi',
- streakPrint: 'stampa consecutiva',
- streakPrints: '{{count}} stampe consecutive',
- printerStats: 'Statistiche stampante',
- hours: 'ore',
- avgPrints: 'Media stampe',
- noArchiveData: 'Nessun dato di stampa disponibile',
- filamentByTime: 'Tempo',
- avgWeight: 'Media peso',
- avgTime: 'Media tempo',
- filamentByPrints: 'Stampe',
- timeframe: {
- today: 'Oggi',
- 'this-week': 'Questa settimana',
- 'this-month': 'Questo mese',
- 'last-7': 'Ultimi 7 giorni',
- 'last-30': 'Ultimi 30 giorni',
- 'last-90': 'Ultimi 90 giorni',
- 'this-year': 'Quest\'anno',
- 'all-time': 'Tutto',
- custom: 'Personalizzato',
- from: 'Da',
- to: 'A',
- },
- },
- // Maintenance page
- maintenance: {
- title: 'Manutenzione',
- overview: 'Panoramica',
- allOk: 'Tutta la manutenzione aggiornata',
- dueCount: '{{count}} elemento in scadenza',
- dueCount_plural: '{{count}} elementi in scadenza',
- warningCount: '{{count}} avviso',
- warningCount_plural: '{{count}} avvisi',
- totalPrintTime: 'Tempo totale di stampa',
- nextMaintenance: 'Prossima manutenzione',
- nothingDue: 'Niente in scadenza',
- tasks: 'Attivita',
- lastPerformed: 'Ultima esecuzione',
- interval: 'Intervallo',
- hoursRemaining: '{{hours}}h rimanenti',
- hoursOverdue: '{{hours}}h in ritardo',
- markDone: 'Segna come fatto',
- performMaintenance: 'Esegui manutenzione',
- history: 'Cronologia',
- noHistory: 'Nessuna cronologia manutenzione',
- editPrintHours: 'Modifica ore stampa',
- currentHours: 'Ore attuali',
- // Tabs
- statusTab: 'Stato',
- settingsTab: 'Impostazioni',
- // Status
- overdueCount: '{{count}} in ritardo',
- dueSoonCount: '{{count}} in scadenza',
- dueSoon: 'In scadenza',
- allGood: 'Tutto ok',
- overdueBy: 'In ritardo di {{duration}}',
- dueIn: 'Scade tra {{duration}}',
- timeLeft: '{{duration}} rimanenti',
- // Duration formats
- day: '1 giorno',
- days: '{{count}} giorni',
- week: '1 settimana',
- weeks: '{{count}} settimane',
- month: '1 mese',
- months: '{{count}} mesi',
- year: '1 anno',
- // Settings
- maintenanceTypes: 'Tipi di manutenzione',
- maintenanceTypesDescription: 'Tipi di sistema e tue attivita personalizzate',
- addCustomType: 'Aggiungi tipo personalizzato',
- restoreDefaults: 'Ripristina attivita predefinite',
- intervalType: 'Tipo intervallo',
- intervalValue: 'Intervallo ({{type}})',
- icon: 'Icona',
- documentationLink: 'Link documentazione (opzionale)',
- assignToPrinters: 'Assegna alle stampanti',
- selectAtLeastOnePrinter: 'Seleziona almeno una stampante',
- addType: 'Aggiungi tipo',
- custom: 'Personalizzato',
- printHours: 'Ore di stampa',
- calendarDays: 'Giorni calendario',
- exampleName: 'es. Sostituisci filtro HEPA',
- viewDocumentation: 'Vedi documentazione',
- timeBasedInterval: 'Intervallo basato sul tempo',
- // Interval overrides
- intervalOverrides: 'Override intervallo',
- intervalOverridesDescription: 'Personalizza intervalli per stampanti specifiche',
- // Printer assignment
- assignedToPrinters: 'Assegnato alle stampanti:',
- noPrintersAssigned: 'Nessuna stampante assegnata',
- addPrinterShort: 'Aggiungi:',
- printersAssignedClick: '{{count}} stampante(i) assegnata - clicca per gestire',
- removeFromPrinter: 'Rimuovi da questa stampante',
- // Types
- types: {
- lubricateCarbonRods: 'Lubrifica aste in carbonio',
- lubricateRails: 'Lubrifica guide lineari',
- cleanNozzle: 'Pulisci ugello/Hotend',
- checkBelts: 'Controlla tensione cinghie',
- cleanBuildPlate: 'Pulisci piatto',
- checkExtruder: 'Controlla ingranaggi estrusore',
- checkCooling: 'Controlla ventole raffreddamento',
- generalInspection: 'Ispezione generale',
- cleanCarbonRods: 'Pulisci aste in carbonio',
- lubricateSteelRods: 'Lubrifica aste in acciaio',
- cleanSteelRods: 'Pulisci aste in acciaio',
- cleanLinearRails: 'Pulisci guide lineari',
- checkPtfeTube: 'Controlla tubo PTFE',
- replaceHepaFilter: 'Sostituisci filtro HEPA',
- replaceCarbonFilter: 'Sostituisci filtro carbone',
- lubricateLeftNozzleRail: 'Lubrifica guida ugello sinistro',
- },
- // Toast
- maintenanceComplete: 'Manutenzione segnata come completata',
- typeUpdated: 'Tipo manutenzione aggiornato',
- typeDeleted: 'Tipo manutenzione eliminato',
- defaultsRestored: 'Ripristinate {{count}} attivita predefinite',
- printHoursUpdated: 'Ore di stampa aggiornate',
- printerAssigned: 'Stampante assegnata',
- printerRemoved: 'Stampante rimossa',
- // Confirmation
- deleteTypeConfirm: 'Eliminare "{{name}}"?',
- deleteSystemTypeTitle: 'Eliminare attività di manutenzione predefinita?',
- deleteSystemTypeMessage: 'Sei sicuro di voler eliminare l\'attività di manutenzione predefinita "{{name}}"?',
- // Permissions
- noPermissionUpdate: 'Non hai il permesso di aggiornare elementi manutenzione',
- noPermissionPerform: 'Non hai il permesso di eseguire manutenzione',
- noPermissionEditTypes: 'Non hai il permesso di modificare tipi manutenzione',
- noPermissionDeleteTypes: 'Non hai il permesso di eliminare tipi manutenzione',
- noPermissionEditHours: 'Non hai il permesso di modificare ore stampa',
- noPermissionRemovePrinter: 'Non hai il permesso di rimuovere assegnazioni stampanti',
- noPermissionAssignPrinter: 'Non hai il permesso di assegnare stampanti',
- noPermissionEditIntervals: 'Non hai il permesso di modificare intervalli',
- // Configure link
- configureSettings: 'Configura tipi e intervalli manutenzione',
- },
- // Settings page
- settings: {
- title: 'Impostazioni',
- general: 'Generale',
- // Tab names
- tabs: {
- general: 'Generale',
- smartPlugs: 'Prese smart',
- notifications: 'Notifiche',
- filament: 'Filamento',
- network: 'Rete',
- apiKeys: 'Chiavi API',
- virtualPrinter: 'Stampante virtuale',
- users: 'Utenti',
- backup: 'Backup',
- emailAuth: 'Autenticazione Email',
- },
- // Email settings
- email: {
- smtpSettings: 'Configurazione SMTP',
- smtpHost: 'Server SMTP',
- smtpPort: 'Porta SMTP',
- security: 'Sicurezza',
- authentication: 'Autenticazione',
- username: 'Nome utente',
- password: 'Password',
- fromEmail: 'Email mittente',
- fromName: 'Nome mittente',
- testConnection: 'Testa connessione SMTP',
- testRecipient: 'Email destinatario test',
- sendTest: 'Invia email di test',
- sending: 'Invio...',
- save: 'Salva impostazioni',
- saving: 'Salvataggio...',
- advancedAuth: 'Autenticazione avanzata',
- advancedAuthEnabled: 'L\'autenticazione avanzata è abilitata',
- advancedAuthEnabledDesc: 'Le funzionalità di gestione utenti via email sono attive. I nuovi utenti riceveranno password generate automaticamente via email e potranno reimpostare la password tramite la funzione di recupero.',
- advancedAuthDisabled: 'L\'autenticazione avanzata è disabilitata',
- advancedAuthDisabledDesc: 'Abilita l\'autenticazione avanzata per attivare le funzionalità email per la gestione utenti.',
- enable: 'Abilita',
- disable: 'Disabilita',
- feature1: 'Le password vengono generate automaticamente e inviate via email ai nuovi utenti',
- feature2: 'Gli utenti possono accedere con nome utente o email',
- feature3: 'La funzione di recupero password è disponibile',
- feature4: 'Gli amministratori possono reimpostare le password utente via email',
- // Error messages
- errors: {
- requiredFields: 'Compilare tutti i campi obbligatori',
- usernameRequired: 'Il nome utente è obbligatorio quando l\'autenticazione è abilitata',
- enterTestEmail: 'Inserire un indirizzo email di test',
- smtpServerAndEmail: 'Compilare Server SMTP e Email mittente prima di testare',
- usernamePasswordRequired: 'Nome utente e password sono obbligatori quando l\'autenticazione è abilitata',
- configureSmtpFirst: 'Configurare e testare le impostazioni SMTP prima',
- },
- // Success messages
- success: {
- settingsSaved: 'Impostazioni SMTP salvate con successo',
- },
- // Security options
- securityOptions: {
- starttls: 'STARTTLS (Porta 587)',
- ssl: 'SSL/TLS (Porta 465)',
- none: 'Nessuna (Porta 25)',
- },
- // Authentication options
- authOptions: {
- enabled: 'Abilitata',
- disabled: 'Disabilitata',
- },
- },
- appearance: 'Aspetto',
- notifications: 'Notifiche',
- smartPlugs: 'Prese smart',
- spoolman: 'Spoolman',
- updates: 'Aggiornamenti',
- language: 'Lingua',
- languageDescription: 'Seleziona la lingua preferita',
- theme: 'Tema',
- themeLight: 'Chiaro',
- themeDark: 'Scuro',
- themeSystem: 'Sistema',
- defaultView: 'Vista predefinita',
- defaultViewDescription: 'Pagina da mostrare all\'apertura dell\'app',
- checkForUpdates: 'Controlla aggiornamenti',
- autoUpdate: 'Aggiornamento automatico',
- currentVersion: 'Versione attuale',
- latestVersion: 'Ultima versione',
- upToDate: 'Sei aggiornato',
- updateAvailable: 'Aggiornamento disponibile',
- // Notifications
- notificationLanguage: 'Lingua notifiche',
- notificationLanguageDescription: 'Lingua per notifiche push',
- bedCooledThreshold: 'Soglia raffreddamento piatto',
- bedCooledThresholdDescription: 'Temperatura sotto la quale il piatto è considerato raffreddato dopo una stampa',
- notificationProviders: 'Provider notifiche',
- addProvider: 'Aggiungi provider',
- editProvider: 'Modifica provider',
- providerType: 'Tipo provider',
- testNotification: 'Notifica di test',
- testSuccess: 'Notifica di test inviata',
- testFailed: 'Invio notifica di test fallito',
- quietHours: 'Ore silenziose',
- quietHoursDescription: 'Non disturbare in queste ore',
- quietHoursStart: 'Inizio',
- quietHoursEnd: 'Fine',
- events: {
- title: 'Eventi notifica',
- printStart: 'Stampa avviata',
- printComplete: 'Stampa completata',
- printFailed: 'Stampa fallita',
- printStopped: 'Stampa interrotta',
- printProgress: 'Avanzamento',
- printProgressDescription: 'Notifica al 25%, 50%, 75%',
- printerOffline: 'Stampante offline',
- printerError: 'Errore stampante',
- filamentLow: 'Filamento in esaurimento',
- maintenanceDue: 'Manutenzione dovuta',
- maintenanceDueDescription: 'Notifica quando serve manutenzione',
- },
- // Smart Plugs
- smartPlug: {
- title: 'Prese smart',
- add: 'Aggiungi presa smart',
- edit: 'Modifica presa smart',
- name: 'Nome',
- ipAddress: 'Indirizzo IP',
- linkedPrinter: 'Stampante collegata',
- autoOn: 'Accensione automatica',
- autoOnDescription: 'Accendi all\'avvio stampa',
- autoOff: 'Spegnimento automatico',
- autoOffDescription: 'Spegni dopo il completamento',
- offDelay: 'Ritardo spegnimento',
- offDelayMinutes: 'Minuti dopo la stampa',
- offDelayTemp: 'Quando ugello sotto temperatura',
- currentState: 'Stato attuale',
- turnOn: 'Accendi',
- turnOff: 'Spegni',
- },
- // Filament Tracking Mode
- filamentTracking: 'Tracciamento filamento',
- filamentTrackingDesc: 'Scegli come tracciare le bobine di filamento. Puoi usare l\'inventario integrato o collegare un server Spoolman esterno.',
- trackingModeBuiltIn: 'Inventario integrato',
- trackingModeBuiltInDesc: 'Riconoscimento RFID automatico e tracciamento dell\'uso inclusi',
- trackingModeSpoolmanDesc: 'Server esterno per la gestione del filamento',
- builtInFeatureRfid: 'Rileva automaticamente le bobine Bambu Lab RFID nell\'AMS',
- builtInFeatureUsage: 'Traccia il consumo di filamento per stampa',
- builtInFeatureCatalog: 'Gestisci bobine, colori e profili K-factor',
- builtInFeatureThirdParty: 'Le bobine di terze parti possono essere assegnate alle bobine dell\'inventario',
- amsSyncButton: 'Sincronizza pesi dall\'AMS',
- amsSyncTitle: 'Sincronizza pesi bobine dall\'AMS',
- amsSyncMessage: 'Questo sovrascriverà tutti i pesi delle bobine dell\'inventario con i valori attuali di percentuale rimanente dell\'AMS dalle stampanti connesse. Usa questa funzione per recuperare dati di peso corrotti. Le stampanti devono essere online.',
- amsSyncing: 'Sincronizzazione...',
- amsSyncSuccess: '{{synced}} bobina/e sincronizzata/e, {{skipped}} saltata/e',
- amsSyncError: 'Impossibile sincronizzare i pesi dall\'AMS',
- // Spoolman settings
- spoolmanUrl: 'URL Spoolman',
- spoolmanUrlHint: 'URL del server Spoolman (es. http://localhost:7912)',
- spoolmanConnected: 'Connesso',
- spoolmanDisconnected: 'Disconnesso',
- status: 'Stato',
- connect: 'Connetti',
- disconnect: 'Disconnetti',
- howSyncWorks: 'Come funziona la sincronizzazione',
- syncInfoRfidOnly: 'Solo le bobine ufficiali Bambu Lab con RFID vengono sincronizzate',
- syncInfoAutoCreate: 'Le nuove bobine vengono create automaticamente in Spoolman alla prima sincronizzazione',
- syncInfoThirdPartySkipped: 'Le bobine non Bambu Lab (terze parti, ricaricate) vengono saltate',
- linkingExistingSpools: 'Collegamento bobine esistenti',
- linkingExistingSpoolsDesc: 'Per collegare le bobine Spoolman esistenti all\'AMS, passa il mouse su uno slot AMS e clicca "Collega a Spoolman".',
- syncMode: 'Modalità sincronizzazione',
- syncModeAuto: 'Automatica',
- syncModeManual: 'Solo manuale',
- syncModeAutoDesc: 'I dati AMS si sincronizzano automaticamente quando vengono rilevate modifiche',
- syncModeManualDesc: 'Sincronizzazione solo quando attivata manualmente',
- syncAmsData: 'Sincronizza dati AMS',
- syncAmsDataDesc: 'Sincronizza manualmente i dati AMS della stampante su Spoolman',
- allPrinters: 'Tutte le stampanti',
- // Default printer
- noDefaultPrinter: 'Nessuna predefinita (chiedi ogni volta)',
- // Sidebar
- sidebarOrder: 'Ordine barra laterale',
- // Camera
- saveThumbnails: 'Salva miniature',
- captureFinishPhoto: 'Acquisisci foto finale',
- noPrintersConfigured: 'Nessuna stampante configurata',
- // Archive settings
- archiveMode: {
- always: 'Crea sempre voce archivio',
- never: 'Non creare mai voce archivio',
- ask: 'Chiedi ogni volta',
- },
- // Updates
- checkForUpdatesLabel: 'Controlla aggiornamenti',
- checkPrinterFirmware: 'Controlla firmware stampante',
- includeBetaUpdates: 'Includi versioni beta',
- includeBetaUpdatesDesc: 'Notifica versioni beta e prerelease durante il controllo aggiornamenti',
- // Queue
- enableRetry: 'Abilita retry',
- // Home Assistant
- homeAssistantDescription: 'Controlla prese smart tramite Home Assistant',
- environmentManagedLabel: '(Gestito dall\'ambiente)',
- autoEnabledViaEnv: 'Abilitato automaticamente tramite variabili d\'ambiente',
- urlFromEnvReadOnly: 'Valore impostato dalla variabile d\'ambiente HA_URL (sola lettura)',
- tokenFromEnvReadOnly: 'Valore impostato dalla variabile d\'ambiente HA_TOKEN (sola lettura)',
- // MQTT
- mqttConnectedTo: 'Connesso a',
- // Prometheus
- prometheusDescription: 'Esponi dati stampante in formato Prometheus',
- // Smart plugs empty state
- noSmartPlugsTitle: 'Nessuna presa smart configurata',
- noSmartPlugsDescription: 'Aggiungi una presa smart Tasmota per monitorare energia e automatizzare il controllo.',
- // Notifications empty state
- noProvidersTitle: 'Nessun provider configurato',
- noProvidersDescription: 'Aggiungi un provider per ricevere avvisi.',
- noTemplatesAvailable: 'Nessun template disponibile. Riavvia il backend per generare i template predefiniti.',
- // API permissions
- apiPermissionView: 'Visualizza stato stampante e coda',
- apiPermissionEdit: 'Aggiungi e rimuovi elementi dalla coda di stampa',
- // API keys
- apiKeysEmptyTitle: 'Nessuna chiave API',
- apiKeysEmptyDescription: 'Crea una chiave API per integrare servizi esterni.',
- // Users
- noUsersFound: 'Nessun utente trovato',
- noGroupsFound: 'Nessun gruppo trovato',
- noGroupsAvailable: 'Nessun gruppo disponibile',
- passwordsDoNotMatch: 'Le password non coincidono',
- systemGroupWarning: 'I nomi dei gruppi di sistema non possono essere modificati',
- // Auth disabled
- authDisabledTitle: 'Autenticazione disabilitata',
- authDisabledFeature1: 'Richiedi accesso per usare il sistema',
- authDisabledFeature2: 'Crea più utenti con permessi basati sui gruppi',
- authDisabledFeature3: 'Controlla accesso con 50+ permessi granulari',
- // User deletion
- userHasCreated: 'Questo utente ha creato:',
- userItemsQuestion: 'Cosa vuoi fare con questi elementi?',
- deleteUserConfirm: 'Sei sicuro di voler eliminare questo utente?',
- actionCannotBeUndone: 'Questa azione non può essere annullata.',
- // Smart plugs
- addFirstSmartPlug: 'Aggiungi la tua prima presa smart',
- // Notifications
- providers: 'Provider',
- log: 'Log',
- testAll: 'Testa tutto',
- testResults: 'Risultati test',
- testPassedCount: '{{count}} riusciti',
- testFailedCount: '{{count}} falliti',
- messageTemplates: 'Template messaggi',
- messageTemplatesDescription: 'Personalizza i messaggi per ogni evento.',
- // API Keys section
- apiKeys: 'Chiavi API',
- apiKeysDescription: 'Crea chiavi API per integrazioni esterne e webhook.',
- createKey: 'Crea chiave',
- apiKeyCreated: 'Chiave API creata con successo',
- apiKeyCopyWarning: 'Copia questa chiave ora - non verra mostrata di nuovo!',
- useInApiBrowser: 'Usa nel Browser API',
- createNewApiKey: 'Crea nuova chiave API',
- keyName: 'Nome chiave',
- keyNamePlaceholder: 'es., Home Assistant, OctoPrint',
- readStatus: 'Leggi stato',
- readStatusDescription: 'Visualizza stato stampante e coda',
- manageQueue: 'Gestisci coda',
- manageQueueDescription: 'Aggiungi e rimuovi elementi dalla coda di stampa',
- controlPrinter: 'Controlla stampante',
- controlPrinterDescription: 'Metti in pausa, riprendi e ferma stampe',
- unnamedKey: 'Chiave senza nome',
- lastUsed: 'Ultimo uso',
- read: 'Lettura',
- control: 'Controllo',
- createFirstKey: 'Crea la tua prima chiave',
- webhookEndpoints: 'Endpoint webhook',
- webhookApiKeyHint: 'Usa la tua chiave API nell\'header X-API-Key.',
- webhook: {
- getAllStatus: 'Ottieni stato di tutte le stampanti',
- getSpecificStatus: 'Ottieni stato di una stampante',
- addToQueue: 'Aggiungi alla coda di stampa',
- pausePrint: 'Metti in pausa stampa',
- resumePrint: 'Riprendi stampa',
- stopPrint: 'Ferma stampa',
- },
- apiBrowser: 'Browser API',
- apiBrowserDescription: 'Esplora e testa tutti gli endpoint API disponibili.',
- apiKeyForTesting: 'Chiave API per test',
- apiKeyPlaceholder: 'Incolla qui la tua chiave API per testare gli endpoint autenticati...',
- apiKeyHint: 'Questa chiave verra inviata come header X-API-Key.',
- deleteApiKeyTitle: 'Elimina chiave API',
- deleteApiKeyMessage: 'Sei sicuro di voler eliminare questa chiave API? Le integrazioni che la usano non funzioneranno più.',
- deleteKey: 'Elimina chiave',
- // Filament tab
- amsDisplayThresholds: 'Soglie visualizzazione AMS',
- amsThresholdsDescription: 'Configura soglie colore per umidità e temperatura AMS.',
- humidity: 'Umidità',
- goodGreen: 'Buono (verde)',
- fairOrange: 'Discreto (arancione)',
- aboveFairBad: 'Sopra soglia discreta mostra rosso (scarso)',
- temperature: 'Temperatura',
- goodBlue: 'Buono (blu)',
- aboveFairHot: 'Sopra soglia discreta mostra rosso (caldo)',
- historyRetention: 'Conservazione cronologia',
- keepSensorHistory: 'Mantieni cronologia sensori per',
- historyRetentionDescription: 'I dati più vecchi saranno eliminati automaticamente',
- printModal: 'Modale stampa',
- expandCustomMapping: 'Espandi mapping personalizzato di default',
- expandCustomMappingDescription: 'Quando stampi su più stampanti, mostra mapping AMS per stampante espanso',
- // User management
- authentication: 'Autenticazione',
- authEnabledDescription: 'La tua istanza è protetta con autenticazione',
- authDisabledDescription: 'Abilita per richiedere accesso e gestire utenti',
- authDisabledMessage: 'Abilita autenticazione per creare account, gestire permessi e proteggere la tua istanza Bambuddy.',
- enableAuthentication: 'Abilita autenticazione',
- currentUser: 'Utente corrente',
- changePassword: 'Cambia password',
- admin: 'Admin',
- users: 'Utenti',
- addUser: 'Aggiungi utente',
- groups: 'Gruppi',
- addGroup: 'Aggiungi gruppo',
- system: 'Sistema',
- noDescription: 'Nessuna descrizione',
- userCount: '{{count}} utenti',
- permissionCount: '{{count}} permessi',
- createUser: 'Crea utente',
- username: 'Nome utente',
- enterUsername: 'Inserisci nome utente',
- password: 'Password',
- enterPassword: 'Inserisci password (min 6 caratteri)',
- confirmPassword: 'Conferma password',
- confirmPasswordPlaceholder: 'Conferma password',
- // Title tooltips
- viewReleaseOnGitHub: 'Vedi release su GitHub',
- turnAllPlugsOn: 'Accendi tutte le prese',
- turnAllPlugsOff: 'Spegni tutte le prese',
- // Modal: Clear logs
- clearNotificationLogs: 'Cancella log notifiche',
- clearLogsMessage: 'Questo eliminerà definitivamente tutti i log notifiche più vecchi di 30 giorni. Questa azione non può essere annullata.',
- clearLogs: 'Cancella log',
- // Modal: Reset UI
- resetUiPreferences: 'Reimposta preferenze UI',
- resetUiPreferencesMessage: 'Questo reimposterà le preferenze UI ai valori predefiniti: ordine barra laterale, tema, layout dashboard, modalità vista e preferenze ordinamento. Stampanti, archivi e impostazioni server NON saranno modificati. La pagina si ricaricherà dopo la cancellazione.',
- resetPreferences: 'Reimposta preferenze',
- // Modal: Delete group
- deleteGroupTitle: 'Elimina gruppo',
- deleteGroupMessage: 'Sei sicuro di voler eliminare questo gruppo? Gli utenti in questo gruppo perderanno questi permessi.',
- deleteGroup: 'Elimina gruppo',
- // Modal: Disable auth
- disableAuthenticationTitle: 'Disabilita autenticazione',
- disableAuthenticationMessage: 'Sei sicuro di voler disabilitare l\'autenticazione? Questo renderà la tua istanza Bambuddy accessibile senza login. Tutti gli utenti resteranno nel database ma l\'autenticazione sarà disabilitata.',
- disableAuthentication: 'Disabilita autenticazione',
- // Additional settings
- configureBambuddy: 'Configura Bambuddy',
- systemDefault: 'Predefinito di sistema',
- archiveSettings: 'Impostazioni archivio',
- newWindow: 'Nuova finestra',
- embeddedOverlay: 'Overlay incorporato',
- preferredSlicer: 'Slicer preferito',
- preferredSlicerDescription: 'Scegli quale applicazione slicer usare per aprire i file',
- externalCameras: 'Camere esterne',
- costTracking: 'Tracciamento costi',
- printsOnly: 'Solo stampe',
- totalConsumption: 'Consumo totale',
- dataManagement: 'Gestione dati',
- storageUsage: 'Memoria utilizzata',
- storageUsageDescription: 'Ripartizione della memoria per categoria',
- storageUsageTotal: 'Totale',
- storageUsageErrors: 'Errori',
- storageUsageOtherBreakdown: 'Altro (include risorse statiche, script e file di configurazione)',
- storageUsageSystem: 'Sistema',
- storageUsageData: 'Dati',
- storageUsageUnavailable: 'Informazioni sull\'utilizzo della memoria non disponibili',
- clearNotificationLogsDescription: 'Elimina log notifiche più vecchi di 30 giorni',
- resetUiPreferencesDescription: 'Reimposta ordine barra laterale, tema, modalità vista e preferenze layout. Stampanti, archivi e impostazioni non vengono modificati.',
- enableHomeAssistant: 'Abilita Home Assistant',
- enableMqtt: 'Abilita MQTT',
- useTls: 'Usa TLS',
- enableMetricsEndpoint: 'Abilita endpoint metriche',
- availableMetrics: 'Metriche disponibili',
- editUser: 'Modifica utente',
- deleteUserTitle: 'Elimina utente',
- groupName: 'Nome gruppo',
- // Placeholders
- leaveEmptyForAnonymous: 'Lascia vuoto per anonimo',
- leaveEmptyForNoAuth: 'Lascia vuoto per nessuna autenticazione',
- enterNewPassword: 'Inserisci nuova password',
- confirmNewPassword: 'Conferma nuova password',
- enterGroupName: 'Inserisci nome gruppo',
- enterDescriptionOptional: 'Inserisci descrizione (opzionale)',
- enterCurrentPassword: 'Inserisci password attuale',
- enterNewPasswordMin6: 'Inserisci nuova password (min 6 caratteri)',
- toast: {
- keyCopied: 'Chiave copiata negli appunti',
- copyFailed: 'Copia chiave fallita',
- keyAddedToBrowser: 'Chiave aggiunta al Browser API',
- clearLogsFailed: 'Eliminazione log fallita',
- uiPreferencesReset: 'Preferenze UI reimpostate. Aggiornamento...',
- authDisabled: 'Autenticazione disabilitata con successo',
- authDisableFailed: 'Disabilitazione autenticazione fallita',
- apiKeyCreated: 'Chiave API creata',
- apiKeyDeleted: 'Chiave API eliminata',
- userCreated: 'Utente creato con successo',
- userUpdated: 'Utente aggiornato con successo',
- userDeleted: 'Utente eliminato con successo',
- groupCreated: 'Gruppo creato con successo',
- groupUpdated: 'Gruppo aggiornato con successo',
- groupDeleted: 'Gruppo eliminato con successo',
- fillRequiredFields: 'Compila tutti i campi obbligatori',
- passwordsDoNotMatch: 'Le password non coincidono',
- passwordTooShort: 'La password deve essere di almeno 6 caratteri',
- enterGroupName: 'Inserisci un nome gruppo',
- settingsSaved: 'Impostazioni salvate',
- cameraSettingsSaved: 'Impostazioni camera salvate',
- enterCameraUrl: 'Inserisci un URL camera',
- passwordChanged: 'Password cambiata con successo',
- connectionFailed: 'Connessione fallita',
- testFailed: 'Test fallito',
- cameraConnected: 'Camera connessa{{resolution}}',
- },
- testConnection: 'Testa connessione',
- catalog: {
- spoolCatalog: 'Catalogo bobine',
- spoolCatalogDescription: 'Pesi delle bobine vuote per marca/tipo. Utilizzato per la ricerca automatica del peso quando si aggiungono bobine.',
- searchCatalog: 'Cerca nel catalogo...',
- addNewEntry: 'Aggiungi nuova voce',
- namePlaceholder: 'Nome (es. Bambu Lab - Plastica)',
- weight: 'Peso',
- type: 'Tipo',
- default: 'Predefinito',
- custom: 'Personalizzato',
- noMatch: 'Nessuna voce corrisponde alla ricerca',
- empty: 'Nessuna voce nel catalogo',
- deleteEntry: 'Elimina voce',
- deleteConfirm: 'Sei sicuro di voler eliminare "{{name}}"?',
- resetCatalog: 'Ripristina catalogo',
- resetConfirm: 'Ripristinare il catalogo ai valori predefiniti? Tutte le voci personalizzate verranno rimosse.',
- loadFailed: 'Impossibile caricare il catalogo bobine',
- nameWeightRequired: 'Nome e peso sono obbligatori',
- entryAdded: 'Voce aggiunta',
- addFailed: 'Impossibile aggiungere la voce',
- entryUpdated: 'Voce aggiornata',
- updateFailed: 'Impossibile aggiornare la voce',
- entryDeleted: 'Voce eliminata',
- deleteFailed: 'Impossibile eliminare la voce',
- resetSuccess: 'Catalogo ripristinato ai valori predefiniti',
- resetFailed: 'Impossibile ripristinare il catalogo',
- exported: '{{count}} voci esportate',
- imported: '{{added}} voci importate ({{skipped}} saltate)',
- importFailed: 'Impossibile importare: formato JSON non valido',
- exportTooltip: 'Esporta catalogo in JSON',
- importTooltip: 'Importa catalogo da JSON',
- resetTooltip: 'Ripristina valori predefiniti',
- selectedCount: '{{count}} selezionati',
- deleteSelected: 'Elimina selezionati',
- bulkDeleteConfirm: 'Eliminare {{count}} voci?',
- bulkDeleted: '{{count}} voci eliminate',
- bulkDeleteFailed: 'Impossibile eliminare le voci',
- },
- colorCatalog: {
- title: 'Catalogo colori',
- description: 'Colori del filamento per produttore/materiale. Utilizzato per la ricerca automatica del colore quando si aggiungono bobine.',
- searchColors: 'Cerca colori...',
- allManufacturers: 'Tutti i produttori',
- addNewColor: 'Aggiungi nuovo colore',
- manufacturer: 'Produttore',
- colorName: 'Nome colore',
- hex: 'Hex',
- materialOptional: 'Materiale (opzionale)',
- showing: 'Visualizzazione di {{filtered}} su {{total}} colori',
- noMatch: 'Nessun colore corrisponde alla ricerca',
- empty: 'Nessun colore nel catalogo',
- deleteColor: 'Elimina colore',
- deleteConfirm: 'Sei sicuro di voler eliminare "{{name}}"?',
- resetCatalog: 'Ripristina catalogo colori',
- resetConfirm: 'Ripristinare il catalogo ai valori predefiniti? Tutti i colori personalizzati verranno rimossi.',
- sync: 'Sincronizza',
- starting: 'Avvio...',
- syncTooltip: 'Sincronizza da FilamentColors.xyz (2000+ colori, potrebbe richiedere un minuto)',
- loadFailed: 'Impossibile caricare il catalogo colori',
- fieldsRequired: 'Produttore, nome colore e colore hex sono obbligatori',
- colorAdded: 'Colore aggiunto',
- addFailed: 'Impossibile aggiungere il colore',
- colorUpdated: 'Colore aggiornato',
- updateFailed: 'Impossibile aggiornare il colore',
- colorDeleted: 'Colore eliminato',
- deleteFailed: 'Impossibile eliminare il colore',
- resetSuccess: 'Catalogo colori ripristinato ai valori predefiniti',
- resetFailed: 'Impossibile ripristinare il catalogo',
- syncUpToDate: 'Già aggiornato ({{count}} colori verificati)',
- syncComplete: '{{added}} nuovi colori aggiunti ({{skipped}} già esistenti)',
- syncError: 'Errore di sincronizzazione',
- syncFailed: 'Impossibile sincronizzare da FilamentColors.xyz',
- exported: '{{count}} colori esportati',
- imported: '{{added}} colori importati ({{skipped}} saltati)',
- importFailed: 'Impossibile importare: formato JSON non valido',
- selectedCount: '{{count}} selezionati',
- deleteSelected: 'Elimina selezionati',
- bulkDeleteConfirm: 'Eliminare {{count}} colori?',
- bulkDeleted: '{{count}} colori eliminati',
- bulkDeleteFailed: 'Impossibile eliminare i colori',
- },
- dateFormat: 'Formato data',
- dateFormatUs: 'US (MM/GG/AAAA)',
- dateFormatEu: 'EU (GG/MM/AAAA)',
- dateFormatIso: 'ISO (AAAA-MM-GG)',
- timeFormat: 'Formato ora',
- timeFormat12: '12 ore (3:30 PM)',
- timeFormat24: '24 ore (15:30)',
- defaultPrinter: 'Stampante predefinita',
- defaultPrinterDescription: 'Preseleziona questa stampante per upload, ristampe e altre operazioni.',
- slicerBambuStudio: 'Bambu Studio',
- slicerOrcaSlicer: 'OrcaSlicer',
- sidebarOrderDescription: 'Trascina gli elementi nella barra laterale per riordinare. Ripristina l\'ordine predefinito qui.',
- reset: 'Ripristina',
- darkMode: 'Modalità scura',
- lightMode: 'Modalità chiara',
- active: '(attivo)',
- background: 'Sfondo',
- accent: 'Accento',
- style: 'Stile',
- bgNeutral: 'Neutro',
- bgWarm: 'Caldo',
- bgCool: 'Freddo',
- bgOled: 'OLED Nero',
- bgSlate: 'Blu ardesia',
- bgForest: 'Verde foresta',
- accentGreen: 'Verde',
- accentTeal: 'Verde acqua',
- accentBlue: 'Blu',
- accentOrange: 'Arancione',
- accentPurple: 'Viola',
- accentRed: 'Rosso',
- styleClassic: 'Classico',
- styleGlow: 'Luminoso',
- styleVibrant: 'Vibrante',
- themeToggleHint: 'Passa tra modalità scura e chiara con l\'icona sole/luna nella barra laterale.',
- autoArchivePrints: 'Archiviazione automatica stampe',
- autoArchiveDescription: 'Salva automaticamente i file 3MF al completamento delle stampe',
- saveThumbnailsDescription: 'Estrai e salva le immagini di anteprima dai file 3MF',
- captureFinishPhotoDescription: 'Scatta una foto dalla fotocamera della stampante al completamento della stampa',
- ffmpegNotInstalled: 'ffmpeg non installato',
- ffmpegRequired: 'L\'acquisizione dalla fotocamera richiede ffmpeg. Installalo tramite <brew>brew install ffmpeg</brew> (macOS) o <apt>apt install ffmpeg</apt> (Linux).',
- camera: 'Fotocamera',
- cameraViewMode: 'Modalità visualizzazione fotocamera',
- cameraOverlayDescription: 'La fotocamera si apre in un overlay ridimensionabile sulla schermata principale',
- cameraWindowDescription: 'La fotocamera si apre in una finestra separata del browser',
- externalCamerasDescription: 'Configura fotocamere esterne per sostituire la fotocamera integrata della stampante. Supporta stream MJPEG, RTSP, snapshot HTTP e fotocamere USB (V4L2). Quando abilitata, la fotocamera esterna viene usata per la vista in diretta e le foto di completamento.',
- cameraPlaceholderUsb: 'Percorso dispositivo (/dev/video0)',
- cameraPlaceholderUrl: 'URL fotocamera (rtsp://... o http://...)',
- cameraTypeMjpeg: 'Stream MJPEG',
- cameraTypeRtsp: 'Stream RTSP',
- cameraTypeSnapshot: 'Snapshot HTTP',
- cameraTypeUsb: 'Fotocamera USB (V4L2)',
- test: 'Test',
- connected: 'Connesso',
- disconnected: 'Disconnesso',
- currency: 'Valuta',
- defaultFilamentCost: 'Costo filamento predefinito (per kg)',
- electricityCost: 'Costo elettricità per kWh',
- energyDisplayMode: 'Modalità visualizzazione energia',
- energyModePrintDescription: 'La dashboard mostra la somma dell\'energia usata durante le stampe',
- energyModeTotalDescription: 'La dashboard mostra l\'energia totale dalle prese smart',
- fileManager: 'Gestore file',
- createArchiveEntry: 'Crea voce archivio durante la stampa',
- createArchiveEntryDescription: 'Quando si stampa dal gestore file, crea opzionalmente una voce di archivio',
- lowDiskSpaceWarning: 'Avviso spazio disco insufficiente',
- lowDiskSpaceDescription: 'Mostra avviso quando lo spazio disco scende sotto questa soglia',
- printerFirmware: 'Firmware stampante',
- checkFirmwareDescription: 'Controlla aggiornamenti firmware da Bambu Lab',
- bambuddySoftware: 'Software Bambuddy',
- autoCheckDescription: 'Controlla automaticamente nuove versioni all\'avvio',
- checkNow: 'Controlla ora',
- updateAvailableVersion: 'Aggiornamento disponibile: v{{version}}',
- releaseNotes: 'Note di rilascio',
- updateViaDocker: 'Aggiorna tramite Docker Compose:',
- installUpdate: 'Installa aggiornamento',
- latestVersionRunning: 'Stai usando l\'ultima versione',
- failedToCheckUpdates: 'Controllo aggiornamenti fallito: {{error}}',
- backupRestore: 'Backup e ripristino',
- backupRestoreDescription: 'Esporta/importa impostazioni e configura backup GitHub',
- goToBackup: 'Vai al backup',
- externalUrl: 'URL esterno',
- externalUrlDescription: 'L\'URL esterno dove Bambuddy è accessibile. Usato per immagini di notifica e integrazioni esterne.',
- bambuddyUrl: 'URL Bambuddy',
- externalUrlHint: 'Includi protocollo e porta (es. http://192.168.1.100:8000)',
- ftpRetry: 'Riprova FTP',
- ftpRetryDescription: 'Riprova le operazioni FTP quando il WiFi della stampante è instabile. Si applica a download 3MF, upload stampe, download timelapse e aggiornamenti firmware.',
- autoRetryDescription: 'Riprova automaticamente le operazioni FTP fallite',
- retryAttempts: 'Tentativi di ripetizione',
- retryDelay: 'Ritardo ripetizione',
- connectionTimeout: 'Timeout connessione',
- time_one: '{{count}} volta',
- time_other: '{{count}} volte',
- second_one: '{{count}} secondo',
- second_other: '{{count}} secondi',
- nSeconds: '{{count}} secondi',
- increaseForWeakWifi: 'Aumenta per stampanti con WiFi debole',
- homeAssistant: 'Home Assistant',
- homeAssistantFullDescription: 'Connetti a Home Assistant per controllare le prese smart tramite l\'API REST HA. Supporta entità switch, light, input_boolean e script.',
- homeAssistantUrl: 'URL Home Assistant',
- longLivedAccessToken: 'Token di accesso a lunga durata',
- haTokenHint: 'Crea un token in HA: Profilo → Token di accesso a lunga durata → Crea token',
- connectionSuccessful: 'Connessione riuscita',
- connectionFailed: 'Connessione fallita',
- haConnectionSuccess: 'Connesso con successo a Home Assistant.',
- haConnectionFailed: 'Connessione a Home Assistant fallita.',
- mqttPublishing: 'Pubblicazione MQTT',
- mqttDescription: 'Pubblica eventi BamBuddy su un broker MQTT esterno per l\'integrazione con Node-RED, Home Assistant e altri sistemi di automazione.',
- mqttEnableDescription: 'Pubblica eventi su broker MQTT esterno',
- brokerHostname: 'Hostname broker',
- port: 'Porta',
- usernameOptional: 'Nome utente (opzionale)',
- passwordOptional: 'Password (opzionale)',
- topicPrefix: 'Prefisso topic',
- topicPrefixHint: 'I topic saranno: {{prefix}}/printers/<serial>/status, ecc.',
- prometheusMetrics: 'Metriche Prometheus',
- prometheusEndpointDescription: 'Esponi metriche stampante su <code>/api/v1/metrics</code> per monitoraggio Prometheus/Grafana.',
- bearerTokenOptional: 'Token Bearer (opzionale)',
- bearerTokenHint: 'Se impostato, le richieste devono includere <code>Authorization: Bearer <token></code>',
- metricsConnectionStatus: 'Stato connessione',
- metricsPrinterState: 'Stato stampante (idle/printing/ecc)',
- metricsPrintProgress: 'Progresso stampa 0-100%',
- metricsBedTemp: 'Temperatura piatto',
- metricsNozzleTemp: 'Temperatura ugello',
- metricsPrintsTotal: 'Stampe totali per risultato',
- metricsMore: '...e altro (strati, ventole, coda, consumo filamento)',
- smartPlugsDescription: 'Connetti prese smart (Tasmota o Home Assistant) per automatizzare il controllo dell\'alimentazione e monitorare il consumo energetico delle stampanti.',
- allOn: 'Tutte accese',
- allOff: 'Tutte spente',
- addSmartPlug: 'Aggiungi presa smart',
- energySummary: 'Riepilogo energia',
- currentPower: 'Potenza attuale',
- plugsOnline: '{{reachable}}/{{total}} prese online',
- today: 'Oggi',
- yesterday: 'Ieri',
- total: 'Totale',
- enablePlugsForSummary: 'Abilita le prese per vedere il riepilogo energia',
- addNotificationProvider: 'Aggiungi',
- systemBadge: '(Sistema)',
- creating: 'Creazione...',
- changing: 'Modifica...',
- deleteUserAndItems: 'Elimina utente E i suoi elementi',
- deleteUserKeepItems: 'Elimina utente, mantieni elementi (diventeranno senza proprietario)',
- ok: 'OK',
- },
- // Notifications (for push notifications)
- notification: {
- printStarted: {
- title: 'Stampa avviata',
- body: '{{printer}}: {{filename}} ha iniziato a stampare',
- },
- printCompleted: {
- title: 'Stampa completata',
- body: '{{printer}}: {{filename}} completata con successo',
- },
- printFailed: {
- title: 'Stampa fallita',
- body: '{{printer}}: {{filename}} fallita',
- },
- printStopped: {
- title: 'Stampa interrotta',
- body: '{{printer}}: {{filename}} interrotta',
- },
- printProgress: {
- title: 'Avanzamento stampa',
- body: '{{printer}}: {{filename}} al {{percent}}% completamento',
- },
- printerOffline: {
- title: 'Stampante offline',
- body: '{{printer}} e offline',
- },
- printerError: {
- title: 'Errore stampante',
- body: '{{printer}}: {{error}}',
- },
- filamentLow: {
- title: 'Filamento in esaurimento',
- body: '{{printer}}: Filamento in esaurimento',
- },
- maintenanceDue: {
- title: 'Manutenzione dovuta',
- body: '{{printer}}: {{items}} richiedono attenzione',
- },
- },
- // Errors
- errors: {
- generic: 'Qualcosa e andato storto',
- networkError: 'Errore di rete. Controlla la connessione.',
- notFound: 'Non trovato',
- unauthorized: 'Non autorizzato',
- serverError: 'Errore server',
- validationError: 'Controlla i dati inseriti',
- printerConnectionFailed: 'Connessione alla stampante fallita',
- saveFailed: 'Salvataggio modifiche fallito',
- deleteFailed: 'Eliminazione fallita',
- loadFailed: 'Caricamento dati fallito',
- },
- // HMS Errors modal
- hmsErrors: {
- title: 'Errori - {{name}}',
- noErrors: 'Nessun errore',
- viewOnWiki: 'Vedi su Bambu Lab Wiki',
- clearInstructions: 'Cancella gli errori sulla stampante per rimuoverli qui.',
- clearErrors: 'Cancella errori',
- clearSuccess: 'Errori HMS cancellati',
- clearFailed: 'Impossibile cancellare gli errori HMS',
- },
- // MQTT Debug modal
- mqttDebug: {
- title: 'Log debug MQTT',
- searchPlaceholder: 'Cerca topic o payload...',
- noMessages: 'Nessun messaggio registrato',
- startLoggingHint: 'Clicca "Avvia logging" per iniziare a catturare messaggi MQTT',
- noMessagesMatch: 'Nessun messaggio corrisponde al filtro',
- adjustFilterHint: 'Prova a modificare la ricerca o i filtri',
- incoming: 'In ingresso',
- outgoing: 'In uscita',
- loggingStopped: 'Logging fermato',
- loggingActive: 'Logging attivo - i messaggi si aggiornano automaticamente',
- startLogging: 'Avvia logging',
- stopLogging: 'Ferma logging',
- clearLog: 'Pulisci log',
- topic: 'Topic',
- timestamp: 'Timestamp',
- direction: 'Direzione',
- all: 'Tutti',
- },
- // Printer File Manager modal (printer internal storage)
- printerFiles: {
- title: 'Gestore file',
- storageUsed: 'Usato:',
- storageFree: 'Libero:',
- filterPlaceholder: 'Filtra file...',
- deleteButton: 'Elimina',
- deleteFiles: 'Elimina {{count}} file',
- deleteFileConfirm: 'Eliminare "{{name}}"? Questa azione non può essere annullata.',
- deleteFilesConfirm: 'Eliminare {{count}} file selezionati? Questa azione non può essere annullata.',
- noFiles: 'Nessun file sulla stampante',
- loadingFiles: 'Caricamento file...',
- failedToLoad: 'Caricamento file fallito',
- toast: {
- filesDeleted: 'Eliminati {{count}} file',
- deleteFailed: 'Eliminazione fallita: {{error}}',
- },
- },
- // Confirmations
- confirm: {
- delete: 'Sei sicuro di voler eliminare questo?',
- unsavedChanges: 'Hai modifiche non salvate. Sei sicuro di voler uscire?',
- clearQueue: 'Sei sicuro di voler svuotare la coda?',
- },
- // Login page
- login: {
- title: 'Login Bambuddy',
- subtitle: 'Accedi al tuo account',
- username: 'Nome utente',
- usernamePlaceholder: 'Inserisci il nome utente',
- usernameOrEmail: 'Nome utente o email',
- usernameOrEmailPlaceholder: 'Nome utente o @ Email',
- 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.',
- forgotPasswordEmailMessage: 'Inserisci il tuo indirizzo email e ti invieremo una nuova password.',
- emailAddress: 'Indirizzo email',
- emailPlaceholder: 'tua.email@esempio.com',
- cancel: 'Annulla',
- sending: 'Invio...',
- sendResetEmail: 'Invia email di reimpostazione',
- howToReset: 'Come reimpostare la password:',
- resetStep1: 'Contatta il tuo amministratore Bambuddy',
- resetStep2: 'Chiedi di reimpostare la password in Gestione utenti',
- resetStep3: 'Possono impostare una nuova password temporanea',
- resetStep4: 'Accedi con la nuova password e cambiala in Impostazioni',
- gotIt: 'Capito',
- },
- // Setup page
- setup: {
- title: 'Configurazione Bambuddy',
- subtitle: 'Configura autenticazione per la tua istanza Bambuddy',
- enableAuth: 'Abilita autenticazione',
- adminAccount: 'Account admin',
- adminAccountDesc: 'Se esistono già admin, l\'autenticazione verrà abilitata usando gli account esistenti. Lascia i campi sotto vuoti per usare gli admin esistenti, oppure inserisci nuove credenziali per creare un nuovo utente admin.',
- adminUsername: 'Nome utente admin',
- adminPassword: 'Password admin',
- optionalIfAdminExists: '(opzionale se esistono admin)',
- adminUsernamePlaceholder: 'Inserisci nome utente admin (opzionale)',
- adminPasswordPlaceholder: 'Inserisci password admin (opzionale)',
- confirmPassword: 'Conferma password',
- confirmPasswordPlaceholder: 'Conferma password admin',
- settingUp: 'Configurazione...',
- completeSetup: 'Completa configurazione',
- toast: {
- authEnabledAdminCreated: 'Autenticazione abilitata e utente admin creato',
- authEnabledExistingAdmins: 'Autenticazione abilitata usando admin esistenti',
- setupCompleted: 'Configurazione completata',
- enterBothCredentials: 'Inserisci nome utente e password admin, oppure lascia entrambi vuoti per usare admin esistenti',
- passwordsDoNotMatch: 'Le password non coincidono',
- passwordTooShort: 'La password deve essere di almeno 6 caratteri',
- },
- },
- // Password change
- changePassword: {
- title: 'Cambia password',
- currentPassword: 'Password attuale',
- currentPasswordPlaceholder: 'Inserisci password attuale',
- newPassword: 'Nuova password',
- newPasswordPlaceholder: 'Inserisci nuova password (min 6 caratteri)',
- confirmPassword: 'Conferma nuova password',
- confirmPasswordPlaceholder: 'Conferma nuova password',
- passwordsDoNotMatch: 'Le password non coincidono',
- passwordTooShort: 'La password deve essere di almeno 6 caratteri',
- changing: 'Modifica in corso...',
- success: 'Password cambiata con successo',
- failed: 'Modifica password fallita',
- },
- // Plate detection alert
- plateAlert: {
- title: 'Stampa in pausa!',
- message: 'Oggetti rilevati sul piatto. La stampa è stata messa automaticamente in pausa. Svuota il piatto e riprendi la stampa.',
- understand: 'Ho capito',
- },
- // Camera page
- camera: {
- title: 'Vista camera',
- invalidPrinterId: 'ID stampante non valido',
- live: 'Live',
- snapshot: 'Snapshot',
- restartStream: 'Riavvia stream',
- refreshSnapshot: 'Aggiorna snapshot',
- fullscreen: 'Schermo intero',
- exitFullscreen: 'Esci da schermo intero',
- connectingToCamera: 'Connessione alla camera...',
- capturingSnapshot: 'Acquisizione snapshot...',
- connectionLost: 'Connessione persa',
- connectionFailed: 'Connessione camera fallita',
- reconnecting: 'Riconnessione tra {{countdown}}s... (tentativo {{attempt}}/{{max}})',
- reconnectNow: 'Riconnetti ora',
- cameraUnavailable: 'Camera non disponibile',
- cameraUnavailableDesc: 'Assicurati che la stampante sia accesa e connessa.',
- noCamera: 'Nessuna camera disponibile',
- retry: 'Riprova',
- cameraStream: 'Stream camera',
- zoomOut: 'Zoom indietro',
- zoomIn: 'Zoom avanti',
- resetZoom: 'Reset zoom',
- recording: 'Registrazione',
- startRecording: 'Avvia registrazione',
- stopRecording: 'Ferma registrazione',
- chamberLight: 'Accendi/Spegni luce camera',
- },
- // Groups management
- groups: {
- title: 'Gestione gruppi',
- subtitle: 'Gestisci gruppi permessi per controllo accesso',
- backToSettings: 'Torna a Impostazioni',
- createGroup: 'Crea gruppo',
- noPermission: 'Non hai il permesso di accedere a questa pagina.',
- system: 'Sistema',
- noDescription: 'Nessuna descrizione',
- usersCount: '{{count}} utenti',
- permissionsCount: '{{count}} permessi',
- edit: 'Modifica',
- delete: 'Elimina',
- toast: {
- created: 'Gruppo creato con successo',
- updated: 'Gruppo aggiornato con successo',
- deleted: 'Gruppo eliminato con successo',
- enterGroupName: 'Inserisci un nome gruppo',
- },
- modal: {
- editGroup: 'Modifica gruppo',
- createGroup: 'Crea gruppo',
- cancel: 'Annulla',
- saving: 'Salvataggio...',
- creating: 'Creazione...',
- saveChanges: 'Salva modifiche',
- },
- form: {
- groupName: 'Nome gruppo',
- groupNamePlaceholder: 'Inserisci nome gruppo',
- systemGroupWarning: 'I nomi dei gruppi di sistema non possono essere modificati',
- description: 'Descrizione',
- descriptionPlaceholder: 'Inserisci descrizione (opzionale)',
- permissions: 'Permessi ({{count}} selezionati)',
- },
- deleteModal: {
- title: 'Elimina gruppo',
- message: 'Sei sicuro di voler eliminare questo gruppo? Gli utenti in questo gruppo perderanno questi permessi.',
- confirm: 'Elimina gruppo',
- },
- editor: {
- title: 'Modifica gruppo',
- createTitle: 'Crea gruppo',
- search: 'Cerca permessi...',
- selectAll: 'Seleziona tutto',
- clearAll: 'Deseleziona tutto',
- permissionsSelected: '{{count}} selezionati',
- noResults: 'Nessun permesso corrisponde alla ricerca',
- },
- },
- // Users management
- users: {
- title: 'Gestione utenti',
- subtitle: 'Gestisci utenti e accesso alla tua istanza Bambuddy',
- backToSettings: 'Torna a Impostazioni',
- createUser: 'Crea utente',
- noPermission: 'Non hai il permesso di accedere a questa pagina.',
- admin: 'Admin',
- noGroups: 'Nessun gruppo',
- active: 'Attivo',
- inactive: 'Inattivo',
- edit: 'Modifica',
- delete: 'Elimina',
- system: 'Sistema',
- noGroupsAvailable: 'Nessun gruppo disponibile',
- table: {
- username: 'Nome utente',
- groups: 'Gruppi',
- status: 'Stato',
- actions: 'Azioni',
- },
- toast: {
- created: 'Utente creato con successo',
- updated: 'Utente aggiornato con successo',
- deleted: 'Utente eliminato con successo',
- fillRequired: 'Compila tutti i campi obbligatori',
- passwordsDoNotMatch: 'Le password non coincidono',
- passwordTooShort: 'La password deve essere di almeno 6 caratteri',
- },
- modal: {
- createUser: 'Crea utente',
- editUser: 'Modifica utente',
- cancel: 'Annulla',
- creating: 'Creazione...',
- saving: 'Salvataggio...',
- saveChanges: 'Salva modifiche',
- advancedAuthSubtitle: 'con autenticazione avanzata',
- },
- form: {
- username: 'Nome utente',
- usernamePlaceholder: 'Inserisci nome utente',
- email: 'Email',
- emailPlaceholder: 'utente@esempio.com',
- 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',
- optional: 'opzionale',
- autoGeneratedPassword: 'Una password sicura verrà generata automaticamente e inviata via email all\'utente.',
- passwordManagedByAdvancedAuth: 'La password è gestita dall\'autenticazione avanzata. Usa "Reimposta password" per inviare una nuova password all\'utente via email.',
- resetPassword: 'Reimposta password',
- resettingPassword: 'Reimpostazione password...',
- },
- deleteModal: {
- title: 'Elimina utente',
- message: 'Sei sicuro di voler eliminare questo utente? Questa azione non può essere annullata.',
- confirm: 'Elimina utente',
- },
- },
- // Stream overlay
- streamOverlay: {
- title: 'Overlay stream',
- invalidPrinterId: 'ID stampante non valido',
- cameraStream: 'Stream camera',
- progress: 'Avanzamento',
- eta: 'ETA',
- printerIdle: 'Stampante inattiva',
- printerOffline: 'Stampante offline',
- status: {
- printing: 'In stampa',
- paused: 'In pausa',
- finished: 'Completata',
- failed: 'Fallita',
- idle: 'Inattiva',
- unknown: 'Sconosciuto',
- },
- },
- // Profiles
- profiles: {
- title: 'Profili',
- subtitle: 'Gestisci preset slicer e calibrazioni pressure advance',
- tabs: {
- cloud: 'Profili cloud',
- local: 'Profili locali',
- kprofiles: 'K-Profiles',
- },
- localProfiles: {
- title: 'Profili locali',
- subtitle: 'Importa e gestisci preset slicer da OrcaSlicer',
- import: 'Importa profili',
- importDesc: 'Trascina file .bbscfg, .bbsflmt, .orca_filament, .zip o .json qui',
- importing: 'Importazione...',
- search: 'Cerca preset locali...',
- noPresets: 'Nessun preset locale ancora',
- badge: 'Locale',
- edit: 'Modifica',
- delete: 'Elimina',
- cancel: 'Annulla',
- deleteConfirmTitle: 'Elimina preset',
- deleteConfirm: 'Sei sicuro di voler eliminare questo preset? Questa azione non può essere annullata.',
- source: 'Fonte',
- inheritsFrom: 'Eredita da',
- filamentType: 'Tipo',
- vendor: 'Produttore',
- compatiblePrinters: 'Stampanti',
- nozzleTemp: 'Temp. ugello',
- cost: 'Costo',
- density: 'Densità',
- pressureAdvance: 'Pressure Advance',
- filament: 'Filamento',
- process: 'Processo',
- printer: 'Stampante',
- toast: {
- importSuccess: '{{count}} preset importati',
- importSkipped: '{{count}} preset saltati (duplicati)',
- importError: '{{count}} errori durante l\'importazione',
- deleted: 'Preset eliminato',
- updated: 'Preset aggiornato',
- },
- },
- connectedAs: 'Connesso come',
- logout: 'Esci',
- noLogoutPermission: 'Non hai il permesso di disconnetterti',
- failedToLoad: 'Caricamento profili fallito',
- retry: 'Riprova',
- time: {
- justNow: 'Proprio ora',
- minsAgo: '{{count}}m fa',
- hoursAgo: '{{count}}h fa',
- daysAgo: '{{count}}g fa',
- },
- toast: {
- loggedOut: 'Disconnesso',
- },
- login: {
- title: 'Connetti a Bambu Cloud',
- subtitle: 'Sincronizza i preset del slicer tra dispositivi',
- email: 'Email',
- password: 'Password',
- region: 'Regione',
- regionGlobal: 'Globale',
- regionChina: 'Cina',
- verificationCode: 'Codice di verifica',
- totpCode: 'Codice autenticatore',
- checkEmail: 'Controlla la tua email ({{email}}) per un codice a 6 cifre',
- enterTotpHint: 'Inserisci il codice a 6 cifre dalla tua app autenticatore',
- accessToken: 'Access Token',
- accessTokenHint: 'Incolla il tuo access token Bambu Lab (da Bambu Studio)',
- back: 'Indietro',
- loginButton: 'Accedi',
- verifyButton: 'Verifica',
- setTokenButton: 'Imposta token',
- useToken: 'Usa access token invece',
- useEmail: 'Accedi con email invece',
- toast: {
- loggedIn: 'Accesso riuscito',
- codeSent: 'Codice di verifica inviato via email',
- enterTotp: 'Inserisci il codice dalla tua app autenticatore',
- tokenSet: 'Token impostato con successo',
- },
- },
- presets: {
- myPreset: 'Il mio preset (modificabile)',
- duplicate: 'Duplica',
- editable: 'Modificabile',
- failedToLoadDetails: 'Caricamento dettagli preset fallito',
- deleteConfirm: 'Eliminare questo preset?',
- deleteWarning: 'Questo eliminerà definitivamente "{{name}}" da Bambu Cloud. Questa azione non può essere annullata.',
- noDuplicatePermission: 'Non hai il permesso di duplicare preset',
- noEditPermission: 'Non hai il permesso di modificare preset',
- noDeletePermission: 'Non hai il permesso di eliminare preset',
- types: {
- filament: 'Preset filamento',
- printer: 'Preset stampante',
- process: 'Preset processo',
- },
- toast: {
- deleted: 'Preset eliminato',
- created: 'Preset creato',
- updated: 'Preset aggiornato',
- duplicated: 'Preset duplicato',
- fieldAdded: 'Campo "{{key}}" aggiunto',
- exported: 'Preset esportato',
- },
- baseLabel: 'Base: {{name}}',
- currentLabel: 'Corrente: {{name}}',
- newPreset: 'Nuovo preset',
- editPreset: 'Modifica preset',
- duplicatePreset: 'Duplica preset',
- createNewPreset: 'Crea nuovo preset',
- customizeSettings: 'Personalizza le impostazioni per il nuovo preset',
- compareWithBase: 'Confronta con base',
- compare: 'Confronta',
- // CreatePresetModal - Basic Info
- basePreset: 'Preset base',
- selectBasePreset: 'Seleziona preset base...',
- presetName: 'Nome preset',
- myCustomPreset: 'Il mio preset personalizzato',
- inheritsFrom: 'Deriva da',
- dropJsonToImport: 'Rilascia JSON per importare',
- // CreatePresetModal - Tabs
- tabs: {
- common: 'Comune',
- allFields: 'Tutti i campi',
- },
- // CreatePresetModal - All Fields Tab
- availableFields: 'Campi disponibili',
- searchFieldsPlaceholder: 'Cerca campi...',
- noMatchingFields: 'Nessun campo corrispondente',
- allFieldsAdded: 'Tutti i campi aggiunti',
- addCustomField: 'Aggiungi campo personalizzato',
- yourOverrides: 'Le tue override',
- noOverridesYet: 'Nessun override ancora',
- clickFieldsToAdd: 'Clicca i campi a sinistra per aggiungerli',
- saveAsTemplate: 'Salva come template',
- jsonTip: 'Suggerimento: trascina e rilascia un file .json ovunque in questa modale per importare impostazioni',
- },
- cloudView: {
- searchPlaceholder: 'Cerca preset...',
- templates: 'Template',
- refresh: 'Aggiorna',
- newPreset: 'Nuovo preset',
- clearFilters: 'Pulisci filtri',
- // Compare mode
- compareMode: 'Modalita confronto',
- selectAnotherPreset: 'Seleziona un altro preset {{type}}',
- clickTwoPresets: 'Clicca due preset dello stesso tipo per confrontare',
- selectFirst: '1. Seleziona il primo',
- selectSecond: '2. Seleziona il secondo',
- compareNow: 'Confronta ora',
- // Status row
- lastSynced: 'Ultima sincronizzazione:',
- showingCount: 'Mostrati {{showing}} di {{total}} preset',
- noPresetsFound: 'Nessun preset trovato',
- // Column headers
- columns: {
- filament: 'Filamento',
- process: 'Processo',
- printer: 'Stampante',
- },
- noFilamentPresets: 'Nessun preset filamento',
- noProcessPresets: 'Nessun preset processo',
- noPrinterPresets: 'Nessun preset stampante',
- // Filters
- filters: {
- type: 'Tipo',
- owner: 'Proprietario',
- printer: 'Stampante',
- nozzle: 'Ugello',
- filament: 'Filamento',
- layer: 'Layer',
- all: 'Tutti',
- myPresets: 'I miei preset',
- builtIn: 'Integrati',
- process: 'Processo',
- },
- // Permissions
- noTemplatesPermission: 'Non hai il permesso di gestire i template',
- noRefreshPermission: 'Non hai il permesso di aggiornare i profili',
- noCreatePermission: 'Non hai il permesso di creare preset',
- },
- templates: {
- title: 'Template rapidi',
- noTemplates: 'Nessun template ancora',
- createFirst: 'Crea template dall\'editor preset',
- typeFilter: 'Tipo:',
- deleteTitle: 'Elimina template',
- deleteWarning: 'Questa azione non può essere annullata',
- deleteConfirm: 'Sei sicuro di voler eliminare "{{name}}"?',
- namePlaceholder: 'Nome template',
- descriptionPlaceholder: 'Descrizione',
- settingsJson: 'Impostazioni (JSON)',
- fieldsCount: '{{count}} campi',
- shownInModals: 'Mostrati nelle modali',
- hiddenInModals: 'Nascosti nelle modali',
- apply: 'Applica',
- toast: {
- deleted: 'Template eliminato',
- updated: 'Template aggiornato',
- created: 'Template creato',
- applied: 'Template applicato',
- },
- },
- },
- // Support/Debug
- support: {
- debugLoggingActive: 'Log debug attivo',
- manageLogs: 'Gestisci',
- collectItem7: 'Connettività stampante e versioni firmware',
- collectItem8: 'Stato integrazioni (Spoolman, MQTT, HA)',
- collectItem9: 'Interfacce di rete (solo subnet)',
- collectItem10: 'Versioni dei pacchetti Python',
- collectItem11: 'Controlli di integrità del database',
- collectItem12: 'Dettagli dell\'ambiente Docker',
- },
- // File manager
- fileManager: {
- title: 'Gestore file',
- subtitle: 'Organizza e gestisci i tuoi file di stampa',
- uploadFiles: 'Carica file',
- newFolder: 'Nuova cartella',
- folderName: 'Nome cartella',
- folderNamePlaceholder: 'es., Parti funzionali',
- renameFile: 'Rinomina file',
- renameFolder: 'Rinomina cartella',
- moveFiles: 'Sposta {{count}} file',
- rootNoFolder: 'Root (nessuna cartella)',
- current: 'corrente',
- linkFolder: 'Collega cartella',
- linkFolderDescription: 'Collega "{{name}}" a un progetto o archivio per accesso rapido.',
- project: 'Progetto',
- archive: 'Archivio',
- noProjectsFound: 'Nessun progetto trovato',
- noArchivesFound: 'Nessun archivio trovato',
- unlink: 'Scollega',
- link: 'Collega',
- dragDropFiles: 'Trascina e rilascia file qui',
- dropFilesHere: 'Rilascia file qui',
- orClickToBrowse: 'oppure clicca per sfogliare',
- allFileTypesSupported: 'Tutti i tipi di file supportati. I file ZIP saranno estratti.',
- zipFilesDetected: 'File ZIP rilevati',
- zipExtractOptions: 'I file ZIP saranno estratti. Scegli come gestire la struttura cartelle:',
- preserveZipStructure: 'Mantieni struttura cartelle dal ZIP',
- createFolderFromZip: 'Crea cartella dal nome ZIP',
- stlThumbnailGeneration: 'Generazione miniature STL',
- zipMayContainStl: 'I file ZIP possono contenere STL. Le miniature possono essere generate durante l\'estrazione.',
- thumbnailsCanBeGenerated: 'Le miniature possono essere generate per file STL. I modelli grandi possono richiedere più tempo.',
- generateThumbnailsForStl: 'Genera miniature per file STL',
- threemfDetected: 'File 3MF rilevati',
- threemfExtractionInfo: 'Modello stampante, materiale, colore e impostazioni stampa saranno estratti automaticamente dai file 3MF.',
- willBeExtracted: 'Sara estratto',
- filesExtracted: '{{count}} file estratti',
- uploadComplete: 'Caricamento completato: {{succeeded}} riusciti',
- uploadFailed: 'Caricamento fallito',
- zipFilesFailed: '{{count}} file falliti',
- uploading: 'Caricamento...',
- changeLink: 'Cambia collegamento...',
- linkTo: 'Collega a...',
- linkToProjectOrArchive: 'Collega a progetto o archivio',
- addToQueue: 'Aggiungi alla coda',
- schedulePrint: 'Pianifica',
- generateThumbnail: 'Genera miniatura',
- generateThumbnails: 'Genera miniature',
- generateThumbnailsForMissing: 'Genera miniature per STL senza miniatura',
- gridView: 'Vista griglia',
- listView: 'Vista elenco',
- lowDiskSpaceWarning: 'Avviso spazio disco basso',
- lowDiskSpaceDetails: 'Solo {{free}} liberi su {{total}} totali. La soglia e {{threshold}} GB nelle impostazioni.',
- files: 'File',
- folders: 'Cartelle',
- size: 'Dimensione',
- free: 'Libero',
- allFiles: 'Tutti i file',
- wrap: 'A capo',
- enableTextWrapping: 'Abilita a capo testo',
- disableTextWrapping: 'Disabilita a capo testo',
- dragToResizeTooltip: 'Trascina per ridimensionare, doppio clic per reset',
- searchFiles: 'Cerca file...',
- allTypes: 'Tutti i tipi',
- prints: 'Stampe',
- ascending: 'Crescente',
- descending: 'Decrescente',
- resultsCount: '{{showing}} di {{total}} file',
- selectAll: 'Seleziona tutto',
- deselectAll: 'Deseleziona tutto',
- selected: '{{count}} selezionati',
- adding: 'Aggiunta...',
- loadingFiles: 'Caricamento file...',
- folderIsEmpty: 'La cartella e vuota',
- noFilesYet: 'Nessun file ancora',
- folderEmptyDescription: 'Carica file o sposta file in questa cartella per iniziare.',
- noFilesDescription: 'Carica file per iniziare a organizzare i file di stampa.',
- noMatchingFiles: 'Nessun file corrispondente',
- noMatchingFilesDescription: 'Nessun file corrisponde ai criteri di ricerca o filtro.',
- clearFilters: 'Pulisci filtri',
- printedCount: 'Stampato {{count}}x',
- uploadedBy: 'Caricato da',
- deleteFolder: 'Elimina cartella',
- deleteFile: 'Elimina file',
- deleteFilesCount: 'Elimina {{count}} file',
- deleteFolderConfirm: 'Sei sicuro di voler eliminare questa cartella? Tutti i file dentro saranno eliminati.',
- deleteFileConfirm: 'Sei sicuro di voler eliminare questo file?',
- deleteFilesConfirm: 'Sei sicuro di voler eliminare {{count}} file selezionati? Questa azione non può essere annullata.',
- deleting: 'Eliminazione...',
- noPermissionRenameFolder: 'Non hai il permesso di rinominare cartelle',
- noPermissionLinkFolder: 'Non hai il permesso di collegare cartelle',
- noPermissionDeleteFolder: 'Non hai il permesso di eliminare cartelle',
- noPermissionPrint: 'Non hai il permesso di stampare',
- noPermissionAddToQueue: 'Non hai il permesso di aggiungere alla coda',
- noPermissionDownload: 'Non hai il permesso di scaricare file',
- noPermissionRenameFile: 'Non hai il permesso di rinominare questo file',
- noPermissionGenerateThumbnail: 'Non hai il permesso di generare miniature',
- noPermissionDeleteFile: 'Non hai il permesso di eliminare questo file',
- noPermissionCreateFolder: 'Non hai il permesso di creare cartelle',
- noPermissionUpload: 'Non hai il permesso di caricare file',
- noPermissionMoveFiles: 'Non hai il permesso di spostare file',
- noPermissionDeleteFiles: 'Non hai il permesso di eliminare file',
- toast: {
- folderCreated: 'Cartella creata',
- folderDeleted: 'Cartella eliminata',
- fileDeleted: 'File eliminato',
- filesDeleted: 'Eliminati {{count}} file',
- filesMoved: 'File spostati',
- folderLinked: 'Cartella collegata',
- folderUnlinked: 'Cartella scollegata',
- addedToQueue: 'Aggiunti {{count}} file alla coda',
- addedToQueuePartial: 'Aggiunti {{added}} file, {{failed}} falliti',
- failedToAddToQueue: 'Aggiunta file fallita: {{error}}',
- fileRenamed: 'File rinominato',
- folderRenamed: 'Cartella rinominata',
- thumbnailsGenerated: 'Generate {{count}} miniature',
- thumbnailsGeneratedPartial: 'Generate {{succeeded}} miniature, {{failed}} fallite',
- noStlMissingThumbnails: 'Nessun file STL senza miniature',
- failedToGenerateThumbnails: 'Generazione miniature fallita: {{error}}',
- thumbnailGenerated: 'Miniatura generata',
- failedToGenerateThumbnail: 'Generazione miniatura fallita: {{error}}',
- },
- },
- // Projects
- projects: {
- title: 'Progetti',
- subtitle: 'Organizza e traccia i tuoi progetti di stampa 3D',
- newProject: 'Nuovo progetto',
- editProject: 'Modifica progetto',
- deleteProject: 'Elimina progetto',
- projectName: 'Nome progetto',
- description: 'Descrizione',
- noProjects: 'Nessun progetto ancora',
- noProjectsFiltered: 'Nessun progetto {{status}}',
- noProjectsFilteredHelp: 'Non hai progetti {{status}}. I progetti appariranno qui quando il loro stato cambia.',
- createFirst: 'Crea il tuo primo progetto per organizzare stampe correlate, tracciare progressi e gestire i tuoi build.',
- createFirstButton: 'Crea il tuo primo progetto',
- create: 'Crea',
- files: 'File',
- prints: 'Stampe',
- plates: 'piatti',
- parts: 'parti',
- lastModified: 'Ultima modifica',
- deleteConfirm: 'Sei sicuro di voler eliminare questo progetto? Archivi e elementi in coda saranno scollegati ma non eliminati.',
- addFiles: 'Aggiungi file',
- removeFile: 'Rimuovi file',
- viewDetails: 'Vedi dettagli',
- // Modal fields
- namePlaceholder: 'es., Build Voron 2.4',
- descriptionPlaceholder: 'Descrizione opzionale...',
- color: 'Colore',
- targetPlates: 'Piatti target',
- targetPlatesPlaceholder: 'es., 25',
- targetPlatesHelp: 'Numero di job di stampa',
- targetParts: 'Parti target',
- targetPartsPlaceholder: 'es., 150',
- targetPartsHelp: 'Totale oggetti necessari',
- tagsLabel: 'Tag (separati da virgola)',
- tagsPlaceholder: 'es., voron, funzionale, regalo',
- dueDate: 'Data scadenza',
- priority: 'Priorita',
- priorityLow: 'Bassa',
- priorityNormal: 'Normale',
- priorityHigh: 'Alta',
- priorityUrgent: 'Urgente',
- // Status
- statusActive: 'Attivo',
- statusCompleted: 'Completato',
- statusArchived: 'Archiviato',
- done: 'Fatto',
- completed: 'completato',
- failed: 'fallito',
- inQueue: 'in coda',
- noPrintsYet: 'Nessuna stampa ancora',
- // Footer stats
- printJobs: 'Job di stampa (piatti)',
- partsPrinted: 'Parti stampate',
- failedParts: 'Parti fallite',
- // Actions
- import: 'Importa',
- export: 'Esporta',
- importProject: 'Importa progetto',
- exportAll: 'Esporta tutti i progetti',
- loading: 'Caricamento progetti...',
- // Permissions
- noEditPermission: 'Non hai il permesso di modificare progetti',
- noDeletePermission: 'Non hai il permesso di eliminare progetti',
- noCreatePermission: 'Non hai il permesso di creare progetti',
- noImportPermission: 'Non hai il permesso di importare progetti',
- noExportPermission: 'Non hai il permesso di esportare progetti',
- // Toast
- toast: {
- created: 'Progetto creato',
- updated: 'Progetto aggiornato',
- deleted: 'Progetto eliminato',
- imported: 'Progetto importato',
- multipleImported: '{{count}} progetti importati',
- importFailed: 'Import fallito',
- exported: 'Progetti esportati (solo metadati)',
- },
- },
- // Project detail page
- projectDetail: {
- notFound: 'Progetto non trovato',
- backToProjects: 'Torna a Progetti',
- export: 'Esporta',
- exportProject: 'Esporta progetto',
- noExportPermission: 'Non hai il permesso di esportare progetti',
- noEditPermission: 'Non hai il permesso di modificare progetti',
- partOf: 'Parte di:',
- priorityLabel: 'Priorita:',
- noPrints: 'Nessuna stampa in questo progetto ancora',
- status: {
- active: 'Attivo',
- completed: 'Completato',
- archived: 'Archiviato',
- },
- priority: {
- low: 'Bassa',
- normal: 'Normale',
- high: 'Alta',
- urgent: 'Urgente',
- },
- dueDate: {
- overdue: 'Scaduto',
- today: 'Scade oggi',
- daysLeft: '{{count}} giorni rimanenti',
- },
- progress: {
- platesProgress: 'Avanzamento piatti',
- partsProgress: 'Avanzamento parti',
- printJobs: 'job di stampa',
- parts: 'parti',
- percentComplete: '{{percent}}% completato',
- remaining: '{{count}} rimanenti',
- },
- stats: {
- printJobs: 'Job di stampa',
- total: 'totale',
- failed: '{{count}} falliti',
- partsPrinted: '{{count}} parti stampate',
- printTime: 'Tempo di stampa',
- filamentUsed: 'Filamento usato',
- },
- cost: {
- title: 'Tracciamento costi',
- filamentCost: 'Costo filamento',
- energy: 'Energia',
- budget: 'Budget',
- remaining: 'Rimanente',
- },
- subProjects: {
- title: 'Sotto-progetti ({{count}})',
- },
- notes: {
- title: 'Note',
- noEditPermission: 'Non hai il permesso di modificare le note',
- placeholder: 'Aggiungi note su questo progetto...',
- empty: 'Nessuna nota ancora. Clicca Modifica per aggiungere note.',
- },
- files: {
- title: 'File',
- linkFolders: 'Collega cartelle dal Gestore file',
- forQuickAccess: 'a questo progetto per accesso rapido.',
- fileCount: '{{count}} file',
- empty: 'Nessuna cartella collegata. Vai a Gestore file e collega una cartella a questo progetto.',
- },
- bom: {
- title: 'Distinta materiali',
- acquired: '{{completed}}/{{total}} acquisiti',
- showAll: 'Mostra tutti',
- hideDone: 'Nascondi completati',
- addPart: 'Aggiungi parte',
- noAddPermission: 'Non hai il permesso di aggiungere parti',
- partNamePlaceholder: 'Nome parte (es., viti M3x8)',
- partName: 'Nome parte',
- qty: 'Qta',
- price: 'Prezzo ({{currency}})',
- sourcingUrlPlaceholder: 'URL fornitura (opzionale)',
- remarksPlaceholder: 'Note (opzionale)',
- deletePart: 'Elimina parte',
- deleteConfirm: 'Sei sicuro di voler eliminare "{{name}}"?',
- noUpdatePermission: 'Non hai il permesso di aggiornare parti',
- noEditPermission: 'Non hai il permesso di modificare parti',
- noDeletePermission: 'Non hai il permesso di eliminare parti',
- totalCost: 'Costo totale:',
- empty: 'Nessuna parte nella distinta materiali. Aggiungi hardware, elettronica o altri componenti da reperire.',
- },
- timeline: {
- title: 'Timeline attivita',
- empty: 'Nessuna attivita ancora.',
- },
- template: {
- saveAsTemplate: 'Salva come template',
- noCreatePermission: 'Non hai il permesso di creare template',
- },
- queue: {
- title: 'Coda',
- viewAll: 'Vedi tutto',
- printing: '{{count}} in stampa',
- queued: '{{count}} in coda',
- },
- prints: {
- title: 'Stampe ({{count}})',
- },
- toast: {
- projectUpdated: 'Progetto aggiornato',
- partAdded: 'Parte aggiunta',
- partRemoved: 'Parte rimossa',
- exportFailed: 'Export fallito',
- projectExported: 'Progetto esportato',
- templateCreated: 'Template creato',
- },
- },
- // System info
- system: {
- title: 'Informazioni sistema',
- version: 'Versione',
- uptime: 'Tempo attivo',
- cpuUsage: 'Uso CPU',
- memoryUsage: 'Uso memoria',
- diskUsage: 'Uso disco',
- networkInfo: 'Info rete',
- logs: 'Log',
- debugMode: 'Modalita debug',
- enableDebug: 'Abilita log debug',
- disableDebug: 'Disabilita log debug',
- downloadLogs: 'Scarica log',
- clearLogs: 'Cancella log',
- dockerInfo: 'Info Docker',
- containerName: 'Nome container',
- imageName: 'Nome immagine',
- platform: 'Piattaforma',
- architecture: 'Architettura',
- },
- // Library (K Profiles)
- library: {
- title: 'Libreria filamenti',
- addFilament: 'Aggiungi filamento',
- editFilament: 'Modifica filamento',
- deleteFilament: 'Elimina filamento',
- vendor: 'Produttore',
- material: 'Materiale',
- color: 'Colore',
- kFactor: 'K Factor',
- temperature: 'Temperatura',
- noFilaments: 'Nessun filamento in libreria',
- deleteConfirm: 'Sei sicuro di voler eliminare questo filamento?',
- importFromPrinter: 'Importa da stampante',
- exportToFile: 'Esporta su file',
- },
- // Spoolman
- spoolman: {
- title: 'Integrazione Spoolman',
- enabled: 'Spoolman abilitato',
- url: 'URL Spoolman',
- connected: 'Connesso',
- disconnected: 'Non connesso',
- testConnection: 'Testa connessione',
- sync: 'Sincronizza',
- syncing: 'Sincronizzazione...',
- lastSync: 'Ultima sincronizzazione',
- linkToSpoolman: 'Collega a Spoolman',
- openInSpoolman: 'Apri in Spoolman',
- unlinkSpool: 'Scollega bobina',
- selectSpool: 'Seleziona bobina',
- noUnlinkedSpools: 'Nessuna bobina scollegata disponibile',
- linkSuccess: 'Bobina collegata a Spoolman con successo',
- linkFailed: 'Collegamento bobina fallito',
- spoolId: 'ID bobina',
- fillSourceLabel: '(Spoolman)',
- weight: 'Peso',
- remaining: 'Rimanente',
- disableWeightSync: 'Disabilita sync peso stimato AMS',
- disableWeightSyncDesc: 'Non aggiornare la capacità rimanente dalle stime AMS. Usalo se preferisci il tracciamento di Spoolman rispetto alle stime AMS. Le nuove bobine useranno comunque la stima AMS come peso iniziale.',
- reportPartialUsage: 'Segnala uso parziale per stampe fallite',
- reportPartialUsageDesc: 'Quando una stampa fallisce o viene annullata, segnala il filamento stimato usato fino a quel punto in base all\'avanzamento layer.',
- },
- // Inventory
- inventory: {
- title: 'Inventario Bobine',
- addSpool: 'Aggiungi Bobina',
- editSpool: 'Modifica Bobina',
- material: 'Materiale',
- selectMaterial: 'Seleziona materiale...',
- subtype: 'Sottotipo',
- brand: 'Marchio',
- searchBrand: 'Cerca marchio...',
- useCustomBrand: 'Usa "{{brand}}"',
- useCustomMaterial: 'Usa materiale personalizzato: {{material}}',
- colorName: 'Nome Colore',
- colorNamePlaceholder: 'Jade White, Fire Red...',
- color: 'Colore',
- hexColor: 'Colore Hex',
- pickColor: 'Scegli colore personalizzato',
- labelWeight: 'Peso da Etichetta',
- coreWeight: 'Peso Bobina Vuota',
- searchSpoolWeight: 'Cerca peso bobina...',
- weightUsed: 'Utilizzato',
- currentWeight: 'Peso Rimanente',
- measuredWeight: 'Peso Misurato',
- costPerKg: 'Costo per kg',
- measuredWeightError: 'Il peso misurato deve essere compreso tra {{min}}g e {{max}}g.',
- slicerFilament: 'Filamento Slicer',
- slicerFilamentName: 'Nome Preset Slicer',
- slicerPreset: 'Preset Slicer',
- searchPresets: 'Cerca preset filamento...',
- selectedPreset: 'Selezionato',
- noPresetsFound: 'Nessun preset trovato',
- tempOverrides: 'Override Temperatura',
- note: 'Nota',
- notePlaceholder: 'Eventuali note aggiuntive su questa bobina...',
- archive: 'Archivia',
- restore: 'Ripristina',
- noSpools: 'Ancora nessuna bobina. Aggiungi la tua prima bobina per iniziare.',
- noManualSpools: 'Nessuna bobina aggiunta manualmente disponibile. Aggiungi prima una bobina al tuo inventario.',
- kProfiles: 'K-Profiles',
- addKProfile: 'Aggiungi K-Profile',
- assignSpool: 'Assegna Bobina',
- unassignSpool: 'Scollega',
- assignSuccess: 'Bobina assegnata e slot AMS configurato',
- assignFailed: 'Assegnazione bobina fallita',
- selectSpool: 'Seleziona una bobina da assegnare a questo slot',
- assigned: 'Assegnato',
- assigning: 'Assegnazione...',
- searchSpools: 'Cerca bobine...',
- allMaterials: 'Tutti i Materiali',
- filterByBrand: 'Filtra per marchio...',
- showArchived: 'Mostra archiviate',
- quickAdd: 'Aggiunta rapida (Scorta)',
- quantity: 'Quantità',
- stock: 'Scorta',
- configured: 'Configurata',
- spoolsCreated: '{{count}} bobine create',
- spoolCreated: 'Bobina creata',
- spoolUpdated: 'Bobina aggiornata',
- spoolDeleted: 'Bobina eliminata',
- spoolArchived: 'Bobina archiviata',
- spoolRestored: 'Bobina ripristinata',
- deleteConfirm: 'Sei sicuro di voler eliminare questa bobina? Questa azione non può essere annullata.',
- archiveConfirm: 'Sei sicuro di voler archiviare questa bobina?',
- advancedSettings: 'Impostazioni Avanzate',
- // Tabs
- filamentInfoTab: 'Info filamento',
- paProfileTab: 'Profilo PA',
- filamentInfo: 'Filamento',
- additional: 'Aggiuntivo',
- // Cloud
- loadingPresets: 'Caricamento preset cloud...',
- cloudConnected: 'Cloud connesso',
- cloudNotConnected: 'Cloud non connesso (valori predefiniti)',
- // Colors
- recentColors: 'Recenti',
- searchColors: 'Cerca colori...',
- searchResults: 'Risultati della ricerca',
- allColors: 'Tutti i colori',
- commonColors: 'Colori comuni',
- showLess: 'Mostra meno',
- showAll: 'Mostra tutto',
- noColorsFound: 'Nessun colore corrisponde alla ricerca',
- noResults: 'Nessun risultato trovato',
- // PA Profiles
- selectMaterialFirst: 'Selezionare prima un materiale nella scheda Info filamento.',
- noPrintersConfigured: 'Nessuna stampante configurata. Aggiungi stampanti per usare i profili PA.',
- matchingFilter: 'Corrispondenti',
- anyBrand: 'Qualsiasi marca',
- anyVariant: 'Qualsiasi variante',
- autoSelect: 'Selezione automatica',
- matches: 'corrispondenze',
- match: 'corrispondenza',
- noMatches: 'Nessuna corrispondenza',
- connected: 'Connessa',
- offline: 'Offline',
- printerOffline: 'La stampante è offline. Connetti per visualizzare i profili di calibrazione.',
- noKProfilesMatch: 'Nessun profilo K corrisponde al filamento selezionato.',
- leftNozzle: 'Ugello sinistro',
- rightNozzle: 'Ugello destro',
- profilesSelected: 'profili di calibrazione selezionati',
- // Stats & enhanced table
- totalInventory: 'Inventario totale',
- totalConsumed: 'Totale consumato',
- byMaterial: 'Per materiale',
- inPrinter: 'In stampante',
- lowStock: 'Scorta bassa',
- sinceTracking: 'Dall\'inizio del tracciamento',
- loadedInAms: 'Caricato in AMS/Est',
- remaining: 'Rimanente',
- weightCheck: 'Controllo Peso',
- lastWeighed: 'Ultima pesatura',
- neverWeighed: 'Mai pesato',
- search: 'Cerca bobine...',
- showing: 'Visualizzazione',
- to: 'a',
- of: 'di',
- show: 'Mostra',
- spools: 'bobine',
- spool: 'bobina',
- page: 'Pagina',
- noSpoolsMatch: 'Nessun risultato trovato',
- noSpoolsMatchDesc: 'Prova a modificare la ricerca o i filtri per trovare quello che cerchi.',
- active: 'Attive',
- archived: 'Archiviate',
- all: 'Tutte',
- used: 'Usato',
- new: 'Nuovo',
- clearFilters: 'Cancella filtri',
- table: 'Tabella',
- cards: 'Schede',
- net: 'Netto',
- // Grouping
- groupSimilar: 'Raggruppa',
- groupedSpools: '{{count}} bobine identiche',
- groupedRows: 'righe',
- // Column config
- columns: 'Colonne',
- configureColumns: 'Configura colonne',
- configureColumnsDesc: 'Trascina per riordinare le colonne o usa le frecce. Attiva/disattiva la visibilità con l\'icona dell\'occhio.',
- visible: 'visibili',
- reset: 'Ripristina',
- cancel: 'Annulla',
- applyChanges: 'Applica modifiche',
- moveUp: 'Sposta su',
- moveDown: 'Sposta giù',
- hideColumn: 'Nascondi colonna',
- showColumn: 'Mostra colonna',
- // Tag linking
- linkToSpool: 'Collega a bobina',
- tagLinked: 'Tag collegato alla bobina',
- tagLinkFailed: 'Impossibile collegare il tag',
- tagAlreadyLinked: 'Tag già collegato a un\'altra bobina',
- unknownTag: 'Tag RFID sconosciuto rilevato',
- // Usage history
- usageHistory: 'Cronologia utilizzo',
- noUsageHistory: 'Nessun utilizzo registrato',
- printName: 'Nome stampa',
- weightConsumed: 'Peso consumato',
- clearHistory: 'Cancella',
- historyCleared: 'Cronologia utilizzo cancellata',
- fillSourceLabel: '(Inv)',
- lowStockThresholdError: 'La soglia deve essere tra 0.1 e 99.9',
- },
- // Timelapse
- timelapse: {
- title: 'Timelapse',
- create: 'Crea timelapse',
- download: 'Scarica',
- delete: 'Elimina',
- preview: 'Anteprima',
- frameRate: 'Frame rate',
- quality: 'Qualità',
- processing: 'Elaborazione...',
- noTimelapses: 'Nessun timelapse disponibile',
- },
- // AMS
- ams: {
- title: 'AMS',
- slot: 'Slot',
- empty: 'Vuoto',
- emptySlot: 'Slot vuoto',
- unknown: 'Sconosciuto',
- humidity: 'Umidità',
- temperature: 'Temperatura',
- filamentType: 'Tipo filamento',
- filamentColor: 'Colore',
- remaining: 'Rimanente',
- history: 'Cronologia AMS',
- noHistory: 'Nessuna cronologia disponibile',
- configureSlot: 'Configura slot',
- externalSpool: 'Bobina esterna',
- profile: 'Profilo',
- kFactor: 'K Factor',
- fill: 'Livello',
- configure: 'Configura',
- used: 'utilizzato',
- remainingUnit: 'rimanente',
- },
- // Print modal
- printModal: {
- title: 'Avvia stampa',
- selectPrinter: 'Seleziona stampante',
- selectPlate: 'Seleziona piatto',
- filamentMapping: 'Mappatura filamento',
- totalCost: 'Costo totale:',
- slotRemainingShort: ' - {{grams}}g rim.',
- printSettings: 'Impostazioni stampa',
- bedLeveling: 'Livellamento piatto',
- flowCalibration: 'Calibrazione flusso',
- vibrationCalibration: 'Calibrazione vibrazioni',
- layerInspection: 'Ispezione primo layer',
- timelapse: 'Timelapse',
- startPrint: 'Avvia stampa',
- addToQueue: 'Aggiungi alla coda',
- cancel: 'Annulla',
- noPrintersAvailable: 'Nessuna stampante disponibile',
- printerBusy: 'Stampante occupata',
- printerOffline: 'Stampante offline',
- sameTypeDifferentColor: 'Stesso tipo, colore diverso',
- filamentTypeNotLoaded: 'Tipo di filamento non caricato',
- openCalendar: 'Apri calendario',
- leftNozzle: 'L',
- rightNozzle: 'R',
- leftNozzleTooltip: 'Ugello sinistro',
- rightNozzleTooltip: 'Ugello destro',
- filamentOverride: 'Sostituzione filamento',
- filamentOverrideHint: 'Sostituisci opzionalmente i filamenti per l\'assegnazione basata sul modello. Lo scheduler abbinerà i filamenti selezionati invece dei valori 3MF originali.',
- originalFilament: 'Originale',
- overrideWith: 'Sostituisci con',
- resetToOriginal: 'Ripristina originale',
- forceColorMatch: 'Corrispondenza colore forzata',
- },
- // 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',
- // GitHub Backup
- githubBackup: 'Backup GitHub',
- enabled: 'Abilitato',
- cloudLoginRequired: 'Accesso Bambu Cloud richiesto. Accedi in Profili → Profili Cloud per abilitare il backup GitHub.',
- cloudLoginRequiredShort: 'Accesso Cloud richiesto',
- githubDescription: 'Sincronizza automaticamente i tuoi profili con un repository GitHub privato per backup e cronologia delle versioni.',
- repositoryUrl: 'URL del repository',
- personalAccessToken: 'Token di accesso personale',
- tokenSaved: '(salvato)',
- enterNewToken: 'Inserisci un nuovo token per aggiornare',
- tokenHint: 'Token a grana fine con permesso di lettura/scrittura dei contenuti',
- branch: 'Branch',
- manualOnly: 'Solo manuale',
- hourly: 'Ogni ora',
- daily: 'Giornaliero',
- weekly: 'Settimanale',
- includeInBackup: 'Includi nel backup',
- kProfiles: 'K-Profili',
- kProfilesDescription: 'Calibrazione dell\'avanzamento pressione dalle stampanti connesse',
- noPrintersConnected: 'Nessuna stampante connessa',
- printersConnected: '{{connected}}/{{total}} connesse',
- cloudProfiles: 'Profili Cloud',
- cloudProfilesDescription: 'Preset di filamento, stampante e processo da Bambu Cloud',
- appSettings: 'Impostazioni App',
- appSettingsDescription: 'Configurazione Bambuddy (database completo)',
- lastBackupAt: 'Ultimo backup:',
- noBackupsYet: 'Nessun backup ancora',
- next: 'Prossimo:',
- startingBackup: 'Avvio del backup...',
- test: 'Test',
- enableBackup: 'Abilita backup',
- testConnection: 'Testa connessione',
- enterRepoUrl: 'Inserisci l\'URL del repository',
- enterRepoAndToken: 'Inserisci l\'URL del repository e il token di accesso',
- repoRequired: 'L\'URL del repository è obbligatorio',
- tokenRequired: 'Il token di accesso è obbligatorio',
- githubBackupEnabled: 'Backup GitHub abilitato',
- tokenUpdated: 'Token aggiornato',
- settingsSaved: 'Impostazioni salvate',
- failedToSave: 'Salvataggio fallito: {{message}}',
- backupCompleteFiles: 'Backup completato - {{count}} file aggiornati',
- backupSkippedNoChanges: 'Backup saltato - nessuna modifica',
- backupFailed2: 'Backup fallito: {{message}}',
- clearedLogs: '{{count}} log eliminati',
- failedToClearLogs: 'Eliminazione log fallita: {{message}}',
- // History
- history: 'Cronologia',
- clear: 'Cancella',
- date: 'Data',
- status: 'Stato',
- commit: 'Commit',
- // Local Backup
- localBackup: 'Backup locale',
- localBackupDescription: 'Crea un backup completo dei tuoi dati Bambuddy includendo database, archivi, upload e tutti i file.',
- downloadBackupLabel: 'Scarica backup',
- completeBackupZip: 'Backup completo: database + tutti i file (ZIP)',
- download: 'Scarica',
- preparingBackup: 'Preparazione del backup...',
- creatingArchive: 'Creazione dell\'archivio di backup... Potrebbe richiedere del tempo per archivi di grandi dimensioni.',
- downloadingFile: 'Download del file di backup...',
- backupDownloaded: 'Backup scaricato con successo',
- failedToCreateBackup: 'Creazione del backup fallita: {{message}}',
- restore: 'Ripristina',
- restoreReplacesAll: 'Il ripristino sostituisce tutti i dati.',
- restoreReplacesAllDetail: 'Il database e i file attuali verranno completamente sostituiti. È necessario un riavvio dopo il ripristino.',
- restoreConfirmTitle: 'Ripristina backup',
- restoreConfirmMessage: 'Sei sicuro di voler ripristinare da "{{filename}}"? Questo sostituirà completamente il tuo database e tutti i file. L\'applicazione dovrà essere riavviata dopo il ripristino.',
- restoreConfirmButton: 'Ripristina backup',
- uploadingFile: 'Caricamento del file di backup...',
- backupRestoredRestart: 'Backup ripristinato. Riavvia Bambuddy.',
- failedToRestore: 'Ripristino del backup fallito. Controlla il formato del file.',
- reloadNow: 'Ricarica ora',
- creatingBackup: 'Creazione del backup',
- restoringBackup: 'Ripristino del backup',
- preparing: 'Preparazione...',
- processing: 'Elaborazione...',
- doNotClosePage: 'Non chiudere questa pagina e non navigare altrove. Questa operazione potrebbe richiedere diversi minuti per backup di grandi dimensioni.',
- // RestoreModal
- restoring: 'Ripristino in corso...',
- restoreComplete: 'Ripristino completato',
- restoreFailed2: 'Ripristino fallito',
- importSettings: 'Importa impostazioni da un file di backup',
- pleaseWaitRestoring: 'Attendere durante il ripristino dei dati',
- selectBackupFile: 'Clicca per selezionare un file di backup (.json o .zip)',
- duplicateHandling: 'Come funziona la gestione dei duplicati:',
- matchPrinters: 'Stampanti',
- matchPrintersBy: 'corrispondenza per numero di serie',
- matchSmartPlugs: 'Smart Plug',
- matchSmartPlugsBy: 'corrispondenza per indirizzo IP',
- matchNotificationProviders: 'Provider di notifica',
- matchNotificationProvidersBy: 'corrispondenza per nome',
- matchFilaments: 'Filamenti',
- matchFilamentsBy: 'corrispondenza per nome + tipo + marca',
- matchArchives: 'Archivi',
- matchArchivesBy: 'corrispondenza per hash del contenuto (sempre saltato)',
- matchPendingUploads: 'Upload in sospeso',
- matchPendingUploadsBy: 'corrispondenza per nome file',
- matchSettingsTemplates: 'Impostazioni e modelli',
- matchSettingsTemplatesBy: 'sempre sovrascritti',
- replaceExisting: 'Sostituisci dati esistenti',
- keepExisting: 'Mantieni dati esistenti',
- overwriteDescription: 'Sovrascrivi gli elementi già esistenti con i dati del backup',
- keepDescription: 'Ripristina solo gli elementi che non esistono ancora',
- overwriteCaution: 'Attenzione:',
- overwriteWarning: 'La sovrascrittura sostituirà le configurazioni attuali con i dati del backup. I codici di accesso delle stampanti non vengono mai sovrascritti per sicurezza.',
- cancel: 'Annulla',
- processingBackup: 'Elaborazione del file di backup...',
- itemsRestored: 'Elementi ripristinati',
- itemsSkipped: 'Elementi saltati',
- restored: 'Ripristinati',
- skippedAlreadyExist: 'Saltati (già esistenti)',
- filesCategory: 'File (3MF, miniature, ecc.)',
- andMore: '...e altri {{count}}',
- newApiKeysGenerated: 'Nuove chiavi API generate',
- keysShownOnce: 'Queste chiavi vengono mostrate solo una volta. Copiale ora!',
- copy: 'Copia',
- noDataFound: 'Nessun dato da ripristinare trovato nel file di backup.',
- close: 'Chiudi',
- // Category labels
- categories: {
- settings: 'Impostazioni',
- notification_providers: 'Provider di notifica',
- notification_templates: 'Modelli di notifica',
- smart_plugs: 'Smart Plug',
- printers: 'Stampanti',
- filaments: 'Filamenti',
- maintenance_types: 'Tipi di manutenzione',
- archives: 'Archivi',
- projects: 'Progetti',
- pending_uploads: 'Upload in sospeso',
- external_links: 'Link esterni',
- api_keys: 'Chiavi API',
- },
- },
- // 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
- // Edit Archive Modal
- editArchive: {
- title: 'Modifica archivio',
- name: 'Nome',
- namePlaceholder: 'Nome stampa',
- printer: 'Stampante',
- noPrinter: 'Nessuna stampante',
- project: 'Progetto',
- noProject: 'Nessun progetto',
- itemsPrinted: 'Elementi stampati',
- itemsPrintedHelp: 'Numero di elementi prodotti in questo job di stampa',
- notes: 'Note',
- notesPlaceholder: 'Aggiungi note su questa stampa...',
- externalLink: 'Link esterno',
- externalLinkPlaceholder: 'https://printables.com/model/...',
- externalLinkHelp: 'Link a Printables, Thingiverse o altra fonte',
- tags: 'Tag',
- tagsPlaceholder: 'Aggiungi tag...',
- addMoreTags: 'Aggiungi altri tag...',
- matchingTags: 'Tag corrispondenti "{{query}}"',
- existingTags: 'Tag esistenti',
- clickToAdd: '(clicca per aggiungere)',
- status: 'Stato',
- failureReason: 'Motivo fallimento',
- selectReason: 'Seleziona motivo...',
- photos: 'Foto del risultato stampato',
- photosHelp: 'Clicca + per aggiungere foto del risultato stampato',
- printResult: 'Risultato stampa',
- saving: 'Salvataggio...',
- // Failure reasons
- failureReasons: {
- adhesionFailure: 'Fallimento adesione',
- spaghettiDetached: 'Spaghetti / staccato',
- layerShift: 'Spostamento layer',
- cloggedNozzle: 'Ugello intasato',
- filamentRunout: 'Filamento esaurito',
- warping: 'Warping',
- stringing: 'Stringing',
- underExtrusion: 'Sotto-estrusione',
- powerFailure: 'Mancanza corrente',
- userCancelled: 'Annullato dall\'utente',
- other: 'Altro',
- },
- // Archive statuses
- statuses: {
- completed: 'Completato',
- failed: 'Fallito',
- aborted: 'Annullato',
- printing: 'In stampa',
- },
- },
- // K-Profiles
- kProfiles: {
- title: 'K-Profiles',
- noPrintersConfigured: 'Nessuna stampante configurata',
- addPrinterInSettings: 'Aggiungi una stampante in Impostazioni per gestire i K-profiles',
- noActivePrinters: 'Nessuna stampante attiva',
- enablePrinterConnection: 'Abilita una connessione stampante per vedere i K-profiles',
- loadingProfiles: 'Caricamento K-Profiles...',
- printerOffline: 'Stampante offline',
- printerOfflineDesc: 'La stampante selezionata non e connessa. Accendila per vedere i K-profiles.',
- noMatchingProfiles: 'Nessun profilo corrispondente',
- noMatchingProfilesDesc: 'Nessun profilo corrisponde ai criteri di ricerca',
- noKProfiles: 'Nessun K-Profile',
- noKProfilesDesc: 'Nessun profilo pressure advance per ugello da {{diameter}}mm',
- createFirstProfile: 'Crea primo profilo',
- // Controls
- printer: 'Stampante',
- nozzle: 'Ugello',
- refresh: 'Aggiorna',
- addProfile: 'Aggiungi profilo',
- export: 'Esporta',
- import: 'Importa',
- select: 'Seleziona',
- selectAll: 'Seleziona tutto',
- delete: 'Elimina',
- // Filters
- searchPlaceholder: 'Cerca per nome o filamento...',
- allExtruders: 'Tutti gli estrusori',
- leftOnly: 'Solo sinistro',
- rightOnly: 'Solo destro',
- allFlow: 'Tutto flow',
- hfOnly: 'Solo HF',
- sOnly: 'Solo S',
- sortName: 'Ordina: Nome',
- sortKValue: 'Ordina: K-Value',
- sortFilament: 'Ordina: Filamento',
- // Dual extruder labels
- leftExtruder: 'Estrusore sinistro',
- rightExtruder: 'Estrusore destro',
- // Modal
- modal: {
- addTitle: 'Aggiungi K-Profile',
- editTitle: 'Modifica K-Profile',
- profileName: 'Nome profilo',
- profileNamePlaceholder: 'Il mio profilo PLA',
- kValue: 'K-Value',
- kValuePlaceholder: '0.020',
- kValueHelp: 'Intervallo tipico: 0.01 - 0.06 per PLA, 0.02 - 0.10 per PETG',
- filament: 'Filamento',
- selectFilament: 'Seleziona filamento...',
- noFilamentsHelp: 'Nessun filamento trovato. Crea prima un K-profile in Bambu Studio.',
- flowType: 'Tipo flow',
- highFlow: 'High Flow',
- standard: 'Standard',
- nozzleSize: 'Dimensione ugello',
- extruder: 'Estrusore',
- extruders: 'Estrusori',
- left: 'Sinistra',
- right: 'Destra',
- notes: 'Note (salvate localmente)',
- notesPlaceholder: 'Aggiungi note su questo profilo...',
- notesHelp: 'Le note sono salvate in Bambuddy, non sulla stampante',
- syncing: 'Sincronizzazione con stampante...',
- savingExtruder: 'Salvataggio su estrusore {{current}}/{{total}}...',
- pleaseWait: 'Attendere',
- },
- // Delete confirmation
- deleteConfirm: {
- title: 'Elimina profilo',
- cannotUndo: 'Questo non può essere annullato',
- message: 'Sei sicuro di voler eliminare "{{name}}" dalla stampante?',
- },
- // Bulk delete
- bulkDelete: {
- title: 'Elimina profili',
- cannotUndo: 'Questo non può essere annullato',
- message: 'Sei sicuro di voler eliminare {{count}} profili selezionati dalla stampante?',
- },
- // Toast
- toast: {
- profileSaved: 'K-profile salvato',
- profilesSaved: 'K-profile salvato su {{count}} estrusori',
- selectAtLeastOneExtruder: 'Seleziona almeno un estrusore',
- profileDeleted: 'K-profile eliminato',
- profilesDeleted: 'Eliminati {{count}} profili',
- exportedProfiles: 'Esportati {{count}} profili',
- importedProfiles: 'Importati {{count}} di {{total}} profili',
- noProfilesToExport: 'Nessun profilo da esportare',
- invalidFileFormat: 'Formato file non valido',
- failedToParseImport: 'Parsing file import fallito',
- failedToSaveBatch: 'Salvataggio K-profiles fallito',
- noteSaved: 'Nota salvata',
- failedToSaveNote: 'Salvataggio nota fallito',
- },
- // Permissions
- permission: {
- noRead: 'Non hai il permesso di aggiornare i profili',
- noCreate: 'Non hai il permesso di aggiungere profili',
- noUpdate: 'Non hai il permesso di aggiornare K-profiles',
- noDelete: 'Non hai il permesso di eliminare K-profiles',
- noExport: 'Non hai il permesso di esportare profili',
- noImport: 'Non hai il permesso di importare profili',
- },
- },
- // Virtual Printer
- virtualPrinter: {
- title: 'Stampante virtuale',
- running: 'In esecuzione',
- stopped: 'Ferma',
- description: {
- default: 'Abilita una stampante virtuale che appare in Bambu Studio e OrcaSlicer. I file inviati a questa stampante saranno archiviati senza stampare.',
- proxy: 'Abilita un proxy che inoltra il traffico slicer a una stampante reale, permettendo la stampa remota su qualsiasi rete.',
- },
- enable: {
- title: 'Abilita stampante virtuale',
- visibleInSlicer: 'Visibile come "Bambuddy" nella ricerca slicer',
- proxyingTo: 'In proxy verso {{name}}',
- notActive: 'Non attivo',
- },
- model: {
- title: 'Modello stampante',
- description: 'Seleziona il modello stampante da emulare.',
- restartWarning: 'Cambiare il modello riavviera la stampante virtuale',
- },
- accessCode: {
- title: 'Codice accesso',
- isSet: 'Codice accesso impostato',
- notSet: 'Nessun codice accesso impostato - richiesto per abilitare',
- placeholder: 'Inserisci codice 8 caratteri',
- placeholderChange: 'Inserisci nuovo codice per cambiare',
- hint: 'Deve essere esattamente 8 caratteri. Usato dagli slicer per autenticarsi.',
- charCount: '({{count}}/8)',
- },
- targetPrinter: {
- title: 'Stampante target',
- configured: 'Target proxy configurato',
- notConfigured: 'Nessuna stampante target selezionata - richiesta per modalita proxy',
- placeholder: 'Seleziona una stampante...',
- hint: 'Seleziona la stampante a cui fare proxy. La stampante deve essere in modalita LAN.',
- noPrinters: 'Nessuna stampante configurata. Aggiungi una stampante per usare la modalita proxy.',
- },
- remoteInterface: {
- title: 'Sovrascrittura interfaccia di rete',
- configured: 'Sovrascrittura interfaccia attiva',
- optional: 'Opzionale - usare se l\'IP rilevato automaticamente e sbagliato (es. piu NIC, Docker, VPN)',
- placeholder: 'Rilevamento automatico (predefinito)...',
- hint: 'Sovrascrive l\'indirizzo IP pubblicizzato via SSDP e usato nel certificato TLS. Utile quando Bambuddy ha piu interfacce di rete.',
- },
- 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',
- },
- autoDispatch: {
- title: 'Avvio automatico',
- description: 'Avvia automaticamente le stampe aggiunte alla coda. Se disattivato, le stampe attendono l\'avvio manuale.',
- },
- setupRequired: {
- title: 'Configurazione necessaria',
- description: 'La stampante virtuale richiede configurazioni di sistema aggiuntive prima di funzionare. Include port forwarding, regole firewall e impostazioni specifiche della piattaforma.',
- readGuide: 'Leggi la guida prima di abilitare',
- },
- howItWorks: {
- title: 'Come funziona',
- step1: 'Sulla stessa LAN, le stampanti virtuali appaiono automaticamente nel tuo slicer (Bambu Studio / OrcaSlicer). Da altre reti, aggiungile manualmente tramite indirizzo IP e codice di accesso.',
- step2: 'In modalità Archivio, Revisione e Coda, usa il pulsante "Invia" nel tuo slicer per caricare file 3MF su Bambuddy. Lo slicer mostrerà "Stampa riuscita" — il file viene salvato, non stampato.',
- step3: 'In modalità Proxy, la stampante virtuale inoltra tutto il traffico a una stampante reale — le stampe partono immediatamente come con una connessione diretta.',
- },
- status: {
- title: 'Dettagli stato',
- printerName: 'Nome stampante',
- model: 'Modello',
- serialNumber: 'Numero seriale',
- mode: 'Modalita',
- pendingFiles: 'File in sospeso',
- targetPrinter: 'Stampante target',
- ftpPort: 'Porta FTP',
- mqttPort: 'Porta MQTT',
- ftpConnections: 'Connessioni FTP',
- mqttConnections: 'Connessioni MQTT',
- },
- toast: {
- updated: 'Impostazioni stampante virtuale aggiornate',
- failedToUpdate: 'Aggiornamento impostazioni fallito',
- accessCodeRequired: 'Imposta prima un codice accesso',
- targetPrinterRequired: 'Seleziona prima una stampante target',
- bindIpRequired: 'Impostare prima un indirizzo IP',
- accessCodeEmpty: 'Il codice accesso non può essere vuoto',
- accessCodeLength: 'Il codice accesso deve essere esattamente 8 caratteri',
- created: 'Stampante virtuale creata',
- failedToCreate: 'Impossibile creare la stampante virtuale',
- deleted: 'Stampante virtuale eliminata',
- failedToDelete: 'Impossibile eliminare la stampante virtuale',
- },
- list: {
- title: 'Stampanti virtuali',
- add: 'Aggiungi',
- addFirst: 'Aggiungi stampante virtuale',
- empty: 'Nessuna stampante virtuale configurata. Aggiungine una per iniziare.',
- },
- bindIp: {
- title: 'Interfaccia di rete',
- placeholder: 'Seleziona interfaccia...',
- hint: 'Interfaccia di rete a cui questa stampante virtuale si collega. Deve essere unica per stampante.',
- },
- proxy: {
- accessCodeHint: 'In modalita proxy, usa il codice di accesso della stampante di destinazione nello slicer. La connessione viene inoltrata in modo trasparente alla stampante reale.',
- },
- addDialog: {
- title: 'Aggiungi stampante virtuale',
- name: 'Nome',
- hint: 'Potrai configurare il codice di accesso, la stampante di destinazione e altre impostazioni dopo la creazione.',
- create: 'Crea',
- },
- deleteConfirm: {
- title: 'Elimina stampante virtuale',
- message: 'Sei sicuro di voler eliminare "{{name}}"? Tutti i servizi di questa stampante verranno interrotti.',
- },
- },
- // Model Viewer
- modelViewer: {
- openInSlicer: 'Apri nello slicer',
- tabs: {
- model: 'Modello 3D',
- gcode: 'Anteprima G-code',
- },
- notAvailable: 'non disponibile',
- notSliced: 'non sezionato',
- plates: 'Piatti',
- allPlates: 'Tutti i piatti',
- plateNumber: 'Piatto {{number}}',
- plateCount: '{{count}} piatto',
- plateCount_other: '{{count}} piatti',
- objectCount: '{{count}} oggetto',
- objectCount_other: '{{count}} oggetti',
- filamentCount: '{{count}} filamento',
- filamentCount_other: '{{count}} filamenti',
- eta: 'ETA {{minutes}} min',
- noPreview: 'Nessuna anteprima disponibile per questo file',
- pagination: {
- pageOf: 'Pagina {{current}} di {{total}}',
- prev: 'Prec',
- next: 'Succ',
- },
- errors: {
- failedToLoad: 'Caricamento file fallito',
- noMeshes: 'Nessuna mesh trovata nel file 3MF',
- unsupportedFormat: 'Formato file non supportato',
- },
- },
- // Maintenance type descriptions (built-in)
- maintenanceDescriptions: {
- lubricateCarbonRods: 'Applica lubrificante alle aste in carbonio per un movimento fluido',
- lubricateRails: 'Applica lubrificante alle guide lineari per un movimento fluido',
- cleanNozzle: 'Pulisci hotend e ugello per prevenire intasamenti',
- checkBelts: 'Verifica tensione cinghie per stampe accurate',
- cleanBuildPlate: 'Pulisci il piatto per migliorare l\'adesione',
- checkExtruder: 'Ispeziona ingranaggi estrusore per usura',
- checkCooling: 'Assicurati che le ventole di raffreddamento funzionino',
- generalInspection: 'Ispezione generale stampante',
- cleanCarbonRods: 'Pulisci le aste in carbonio per ridurre attrito',
- lubricateSteelRods: 'Applica lubrificante alle aste in acciaio per un movimento fluido',
- cleanSteelRods: 'Pulisci le aste in acciaio per ridurre attrito',
- cleanLinearRails: 'Pulisci le guide lineari per rimuovere polvere e detriti',
- checkPtfeTube: 'Ispeziona il tubo PTFE per usura o danni',
- replaceHepaFilter: 'Sostituisci filtro HEPA per qualità aria',
- replaceCarbonFilter: 'Sostituisci filtro a carbone attivo',
- lubricateLeftNozzleRail: 'Lubrifica guida ugello sinistro (serie H2)',
- },
- // Smart Plugs
- smartPlugs: {
- offline: 'Offline',
- admin: 'Amministrazione',
- openPlugAdminPage: 'Apri pagina amministrazione presa',
- deleteSmartPlug: 'Elimina presa smart',
- turnOnSmartPlug: 'Accendi presa smart',
- turnOffSmartPlug: 'Spegni presa smart',
- turnOn: 'Accendi',
- turnOff: 'Spegni',
- addSmartPlug: {
- scanningNetwork: 'Scansione rete...',
- chooseEntity: 'Scegli un\'entità...',
- connectionFailed: 'Connessione fallita',
- searchEntities: 'Cerca entità...',
- searchPowerSensors: 'Cerca sensori di potenza...',
- searchEnergySensors: 'Cerca sensori di energia...',
- placeholders: {
- plugName: 'Presa soggiorno',
- mqttStateOnValue: 'ON, true, 1',
- mqttSameAsPower: 'Stesso del topic potenza, o diverso',
- },
- },
- // SmartPlugCard
- linkedTo: 'Collegato a:',
- monitorOnly: 'Solo monitoraggio',
- alerts: 'Avvisi',
- scheduleOn: 'On {{time}}',
- scheduleOff: 'Off {{time}}',
- on: 'On',
- off: 'Off',
- power: 'Potenza',
- kwhToday: 'kWh Oggi',
- settings: 'Impostazioni',
- automationSettings: 'Impostazioni automazione',
- showInSwitchbar: 'Mostra nella barra interruttori',
- quickAccessSidebar: 'Accesso rapido dalla barra laterale',
- enabled: 'Abilitato',
- enableAutomation: 'Abilita automazione per questa presa',
- autoOn: 'Auto On',
- autoOnDescription: 'Accendi quando inizia la stampa',
- autoOff: 'Auto Off',
- autoOffDescription: 'Spegni quando la stampa è completata (una tantum)',
- turnOffDelayMode: 'Modalità ritardo spegnimento',
- time: 'Tempo',
- temp: 'Temp',
- delayMinutes: 'Ritardo (minuti)',
- tempThreshold: 'Soglia temperatura (°C)',
- tempThresholdDescription: 'Si spegne quando l\'ugello si raffredda sotto questa temperatura',
- edit: 'Modifica',
- deleteConfirm: 'Sei sicuro di voler eliminare "{{name}}"? Questa azione non può essere annullata.',
- turnOnConfirm: 'Sei sicuro di voler accendere "{{name}}"?',
- turnOffConfirm: 'Sei sicuro di voler spegnere "{{name}}"? Questo interromperà l\'alimentazione del dispositivo collegato.',
- failedToTurn: 'Impossibile {{action}} "{{name}}"',
- unknown: 'Sconosciuto',
- // AddSmartPlugModal
- addTitle: 'Aggiungi presa smart',
- editTitle: 'Modifica presa smart',
- stopScanning: 'Interrompi scansione',
- discoverTasmota: 'Scopri dispositivi Tasmota',
- foundDevices: '{{count}} dispositivo/i trovato/i - clicca per selezionare:',
- noDevicesFound: 'Nessun dispositivo Tasmota trovato nella rete',
- haNotConfigured: 'Home Assistant non è configurato. Configuralo in',
- haSettingsPath: 'Impostazioni → Rete → Home Assistant',
- selectEntity: 'Seleziona entità *',
- ipAddress: 'Indirizzo IP *',
- nameLabel: 'Nome *',
- username: 'Nome utente',
- password: 'Password',
- authHint: 'Lascia vuoto se il tuo dispositivo Tasmota non richiede autenticazione',
- linkToPrinter: 'Collega alla stampante',
- noPrinter: 'Nessuna stampante (solo controllo manuale)',
- linkingDescription: 'Il collegamento abilita accensione/spegnimento automatico all\'inizio/fine stampa',
- powerAlerts: 'Avvisi potenza',
- alertAbove: 'Avviso se sopra (W)',
- alertBelow: 'Avviso se sotto (W)',
- alertDescription: 'Ricevi notifiche quando il consumo supera queste soglie. Lascia vuoto per disabilitare quella direzione.',
- dailySchedule: 'Programma giornaliero',
- turnOnAt: 'Accendi alle',
- turnOffAt: 'Spegni alle',
- scheduleDescription: 'Accendi/spegni automaticamente la presa a questi orari ogni giorno. Lascia vuoto per saltare quell\'azione.',
- showOnPrinterCard: 'Mostra sulla scheda stampante',
- displayOnPrinterCard: 'Mostra pulsante sulla scheda stampante',
- connectedResult: 'Connesso!',
- deviceLabel: 'Dispositivo: {{name}} - ',
- stateLabel: 'Stato: {{state}}',
- test: 'Test',
- delete: 'Elimina',
- save: 'Salva',
- add: 'Aggiungi',
- cancel: 'Annulla',
- failedToStartScan: 'Impossibile avviare la scansione',
- nameRequired: 'Il nome è obbligatorio',
- entityRequired: 'L\'entità è obbligatoria per le prese Home Assistant',
- mqttTopicRequired: 'Almeno un topic MQTT deve essere configurato per potenza, energia o monitoraggio stato',
- loadingEntities: 'Caricamento entità...',
- loading: 'Caricamento...',
- failedToLoadEntities: 'Impossibile caricare le entità: {{error}}',
- noEntitiesMatching: 'Nessuna entità trovata corrispondente a "{{search}}"',
- noEntitiesAvailable: 'Nessuna entità disponibile',
- searchingEntities: 'Ricerca in tutte le entità ({{count}} trovate)',
- showingEntities: 'Mostrando switch, light, input_boolean ({{count}} disponibili)',
- energyMonitoringOptional: 'Monitoraggio energia (Opzionale)',
- energyMonitoringHint: 'Cerca e seleziona i sensori che forniscono dati di potenza/energia.',
- powerSensorW: 'Sensore potenza (W)',
- energyTodayKwh: 'Energia oggi (kWh)',
- totalEnergyKwh: 'Energia totale (kWh)',
- noMatchingSensors: 'Nessun sensore corrispondente',
- none: 'Nessuno',
- mqttNotConfigured: 'Broker MQTT non configurato. Imposta l\'indirizzo del broker in',
- mqttSettingsPath: 'Impostazioni → Rete → Pubblicazione MQTT',
- mqttNotConfiguredSuffix: '(non è necessario abilitare la pubblicazione, basta inserire i dettagli del broker).',
- mqttMonitorOnlyDescription: 'Le prese MQTT ricevono dati di potenza/energia tramite sottoscrizione MQTT. Il controllo on/off non è disponibile - usa il tuo broker MQTT o sistema domotico.',
- powerMonitoring: 'Monitoraggio potenza',
- energyMonitoring: 'Monitoraggio energia',
- stateMonitoring: 'Monitoraggio stato',
- optional: 'opzionale',
- topic: 'Topic',
- jsonPath: 'Percorso JSON',
- multiplier: 'Moltiplicatore',
- onValue: 'Valore ON',
- mqttPowerHint: 'Il percorso JSON estrae il valore dal payload JSON (es. "power_l1"). Lascia vuoto se il topic pubblica valori numerici grezzi.\nUsa moltiplicatore 0.001 per mW→W, 1000 per kW→W.',
- mqttEnergyHint: 'Il percorso JSON estrae il valore dal payload JSON. Lascia vuoto per valori grezzi.\nUsa moltiplicatore 0.001 per Wh→kWh, 1000 per MWh→kWh.',
- mqttStateHint: 'Il percorso JSON estrae il valore dal payload JSON. Lascia vuoto per valori grezzi.\nValore ON: la stringa esatta che significa "ON". Lascia vuoto per rilevamento auto (ON, true, 1).',
- noSwitchesInSwitchbar: 'Nessun interruttore nella barra',
- enableSwitchbarHint: 'Abilita "Mostra nella barra interruttori" in Impostazioni > Smart Plugs',
- },
- // Notifications
- notifications: {
- // Provider types
- providerTypes: {
- callmebot: 'CallMeBot/WhatsApp',
- ntfy: 'ntfy',
- pushover: 'Pushover',
- telegram: 'Telegram',
- email: 'Email',
- discord: 'Discord',
- webhook: 'Webhook',
- },
- // Provider descriptions
- providerDescriptions: {
- email: 'Notifiche email tramite SMTP',
- telegram: 'Notifiche tramite bot Telegram',
- discord: 'Invia a un canale Discord tramite webhook',
- ntfy: 'Notifiche push gratuite e self-hostabili',
- pushover: 'Notifiche push semplici e affidabili',
- callmebot: 'Notifiche WhatsApp gratuite tramite CallMeBot',
- webhook: 'POST HTTP generico verso qualsiasi URL',
- },
- // NotificationProviderCard
- lastSuccess: 'Ultimo: {{date}}',
- error: 'Errore',
- printer: 'Stampante:',
- allPrinters: 'Tutte le stampanti',
- sendTestNotification: 'Invia notifica di prova',
- eventSettings: 'Impostazioni eventi',
- enabled: 'Abilitato',
- sendFromProvider: 'Invia notifiche da questo provider',
- // Event categories
- printEvents: 'Eventi di stampa',
- printerStatus: 'Stato stampante',
- amsAlarms: 'Allarmi AMS',
- amsHtAlarms: 'Allarmi AMS-HT',
- printQueue: 'Coda di stampa',
- // Event tags (badges)
- start: 'Avvio',
- plateCheck: 'Controllo piatto',
- complete: 'Completato',
- failed: 'Fallito',
- stopped: 'Interrotto',
- progress: 'Avanzamento',
- offline: 'Offline',
- lowFilament: 'Filamento scarso',
- maintenance: 'Manutenzione',
- amsHumidity: 'Umidità AMS',
- amsTemp: 'Temp AMS',
- amsHtHumidity: 'Umidità AMS-HT',
- amsHtTemp: 'Temp AMS-HT',
- bedCooled: 'Piatto raffreddato',
- quiet: 'Silenzioso',
- digest: 'Riepilogo {{time}}',
- // Event labels (expanded settings)
- printStarted: 'Stampa avviata',
- plateNotEmpty: 'Piatto non vuoto',
- plateNotEmptyDescription: 'Oggetti rilevati prima della stampa',
- printCompleted: 'Stampa completata',
- bedCooledLabel: 'Piatto raffreddato',
- bedCooledDescription: 'Piatto raffreddato sotto la soglia dopo la stampa',
- printFailed: 'Stampa fallita',
- printStopped: 'Stampa interrotta',
- progressMilestones: 'Traguardi di avanzamento',
- progressMilestonesDescription: 'Notifica al 25%, 50%, 75%',
- printerOffline: 'Stampante offline',
- printerError: 'Errore stampante',
- lowFilamentLabel: 'Filamento scarso',
- maintenanceDue: 'Manutenzione necessaria',
- maintenanceDueDescription: 'Notifica quando è necessaria la manutenzione',
- amsHumidityHigh: 'Umidità AMS elevata',
- amsHumidityHighDescription: 'L\'umidità dell\'AMS standard supera la soglia',
- amsTemperatureHigh: 'Temperatura AMS elevata',
- amsTemperatureHighDescription: 'La temperatura dell\'AMS standard supera la soglia',
- amsHtHumidityHigh: 'Umidità AMS-HT elevata',
- amsHtHumidityHighDescription: 'L\'umidità dell\'AMS-HT supera la soglia',
- amsHtTemperatureHigh: 'Temperatura AMS-HT elevata',
- amsHtTemperatureHighDescription: 'La temperatura dell\'AMS-HT supera la soglia',
- // Queue events
- jobAdded: 'Lavoro aggiunto',
- jobAddedDescription: 'Lavoro aggiunto alla coda',
- jobAssigned: 'Lavoro assegnato',
- jobAssignedDescription: 'Lavoro basato su modello assegnato alla stampante',
- jobStarted: 'Lavoro avviato',
- jobStartedDescription: 'Lavoro in coda avviato per la stampa',
- jobWaiting: 'Lavoro in attesa',
- jobWaitingDescription: 'Lavoro in attesa di filamento',
- jobSkipped: 'Lavoro saltato',
- jobSkippedDescription: 'Lavoro saltato (precedente fallito)',
- jobFailed: 'Lavoro fallito',
- jobFailedDescription: 'Avvio del lavoro fallito',
- queueComplete: 'Coda completata',
- queueCompleteDescription: 'Tutti i lavori in coda completati',
- // Quiet hours
- quietHours: 'Ore silenziose',
- noNotificationsDuring: 'Nessuna notifica durante queste ore',
- editProviderToChangeQuietHours: 'Modifica il provider per cambiare le ore silenziose',
- // Daily digest
- dailyDigest: 'Riepilogo giornaliero',
- batchNotifications: 'Raggruppa le notifiche in un unico riepilogo giornaliero',
- sendAt: 'Invia alle {{time}}',
- editProviderToChangeDigestTime: 'Modifica il provider per cambiare l\'orario del riepilogo',
- // Actions
- edit: 'Modifica',
- deleteProvider: 'Elimina provider di notifica',
- deleteConfirm: 'Sei sicuro di voler eliminare "{{name}}"? Questa azione non può essere annullata.',
- delete: 'Elimina',
- // AddNotificationModal
- addTitle: 'Aggiungi provider di notifica',
- editTitle: 'Modifica provider di notifica',
- nameLabel: 'Nome *',
- namePlaceholder: 'Le mie notifiche',
- providerTypeLabel: 'Tipo di provider *',
- configuration: 'Configurazione',
- testConfiguration: 'Testa configurazione',
- printerFilter: 'Filtro stampante',
- onlyFromPrinter: 'Invia notifiche solo per eventi da questa stampante',
- quietHoursDnd: 'Ore silenziose (Non disturbare)',
- quietStart: 'Inizio',
- quietEnd: 'Fine',
- dailyDigestLabel: 'Riepilogo giornaliero',
- sendDigestAt: 'Invia riepilogo alle',
- digestCollected: 'Gli eventi verranno raccolti e inviati come riepilogo unico a quest\'ora',
- notificationEvents: 'Eventi di notifica',
- progressPercent: '(25%, 50%, 75%)',
- bedCooledAfterPrint: '(dopo il completamento della stampa)',
- cancel: 'Annulla',
- save: 'Salva',
- add: 'Aggiungi',
- nameRequired: 'Il nome è obbligatorio',
- fieldRequired: '{{field}} è obbligatorio',
- // Config field labels
- phoneNumber: 'Numero di telefono',
- apiKey: 'Chiave API',
- serverUrl: 'URL del server',
- topic: 'Argomento',
- authToken: 'Token di autenticazione',
- userKey: 'Chiave utente',
- appToken: 'Token applicazione',
- priority: 'Priorità',
- botToken: 'Token del bot',
- chatId: 'ID chat',
- smtpServer: 'Server SMTP',
- smtpPort: 'Porta SMTP',
- security: 'Sicurezza',
- authentication: 'Autenticazione',
- username: 'Nome utente',
- password: 'Password',
- fromEmail: 'Email mittente',
- toEmail: 'Email destinatario',
- webhookUrl: 'URL webhook',
- payloadFormat: 'Formato payload',
- authorization: 'Autorizzazione',
- titleFieldName: 'Nome campo titolo',
- messageFieldName: 'Nome campo messaggio',
- // NotificationTemplateEditor
- editTemplate: 'Modifica modello: {{name}}',
- titleLabel: 'Titolo',
- bodyLabel: 'Corpo',
- titlePlaceholder: 'Titolo della notifica...',
- bodyPlaceholder: 'Corpo della notifica...',
- availableVariables: 'Variabili disponibili',
- clickToInsert: 'Clicca per inserire alla posizione del cursore nel corpo',
- livePreview: 'Anteprima live',
- hide: 'Nascondi',
- show: 'Mostra',
- loadingPreview: 'Caricamento anteprima...',
- enterTemplateContent: 'Inserisci il contenuto del modello per vedere l\'anteprima',
- titlePreview: 'Titolo:',
- bodyPreview: 'Corpo:',
- resetToDefault: 'Ripristina predefinito',
- titleRequired: 'Il titolo è obbligatorio',
- bodyRequired: 'Il corpo è obbligatorio',
- // NotificationLogViewer
- notificationLog: 'Registro notifiche',
- showFailedOnly: 'Solo fallite',
- last24Hours: 'Ultime 24 ore',
- last7Days: 'Ultimi 7 giorni',
- last30Days: 'Ultimi 30 giorni',
- last90Days: 'Ultimi 90 giorni',
- justNow: 'Proprio ora',
- noFailedNotifications: 'Nessuna notifica fallita',
- noNotificationsLogged: 'Nessuna notifica registrata',
- unknownProvider: 'Provider sconosciuto',
- logTitle: 'Titolo',
- logMessage: 'Messaggio',
- logError: 'Errore',
- logProvider: 'Provider: {{type}}',
- logTime: 'Ora: {{time}}',
- refresh: 'Aggiorna',
- clearOld: 'Cancella vecchie',
- statsSummary: 'Ultimi {{days}} giorni:',
- statsNotifications: 'notifiche',
- statsSent: '{{count}} inviate',
- statsFailed: '{{count}} fallite',
- // Event type labels (for log viewer)
- eventTypes: {
- print_start: 'Stampa avviata',
- print_complete: 'Stampa completata',
- print_failed: 'Stampa fallita',
- print_stopped: 'Stampa interrotta',
- print_progress: 'Avanzamento',
- printer_offline: 'Stampante offline',
- printer_error: 'Errore stampante',
- filament_low: 'Filamento scarso',
- maintenance_due: 'Manutenzione necessaria',
- test: 'Prova',
- },
- },
- // Rich Text Editor
- richTextEditor: {
- bold: 'Grassetto',
- italic: 'Corsivo',
- underline: 'Sottolineato',
- bulletList: 'Elenco puntato',
- numberedList: 'Elenco numerato',
- alignLeft: 'Allinea a sinistra',
- alignCenter: 'Allinea al centro',
- alignRight: 'Allinea a destra',
- addLink: 'Aggiungi link',
- removeLink: 'Rimuovi link',
- },
- // External Links
- externalLinks: {
- noLinksConfigured: 'Nessun link esterno configurato',
- deleteLink: 'Elimina link',
- removeCustomIcon: 'Rimuovi icona personalizzata',
- openInNewTab: 'Apri in nuova scheda',
- placeholders: {
- linkName: 'Il mio link',
- },
- },
- // Keyboard Shortcuts Modal
- keyboardShortcuts: {
- title: 'Scorciatoie da tastiera',
- navigation: 'Navigazione',
- archivesSection: 'Archivi',
- kProfilesSection: 'Profili K',
- generalSection: 'Generale',
- shortcuts: {
- goToPrinters: 'Vai a Stampanti',
- goToArchives: 'Vai ad Archivi',
- goToQueue: 'Vai a Coda',
- goToStats: 'Vai a Statistiche',
- goToProfiles: 'Vai a Profili cloud',
- goToSettings: 'Vai a Impostazioni',
- focusSearch: 'Vai alla ricerca',
- openUploadModal: 'Apri finestra di caricamento',
- clearSelection: 'Cancella selezione / deseleziona input',
- contextMenu: 'Menu contestuale sulle schede',
- refreshProfiles: 'Aggiorna profili',
- newProfile: 'Nuovo profilo',
- exitSelectionMode: 'Esci dalla modalità selezione',
- showHelp: 'Mostra questa guida',
- },
- footer: 'Premi Esc o clicca fuori per chiudere',
- },
- // Notification Log
- notificationLog: {
- title: 'Registro notifiche',
- events: {
- printStarted: 'Stampa avviata',
- printComplete: 'Stampa completata',
- printFailed: 'Stampa fallita',
- printStopped: 'Stampa interrotta',
- progress: 'Avanzamento',
- printerOffline: 'Stampante offline',
- printerError: 'Errore stampante',
- lowFilament: 'Filamento in esaurimento',
- maintenanceDue: 'Manutenzione in scadenza',
- test: 'Test',
- },
- timeAgo: {
- justNow: 'Adesso',
- minutesAgo: '{{minutes}} min fa',
- hoursAgo: '{{hours}} ore fa',
- },
- },
- // Restore/Backup Modal
- restoreBackup: {
- title: 'Ripristina backup',
- restoring: 'Ripristino...',
- restoreComplete: 'Ripristino completato',
- restoreFailed: 'Ripristino fallito',
- importSettings: 'Importa impostazioni da un file di backup',
- pleaseWait: 'Attendere il ripristino dei dati',
- clickToSelect: 'Clicca per selezionare il file di backup (.json o .zip)',
- howDuplicateHandling: 'Come funziona la gestione dei duplicati:',
- categories: {
- printers: 'Stampanti',
- smartPlugs: 'Prese smart',
- notificationProviders: 'Provider di notifica',
- filaments: 'Filamenti',
- archives: 'Archivi',
- pendingUploads: 'Caricamenti in sospeso',
- settingsTemplates: 'Impostazioni e modelli',
- },
- matchingInfo: {
- printers: 'abbinati per numero di serie',
- smartPlugs: 'abbinati per indirizzo IP',
- notificationProviders: 'abbinati per nome',
- filaments: 'abbinati per nome + tipo + marca',
- archives: 'abbinati per hash del contenuto',
- pendingUploads: 'abbinati per nome file',
- settingsTemplates: 'sempre sovrascritti',
- },
- replaceExisting: 'Sostituisci dati esistenti',
- keepExisting: 'Mantieni dati esistenti',
- replaceDescription: 'Sovrascrivi gli elementi già esistenti con i dati del backup',
- keepDescription: 'Ripristina solo gli elementi che non esistono già',
- caution: 'Attenzione:',
- cautionText: 'La sovrascrittura sostituirà le configurazioni attuali con i dati del backup. I codici di accesso delle stampanti non vengono mai sovrascritti per sicurezza.',
- itemsRestored: 'Elementi ripristinati',
- itemsSkipped: 'Elementi saltati',
- restored: 'Ripristinati',
- skipped: 'Saltati (già esistenti)',
- filesLabel: 'File (3MF, miniature, ecc.)',
- newApiKeysGenerated: 'Nuove chiavi API generate',
- newApiKeysWarning: 'Queste chiavi vengono mostrate una sola volta. Copiale adesso!',
- processingBackup: 'Elaborazione file di backup...',
- noDataFound: 'Nessun dato trovato da ripristinare nel file di backup.',
- failedToRestore: 'Impossibile ripristinare il backup. Verificare il formato del file.',
- },
- // Backup Export Modal
- backupExport: {
- title: 'Esporta backup',
- selectData: 'Seleziona i dati da includere',
- selectAll: 'Seleziona tutto',
- selectNone: 'Deseleziona tutto',
- categoryDescriptions: {
- settings: 'Lingua, tema, preferenze di aggiornamento',
- notifications: 'ntfy, Pushover, Discord, ecc.',
- templates: 'Modelli di messaggi personalizzati',
- smartPlugs: 'Configurazioni prese Tasmota',
- externalLinks: 'Link della barra laterale a servizi esterni',
- printers: 'Info stampanti (codici di accesso esclusi)',
- plateDetection: 'Immagini di riferimento piatto vuoto',
- filaments: 'Tipi di filamento e costi',
- maintenance: 'Programmi di manutenzione personalizzati',
- archives: 'Tutti i dati di stampa + file (3MF, miniature, foto)',
- projects: 'Progetti, elementi BOM e allegati',
- pendingUploads: 'Caricamenti della stampante virtuale in attesa di revisione',
- apiKeys: 'Chiavi API webhook (nuove chiavi generate all\'importazione)',
- },
- requiresPrinters: 'Richiede la selezione di Stampanti',
- zipFileWarning: 'Verrà creato un file ZIP.',
- zipFileDescription: 'Include tutti i file 3MF, miniature, timelapse e foto. Potrebbe richiedere tempo e produrre un file di grandi dimensioni.',
- includeAccessCodes: 'Includi codici di accesso',
- includeAccessCodesDescription: 'Per il trasferimento su un\'altra macchina',
- includeAccessCodesWarning: 'I codici di accesso saranno inclusi in testo semplice. Mantieni sicuro questo file di backup!',
- categoriesSelected: '{{selectedCount}} categorie selezionate',
- },
- // Pending Uploads Panel
- pendingUploads: {
- placeholders: {
- notes: 'Aggiungi note su questa stampa...',
- },
- discardUpload: 'Scarta caricamento',
- archiveAllUploads: 'Archivia tutti i caricamenti',
- discardAllUploads: 'Scarta tutti i caricamenti',
- archive: 'Archivia',
- timeAgo: {
- justNow: 'Adesso',
- minutesAgo: '{{minutes}} min fa',
- hoursAgo: '{{hours}} ore fa',
- daysAgo: '{{days}} giorni fa',
- },
- },
- // API Browser
- apiBrowser: {
- placeholders: {
- requestBody: 'Corpo della richiesta JSON...',
- searchEndpoints: 'Cerca endpoint...',
- },
- },
- // Configure AMS Slot Modal
- configureAmsSlot: {
- title: 'Configura Slot AMS',
- slotConfigured: 'Slot configurato!',
- configuringSlot: 'Configurazione slot:',
- slotLabel: '{{ams}} Slot {{slot}}',
- searchPresets: 'Cerca preset...',
- colorPlaceholder: 'Nome colore o hex (es. marrone, FF8800)',
- clearCustomColor: 'Cancella colore personalizzato',
- noCloudPresets: 'Nessun preset cloud. Accedi a Bambu Cloud per sincronizzare.',
- noPresetsAvailable: 'Nessun preset disponibile. Accedi a Bambu Cloud o importa profili locali.',
- noMatchingPresets: 'Nessun preset corrispondente trovato.',
- custom: 'Personalizzato',
- builtin: 'Integrato',
- settingsSentToPrinter: 'Impostazioni inviate alla stampante',
- filamentProfile: 'Profilo filamento',
- kProfileLabel: 'Profilo K (Pressure Advance)',
- filteringFor: 'Filtrando per: {{material}}',
- noKProfile: 'Nessun profilo K (usa predefinito 0.020)',
- noMatchingKProfiles: 'Nessun profilo K corrispondente. Verrà usato K=0.020 predefinito.',
- selectFilamentFirst: 'Seleziona prima un profilo filamento',
- kFromCalibration: 'K={{value}} dalla calibrazione stampante',
- customColorLabel: 'Colore personalizzato (opzionale)',
- presetColors: 'Colori {{name}}:',
- showLessColors: 'Mostra meno colori',
- showMoreColors: 'Mostra più colori',
- clear: 'Cancella',
- hexLabel: 'Hex: #{{hex}}',
- resetting: 'Ripristino...',
- resetSlot: 'Ripristina slot',
- cancel: 'Annulla',
- configuring: 'Configurazione...',
- configureSlot: 'Configura slot',
- },
- // GitHub Backup Settings
- githubBackup: {
- title: 'Backup GitHub',
- history: 'Cronologia',
- downloadBackup: 'Scarica backup',
- restoreBackup: 'Ripristina backup',
- noBackupsYet: 'Nessun backup ancora',
- },
- // Email Settings
- emailSettings: {
- placeholders: {
- fromName: 'BamBuddy',
- },
- },
- // Tag Management Modal
- tagManagement: {
- searchTags: 'Cerca tag...',
- renameTag: 'Rinomina tag',
- deleteTag: 'Elimina tag',
- },
- // Notification Template Editor
- notificationTemplates: {
- placeholders: {
- title: 'Titolo notifica...',
- body: 'Corpo notifica...',
- },
- },
- // Batch Tag Modal
- batchTag: {
- placeholders: {
- newTag: 'Inserisci nuovo tag...',
- },
- },
- // Photo Gallery Modal
- photoGallery: {
- deletePhoto: 'Elimina foto',
- },
- // Filament Hover Card
- filamentHoverCard: {
- copySpoolUuid: 'Copia UUID bobina',
- },
- // K Profiles View
- kProfilesView: {
- hasNote: 'Ha una nota',
- copyProfile: 'Copia profilo',
- },
- // Layout/Navigation
- layout: {
- openMenu: 'Apri menu',
- noPermissionSystemInfo: 'Non hai il permesso di visualizzare le informazioni di sistema',
- },
- // Dashboard
- dashboard: {
- dragToReorder: 'Trascina per riordinare',
- hideWidget: 'Nascondi widget',
- },
- // Notification Provider Card
- notificationProviderCard: {
- deleteNotificationProvider: 'Elimina provider di notifica',
- },
- // File Manager Modal
- fileManagerModal: {
- closeFileManager: 'Chiudi gestore file',
- sortFiles: 'Ordina file',
- goToParentFolder: 'Vai alla cartella superiore',
- threeView: 'Vista 3D',
- },
- // Embedded Camera Viewer
- embeddedCameraViewer: {
- refreshStream: 'Aggiorna stream',
- close: 'Chiudi',
- zoomOut: 'Rimpicciolisci',
- resetZoom: 'Reimposta zoom',
- zoomIn: 'Ingrandisci',
- dragToResize: 'Trascina per ridimensionare',
- },
- // Timelapse Viewer
- timelapseViewer: {
- skipBack5s: 'Indietro 5s',
- skipForward5s: 'Avanti 5s',
- },
- // Notification Providers
- notificationProviders: {
- descriptions: {
- email: 'Notifiche email via SMTP',
- telegram: 'Notifiche tramite bot Telegram',
- discord: 'Invia a canale Discord tramite webhook',
- ntfy: 'Notifiche push gratuite e self-hostabili',
- pushover: 'Notifiche push semplici e affidabili',
- callmebot: 'Notifiche WhatsApp gratuite tramite CallMeBot',
- webhook: 'POST HTTP generico a qualsiasi URL',
- },
- },
- // Log Viewer
- logViewer: {
- searchPlaceholder: 'Cerca messaggio o nome logger...',
- noLogEntries: 'Nessuna voce di log trovata',
- },
- // Switchbar Popover
- switchbarPopover: {
- noSwitchesInSwitchbar: 'Nessun interruttore nella barra',
- },
- // Project Page Modal
- projectPageModal: {
- placeholders: {
- title: 'Titolo',
- designer: 'Designer',
- license: 'Licenza',
- description: 'Inserisci descrizione...',
- profileTitle: 'Titolo profilo',
- profileDescription: 'Descrizione profilo...',
- },
- },
- // Spoolman Settings
- spoolmanSettings: {},
- // Time
- time: {
- unknown: '-',
- waiting: 'In attesa',
- justNow: 'Proprio ora',
- now: 'Ora',
- minsAgo: '{{count}}m fa',
- inMins: 'tra {{count}}m',
- hoursAgo: '{{count}}h fa',
- inHours: 'tra {{count}}h',
- daysAgo: '{{count}}g fa',
- inDays: 'tra {{count}}g',
- },
- // SpoolBuddy Kiosk
- spoolbuddy: {
- nav: {
- dashboard: 'Dashboard',
- ams: 'AMS',
- inventory: 'Inventario',
- writeTag: 'Scrivi',
- settings: 'Impostazioni',
- },
- status: {
- nfcReady: 'NFC pronto',
- nfcOff: 'NFC spento',
- offline: 'Offline',
- online: 'Online',
- noPrinters: 'Nessuna stampante',
- deviceOffline: 'Dispositivo offline',
- waitingConnection: 'In attesa della connessione...',
- systemReady: 'Sistema pronto',
- status: 'Stato',
- },
- dashboard: {
- readyToScan: 'Pronto per la scansione',
- idleMessage: 'Posiziona una bobina sulla bilancia per identificarla',
- nfcHint: 'Il tag NFC verrà letto automaticamente',
- device: 'Dispositivo',
- syncWeight: 'Sincronizza peso',
- weightSynced: 'Sincronizzato!',
- unknownTag: 'Tag sconosciuto',
- newTag: 'Nuovo tag rilevato',
- onScale: 'sulla bilancia',
- linkSpool: 'Collega a bobina',
- linkTagTitle: 'Collega tag a bobina',
- linkTag: 'Collega tag',
- selectSpool: 'Seleziona una bobina da collegare a questo tag:',
- noUntagged: 'Nessuna bobina senza tag trovata',
- tagDetected: 'Tag rilevato',
- noTag: 'Nessun tag',
- tagId: 'Tag',
- grossWeight: 'Peso lordo',
- spoolSize: 'Dimensione bobina',
- close: 'Chiudi',
- currentSpool: 'Bobina attuale',
- },
- modal: {
- spoolDetected: 'Bobina rilevata',
- assignToAms: 'Assegna all\'AMS',
- syncWeight: 'Sincronizza peso',
- weightSynced: 'Sincronizzato!',
- syncing: 'Sincronizzazione...',
- newTagDetected: 'Nuovo tag rilevato',
- addToInventory: 'Aggiungi all\'inventario',
- assignToAmsTitle: 'Assegna all\'AMS',
- selectSlot: 'Seleziona uno slot',
- assign: 'Assegna',
- assigning: 'Assegnazione...',
- assignSuccess: 'Assegnato!',
- assignError: 'Impossibile assegnare la bobina. Riprovare.',
- noPrinterSelected: 'Seleziona una stampante...',
- noAmsDetected: 'Nessun AMS rilevato su questa stampante',
- slot: 'Slot',
- },
- weight: {
- noReading: 'Nessuna lettura',
- stable: 'Stabile',
- measuring: 'Misurazione...',
- tare: 'Tara',
- calibrate: 'Calibra',
- },
- spool: {
- remaining: 'Rimanente',
- material: 'Materiale',
- brand: 'Marca',
- color: 'Colore',
- coreWeight: 'Nucleo',
- labelWeight: 'Etichetta',
- scaleWeight: 'Bilancia',
- netWeight: 'Netto',
- lastUsed: 'Ultimo utilizzo',
- },
- ams: {
- noData: 'Nessun AMS rilevato',
- connectAms: 'Collega un AMS per vedere gli slot',
- noPrinter: 'Nessuna stampante selezionata',
- selectPrinter: 'Seleziona una stampante dalla barra superiore',
- printerDisconnected: 'Stampante disconnessa',
- humidity: 'Umidità',
- level: 'Livello',
- active: 'Attivo',
- slot: 'Slot',
- empty: 'Vuoto',
- },
- inventory: {
- search: 'Cerca bobine...',
- empty: 'Nessuna bobina nell\'inventario',
- noResults: 'Nessuna bobina corrispondente',
- spools: 'bobine',
- addSpool: 'Aggiungi bobina',
- },
- settings: {
- // Tabs
- tabDevice: 'Dispositivo',
- tabDisplay: 'Display',
- tabScale: 'Bilancia',
- tabUpdates: 'Aggiornamenti',
- // Device tab
- nfcReader: 'Lettore NFC',
- type: 'Tipo',
- connection: 'Connessione',
- notConnected: 'N/A',
- deviceInfo: 'Info dispositivo',
- hostname: 'Host',
- uptime: 'Tempo di attività',
- // Display tab
- brightness: 'Luminosità',
- saved: 'Salvato',
- noBacklight: 'Nessuna retroilluminazione DSI rilevata. Il controllo luminosità richiede un display DSI.',
- screenBlank: 'Timeout spegnimento schermo',
- screenBlankDesc: 'Lo schermo si spegne dopo inattività. Tocca per riattivare.',
- displayNote: 'La luminosità viene applicata come filtro software.',
- // Scale tab
- scaleCalibration: 'Calibrazione bilancia',
- currentWeight: 'Peso attuale',
- tareOffset: 'Tara',
- calFactor: 'Fattore',
- knownWeight: 'Peso noto',
- calStep1: 'Rimuovere tutto dalla bilancia e premere Imposta zero.',
- calStep2: 'Posizionare il peso noto sulla bilancia.',
- setZero: 'Imposta zero',
- calibrateNow: 'Calibra',
- calibrated: 'Calibrato',
- tareSet: 'Comando tara inviato. In attesa del dispositivo...',
- tareFailed: 'Invio comando tara fallito',
- zeroSet: 'Punto zero impostato. Posizionare il peso noto sulla bilancia.',
- calibrationDone: 'Calibrazione completata!',
- calibrationFailed: 'Calibrazione fallita',
- lastCalibrated: 'Ultima calibrazione',
- stable: 'Stabile',
- settling: 'Stabilizzazione...',
- firmware: 'Firmware',
- scale: 'Bilancia',
- noDevice: 'Nessun dispositivo SpoolBuddy trovato',
- // Updates tab
- daemonVersion: 'Versione daemon',
- currentVersion: 'Attuale',
- versionPending: 'In attesa del daemon...',
- checking: 'Verifica...',
- checkUpdates: 'Verifica aggiornamenti',
- updateAvailable: 'Aggiornamento disponibile',
- updateInstructions: 'Aggiorna via SSH: esegui lo script di installazione SpoolBuddy.',
- upToDate: 'Aggiornato',
- includeBeta: 'Includi versioni beta',
- },
- writeTag: {
- tabExisting: 'Bobina esistente',
- tabNew: 'Nuova bobina',
- tabReplace: 'Sostituisci tag',
- searchPlaceholder: 'Cerca per materiale, colore, marca...',
- noUntaggedSpools: 'Nessuna bobina senza tag',
- noTaggedSpools: 'Nessuna bobina con tag',
- selectSpool: 'Seleziona una bobina, poi posiziona un NTAG sul lettore',
- placeTag: 'Posiziona un NTAG sul lettore',
- tagReady: 'Tag rilevato — pronto per la scrittura',
- writeTag: 'Scrivi tag',
- replaceTag: 'Sostituisci tag',
- writing: 'Scrittura tag...',
- waiting: 'In attesa di SpoolBuddy...',
- writeSuccess: 'Tag scritto con successo!',
- writeFailed: 'Scrittura fallita',
- queueFailed: 'Impossibile accodare il comando di scrittura',
- tryAgain: 'Riprova',
- cancel: 'Annulla',
- replaceWarning: 'Il vecchio tag verrà scollegato. Il nuovo tag lo sostituirà.',
- deviceOffline: 'SpoolBuddy è offline',
- material: 'Materiale',
- colorName: 'Nome colore',
- color: 'Colore',
- brand: 'Marca',
- weight: 'Peso (g)',
- createSpool: 'Crea bobina',
- creating: 'Creazione...',
- spoolCreated: 'Bobina creata! Pronto per la scrittura.',
- createFailed: 'Impossibile creare la bobina',
- },
- },
- bugReport: {
- title: 'Segnala un bug',
- description: 'Descrizione',
- descriptionPlaceholder: 'Cosa è andato storto? Descrivi il problema...',
- email: 'Email (opzionale)',
- emailPlaceholder: 'tua@email.it',
- emailPrivacy: 'Se fornita, la tua email sarà inclusa in una sezione compressa dell\'issue GitHub per permettere al manutentore di contattarti.',
- screenshot: 'Screenshot',
- uploadOrPaste: 'Carica, incolla o trascina un\'immagine',
- dataCollectedSummary: 'Quali dati sono inclusi nel report?',
- dataIncluded: 'Inclusi:',
- dataIncludedList: 'Versione app, OS, architettura, versione Python, statistiche database (solo conteggi), modelli stampante, numero ugelli, versioni firmware, stato connessione, stato integrazioni (Spoolman, MQTT, HA), impostazioni non sensibili, conteggio interfacce di rete, dettagli Docker, versioni dipendenze.',
- dataNeverIncluded: 'Mai inclusi:',
- dataNeverIncludedList: 'Nomi stampanti, numeri di serie, codici di accesso, password, indirizzi IP, indirizzi email, chiavi API, token, URL webhook, nomi host o nomi utente.',
- submit: 'Invia',
- collectingLogs: 'Raccolta dei log diagnostici...',
- collectingLogsHint: 'Registrazione debug attivata, interrogazione delle stampanti per dati aggiornati.',
- submitting: 'Invio segnalazione bug...',
- submitSuccess: 'Segnalazione bug inviata con successo!',
- submitFailed: 'Impossibile inviare la segnalazione bug',
- thankYou: 'Grazie!',
- submitted: 'La tua segnalazione bug è stata inviata.',
- viewIssue: 'Vedi issue',
- unexpectedError: 'Si è verificato un errore imprevisto',
- countdownSeconds: '{{seconds}}s',
- },
- };
|