libre-webui 0.26.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -29
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +7 -0
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/persistence/postgresAutomationWorkTargetMigration.d.ts +9 -0
- package/backend/dist/persistence/postgresAutomationWorkTargetMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresAutomationWorkTargetMigration.js +44 -0
- package/backend/dist/persistence/postgresAutomationWorkTargetMigration.js.map +1 -0
- package/backend/dist/persistence/postgresMfaPushRecoveryMigration.d.ts +9 -0
- package/backend/dist/persistence/postgresMfaPushRecoveryMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresMfaPushRecoveryMigration.js +107 -0
- package/backend/dist/persistence/postgresMfaPushRecoveryMigration.js.map +1 -0
- package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -1
- package/backend/dist/persistence/postgresMigrationRegistry.js +8 -0
- package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -1
- package/backend/dist/persistence/postgresResourceRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/postgresResourceRepositories.js +179 -4
- package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -1
- package/backend/dist/persistence/postgresSecurityRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/postgresSecurityRepositories.js +154 -0
- package/backend/dist/persistence/postgresSecurityRepositories.js.map +1 -1
- package/backend/dist/persistence/postgresWorkComputerMigration.d.ts +8 -0
- package/backend/dist/persistence/postgresWorkComputerMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresWorkComputerMigration.js +37 -0
- package/backend/dist/persistence/postgresWorkComputerMigration.js.map +1 -0
- package/backend/dist/persistence/postgresWorkTakeoverMigration.d.ts +9 -0
- package/backend/dist/persistence/postgresWorkTakeoverMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresWorkTakeoverMigration.js +38 -0
- package/backend/dist/persistence/postgresWorkTakeoverMigration.js.map +1 -0
- package/backend/dist/persistence/resourceTypes.d.ts +64 -0
- package/backend/dist/persistence/resourceTypes.d.ts.map +1 -1
- package/backend/dist/persistence/resourceTypes.js.map +1 -1
- package/backend/dist/persistence/securityTypes.d.ts +60 -0
- package/backend/dist/persistence/securityTypes.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteMigrations.d.ts +4 -0
- package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteMigrations.js +267 -0
- package/backend/dist/persistence/sqliteMigrations.js.map +1 -1
- package/backend/dist/persistence/sqliteResourceRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteResourceRepositories.js +151 -7
- package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -1
- package/backend/dist/persistence/sqliteSecurityRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteSecurityRepositories.js +140 -0
- package/backend/dist/persistence/sqliteSecurityRepositories.js.map +1 -1
- package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteToPostgresMigration.js +45 -0
- package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -1
- package/backend/dist/platform/jobs/domainJobContracts.d.ts +2 -0
- package/backend/dist/platform/jobs/domainJobContracts.d.ts.map +1 -1
- package/backend/dist/platform/jobs/domainJobContracts.js +2 -0
- package/backend/dist/platform/jobs/domainJobContracts.js.map +1 -1
- package/backend/dist/platform/jobs/domainJobHandlers.d.ts.map +1 -1
- package/backend/dist/platform/jobs/domainJobHandlers.js +152 -2
- package/backend/dist/platform/jobs/domainJobHandlers.js.map +1 -1
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.d.ts.map +1 -1
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.js +7 -3
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.js.map +1 -1
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.d.ts.map +1 -1
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js +8 -4
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js.map +1 -1
- package/backend/dist/platform/workPersistence/types.d.ts +2 -0
- package/backend/dist/platform/workPersistence/types.d.ts.map +1 -1
- package/backend/dist/platform/workPersistence/types.js.map +1 -1
- package/backend/dist/routes/auth.d.ts.map +1 -1
- package/backend/dist/routes/auth.js +427 -5
- package/backend/dist/routes/auth.js.map +1 -1
- package/backend/dist/routes/automations.d.ts.map +1 -1
- package/backend/dist/routes/automations.js +5 -0
- package/backend/dist/routes/automations.js.map +1 -1
- package/backend/dist/routes/documents.d.ts.map +1 -1
- package/backend/dist/routes/documents.js +4 -0
- package/backend/dist/routes/documents.js.map +1 -1
- package/backend/dist/routes/push.d.ts +3 -0
- package/backend/dist/routes/push.d.ts.map +1 -0
- package/backend/dist/routes/push.js +105 -0
- package/backend/dist/routes/push.js.map +1 -0
- package/backend/dist/routes/recovery.d.ts +3 -0
- package/backend/dist/routes/recovery.d.ts.map +1 -0
- package/backend/dist/routes/recovery.js +83 -0
- package/backend/dist/routes/recovery.js.map +1 -0
- package/backend/dist/routes/users.d.ts.map +1 -1
- package/backend/dist/routes/users.js +35 -0
- package/backend/dist/routes/users.js.map +1 -1
- package/backend/dist/routes/work.d.ts.map +1 -1
- package/backend/dist/routes/work.js +205 -1
- package/backend/dist/routes/work.js.map +1 -1
- package/backend/dist/services/authService.d.ts +8 -0
- package/backend/dist/services/authService.d.ts.map +1 -1
- package/backend/dist/services/authService.js +29 -0
- package/backend/dist/services/authService.js.map +1 -1
- package/backend/dist/services/automationSchedulerService.d.ts.map +1 -1
- package/backend/dist/services/automationSchedulerService.js +31 -0
- package/backend/dist/services/automationSchedulerService.js.map +1 -1
- package/backend/dist/services/automationService.d.ts +4 -1
- package/backend/dist/services/automationService.d.ts.map +1 -1
- package/backend/dist/services/automationService.js +27 -0
- package/backend/dist/services/automationService.js.map +1 -1
- package/backend/dist/services/dataArchiveService.d.ts.map +1 -1
- package/backend/dist/services/dataArchiveService.js +3 -0
- package/backend/dist/services/dataArchiveService.js.map +1 -1
- package/backend/dist/services/documentMediaExtractionService.d.ts +40 -0
- package/backend/dist/services/documentMediaExtractionService.d.ts.map +1 -0
- package/backend/dist/services/documentMediaExtractionService.js +157 -0
- package/backend/dist/services/documentMediaExtractionService.js.map +1 -0
- package/backend/dist/services/documentService.d.ts +6 -0
- package/backend/dist/services/documentService.d.ts.map +1 -1
- package/backend/dist/services/documentService.js +58 -4
- package/backend/dist/services/documentService.js.map +1 -1
- package/backend/dist/services/encryptionService.d.ts +6 -0
- package/backend/dist/services/encryptionService.d.ts.map +1 -1
- package/backend/dist/services/encryptionService.js +12 -0
- package/backend/dist/services/encryptionService.js.map +1 -1
- package/backend/dist/services/mfaService.d.ts +64 -0
- package/backend/dist/services/mfaService.d.ts.map +1 -0
- package/backend/dist/services/mfaService.js +262 -0
- package/backend/dist/services/mfaService.js.map +1 -0
- package/backend/dist/services/notificationService.d.ts +5 -0
- package/backend/dist/services/notificationService.d.ts.map +1 -1
- package/backend/dist/services/notificationService.js +33 -1
- package/backend/dist/services/notificationService.js.map +1 -1
- package/backend/dist/services/preferencesService.d.ts +1 -1
- package/backend/dist/services/preferencesService.d.ts.map +1 -1
- package/backend/dist/services/preferencesService.js +1 -0
- package/backend/dist/services/preferencesService.js.map +1 -1
- package/backend/dist/services/recoveryDrillService.d.ts +57 -0
- package/backend/dist/services/recoveryDrillService.d.ts.map +1 -0
- package/backend/dist/services/recoveryDrillService.js +363 -0
- package/backend/dist/services/recoveryDrillService.js.map +1 -0
- package/backend/dist/services/webPushService.d.ts +71 -0
- package/backend/dist/services/webPushService.d.ts.map +1 -0
- package/backend/dist/services/webPushService.js +328 -0
- package/backend/dist/services/webPushService.js.map +1 -0
- package/backend/dist/services/webauthnService.d.ts +58 -0
- package/backend/dist/services/webauthnService.d.ts.map +1 -0
- package/backend/dist/services/webauthnService.js +301 -0
- package/backend/dist/services/webauthnService.js.map +1 -0
- package/backend/dist/services/websocketTicketService.d.ts +1 -1
- package/backend/dist/services/websocketTicketService.d.ts.map +1 -1
- package/backend/dist/services/websocketTicketService.js +3 -1
- package/backend/dist/services/websocketTicketService.js.map +1 -1
- package/backend/dist/services/workAgentGuidance.d.ts +14 -0
- package/backend/dist/services/workAgentGuidance.d.ts.map +1 -1
- package/backend/dist/services/workAgentGuidance.js +38 -2
- package/backend/dist/services/workAgentGuidance.js.map +1 -1
- package/backend/dist/services/workAgentService.d.ts +9 -0
- package/backend/dist/services/workAgentService.d.ts.map +1 -1
- package/backend/dist/services/workAgentService.js +503 -13
- package/backend/dist/services/workAgentService.js.map +1 -1
- package/backend/dist/services/workComputerSetupService.d.ts +33 -0
- package/backend/dist/services/workComputerSetupService.d.ts.map +1 -0
- package/backend/dist/services/workComputerSetupService.js +164 -0
- package/backend/dist/services/workComputerSetupService.js.map +1 -0
- package/backend/dist/services/workComputerTeachService.d.ts +105 -0
- package/backend/dist/services/workComputerTeachService.d.ts.map +1 -0
- package/backend/dist/services/workComputerTeachService.js +513 -0
- package/backend/dist/services/workComputerTeachService.js.map +1 -0
- package/backend/dist/services/workKubernetesDriver.d.ts +8 -0
- package/backend/dist/services/workKubernetesDriver.d.ts.map +1 -1
- package/backend/dist/services/workKubernetesDriver.js +22 -0
- package/backend/dist/services/workKubernetesDriver.js.map +1 -1
- package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
- package/backend/dist/services/workModelProviderService.js +102 -8
- package/backend/dist/services/workModelProviderService.js.map +1 -1
- package/backend/dist/services/workPolicyService.d.ts +8 -0
- package/backend/dist/services/workPolicyService.d.ts.map +1 -1
- package/backend/dist/services/workPolicyService.js +25 -0
- package/backend/dist/services/workPolicyService.js.map +1 -1
- package/backend/dist/services/workRuntimeDriver.d.ts +32 -0
- package/backend/dist/services/workRuntimeDriver.d.ts.map +1 -1
- package/backend/dist/services/workRuntimeDriver.js +54 -8
- package/backend/dist/services/workRuntimeDriver.js.map +1 -1
- package/backend/dist/services/workRuntimeService.d.ts +212 -1
- package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
- package/backend/dist/services/workRuntimeService.js +1184 -9
- package/backend/dist/services/workRuntimeService.js.map +1 -1
- package/backend/dist/services/workRuntimeShared.d.ts +11 -1
- package/backend/dist/services/workRuntimeShared.d.ts.map +1 -1
- package/backend/dist/services/workRuntimeShared.js +24 -1
- package/backend/dist/services/workRuntimeShared.js.map +1 -1
- package/backend/dist/services/workScreenControlService.d.ts +60 -0
- package/backend/dist/services/workScreenControlService.d.ts.map +1 -0
- package/backend/dist/services/workScreenControlService.js +201 -0
- package/backend/dist/services/workScreenControlService.js.map +1 -0
- package/backend/dist/services/workTaskService.d.ts +11 -0
- package/backend/dist/services/workTaskService.d.ts.map +1 -1
- package/backend/dist/services/workTaskService.js +31 -0
- package/backend/dist/services/workTaskService.js.map +1 -1
- package/backend/dist/types/index.d.ts +10 -2
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/dist/types/index.js.map +1 -1
- package/backend/dist/types/work.d.ts +13 -0
- package/backend/dist/types/work.d.ts.map +1 -1
- package/backend/dist/utils/documentExtraction.d.ts +31 -3
- package/backend/dist/utils/documentExtraction.d.ts.map +1 -1
- package/backend/dist/utils/documentExtraction.js +106 -0
- package/backend/dist/utils/documentExtraction.js.map +1 -1
- package/backend/dist/utils/toolEgress.d.ts +2 -1
- package/backend/dist/utils/toolEgress.d.ts.map +1 -1
- package/backend/dist/utils/toolEgress.js +14 -2
- package/backend/dist/utils/toolEgress.js.map +1 -1
- package/backend/dist/utils/totp.d.ts +19 -0
- package/backend/dist/utils/totp.d.ts.map +1 -0
- package/backend/dist/utils/totp.js +117 -0
- package/backend/dist/utils/totp.js.map +1 -0
- package/backend/dist/utils/webauthn.d.ts +47 -0
- package/backend/dist/utils/webauthn.d.ts.map +1 -0
- package/backend/dist/utils/webauthn.js +323 -0
- package/backend/dist/utils/webauthn.js.map +1 -0
- package/backend/dist/websocketServer.d.ts.map +1 -1
- package/backend/dist/websocketServer.js +9 -0
- package/backend/dist/websocketServer.js.map +1 -1
- package/backend/dist/workScreenServer.d.ts +12 -0
- package/backend/dist/workScreenServer.d.ts.map +1 -0
- package/backend/dist/workScreenServer.js +291 -0
- package/backend/dist/workScreenServer.js.map +1 -0
- package/backend/package.json +1 -1
- package/deploy/work-computer/Dockerfile +48 -0
- package/deploy/work-computer/README.md +93 -0
- package/deploy/work-computer/fonts/fonts.css +335 -0
- package/deploy/work-computer/fonts/v16-aFTR7PB1QTsUX8KYvumzEY2tbYf-Vlh3uA.woff2 +0 -0
- package/deploy/work-computer/fonts/v16-aFTR7PB1QTsUX8KYvumzEYOtbYf-Vlg.woff2 +0 -0
- package/deploy/work-computer/fonts/v16-aFTU7PB1QTsUX8KYthSQBK6PYK3EXw.woff2 +0 -0
- package/deploy/work-computer/fonts/v16-aFTU7PB1QTsUX8KYthqQBK6PYK0.woff2 +0 -0
- package/deploy/work-computer/fonts/v20-xn7gYHE41ni1AdIRggOxSvfedN62Zw.woff2 +0 -0
- package/deploy/work-computer/fonts/v20-xn7gYHE41ni1AdIRggSxSvfedN62Zw.woff2 +0 -0
- package/deploy/work-computer/fonts/v20-xn7gYHE41ni1AdIRggexSvfedN4.woff2 +0 -0
- package/deploy/work-computer/fonts/v20-xn7gYHE41ni1AdIRggixSvfedN62Zw.woff2 +0 -0
- package/deploy/work-computer/fonts/v20-xn7gYHE41ni1AdIRggmxSvfedN62Zw.woff2 +0 -0
- package/deploy/work-computer/fonts/v20-xn7gYHE41ni1AdIRggqxSvfedN62Zw.woff2 +0 -0
- package/deploy/work-computer/fonts/v22-V8mDoQDjQSkFtoMM3T6r8E7mPb54C_k3HqUtEw.woff2 +0 -0
- package/deploy/work-computer/fonts/v22-V8mDoQDjQSkFtoMM3T6r8E7mPb94C_k3HqUtEw.woff2 +0 -0
- package/deploy/work-computer/fonts/v22-V8mDoQDjQSkFtoMM3T6r8E7mPbF4C_k3HqU.woff2 +0 -0
- package/deploy/work-computer/start-computer.sh +155 -0
- package/deploy/work-computer/start-page.html +251 -0
- package/deploy/work-computer/tint2rc +76 -0
- package/deploy/work-computer/wallpaper.png +0 -0
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/assets/index-DGy6mo0B.js +33 -0
- package/frontend/dist/assets/index-DqLJKWF-.css +1 -0
- package/frontend/dist/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
- package/frontend/dist/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
- package/frontend/dist/fonts/jetbrains-mono.css +24 -0
- package/frontend/dist/index.html +40 -18
- package/frontend/dist/js/ArtifactContainer-DvIMxleC.js +1 -0
- package/frontend/dist/js/{ArtifactDemoPage-D0JEIAbZ.js → ArtifactDemoPage-BqYskFqc.js} +1 -1
- package/frontend/dist/js/ArtifactSandboxFrame-9wuufHn6.js +111 -0
- package/frontend/dist/js/ArtifactSlideOutPanel-DXESMtPh.js +1 -0
- package/frontend/dist/js/AutomationsPage-DByxhIKj.js +1 -0
- package/frontend/dist/js/AvatarUpload-DnCGQ46o.js +1 -0
- package/frontend/dist/js/{Button-C0r3J9G_.js → Button-CpobxJ2P.js} +1 -1
- package/frontend/dist/js/CalendarPage-JywVP-9y.js +1 -0
- package/frontend/dist/js/ChannelsPage-B31rcARd.js +1 -0
- package/frontend/dist/js/ChatPage-CHXJY8m3.js +14 -0
- package/frontend/dist/js/{EvaluationsPage-Bm8FRoeX.js → EvaluationsPage-CcmB5wdF.js} +1 -1
- package/frontend/dist/js/FirstTimeSetup-DDU7SowM.js +1 -0
- package/frontend/dist/js/GalleryPage-XfX_7iCf.js +1 -0
- package/frontend/dist/js/HomePage-DAZAkoAV.js +1 -0
- package/frontend/dist/js/LibreClawPage-De0gZmbF.js +1 -0
- package/frontend/dist/js/Logo-yKM43xGa.js +1 -0
- package/frontend/dist/js/LogoMark-PmpKQOre.js +1 -0
- package/frontend/dist/js/{ModelManagerModals-DX9eT5r2.js → ModelManagerModals-hz2cZZ4a.js} +1 -1
- package/frontend/dist/js/ModelSelector-BoFehQy-.js +1 -0
- package/frontend/dist/js/NotesPage-BGPI3gG6.js +3 -0
- package/frontend/dist/js/OptimizedSyntaxHighlighter-DrejdNUm.js +1 -0
- package/frontend/dist/js/OptimizedSyntaxHighlighter-hNqZPLiB.js +1 -0
- package/frontend/dist/js/PasswordStrengthMeter-RwModpZ1.js +1 -0
- package/frontend/dist/js/PersonasPage-BkNRD2wO.js +13 -0
- package/frontend/dist/js/PluginUsagePage-Cqt7V2SQ.js +1 -0
- package/frontend/dist/js/RichMessageContent-B2QSyX-l.js +1 -0
- package/frontend/dist/js/RichMessageContent-CYEhT6uU.js +3 -0
- package/frontend/dist/js/SettingsModal-IbIvVyss.js +19 -0
- package/frontend/dist/js/{SettingsToggle-BIVyfGjl.js → SettingsToggle-3GxA96E0.js} +1 -1
- package/frontend/dist/js/ShareDialog-BoE4OVhV.js +1 -0
- package/frontend/dist/js/SystemPage-B5ecz5H3.js +1 -0
- package/frontend/dist/js/TurnstileWidget-DHU9IUM1.js +1 -0
- package/frontend/dist/js/UserManagementPage-C0VUfbMk.js +1 -0
- package/frontend/dist/js/WorkPage-EweYI5Dx.js +74 -0
- package/frontend/dist/js/api-Bbh2AHHN.js +1 -0
- package/frontend/dist/js/api-F0CnlVH8.js +14 -0
- package/frontend/dist/js/appNavigation-DqV69ohR.js +1 -0
- package/frontend/dist/js/appStore-SLLBamo2.js +2 -0
- package/frontend/dist/js/appVersion-46bF9UkF.js +1 -0
- package/frontend/dist/js/ar-C4yo7x5J.js +2 -0
- package/frontend/dist/js/artifactHtml-DDmfpcB0.js +41 -0
- package/frontend/dist/js/authStore-CcfL8T6T.js +1 -0
- package/frontend/dist/js/authStore-DlSQ1TcP.js +4 -0
- package/frontend/dist/js/axios-_ZpUYd3e.js +1 -0
- package/frontend/dist/js/bn-BeZ6d2qF.js +2 -0
- package/frontend/dist/js/chatStore-DI79tEJ-.js +3 -0
- package/frontend/dist/js/classPrivateMethodInitSpec-B31Q4d2M.js +1 -0
- package/frontend/dist/js/{config-8KdgjtEx.js → config-0QgGZCrI.js} +1 -1
- package/frontend/dist/js/cs-9K5LILI5.js +2 -0
- package/frontend/dist/js/da-BWbBhLK8.js +2 -0
- package/frontend/dist/js/de-BXD9t2uY.js +2 -0
- package/frontend/dist/js/es-Dv4wZKlU.js +2 -0
- package/frontend/dist/js/{estree-BU5-LV_1.js → estree-WDwviHUZ.js} +1 -1
- package/frontend/dist/js/evaluationsApi-wjf0nh5J.js +1 -0
- package/frontend/dist/js/fr-BkXGyEei.js +2 -0
- package/frontend/dist/js/hi-BS1ldbWk.js +2 -0
- package/frontend/dist/js/{html-DeoAy2bo.js → html-Cj0HNcRt.js} +1 -1
- package/frontend/dist/js/id-Cr1njx5M.js +2 -0
- package/frontend/dist/js/is-BqpNCtDd.js +2 -0
- package/frontend/dist/js/it-Dp-iwH27.js +2 -0
- package/frontend/dist/js/ja-_e4v_6Mn.js +2 -0
- package/frontend/dist/js/ko-CjXf2pIX.js +2 -0
- package/frontend/dist/js/{logger-DSXjF4ye.js → logger-CpCQz3Vi.js} +1 -1
- package/frontend/dist/js/{markdown-DOLsYkBY.js → markdown-DTahdtRF.js} +1 -1
- package/frontend/dist/js/{messageCodeStyles-DhVgizF-.js → messageCodeStyles-COJFoq4P.js} +2 -2
- package/frontend/dist/js/ms-xpn-zACj.js +2 -0
- package/frontend/dist/js/nl-Baf0a2X0.js +2 -0
- package/frontend/dist/js/pl-BEOTrcUv.js +2 -0
- package/frontend/dist/js/pt-B5FUaihM.js +2 -0
- package/frontend/dist/js/rfb-bJaPz33m.js +5 -0
- package/frontend/dist/js/ru-BjzgMmkJ.js +2 -0
- package/frontend/dist/js/{standalone-BO5pzI8_.js → standalone-C04jT26m.js} +1 -1
- package/frontend/dist/js/sv-DDX_gP1z.js +2 -0
- package/frontend/dist/js/{syntax-highlight-DcR9Vhb7.js → syntax-highlight-P2zo9o06.js} +1 -1
- package/frontend/dist/js/teamEventStream-CgUkgjFC.js +8 -0
- package/frontend/dist/js/th-BXr3KovE.js +2 -0
- package/frontend/dist/js/tr-CdqxHEM8.js +2 -0
- package/frontend/dist/js/ttsBatching-BfhNT3c5.js +2 -0
- package/frontend/dist/js/{typescript-6GJ8APmn.js → typescript-FtGI7Y5P.js} +1 -1
- package/frontend/dist/js/ui-DFa2W4QC.js +2 -0
- package/frontend/dist/js/ui-vendor-CRZXLK0Q.js +177 -0
- package/frontend/dist/js/uk-CotKDP2Q.js +2 -0
- package/frontend/dist/js/useChat-BawGm7ua.js +10 -0
- package/frontend/dist/js/useQuery-BboI5V5G.js +1 -0
- package/frontend/dist/js/{useTranslation-5b5UhAc9.js → useTranslation-D7uLySn1.js} +1 -1
- package/frontend/dist/js/{utils-BGrdX9ie.js → utils-sD-qFh8D.js} +1 -1
- package/frontend/dist/js/utils-vendor-DTLgmsuc.js +9 -0
- package/frontend/dist/js/vi-F2NC1HaJ.js +2 -0
- package/frontend/dist/js/webauthnClient-CPSq528Q.js +1 -0
- package/frontend/dist/js/workApi-8mBuh_-J.js +6 -0
- package/frontend/dist/js/workApi-DJtLOslf.js +1 -0
- package/frontend/dist/js/workStatus-CcO9Fg41.js +1 -0
- package/frontend/dist/js/zh-DZ-kpEEA.js +2 -0
- package/frontend/dist/manifest.webmanifest +32 -0
- package/frontend/dist/sw.js +125 -0
- package/package.json +4 -2
- package/frontend/dist/assets/index-BPsH9FII.js +0 -80
- package/frontend/dist/assets/index-BtXF0Oxa.css +0 -1
- package/frontend/dist/js/ArtifactContainer-CIoFoMv8.js +0 -1
- package/frontend/dist/js/ArtifactSandboxFrame-REazyIrx.js +0 -151
- package/frontend/dist/js/ArtifactSlideOutPanel-A-i94ghF.js +0 -1
- package/frontend/dist/js/AutomationsPage-Dow_lbIf.js +0 -1
- package/frontend/dist/js/CalendarPage-DLjasZOd.js +0 -1
- package/frontend/dist/js/ChannelsPage-C8hvTD7J.js +0 -1
- package/frontend/dist/js/ChatPage-BAgBHUES.js +0 -16
- package/frontend/dist/js/FirstTimeSetup-BxJapNul.js +0 -1
- package/frontend/dist/js/GalleryPage-DHz9DkK7.js +0 -1
- package/frontend/dist/js/HomePage-BqNy-FWX.js +0 -1
- package/frontend/dist/js/LibreClawPage-BDzDILjY.js +0 -1
- package/frontend/dist/js/ModelSelector-ol8mK2ja.js +0 -1
- package/frontend/dist/js/NotesPage-DzHEx2O4.js +0 -3
- package/frontend/dist/js/OptimizedSyntaxHighlighter-CZNPwN0i.js +0 -1
- package/frontend/dist/js/PersonasPage-M_WKH2a9.js +0 -13
- package/frontend/dist/js/PluginUsagePage-Ctoka6JZ.js +0 -1
- package/frontend/dist/js/RichMessageContent-BqgafH4p.js +0 -3
- package/frontend/dist/js/SettingsModal-R9EDadAV.js +0 -19
- package/frontend/dist/js/SystemPage-aOkrSuY7.js +0 -1
- package/frontend/dist/js/UserManagementPage-BOuaX3ay.js +0 -1
- package/frontend/dist/js/WorkPage-DxZISerQ.js +0 -6
- package/frontend/dist/js/api-6bSMtSNh.js +0 -14
- package/frontend/dist/js/appStore-CdObhQBb.js +0 -2
- package/frontend/dist/js/ar-DT_VLBO3.js +0 -2
- package/frontend/dist/js/authStore-DbqqrfZv.js +0 -4
- package/frontend/dist/js/bn-BrvEqhGA.js +0 -2
- package/frontend/dist/js/chatStore-DbZPJNsu.js +0 -3
- package/frontend/dist/js/cs-BthnM_YI.js +0 -2
- package/frontend/dist/js/da-DCth-6_j.js +0 -2
- package/frontend/dist/js/de-BBWt0gJ_.js +0 -2
- package/frontend/dist/js/es-DuslOPqM.js +0 -2
- package/frontend/dist/js/evaluationsApi-CwZJsgeG.js +0 -1
- package/frontend/dist/js/fr-DZAeg46S.js +0 -2
- package/frontend/dist/js/hi-ijDSiY77.js +0 -2
- package/frontend/dist/js/id-BS6qS0oq.js +0 -2
- package/frontend/dist/js/is-CO2PMDte.js +0 -2
- package/frontend/dist/js/it-ChhxT4hs.js +0 -2
- package/frontend/dist/js/ja-cyeqUeJN.js +0 -2
- package/frontend/dist/js/ko-CfqHTLXj.js +0 -2
- package/frontend/dist/js/ms-DZ5pACe1.js +0 -2
- package/frontend/dist/js/nl-BsRsnOVp.js +0 -2
- package/frontend/dist/js/pl-DXSTAW4M.js +0 -2
- package/frontend/dist/js/pt-DmDx0JxB.js +0 -2
- package/frontend/dist/js/ru-d2g8EWfY.js +0 -2
- package/frontend/dist/js/sv-CIhYUTVQ.js +0 -2
- package/frontend/dist/js/th-B3wSxanB.js +0 -2
- package/frontend/dist/js/tr-R4UGgPOY.js +0 -2
- package/frontend/dist/js/ui-CV0LYmkM.js +0 -2
- package/frontend/dist/js/ui-vendor-CWjIBW-z.js +0 -177
- package/frontend/dist/js/uk-BzUF4Vkt.js +0 -2
- package/frontend/dist/js/utils-vendor-9bQ62WeD.js +0 -9
- package/frontend/dist/js/vi-CKc6Fg4h.js +0 -2
- package/frontend/dist/js/workApi-BruWTlHM.js +0 -6
- package/frontend/dist/js/zh-CXL-kDe8.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={common:{loading:`Caricamento...`,save:`Salva`,saving:`Salvataggio...`,cancel:`Annulla`,delete:`Elimina`,edit:`Modifica`,close:`Chiudi`,back:`Indietro`,next:`Avanti`,confirm:`Conferma`,error:`Errore`,success:`Successo`,warning:`Avviso`,or:`o`,optional:`opzionale`,enabled:`Abilitato`,disabled:`Disabilitato`,on:`Attivo`,off:`Disattivo`,yes:`Sì`,no:`No`,search:`Cerca`,noResults:`Nessun risultato trovato`,retry:`Riprova`,refresh:`Aggiorna`,download:`Scarica`,upload:`Carica`,export:`Esporta`,import:`Importa`,reset:`Ripristina`,apply:`Applica`,clear:`Cancella`,all:`Tutti`,none:`Nessuno`,default:`Predefinito`,custom:`Personalizzato`,remove:`Rimuovi`,home:`Home`,more:`Più`},brand:{name:`Libre WebUI`,shortName:`Libre`},auth:{login:{title:`Bentornato`,subtitle:`Accedi al tuo account per continuare`,username:`Nome utente`,usernamePlaceholder:`Inserisci il tuo nome utente`,password:`Password`,passwordPlaceholder:`Inserisci la tua password`,signIn:`Accedi`,signingIn:`Accesso in corso...`,noAccount:`Non hai un account?`,signUpHere:`Registrati qui`,loginSuccess:`Accesso riuscito!`,loginFailed:`Accesso fallito`,checkCredentials:`Accesso fallito. Verifica le tue credenziali.`,approvalPending:`Il tuo account è in attesa di approvazione da parte dell'amministratore.`,enterBoth:`Inserisci sia nome utente che password`,githubSuccess:`Accesso GitHub riuscito!`,githubFailed:`Autenticazione GitHub fallita`,githubVerifyFailed:`Verifica autenticazione GitHub fallita`,verificationFailed:`Verifica di sicurezza non riuscita. Aggiorna la pagina e riprova.`},signup:{title:`Crea account`,subtitle:`Registrati per un nuovo account`,username:`Nome utente`,usernamePlaceholder:`Scegli un nome utente`,email:`Email`,emailPlaceholder:`tua@email.it`,password:`Password`,passwordPlaceholder:`Scegli una password`,confirmPassword:`Conferma password`,confirmPasswordPlaceholder:`Conferma la tua password`,createAccount:`Crea account`,creatingAccount:`Creazione account...`,hasAccount:`Hai già un account?`,signInHere:`Accedi qui`,signupSuccess:`Account creato con successo!`,approvalPending:`Registrazione ricevuta. Un amministratore deve approvare il tuo account.`,awaitingApproval:`In attesa di approvazione`,awaitingApprovalDescription:`Il tuo account è stato creato, ma un amministratore deve attivarlo prima che tu possa accedere.`,backToSignIn:`Torna all'accesso`,signupFailed:`Registrazione fallita`,tryAgain:`Registrazione fallita. Riprova.`,usernameRequired:`Nome utente e password sono obbligatori`,passwordMismatch:`Le password non corrispondono`},logout:{button:`Esci`,success:`Disconnessione riuscita`},oauth:{continueWith:`Continua con {{provider}}`,connectingTo:`Connessione a {{provider}}...`,github:`GitHub`,huggingFace:`Hugging Face`},checkingAuth:`Verifica autenticazione...`,welcome:`Benvenuto`,noEmail:`Nessuna email fornita`,role:`Ruolo`,id:`ID`,userId:`ID utente`,signInDescription:`Accedi con il tuo account GitHub per continuare`,signInWithGitHub:`Accedi con GitHub`,jwtActive:`Autenticazione JWT attiva`,jwtDescription:`Autenticazione basata su JWT con GitHub OAuth`,github:`GitHub`,provider:`Provider`,tagline:`Il tuo stack AI dovrebbe rispondere a te.`,selfHosted:`Ospitato autonomamente · Apache 2.0`,highlights:{local:{title:`Locale prima di tutto`,body:`Le tue conversazioni e i tuoi file rimangono sul computer su cui lo esegui.`},providers:{title:`Qualsiasi provider`,body:`Modelli locali tramite Ollama, più i provider remoti che scegli di aggiungere.`},work:{title:`Lavoro isolato`,body:`Dai a un modello un'area di lavoro sandbox con file, un terminale e un'anteprima.`}},oidc:{defaultProviderName:`Single sign-on`},mfa:{sectionTitle:`Autenticazione a due fattori`,sectionDescription:`Proteggi il tuo account con un'app di autenticazione e le passkey.`,totpTitle:`App di autenticazione`,totpEnabledHint:`Attiva. Codici di recupero inutilizzati: {{count}}`,totpDisabledHint:`Aggiungi un secondo passaggio all'accesso con password tramite un codice monouso.`,enableButton:`Attiva`,disableButton:`Disattiva`,activateButton:`Conferma`,regenerateCodes:`Nuovi codici di recupero`,confirmWithCode:`Conferma con un codice della tua app o un codice di recupero`,enabled:`L'autenticazione a due fattori è attiva.`,disabled:`L'autenticazione a due fattori è disattivata.`,invalidCode:`Questo codice non è valido.`,enrollFailed:`Impossibile avviare la configurazione.`,challengeExpired:`La verifica di accesso è scaduta. Accedi di nuovo.`,setupTitle:`Configura l'autenticazione a due fattori`,setupSubtitle:`Questa istanza richiede un secondo passaggio di accesso. Aggiungi il segreto alla tua app di autenticazione per continuare.`,verifyTitle:`Inserisci il codice`,verifyHint:`Inserisci il codice a 6 cifre della tua app di autenticazione oppure un codice di recupero.`,secretHint:`Aggiungi questo segreto alla tua app di autenticazione, poi conferma con il codice corrente.`,openAuthenticator:`Apri nell'app di autenticazione`,codeLabel:`Codice a 6 cifre`,codeOrRecoveryLabel:`Codice o codice di recupero`,codePlaceholder:`123456`,verifyButton:`Verifica`,backToSignIn:`Torna all'accesso`,recoveryCodesTitle:`Codici di recupero`,recoveryCodesHint:`Conserva questi codici in un luogo sicuro. Ognuno consente un accesso se perdi la tua app di autenticazione.`,recoveryCodesSaved:`Ho salvato i miei codici di recupero`,recoveryCodesRegenerated:`Nuovi codici di recupero creati. I vecchi non funzionano più.`},passkeys:{sectionTitle:`Passkey`,sectionDescription:`Accedi senza password con il blocco schermo del tuo dispositivo o una chiave di sicurezza.`,addButton:`Aggiungi passkey`,empty:`Nessuna passkey al momento.`,unnamed:`Passkey`,createdAt:`Aggiunta`,lastUsedAt:`Ultimo utilizzo`,removeButton:`Rimuovi passkey`,registered:`Passkey aggiunta.`,registerFailed:`Impossibile aggiungere la passkey.`,removed:`Passkey rimossa.`,removeFailed:`Impossibile rimuovere la passkey.`,signInButton:`Accedi con una passkey`,signInFailed:`Accesso con passkey non riuscito.`}},setup:{welcome:{title:`Benvenuto in Libre WebUI`,subtitle:`Iniziamo`,description:`Configura la tua istanza Libre WebUI in pochi passaggi`,createAdmin:`Crea account amministratore`,features:{secure:{title:`Sicuro e privato`,description:`Le tue conversazioni rimangono sul tuo dispositivo`},fast:{title:`Veloce e reattivo`,description:`Ottimizzato per velocità e prestazioni`},openSource:{title:`Open Source`,description:`Software libero e open source`}}},admin:{title:`Crea account amministratore`,subtitle:`Configurazione amministratore`,description:`Crea il primo account amministratore per la tua istanza Libre WebUI`,usernamePlaceholder:`Inserisci nome utente admin`,passwordPlaceholder:`Inserisci una password (almeno 12 caratteri)`,confirmPlaceholder:`Conferma la tua password`,creating:`Creazione...`,createAdmin:`Crea admin`,success:`Account amministratore creato con successo!`,failed:`Impossibile creare account amministratore`,approvalUnexpected:`L'amministratore iniziale non ha potuto essere attivato. Riprova.`,fillAllFields:`Compila tutti i campi`,note:`Questo sarà l'account amministratore principale per la tua istanza Libre WebUI`},encryptionKey:{title:`Salva la tua chiave di crittografia`,subtitle:`Importante: Salva questa chiave`,description:`Questa chiave di crittografia protegge i tuoi dati sensibili. Conservala in modo sicuro - ne avrai bisogno se dovrai ripristinare il database.`,warning:`Avviso`,warningText:`Se perdi questa chiave e devi ripristinare il database, i tuoi dati crittografati (chiavi API, preferenze) saranno irrecuperabili.`,label:`La tua chiave di crittografia`,loading:`Caricamento...`,copyToClipboard:`Copia negli appunti`,copied:`Chiave di crittografia copiata negli appunti!`,copyFailed:`Impossibile copiare la chiave negli appunti`,envNote:`Questa chiave è anche salvata nel file backend/.env come ENCRYPTION_KEY`,acknowledgment:`Ho salvato la mia chiave di crittografia in un luogo sicuro e capisco che perderla potrebbe causare perdita di dati.`,confirmRequired:`Conferma di aver salvato la chiave di crittografia`,continue:`Continua a Libre WebUI`}},chat:{greeting:{morning:`Buongiorno`,afternoon:`Buon pomeriggio`,evening:`Buonasera`,night:`Buonanotte`},followUp:`Approfondisci`,welcome:{helpToday:`Come posso aiutarti oggi?`,helpTonight:`Come posso aiutarti stasera?`,variety:{create:{title:`Cosa vogliamo creare?`,subtitle:`Parti da un pensiero, uno schizzo o un problema ostinato.`},explore:{title:`Da dove cominciamo?`,subtitle:`Porta la domanda a cui continui a tornare.`},imagine:{title:`Cosa stai immaginando?`,subtitle:`Possiamo darle forma insieme.`},focus:{title:`Cosa merita la tua attenzione?`,subtitle:`Rendiamo chiaro il prossimo passo.`},untangle:{title:`Dove si è creato il nodo?`,subtitle:`Raccontami prima la versione disordinata.`},momentum:{title:`Ci sono quando vuoi.`,subtitle:`Riprendiamo un’idea, un piano o un filo rimasto in sospeso.`},open:{title:`A cosa stai pensando?`,subtitle:`Un piccolo pensiero o un progetto ambizioso. Vanno bene entrambi.`},challenge:{title:`Cosa dobbiamo risolvere?`,subtitle:`Dimmi cosa non sta ancora funzionando.`},draft:{title:`Cominciamo da qualche parte.`,subtitle:`Non deve essere già perfetto.`},possibility:{title:`Cosa potrebbe diventare?`,subtitle:`Mostrami il materiale grezzo.`},unexpected:{title:`Creiamo qualcosa di inaspettato.`,subtitle:`Dammi un vincolo, un’atmosfera o un’idea ancora abbozzata.`}}},input:{placeholder:`Invia un messaggio`,messagePlaceholder:`Messaggio...`,attachImages:`Allega immagini`,attachments:`Allegati e funzionalità avanzate`,sendMessage:`Invia messaggio`,stopGeneration:`Interrompi generazione`,menu:{uploadImages:`Carica immagini`,attachDocument:`Allega documento`,attachWebpage:`Allega pagina web`,structuredOutput:`Output strutturato`,attach:`Allega`,documentAttached:`Documento allegato`,webpageAttached:`Pagina web allegata`,attachFailed:`Impossibile allegare`,attachKnowledge:`Allega conoscenza`,noCollections:`Ancora nessuna raccolta — creane una in Impostazioni → Documenti`},voiceInput:`Input vocale`,voiceStop:`Smetti di ascoltare`,transcriptionSource:`Origine del riconoscimento vocale`,browserSpeech:`Servizio vocale del browser`,providerTranscriptionDisclosure:`Registra e invia l’audio a {{provider}} per la trascrizione`,webSearchOn:`Ricerca web attiva — le risposte usano risultati in tempo reale`,webSearchOff:`Cerca sul web per questo messaggio`,toolsOn:`Strumenti attivi — il modello può chiamare gli strumenti approvati`,toolsOff:`Consenti al modello di chiamare strumenti per questo messaggio`,thinkingOn:`Ragionamento attivo ({{level}})`,thinkingOff:`Ragiona prima di rispondere`},session:{new:`Nuova chat`,work:`Lavoro`,chat:`Chat`,private:`Privato`,incognito:`Chat in incognito`,privateMode:`Modalità privata`,privateDescription:`Questa conversazione non verrà salvata`,privateTooltip:`Avvia una conversazione privata che non verrà salvata`,deleteConfirm:`Sei sicuro di voler eliminare questa chat?`,generatingTitle:`Generazione titolo`,noChats:`Nessuna chat ancora`,createFirst:`Crea la tua prima chat sopra`,chats:`Chat`,renameChat:`Rinomina chat`,openNewTab:`Apri in una nuova scheda`,pinChat:`Fissa`,unpinChat:`Sblocca`,deleteChat:`Elimina chat`,archiveChat:`Archivia chat`,groups:{pinned:`Fissate`,today:`Oggi`,yesterday:`Ieri`,previous7Days:`Ultimi 7 giorni`,previous30Days:`Ultimi 30 giorni`,older:`Meno recenti`},folder:{new:`Nuova cartella`,namePlaceholder:`Nome cartella`,move:`Sposta nella cartella`,remove:`Rimuovi dalla cartella`,delete:`Elimina cartella`,deleteConfirm:`Eliminare questa cartella? Le chat al suo interno restano.`},shareChat:`Condividi chat…`},persona:{applied:`Persona applicata`,label:`Persona`,loadFailed:`Impossibile caricare i dettagli della persona`,removeFailed:`Impossibile rimuovere la persona`},model:{updated:`Modello aggiornato`,noModels:`Nessun modello disponibile`,noModelsDescription:`Nessun modello disponibile. Assicurati che Ollama sia in esecuzione e abbia modelli installati.`,pullCommand:`ollama pull llama3.2:3b`,noModelsTooltip:`Nessun modello disponibile. Assicurati che Ollama sia in esecuzione e i modelli siano installati.`,selectBeforePrivateChat:`Seleziona un modello disponibile prima di avviare la chat privata`,selectBeforeSending:`Seleziona un modello disponibile prima di inviare`},footer:{disclaimer:`Gli LLM possono commettere errori - verifica le informazioni importanti`,images:`{{count}} immagine`,images_plural:`{{count}} immagini`,structuredOutput:`Output strutturato`},mediaUpload:{dropImagesHere:`Trascina le immagini qui o`,supportedFormats:`Supportati: JPG, PNG, GIF, WebP (max 10 MB ciascuno)`,browse:`sfoglia`},structuredOutput:{title:`Formato risposta`,none:`Nessuno (linguaggio naturale)`,noneDescription:`Risposta predefinita in linguaggio naturale`,json:`JSON`,jsonDescription:`Formato JSON strutturato`,list:`Lista`,listDescription:`Array di elementi`,summary:`Riepilogo`,summaryDescription:`Riepilogo documento con punti chiave`,analysis:`Analisi`,analysisDescription:`Analisi strutturata con pro/contro`,custom:`Schema personalizzato`,customDescription:`Definisci il tuo schema JSON`,customSchema:`Schema JSON personalizzato`,schemaPreview:`Anteprima schema`,applySchema:`Applica schema`,cancel:`Annulla`,enabled:`Output strutturato abilitato`},controls:{title:`Controlli della chat`,systemPrompt:`Prompt di sistema`,systemPromptPlaceholder:`Istruzioni valide solo per questa chat…`,advancedParams:`Parametri avanzati`,advancedParamsDescription:`Sostituzioni per questa chat. I campi vuoti usano i valori globali.`,fromModel:`dal modello`,fromModelHint:`Questo valore proviene dalle impostazioni consigliate dal modello stesso.`,contextCapped:`Contesto limitato a {{context}} dei {{trained}} per cui il modello è stato addestrato, così da caricarsi comunque.`,saved:`Controlli salvati`,saveFailed:`Impossibile salvare i controlli`,params:{temperature:`Temperatura`,topP:`Top P`,topK:`Top K`,minP:`Min P`,maxTokens:`Token max`,repeatPenalty:`Penalità di ripetizione`,seed:`Seed`,contextLength:`Lunghezza contesto`},thinking:`Ragionamento`,thinkingDescription:`Quanto il modello ragiona prima di rispondere. I modelli senza ragionamento lo ignorano.`,compaction:`Compattazione del contesto`,compactionDescription:`Quando il server compatta le conversazioni lunghe, questa chat può esserne esclusa e mantenere l’intera cronologia.`,compactionDefault:`Predefinito del server`,compactionOff:`Disattivata per questa chat`},message:{sources:`Fonti`},toasts:{chatCreated:`Nuova chat creata`,createFailed:`Impossibile creare la sessione`,loadFailed:`Impossibile caricare le sessioni`,chatDeleted:`Chat eliminata`,deleteFailed:`Impossibile eliminare la chat`,deleteSessionFailed:`Impossibile eliminare la sessione`,historyCleared:`Tutta la cronologia delle chat è stata cancellata`,historyClearFailed:`Impossibile cancellare la cronologia delle chat`,titleUpdated:`Titolo della chat aggiornato`,updateFailed:`Impossibile aggiornare la sessione`,noValidSession:`Nessuna sessione di chat valida. Crea o seleziona una chat.`,sessionNotFound:`Sessione non trovata o non valida. Seleziona o crea una sessione di chat valida.`,noModelProvider:`Nessun fornitore di modelli disponibile`,modelUnavailable:`Il modello selezionato "{{model}}" non è disponibile da {{provider}}. Riattiva quel fornitore o seleziona un altro modello.`,modelSwitched:`Passato a {{model}} (il modello precedente non è più disponibile)`,modelsLoadFailed:`Impossibile caricare i modelli`,modelUpdated:`Modello aggiornato per la chat corrente`,modelUpdateFailed:`Impossibile aggiornare il modello della sessione`},documents:{title:`Documenti nel contesto`},context:{title:`Finestra di contesto:`,full:`{{percent}}% piena`,tokensUsed:`{{used}} / {{budget}} token usati`,tokensUsedNoBudget:`{{used}} token usati`,capped:`limitata da {{trained}}`},queue:{title:`In coda ({{total}})`,moveUp:`Sposta su`,moveDown:`Sposta giù`,updateFailed:`Impossibile aggiornare il prompt in coda`,enqueueFailed:`Impossibile mettere in coda il prompt`},compare:{title:`Confronta modelli`,hint:`Rispondi con un massimo di {{max}} modelli aggiuntivi`},fork:{action:`Crea un fork da qui`,created:`Chat duplicata`,failed:`Impossibile duplicare la chat`,origin:`Fork di {{title}}`,originUnknown:`un'altra chat`},sharedReadOnly:`Condiviso da {{owner}} — sola lettura`},sidebar:{navigation:{chat:`Chat`,models:`Modelli`,personas:`Personas`,imagine:`Genera`,agents:`Agenti`,work:`Lavoro`,settings:`Impostazioni`,usageAnalytics:`Utilizzo provider`,system:`Sistema`,userManagement:`Gestione utenti`,signOut:`Esci`,exploreLabel:`Esplora`,notes:`Note`,calendar:`Calendario`,automations:`Automazioni`,prompts:`Prompt`,skills:`Competenze`,tools:`Strumenti`,channels:`Canali`},toggleSize:`Cambia dimensione barra laterale`,expandSidebar:`Espandi barra laterale`},user:{menu:{changePicture:`Cambia immagine`,settings:`Impostazioni`,usageAnalytics:`Utilizzo provider`,system:`Sistema`,userManagement:`Gestione utenti`,logout:`Esci`,pinShortcut:`Fissa nella barra laterale`,unpinShortcut:`Rimuovi dalla barra laterale`,evaluations:`Valutazioni`},avatar:{title:`Cambia immagine profilo`,updated:`Immagine profilo aggiornata`,updateFailed:`Impossibile aggiornare immagine profilo`,saving:`Salvataggio...`,label:`Avatar`,uploadAvatarImage:`Carica immagine avatar`,dragAndDrop:`Trascina e rilascia un'immagine o clicca per sfogliare`,chooseImage:`Scegli immagine`,uploading:`Caricamento...`,enterImageUrl:`Oppure inserisci URL immagine`,supportedFormats:`Supporta: JPG, PNG, GIF, WebP (max 2 MB). Le immagini quadrate funzionano meglio.`,customAvatar:`Immagine avatar personalizzata`,clickToChange:`Clicca per modificare o rimuovere`,removed:`Avatar rimosso`,uploaded:`Avatar caricato con successo`,invalidFile:`Seleziona un file immagine valido`,fileTooLarge:`La dimensione dell'immagine avatar deve essere inferiore a 2 MB`,readFailed:`Impossibile leggere il file immagine`,uploadFailed:`Impossibile caricare l'immagine avatar`},profile:{noEmail:`Nessuna email fornita`}},settings:JSON.parse(`{"title":"Impostazioni","tabs":{"appearance":"Aspetto","model":"Modello","systemMessage":"Messaggio di sistema","plugins":"Plugin","search":"Ricerca","generation":"Generazione","documents":"Documenti","tts":"Voce","imageGen":"Immagini","data":"Dati","shortcuts":"Scorciatoie","about":"Informazioni","sessions":"Sessioni","apiKeys":"Chiavi API","notifications":"Notifiche"},"appearance":{"title":"Aspetto","language":{"title":"Lingua","description":"Seleziona la tua lingua preferita"},"theme":{"title":"Tema","light":"Chiaro","dark":"Scuro","amoled":"Nero Puro","system":"Sistema"},"accent":{"title":"Colore accento","custom":"Colore personalizzato","useColor":"Usa {{color}} come accento","behaviorTitle":"Tavolozza dell'interfaccia","behaviorDescription":"Scegli se limitare l'accento ai controlli o adattare l'intera interfaccia chiara o scura.","defaultStyle":"Predefinita","defaultStyleDescription":"Mantieni le superfici neutre dei temi chiaro e scuro.","adaptedStyle":"Adatta all'accento","adaptedStyleDescription":"Colora superfici, bordi e testo con il colore di accento."},"chatInterface":{"title":"Interfaccia chat","showUsername":"Mostra nome utente","showUsernameDescription":"Visualizza nome utente nei messaggi chat","followUpSuggestions":"Suggerimenti di follow-up","followUpSuggestionsDescription":"Suggerisci risposte rapide dopo ogni risposta","hapticFeedback":"Feedback aptico (Android)","hapticFeedbackDescription":"Usa vibrazioni discrete per le azioni mobili importanti","autoOpenArtifacts":"Apri automaticamente gli artefatti","autoOpenArtifactsDescription":"Apri il pannello degli artefatti quando una risposta ne crea uno"},"background":{"title":"Immagine di sfondo","enable":"Abilita immagine di sfondo","enableDescription":"Mostra sfondo personalizzato con effetto sfocatura","blur":"Sfocatura","opacity":"Opacità","upload":"Carica immagine di sfondo","dragDrop":"Trascina un'immagine o clicca per sfogliare","chooseImage":"Scegli immagine"}},"saveSettings":"Salva impostazioni","model":{"title":"Impostazioni modello","defaultModel":"Modello predefinito","defaultModelDescription":"Questo modello verrà usato di default per le nuove conversazioni","selectModel":"Seleziona un modello","specializedModels":"Modelli specializzati","visionModel":"Modello di visione","selectVisionModel":"Usa il modello di chat corrente","visionModelDescription":"Usato automaticamente ogni volta che il contesto di chat in uscita contiene immagini. Scegli un modello che supporta l'input di immagini.","visionModelUpdateFailed":"Impossibile aggiornare il modello di visione: {{error}}","visionModelNoProvider":"Questo modello di visione non ha un'identità del provider. Seleziona un modello disponibile.","persona":"Persona","updateAll":"Aggiorna tutti i modelli","updateAllDescription":"Controlla aggiornamenti e scarica le ultime versioni di tutti i modelli installati","updateAllButton":"Aggiorna tutti","updating":"Aggiornamento modelli...","currentModelInfo":"Info modello attuale","name":"Nome","size":"Dimensione","family":"Famiglia","format":"Formato","status":"Stato","statusStarting":"Avvio...","statusComplete":"Completato","statusError":"Errore","bulkOperations":"Operazioni massive","autoTitle":{"title":"Generazione titolo automatica","enable":"Abilita titolo automatico","enableDescription":"Genera automaticamente titoli per le nuove conversazioni","taskModel":"Modello attività","selectTaskModel":"Seleziona modello attività","taskModelDescription":"Modello usato per generare titoli conversazioni"},"updatingModel":"Aggiornamento di {{name}} ({{current}}/{{total}})","modelsProgress":"{{current}} di {{total}} modelli"},"systemMessage":{"title":"Messaggio di sistema","description":"Imposta un messaggio di sistema personalizzato che verrà usato per tutte le nuove conversazioni.","placeholder":"Inserisci un messaggio di sistema...","saved":"Messaggio di sistema salvato","saveFailed":"Impossibile salvare messaggio di sistema"},"plugins":{"title":"Plugin","description":"Gestisci i plugin installati","providerConnections":"Connessioni provider","providerConnectionsDescription":"Connetti, configura e ispeziona i provider di modelli tramite plugin.","providers":"Provider","searchProviders":"Cerca provider","noProvidersFound":"Nessun provider corrisponde alla tua ricerca.","selectProvider":"Seleziona un provider","selectProviderDescription":"Scegli un provider per ispezionarne la connessione e il catalogo dei modelli.","addNew":"Aggiungi nuovo plugin","upload":"Carica plugin","addJson":"Aggiungi JSON","uploading":"Caricamento...","jsonPlaceholder":"Incolla configurazione JSON plugin...","install":"Installa plugin","noPlugins":"Nessun plugin installato","noPluginsDescription":"Aggiungi un plugin per estendere le funzionalità","loading":"Caricamento plugin...","installed":"Plugin installati","active":"Plugin attivi","activeLabel":"Attivo","inactive":"Inattivo","activate":"Attiva","deactivate":"Disattiva","models":"modelli","apiKeySet":"Chiave API impostata","apiKeyConfiguration":"Configurazione chiave API","apiKeyDescription":"Memorizza una chiave API personale per {{name}}.","apiKeyEnvAlternative":"In alternativa, imposta la","environmentVariable":"variabile d'ambiente","apiKeyConfigured":"Chiave API configurata","apiKeyPlaceholder":"Inserisci la tua chiave API...","saveApiKey":"Salva chiave API","showApiKey":"Mostra chiave API","hideApiKey":"Nascondi chiave API","configure":"Configura","providerSettings":"Impostazioni provider","status":"Stato","defaultEndpoint":"Endpoint predefinito","modelCatalog":"Catalogo modelli","modelCatalogDescription":"Modelli scoperti e configurati per questo provider e le sue capacità.","refreshModels":"Aggiorna modelli","noModelsConfigured":"Nessun modello configurato per questo provider.","modelId":"ID modello","capabilities":"Funzionalità","modelCatalogUpdated":"Catalogo modelli aggiornato: {{count}} modelli.","modelCatalogUnchanged":"Il catalogo modelli è già aggiornato.","modelCatalogNeedsApiKey":"Aggiungi una chiave API valida per questo provider per caricare il suo elenco modelli in tempo reale.","modelCatalogUnavailable":"Impossibile caricare l'elenco modelli del provider.","modelCatalogRefreshFailed":"Aggiornamento del catalogo modelli non riuscito","capability":{"chat":"Chat","embedding":"Embedding","image":"Immagine","speech":"Sintesi vocale","transcription":"Trascrizione"},"exportPlugin":"Esporta plugin","deletePlugin":"Elimina plugin","apiKey":{"title":"Chiave API","placeholder":"Inserisci chiave API","save":"Salva chiave","remove":"Rimuovi chiave","configured":"Chiave API configurata","notConfigured":"Chiave API richiesta","saved":"Chiave API salvata con successo","removed":"Chiave API rimossa","saveFailed":"Impossibile salvare chiave API","removeFailed":"Impossibile rimuovere chiave API","enterKey":"Inserisci una chiave API"},"variables":"Variables"},"generation":{"title":"Opzioni generazione","description":"Configura come l'IA genera le risposte","scopeLabel":"Si applica a","scopeAll":"Tutti i modelli","scopeModel":"Solo {{model}}","scopeAllHint":"I valori che ogni modello usa, a meno che non abbia i propri.","scopeModelHint":"Salvato solo per questo modello e prevale sui valori generali.","advancedSettings":"Impostazioni avanzate di generazione","advancedSettingsDescription":"Campionamento, limiti di token, contesto, penalità e sequenze di arresto","coreParameters":"Parametri principali","temperature":"Temperatura","temperatureDescription":"Controlla la casualità. Valori bassi sono più focalizzati, valori alti più creativi.","topP":"Top P","topPDescription":"Controlla la diversità tramite campionamento nucleus. Valori bassi si concentrano sui token probabili.","topK":"Top K","topKDescription":"Limita la selezione ai K token più probabili. Imposta a 0 per disabilitare.","minP":"Min P","minPDescription":"Soglia di probabilità minima per la selezione dei token.","generationControl":"Controllo generazione","maxTokens":"Token massimi","maxTokensDescription":"Numero massimo di token da generare nella risposta.","repeatPenalty":"Penalità ripetizione","repeatPenaltyDescription":"Penalizza i token ripetuti. Valori più alti riducono la ripetizione.","contextLength":"Lunghezza contesto","contextLengthDescription":"Dimensione massima della finestra di contesto per le conversazioni.","seed":"Seed","optional":"opzionale","random":"Casuale","seedDescription":"Imposta un seed specifico per output riproducibili.","advancedOptions":"Opzioni avanzate","presencePenalty":"Penalità presenza","presencePenaltyDescription":"Penalizza i token che appaiono nel contesto.","frequencyPenalty":"Penalità frequenza","frequencyPenaltyDescription":"Penalizza i token usati frequentemente.","stopSequences":"Sequenze di stop","commaSeparated":"separate da virgola","stopSequencesDescription":"Token personalizzati che interrompono la generazione quando incontrati.","resetDefaults":"Ripristina predefiniti","saveOptions":"Salva opzioni","embeddingSettings":"Impostazioni embedding","enableEmbeddings":"Abilita embedding documenti","thinking":"Ragionamento","thinkingDescription":"Livello di ragionamento predefinito per le risposte. Ogni chat può modificarlo.","thinkingLevels":{"default":"Predefinito del modello","defaultWith":"Predefinito del modello ({{level}})","off":"Disattivato","on":"Attivo","low":"Basso","medium":"Medio","high":"Alto"}},"documents":{"title":"Impostazioni documenti","embeddings":{"title":"Embedding","enable":"Abilita embedding documenti","model":"Modello embedding","modelDescription":"Seleziona il modello usato per l'embedding documenti","chunkSize":"Dimensione chunk","chunkSizeInTokens":"(in token)","chunkSizeDescription":"Dimensione dei chunk di testo per l'embedding","chunkOverlap":"Sovrapposizione chunk","chunkOverlapInTokens":"(in token)","chunkOverlapDescription":"Sovrapposizione tra chunk consecutivi","similarityThreshold":"Soglia similarità","similarityDescription":"Punteggio minimo di similarità per includere i risultati","status":"Stato embedding","statusLabel":"Stato","available":"Disponibile","unavailable":"Non disponibile","chunksWithEmbeddings":"Chunk con embedding","coverage":"Copertura","regenerate":"Rigenera embedding","regenerating":"Rigenerazione..."},"collections":{"title":"Raccolte di conoscenza","description":"Raggruppa i documenti in raccolte e allegale a qualsiasi chat.","namePlaceholder":"Nome della raccolta","create":"Crea","none":"Nessuna raccolta","deleteConfirm":"Eliminare questa raccolta? I documenti al suo interno restano.","createFailed":"Impossibile creare la raccolta","deleteFailed":"Impossibile eliminare la raccolta","assignFailed":"Impossibile spostare il documento","share":"Condividi raccolta","shared":"condivisa"},"library":{"title":"Documenti caricati","description":"Documenti disponibili come contesto della chat. Un documento caricato in una chat resta nella sua conversazione; un documento senza chat né raccolta entra in ogni conversazione.","empty":"Nessun documento caricato finora.","chatScope":"Una chat","everyChatScope":"Tutte le chat","deleteConfirm":"Eliminare \\"{{name}}\\"? Scomparirà da tutte le chat.","deleteFailed":"Impossibile eliminare il documento","extractionFailed":"Estrazione non riuscita","extractionQueued":"Estrazione…"}},"tts":{"title":"Sintesi vocale","description":"Configura le impostazioni di sintesi vocale per la lettura dei messaggi","loadingProviders":"Caricamento provider TTS...","noProviders":"Nessun provider TTS","noProvidersDescription":"Configura un plugin con supporto TTS per abilitare la sintesi vocale","enable":"Abilita TTS","enableDescription":"Permetti sintesi vocale per i messaggi dell'assistente","autoPlay":"Riproduzione automatica","autoPlayDescription":"Leggi automaticamente i nuovi messaggi dell'assistente","streamSentences":"Riproduzione naturale in batch","streamSentencesDescription":"Genera in anticipo più batch suddivisi in base alle frasi e riproducili come un'unica risposta continua.","voiceConfiguration":"Configurazione voce","model":"Modello TTS","modelDescription":"Seleziona il modello per la generazione sintesi vocale","voice":"Voce","selectVoice":"Seleziona una voce","voiceDescription":"Scegli la voce per la sintesi vocale","providerDefaultVoice":"Questo modello usa la voce predefinita, a meno che tu non fornisca una registrazione di riferimento durante la generazione del parlato.","voiceCloningAvailable":"Clonazione vocale disponibile","voiceCloningAvailableDescription":"Usa Immagina → Audio per creare il parlato da una registrazione di riferimento autorizzata e dalla sua trascrizione esatta. Puoi facoltativamente salvare il riferimento come voce riutilizzabile.","savedVoiceOption":"{{name}} (voce salvata)","savedVoices":"Voci salvate","loadingSavedVoices":"Caricamento delle voci salvate…","deleteSavedVoice":"Elimina la voce salvata {{name}}","deleteSavedVoiceConfirm":"Eliminare la voce salvata «{{name}}»? La registrazione di riferimento e la trascrizione verranno rimosse.","savedVoiceDeleted":"Voce salvata eliminata","savedVoicePreferenceCleanupFailed":"Voce salvata eliminata, ma non è stato possibile reimpostare le impostazioni Voce","savedVoiceDeleteFailed":"Impossibile eliminare la voce salvata","speed":"Velocità","speedSlow":"0,5x","speedNormal":"1,0x","speedFast":"2,0x","availableProviders":"Provider disponibili","models":"modelli","test":"Test","testing":"Test in corso...","stop":"Stop","consentRevoked":"Consenso revocato","consentExpired":"Consenso scaduto","transferCount":"inviato al fornitore {{total}} volte","consentExpires":"consenso fino al {{date}}","revokeSavedVoice":"Revoca il consenso per {{name}}","revokeSavedVoiceConfirm":"Revocare il consenso per «{{name}}»? La voce salvata non potrà più essere usata, ma la traccia del consenso viene conservata.","savedVoiceRevoked":"Consenso revocato","savedVoiceRevokeFailed":"Impossibile revocare il consenso"},"imageGen":{"title":"Generazione immagini","description":"Configura impostazioni e provider per la generazione immagini","loadingProviders":"Caricamento provider generazione immagini...","noProviders":"Nessun provider generazione immagini","noProvidersDescription":"Configura un plugin con supporto generazione immagini","enable":"Abilita generazione immagini","enableDescription":"Permetti generazione immagini IA nelle conversazioni","configuration":"Configurazione","model":"Modello","modelDescription":"Seleziona il modello per la generazione immagini","size":"Dimensione","sizeDescription":"Risoluzione delle immagini generate","quality":"Qualità","qualityDescription":"Livello di qualità delle immagini generate","style":"Stile","styleDescription":"Preset stile per le immagini generate","availableProviders":"Provider disponibili","models":"modelli"},"data":{"title":"Gestione dati","export":"Esporta dati","exportDescription":"Scarica un archivio portatile di preferenze, cartelle chat, sessioni e messaggi, note, raccolte di conoscenze e testo estratto dai documenti.","archiveScopeV3":"Include preferenze, chat, cartelle, note, raccolte di conoscenze e testo estratto dai documenti. Esclude account e segreti, voci biometriche clonate, contenuti multimediali generati, persona e memoria e dati o volumi Work.","exportAll":"Esporta tutti i dati","import":"Importa dati","importDescription":"Importa dati da un'esportazione precedente.","importData":"Importa dati","importing":"Importazione...","clearSessions":"Cancella sessioni","clearSessionsDescription":"Elimina tutte le sessioni chat. Questa azione non può essere annullata.","clearAll":"Cancella tutto","clearing":"Cancellazione...","importOptions":"Opzioni importazione","importOptionsDescription":"Scegli come gestire i dati esistenti","validatingArchive":"Convalida dell’archivio e calcolo delle modifiche…","archiveValidationFailed":"Convalida dell’archivio non riuscita","preflightReport":"Anteprima importazione","preflightIncoming":"{{folders}} cartelle · {{sessions}} chat · {{messages}} messaggi · {{notes}} note · {{collections}} raccolte · {{documents}} documenti · {{chunks}} frammenti","preflightRemappedIds":"{{count}} ID verranno rimappati per proteggere i dati di un altro account.","skipDuplicates":"Salta duplicati","overwrite":"Sovrascrivi esistenti","importResults":"Risultati importazione","preferences":"Preferenze","imported":"Importato","failed":"Fallito","sessions":"Sessioni","sessionFolders":"Cartelle delle sessioni","notes":"Note","knowledgeCollections":"Raccolte di conoscenze","importedLabel":"importato","overwrittenLabel":"sovrascritto","skipped":"saltato","toCreate":"da creare","toOverwrite":"da sovrascrivere","toSkip":"da ignorare","documents":"Documenti","warnings":"Avvisi","refreshAfterImportFailed":"I dati sono stati importati, ma non è stato possibile aggiornare alcune viste. Ricarica Libre WebUI per vedere tutte le modifiche.","errors":"Errori","archivedChats":{"title":"Chat archiviate","empty":"Nessuna chat archiviata","unarchive":"Ripristina"}},"about":{"title":"Informazioni","versionLabel":"Versione","ollama":{"title":"Stato Ollama","version":"Versione","healthy":"Funzionante","unhealthy":"Non funzionante"},"stats":{"models":"Modelli","sessions":"Sessioni"},"features":{"privacy":{"title":"Privacy prima di tutto","description":"I tuoi dati rimangono sul tuo dispositivo"},"openSource":{"title":"Open Source","description":"Software libero e open source"},"localInference":{"title":"Inferenza locale","description":"Esegui modelli IA localmente con Ollama"}},"openSourceBy":"Open source di {{company}}","links":{"title":"Link","github":"GitHub","githubDescription":"Visualizza codice sorgente e contribuisci","website":"Sito web","websiteDescription":"Visita il nostro sito web","documentation":"Documentazione","reportIssue":"Segnala problemi","reportIssueDescription":"Segnalazioni bug e richieste funzionalità","documentationDescription":"Guide, tutorial e riferimento API","forgejo":"Mirror Forgejo","forgejoDescription":"Repository Forgejo self-hosted","sponsor":"Sponsor","sponsorDescription":"Aiuta a finanziare il progetto","star":"Stella su GitHub","starDescription":"Una stella aiuta gli altri a scoprire il progetto"},"version":"Versione {{version}}","updates":{"checking":"Ricerca aggiornamenti…","upToDate":"Stai usando l'ultima versione","updateAvailable":"È disponibile la versione {{version}}","ahead":"In anticipo sull'ultima release ({{version}})","checkFailed":"Impossibile verificare gli aggiornamenti","viewChangelog":"Vedi il changelog"}},"groups":{"general":"Generale","chat":"Chat","media":"Voce e immagini","connections":"Connessioni"},"search":{"title":"Ricerca web","description":"Cerca sul web tramite un'istanza SearXNG self-hosted. Quando attiva, il compositore della chat offre un interruttore di ricerca e le attività Work con accesso di rete possono cercare.","enableLabel":"Attiva la ricerca web","enableDescription":"Offrire la ricerca web a chat e attività Work. Le ricerche vengono eseguite lato server sull'istanza configurata.","urlLabel":"URL SearXNG","urlDescription":"URL di base dell'istanza SearXNG raggiungibile dal server. Lo stack di deploy privato incluso fornisce http://searxng:8080.","maxResultsLabel":"Risultati per ricerca","maxResultsDescription":"Quanti risultati alimentano una risposta o una chiamata strumento, 1-100.","maxResultsInvalid":"I risultati per ricerca devono essere tra 1 e 100.","safeSearchLabel":"Ricerca sicura","safeSearchDescription":"Chiedere al motore di filtrare i risultati espliciti.","test":"Prova connessione","testing":"Prova in corso…","testOk":"La ricerca funziona — {{results}} risultati restituiti","testFailed":"Prova di ricerca non riuscita","save":"Salva","saved":"Impostazioni di ricerca salvate","saveFailed":"Impossibile salvare le impostazioni di ricerca"},"compaction":{"title":"Compattazione del contesto","description":"Quando una conversazione supera la soglia di token, il server riassume i messaggi più vecchi e conserva integralmente solo i più recenti. Si applica a tutti gli utenti di questo server.","thresholdLabel":"Soglia di token","thresholdDescription":"Numero stimato di token di contesto oltre il quale la cronologia meno recente viene riassunta, 500-1.000.000.","thresholdInvalid":"La soglia di token deve essere compresa tra 500 e 1.000.000.","keepRecentLabel":"Messaggi recenti conservati","keepRecentDescription":"Quanti degli ultimi messaggi restano sempre integrali, 2-200.","keepRecentInvalid":"I messaggi recenti conservati devono essere compresi tra 2 e 200.","modelLabel":"Modello di compattazione","modelDescription":"Il modello che scrive i riassunti. Se non ne viene scelto uno, viene usato il modello della sessione.","sessionModelOption":"Usa il modello della sessione","promptLabel":"Prompt di riassunto personalizzato","promptPlaceholder":"Lascia vuoto per usare il prompt integrato","promptDescription":"Le variabili del template {{previousSummaryVariable}} e {{messagesVariable}} vengono sostituite con il riassunto precedente e i messaggi da riassumere.","saved":"Impostazioni di compattazione salvate","saveFailed":"Impossibile salvare le impostazioni di compattazione","loadFailed":"Impossibile caricare le impostazioni di compattazione"},"sessions":{"title":"Sessioni","description":"Tutti i luoghi in cui questo account è connesso. La disconnessione di una sessione ha effetto immediato; un nuovo accesso ripristina l'accesso.","signOutOthers":"Disconnetti le altre sessioni","signingOutOthers":"Disconnessione…","signOut":"Disconnetti","signingOut":"Disconnessione…","revoked":"Sessione disconnessa.","revokeFailed":"Impossibile disconnettere la sessione.","othersRevoked":"Altre sessioni disconnesse: {{count}}","loadFailed":"Impossibile caricare le sessioni.","empty":"Nessuna sessione trovata.","current":"Questa sessione","revokedBadge":"Disconnessa","unknownDevice":"Dispositivo sconosciuto","createdAt":"Accesso effettuato","lastSeenAt":"Ultima attività","expiresAt":"Scadenza"},"apiKeys":{"title":"Chiavi API","description":"Token con ambiti limitati per script e integrazioni. Ogni chiave ha accesso solo agli ambiti che scegli.","newKeyTitle":"La tua nuova chiave API","copy":"Copia","copied":"Copiato negli appunti.","copyFailed":"Copia non riuscita.","showOnceWarning":"Copiala ora: non verrà più mostrata.","dismiss":"Fatto","createTitle":"Crea una chiave","nameLabel":"Nome","namePlaceholder":"es. pipeline CI","nameRequired":"Assegna un nome alla chiave.","expiryLabel":"Scadenza in giorni (facoltativa)","expiryPlaceholder":"Mai","expiryInvalid":"La scadenza deve essere un numero intero di giorni.","scopesLabel":"Ambiti","scopesRequired":"Seleziona almeno un ambito.","create":"Crea chiave","creating":"Creazione…","created":"Chiave API creata.","createFailed":"Impossibile creare la chiave API.","revoke":"Revoca","revoking":"Revoca in corso…","revoked":"Chiave API revocata.","revokeFailed":"Impossibile revocare la chiave API.","revokedBadge":"Revocata","loadFailed":"Impossibile caricare le chiavi API.","empty":"Nessuna chiave API al momento.","createdAt":"Creata","lastUsedAt":"Ultimo utilizzo","expiresAt":"Scadenza","neverExpires":"Mai"},"notifications":{"title":"Notifiche","description":"Come questo browser viene avvisato di menzioni, condivisioni, promemoria e lavori completati.","pushTitle":"Notifiche del browser","pushHint":"Mostra le notifiche di sistema da questo dispositivo anche quando la scheda è in secondo piano.","enabled":"Le notifiche del browser sono attive su questo dispositivo.","disabled":"Le notifiche del browser sono disattivate su questo dispositivo.","enableFailed":"Impossibile attivare le notifiche del browser.","permissionDenied":"Le notifiche sono bloccate nelle impostazioni del browser per questo sito.","unsupported":"Questo browser non supporta le notifiche push.","workerMissing":"Il push richiede l'app installata. Ricarica l'app di produzione e riprova.","deviceNote":"Le notifiche valgono per dispositivo. Disconnettere la sessione rimuove anche la sua registrazione push."}}`),models:{title:`Modelli`,subtitle:`Scarica, gestisci e monitora i tuoi modelli Ollama`,installed:`Modelli installati`,available:`Modelli disponibili`,pull:`Scarica modello`,pulling:`Download...`,delete:`Elimina modello`,deleting:`Eliminazione...`,size:`Dimensione`,modified:`Modificato`,family:`Famiglia`,parameters:`Parametri`,quantization:`Quantizzazione`,noModels:`Nessun modello installato`,pullFirst:`Scarica un modello per iniziare`,noModelsFound:`Nessun modello trovato`},personas:{title:`Personas`,create:`Crea persona`,edit:`Modifica persona`,delete:`Elimina persona`,name:`Nome`,description:`Descrizione`,systemPrompt:`Prompt di sistema`,model:`Modello`,avatar:`Avatar`,background:`Sfondo`,noPersonas:`Nessuna persona creata`,createFirst:`Crea la tua prima persona per personalizzare la tua esperienza chat`},gallery:{title:`Galleria`,subtitle:`La tua galleria di immagini generate dall'IA`,imageCount:`{{count}} immagini`,generate:`Genera immagine`,generateDescription:`Crea immagini con l'IA`,generating:`Generazione...`,prompt:`Prompt`,promptPlaceholder:`Descrivi l'immagine che vuoi generare...`,noImages:`Nessuna immagine generata ancora`,download:`Scarica`,delete:`Elimina`,regenerate:`Rigenera`,model:`Modello`,size:`Dimensione`,quality:`Qualità`,created:`Creato`},errors:{generic:`Si è verificato un errore`,network:`Errore di rete. Controlla la tua connessione.`,unauthorized:`Non sei autorizzato a eseguire questa azione.`,notFound:`La risorsa richiesta non è stata trovata.`,serverError:`Errore del server. Riprova più tardi.`,validation:`Controlla i tuoi dati e riprova.`},keyboard:{title:`Scorciatoie da tastiera`,toggleSidebar:`Mostra/nascondi barra laterale`,openSettings:`Apri impostazioni`,toggleDarkMode:`Cambia modalità scura`,showShortcuts:`Mostra scorciatoie da tastiera`,closeModals:`Chiudi finestre`,groups:{navigation:`Navigazione`,general:`Generale`,chat:`Chat`,workspace:`Area di lavoro`},actions:{sendMessage:`Invia messaggio`,newLine:`Nuova riga nel messaggio`,saveEdit:`Salva il messaggio modificato`,cancelEdit:`Annulla la modifica`,saveFile:`Salva file`,formatCode:`Formatta il codice`},description:`Tutte le scorciatoie da tastiera disponibili in Libre WebUI.`,newChat:`Nuova chat`,newWork:`Nuova sessione Work`,openPalette:`Apri la palette dei comandi`},modelManager:{title:`Modelli`,loading:`Caricamento modelli...`,systemStatus:{online:`Ollama online`,offline:`Ollama offline`,models:`modello`,models_plural:`modelli`,running:`in esecuzione`,vram:`VRAM`},sections:{pull:`Scarica nuovo modello`,library:`Sfoglia libreria`,huggingface:`HuggingFace Hub`,running:`Modelli in esecuzione`,local:`Modelli locali`,advanced:`Azioni avanzate`,catalog:`Catalogo modelli`},catalog:{searchPlaceholder:`Cerca modelli per nome o provider...`,noModels:`Nessun modello ancora disponibile.`,empty:`Nessun modello corrisponde alla ricerca.`,providerOllama:`Ollama`,hidden:`Nascosto`,visibilityFailed:`Impossibile aggiornare la visibilità del modello.`,filterAll:`Tutti i modelli`,filterLocal:`Locali`,filterProviders:`Provider`,filterHidden:`Nascosti`,enableAll:`Attiva quelli mostrati`,disableAll:`Disattiva quelli mostrati`,rename:`Modifica nome e immagine`,setPicture:`Imposta immagine`,clearPicture:`Rimuovi immagine`,pictureInvalid:`Scegli un file immagine.`,pictureTooLarge:`Le immagini devono essere inferiori a 192 KB.`,saving:`Salvataggio…`,hide:`Nascondi agli utenti`,show:`Mostra agli utenti`},pull:{placeholder:`Inserisci nome modello (es. llama3.2:3b, deepseek-r1:14b)`,button:`Scarica`,cancel:`Annulla`,popular:`Modelli popolari:`,browseAll:`Sfoglia tutti i modelli su ollama.com`,success:`Modello {{name}} scaricato con successo`,cancelled:`Download modello annullato`,failed:`Impossibile scaricare il modello`,enterName:`Inserisci un nome modello`,restricted:`L'installazione dei modelli è limitata agli amministratori in questa istanza.`},progress:{starting:`Inizializzazione...`,pulling:`Download modello...`,pullingLayer:`download`,verifying:`Verifica integrità...`,verifyingDigest:`verifica digest sha256`,writing:`Scrittura manifest...`,cleaning:`Pulizia...`},library:{available:`disponibile`,search:`Cerca modelli...`,noResults:`Nessun modello trovato corrispondente ai criteri`,installed:`Installato`,more:`+{{count}} altri`,refresh:`Aggiorna libreria`},huggingface:{browseAll:`Sfoglia tutto su HuggingFace`,checkingGguf:`Ricerca file GGUF...`,noGgufAvailable:`Nessun file GGUF disponibile per il pull diretto di Ollama`,ggufFilesCount:`File GGUF ({{count}}) - Pull diretto su Ollama`,noModelsFound:`Nessun modello trovato`,noResults:`Nessun modello trovato. Prova a modificare la ricerca o i filtri.`,browseAllLink:`Sfoglia tutto`,search:`Cerca modelli HuggingFace...`,by:`di`,gated:`Accesso limitato`,viewOnHF:`Visualizza su HuggingFace`,sortDownloads:`Download`,sortLikes:`Mi piace`,sortRecent:`Recente`,taskTextGeneration:`Generazione testo`,taskTextToSpeech:`Testo a voce`,taskTextToImage:`Testo a immagine`,taskSpeechRecognition:`Riconoscimento vocale`,tasks:{textGen:`Generazione testo`,tts:`Testo a voce`,image:`Testo a immagine`,stt:`Riconoscimento vocale`},sort:{downloads:`Più scaricati`,likes:`Più apprezzati`,recent:`Aggiornati di recente`}},local:{noModels:`Nessun modello installato ancora`,pullToStart:`Scarica un modello sopra per iniziare`,installed:`installato`,running:`In esecuzione`,info:`Info`,copy:`Copia`,delete:`Elimina`,deleteConfirm:`Sei sicuro di voler eliminare il modello "{{name}}"?`,deleteSuccess:`Modello {{name}} eliminato con successo`,deleteFailed:`Impossibile eliminare il modello`},advanced:{createModel:`Crea modello`,fromModelfile:`Da Modelfile`,copyModel:`Copia modello`,duplicateExisting:`Duplica esistente`,testEmbeddings:`Test embedding`,generateVectors:`Genera vettori`,healthCheck:`Controllo salute`,testConnection:`Test connessione`,healthy:`Ollama è funzionante!`},modals:{details:{title:`Dettagli modello`,info:`Informazioni modello`,family:`Famiglia`,parameters:`Parametri`,quantization:`Quantizzazione`,format:`Formato`,systemPrompt:`Prompt di sistema`,template:`Template`,license:`Licenza`,modelfile:`Modelfile`,noDetails:`Nessun dettaglio disponibile`},copy:{title:`Copia modello`,source:`Modello sorgente`,selectModel:`Seleziona un modello...`,newName:`Nuovo nome modello`,placeholder:`es. mio-modello-personalizzato`,copying:`Copia in corso...`,button:`Copia modello`,success:`Modello copiato in {{name}}`,failed:`Impossibile copiare il modello`,enterBoth:`Inserisci sia il nome sorgente che di destinazione`},create:{title:`Crea modello personalizzato`,name:`Nome modello`,namePlaceholder:`es. mio-assistente`,modelfile:`Modelfile`,modelfilePlaceholder:`FROM llama3.2
|
|
2
|
+
SYSTEM Sei un assistente utile.`,see:`Vedi`,docs:`Documentazione Modelfile`,docsLink:`per riferimento sintassi`,creating:`Creazione...`,button:`Crea modello`,success:`Modello {{name}} creato con successo`,failed:`Impossibile creare il modello`,enterBoth:`Inserisci nome modello e contenuto Modelfile`},embeddings:{title:`Test embedding`,model:`Modello embedding`,selectModel:`Seleziona un modello...`,recommended:`Consigliati: nomic-embed-text, mxbai-embed-large`,input:`Testo di input`,placeholder:`Inserisci testo per generare embedding...`,generating:`Generazione...`,button:`Genera embedding`,result:`Risultato ({{count}} dimensioni)`,success:`Generato vettore embedding a {{count}} dimensioni`,failed:`Impossibile generare embedding`,enterBoth:`Seleziona un modello e inserisci del testo`}}},personaManager:{title:`Personas`,subtitle:`Crea e gestisci personas IA con personalità, memorie e comportamenti personalizzati`,loading:`Caricamento personas...`,createButton:`Crea persona`,importExport:`Importa/Esporta`,stats:{title:`Le tue personas`,count:`{{count}} persona creata`,count_plural:`{{count}} personas create`},empty:{title:`Nessuna persona ancora`,description:`Crea la tua prima persona per iniziare con interazioni IA personalizzate`,button:`Crea la tua prima persona`},deleteConfirm:`Sei sicuro di voler eliminare "{{name}}"?`,deleteSuccess:`Persona "{{name}}" eliminata con successo`,downloadSuccess:`Persona "{{name}}" scaricata con successo`,failed:`Impossibile {{action}} persona`},personaForm:{title:{create:`Crea nuova persona`,edit:`Modifica persona`},subtitle:{create:`Crea una nuova persona IA con personalità, sistemi di memoria e capacità di apprendimento adattivo personalizzati`,edit:`Personalizza la tua persona IA con memoria avanzata, apprendimento adattivo e parametri intelligenti`},loading:`Caricamento modulo...`,saved:`Salvato`,tabs:{basic:`Base`,parameters:`Parametri`,memory:`Memoria e apprendimento`,advanced:`Avanzato`,bindings:`Collegamenti`},basic:{name:`Nome`,namePlaceholder:`Inserisci nome persona`,model:`Modello`,selectModel:`Seleziona un modello`,description:`Descrizione`,descriptionPlaceholder:`Descrivi la tua persona...`,systemPrompt:`Prompt di sistema`,systemPromptPlaceholder:`Inserisci il prompt di sistema che definisce il comportamento della persona...`,systemPromptHint:`Il prompt di sistema definisce come la persona si comporterà e risponderà.`},parameters:{temperature:`Temperatura`,temperatureHint:`Controlla creatività vs consistenza`,topP:`Top-P`,topPHint:`Controlla diversità risposta`,topK:`Top-K`,topKHint:`Limita vocabolario ai top-k token`,contextWindow:`Finestra contesto`,contextWindowHint:`Lunghezza massima storico conversazione`,maxTokens:`Token massimi`,maxTokensHint:`Lunghezza massima risposta`,repeatPenalty:`Penalità ripetizione`,repeatPenaltyHint:`Riduce risposte ripetitive`},memory:{title:`Sistema di memoria`,subtitle:`La persona ricorda le conversazioni nel tempo`,enableHint:`Abilita il sistema di memoria per permettere alla persona di ricordare le conversazioni e costruire contesto nel tempo.`,loading:`Caricamento stato memoria...`,noData:`Nessun dato di memoria ancora`,memories:`Memorie`,mbUsed:`MB usati`,lastBackup:`Ultimo backup`,never:`Mai`,maxMemories:`Memorie massime`,maxMemoriesHint:`Quante memorie questa persona può memorizzare`,retention:`Ritenzione memoria`,retentionHint:`Giorni per mantenere le memorie prima della pulizia`,autoCleanup:`Pulizia automatica memorie vecchie`,wipeAll:`Cancella tutte le memorie`,wipeCannot:`Questa azione non può essere annullata`,wipeButton:`Cancella`,wiping:`Cancellazione...`,wipeConfirm:`Sei sicuro di voler cancellare tutte le memorie? Questa azione non può essere annullata.`,wipeSuccess:`Cancellate {{count}} memorie`},learning:{title:`Apprendimento adattivo`,subtitle:`La persona evolve in base alle interazioni`,enableHint:`Abilita l'apprendimento adattivo per permettere alla persona di evolversi e personalizzare le risposte in base alle tue interazioni.`,speed:`Velocità apprendimento`,slow:`Lento`,slowDesc:`Cambiamenti graduali`,balanced:`Bilanciato`,balancedDesc:`Ritmo moderato`,fast:`Veloce`,fastDesc:`Adattamento rapido`,autoAdapt:`Adatta automaticamente alle preferenze utente`,whatLearns:`Cosa apprende la persona:`,conversationTone:`Tono conversazione`,responseStyle:`Stile risposta`,userPreferences:`Preferenze utente`,topicInterests:`Interessi argomenti`},advanced:{embeddingModel:`Modello embedding`,embeddingHint:`Seleziona il modello usato per la codifica memoria e ricerca semantica. I modelli embedding sono mostrati per primi, seguiti da altri modelli disponibili.`,noModels:`Nessun modello trovato`,embeddingModels:`Modelli embedding`,otherModels:`Altri modelli`,installHint:`Installa un modello embedding:`,recommended:`Consigliati: nomic-embed-text, mxbai-embed-large, bge-m3, snowflake-arctic-embed`,aboutTitle:`Informazioni impostazioni avanzate`,aboutDescription:`Il modello embedding è usato dal sistema di memoria per capire il significato semantico e trovare memorie rilevanti durante le conversazioni. Scegli un modello adatto al tuo caso d'uso e risorse disponibili.`},actions:{cancel:`Annulla`,save:`Salva`,saving:`Salvataggio...`,saveClose:`Salva e chiudi`,create:`Crea`},success:{created:`Persona creata`,updated:`Persona aggiornata`},error:{saveFailed:`Salvataggio fallito`},bindings:{toolServers:`Server di strumenti`,toolServersHint:`Server che questa persona può chiamare. Se lasci vuoto vengono offerti tutti i server già raggiungibili dall'utente.`,noToolServers:`Non hai a disposizione nessun server di strumenti.`,builtinTools:`Strumenti integrati`,builtinToolsHint:`Strumenti che il server realizza da sé. Se lasci vuoto vengono offerti tutti.`,noBuiltinTools:`Non ci sono strumenti integrati disponibili.`,builtin:{web_search:`Ricerca web`,search_documents:`Cerca nei documenti`,load_skill:`Carica competenza`},skills:`Competenze`,skillsHint:`Competenze che il modello può caricare mentre questa persona è attiva.`,noSkills:`Non hai ancora creato competenze.`,collections:`Raccolte di conoscenza`,collectionsHint:`Raccolte di documenti in cui questa persona può cercare.`,noCollections:`Non hai ancora creato raccolte.`,prompt:`Prompt`,promptHint:`Un prompt con cui avviare ogni nuova chat con questa persona.`,noPrompt:`Nessun prompt`,version:`Revisione dei collegamenti {{version}}`}},personaCard:{enhanced:`Migliorato`,systemPrompt:`Prompt di sistema`,memories:`memorie`,use:`Usa`,editTooltip:`Modifica persona`,downloadTooltip:`Scarica persona`,backup:`Backup`,exportDNA:`Esporta DNA`,wipeMemories:`Cancella memorie`,wipeConfirm:`Sei sicuro di voler cancellare tutte le memorie per questa persona? Questa azione non può essere annullata.`,wipeSuccess:`Cancellate {{count}} memorie`,backupSuccess:`Backup persona scaricato con successo`,dnaSuccess:`DNA persona esportato con successo`,failed:`{{action}} fallito`,shareTooltip:`Condividi questa persona`},userManager:{title:`Gestione utenti`,subtitle:`Gestisci account utente e permessi`,pageDescription:`Gestisci account utente, permessi e controlli di accesso per la tua istanza Libre WebUI.`,loading:`Caricamento utenti...`,createUser:`Crea utente`,search:`Cerca utenti...`,noUsers:`Nessun utente trovato`,noUsersMatching:`Nessun utente corrispondente alla ricerca`,columns:{user:`Utente`,email:`Email`,role:`Ruolo`,created:`Creato`,actions:`Azioni`},roles:{admin:`Admin`,user:`Utente`},noEmail:`Nessuna email`,deleteConfirm:`Sei sicuro di voler eliminare l'utente "{{name}}"?`,deleteSuccess:`Utente eliminato con successo`,deleteFailed:`Impossibile eliminare l'utente`,cannotDeleteSelf:`Non puoi eliminare il tuo account`,approval:{title:`Approvazioni in sospeso`,description:`Rivedi le nuove registrazioni prima di ammetterle in questa istanza.`,registered:`Registrato`,activate:`Attiva account`,reject:`Rifiuta registrazione`,approved:`{{name}} può ora accedere.`,failed:`L'account non può essere approvato.`,notification:`{{count}} registrazioni in attesa di approvazione.`,notificationBadge:`{{count}} approvazioni utente in sospeso`},form:{title:{create:`Crea utente`,edit:`Modifica utente`},username:`Nome utente`,usernamePlaceholder:`Inserisci nome utente`,email:`Email`,emailPlaceholder:`Inserisci email (opzionale)`,password:`Password`,passwordPlaceholder:`Inserisci password`,passwordHint:`Lascia vuoto per mantenere la password attuale`,role:`Ruolo`,creating:`Creazione...`,updating:`Aggiornamento...`,createButton:`Crea utente`,updateButton:`Aggiorna utente`,createSuccess:`Utente creato con successo`,updateSuccess:`Utente aggiornato con successo`,createFailed:`Impossibile creare l'utente`,updateFailed:`Impossibile aggiornare l'utente`},workAccess:{title:`Accesso a Work`,description:`Consenti a tutti gli utenti attivi di creare ed eseguire attività Work in sandbox isolate. Gli amministratori hanno sempre accesso; gli spazi di lavoro su cartelle host restano riservati agli amministratori.`,saved:`Accesso a Work aggiornato`,saveFailed:`Impossibile aggiornare l'accesso a Work`},workPolicies:{title:`Politiche Work`,description:`Preset di esecuzione con nome (immagine, limiti, arresto per inattività) con cui creare attività. I campi vuoti ereditano i valori globali.`,add:`Aggiungi politica`,name:`Nome`,image:`Immagine`,memory:`Memoria`,cpu:`CPU`,pids:`Limite PID`,workspaceSize:`Dimensione spazio di lavoro`,idleMinutes:`Arresto per inattività (minuti)`,networkDefault:`Rete predefinita`,networkInherit:`Eredita predefinito`,networkOn:`Attivata`,networkOff:`Disattivata`,save:`Salva`,cancel:`Annulla`,edit:`Modifica politica`,delete:`Elimina politica`,deleteConfirm:`Eliminare questa politica? Le attività che la usano tornano ai valori globali.`,empty:`Ancora nessuna politica. Le attività usano i valori di esecuzione globali.`,saved:`Politica Work salvata`,deleted:`Politica Work eliminata`,failed:`Impossibile salvare la politica Work`,invalidNumber:`Il limite PID e l'arresto per inattività devono essere numeri.`,guiEnabled:`Work Computer (GUI + browser)`,takeoverEnabled:`Consenti la presa di controllo dello schermo`,computerPreset:`Work Computer`,computerPresetHint:`Il Work Computer richiede l'immagine GUI: compilala da deploy/work-computer nel repository e taggala libre-work-computer:latest.`},modelAccess:{title:`Download dei modelli`,description:`Consenti a tutti gli utenti attivi di scaricare modelli da Ollama e dal browser Hugging Face. Gli amministratori possono sempre scaricare modelli.`,saved:`Accesso al download dei modelli aggiornato`,saveFailed:`Impossibile aggiornare l'accesso al download dei modelli`},webSearchAccess:{title:`Ricerca web`,description:`Consenti a tutti gli utenti attivi di usare la ricerca web in chat e attività Work. Gli amministratori possono sempre usarla. Il motore si configura in Impostazioni > Ricerca.`,saved:`Accesso alla ricerca web aggiornato`,saveFailed:`Impossibile aggiornare l'accesso alla ricerca web`},agentAccess:{title:`Agenti`,description:`Offrire la sezione Agenti (Libre Claw) agli amministratori. Le CLI degli agenti vengono eseguite sull'host come utente del server, fuori dalla sandbox di Work.`,saved:`Accesso agli agenti aggiornato`,saveFailed:`Impossibile aggiornare l'accesso agli agenti`,lockedByEnv:`Impostato dalla variabile d'ambiente AGENT_CLI_MODELS_ENABLED.`},groups:{title:`Gruppi`,description:`Raggruppa gli account per gestire gli accessi condivisi e verifica cosa può effettivamente fare ciascun account.`,newGroup:`Nuovo gruppo`,nameLabel:`Nome`,nameRequired:`Assegna un nome al gruppo.`,descriptionLabel:`Descrizione (facoltativa)`,create:`Crea gruppo`,creating:`Creazione…`,created:`Gruppo creato.`,createFailed:`Impossibile creare il gruppo.`,deleted:`Gruppo eliminato.`,deleteFailed:`Impossibile eliminare il gruppo.`,deleteGroup:`Elimina gruppo`,loadFailed:`Impossibile caricare i gruppi.`,empty:`Nessun gruppo al momento.`,memberCount:`Membri: {{count}}`,noMembers:`Nessun membro al momento.`,addedAt:`Aggiunto`,addMember:`Aggiungi membro`,add:`Aggiungi`,selectUser:`Seleziona un utente…`,memberAdded:`Membro aggiunto.`,memberAddFailed:`Impossibile aggiungere il membro.`,removeMember:`Rimuovi membro`,memberRemoved:`Membro rimosso.`,memberRemoveFailed:`Impossibile rimuovere il membro.`,effectiveTitle:`Accesso effettivo`,effectiveDescription:`Scegli un account per vedere l'accesso complessivo che risulta da ruolo, gruppi e autorizzazioni.`,accessLookupFailed:`Impossibile caricare l'accesso effettivo.`,roleLabel:`Ruolo`,statusLabel:`Stato`,memberOf:`Gruppi`,featuresLabel:`Accesso alle funzionalità`,grantsLabel:`Autorizzazioni`,grantVia:`tramite`},audit:{title:`Registro di audit di sicurezza`,description:`Accessi recenti, controlli dei permessi e modifiche amministrative su questa istanza.`,actionFilter:`Azione`,actionPlaceholder:`es. auth.login`,resultFilter:`Risultato`,resultSuccess:`Riuscito`,resultDenied:`Negato`,resultFailure:`Errore`,limitFilter:`Limite`,loadFailed:`Impossibile caricare il registro di audit.`,empty:`Nessun evento di audit registrato finora.`,actor:`Autore`,target:`Destinazione`},tools:{title:`Accesso agli strumenti`,description:`Consenti a tutti di chiamare i server di strumenti. Se è disattivato possono farlo solo gli amministratori.`,saved:`Accesso agli strumenti aggiornato`,saveFailed:`Impossibile aggiornare l'accesso agli strumenti.`,lockedByEnv:`Bloccato da una variabile d'ambiente su questo server.`},voice:{title:`Accesso vocale`,description:`Controlla chi può usare le funzioni vocali. Gli amministratori hanno sempre accesso.`,lockedByEnv:`Impostato da una variabile d’ambiente`,saved:`Accesso vocale aggiornato`,saveFailed:`Impossibile aggiornare l’accesso vocale`,features:{stt:`Voce in testo`,tts:`Testo in voce`,voiceMode:`Modalità vocale`,voiceCloning:`Clonazione vocale`}},mfaPolicy:{title:`Criterio a due fattori`,description:`Se gli account devono completare un secondo passaggio di accesso.`,requireAll:`Richiedi due fattori a tutti gli utenti`,requireAllHint:`Chi non ha un secondo fattore dovrà configurarlo al prossimo accesso.`,lockedByEnv:`Fissato da MFA_REQUIRED_MODE.`,saved:`Criterio a due fattori salvato.`,saveFailed:`Impossibile salvare il criterio a due fattori.`},mfaReset:`Reimposta due fattori`,mfaResetConfirm:`Rimuovere il secondo fattore di {{name}}? Potrà accedere con la password e configurarlo di nuovo.`,mfaResetSuccess:`Due fattori rimossi per {{name}}.`,mfaResetNothing:`{{name}} non aveva l'autenticazione a due fattori.`,mfaResetFailed:`La reimpostazione non è riuscita.`},usageAnalytics:{eyebrow:`Amministrazione`,title:`Utilizzo provider`,description:`Monitora le chiamate API in uscita e il consumo dei modelli tra i plugin abilitati su questa istanza.`,days:`{{count}} giorni`,refresh:`Aggiorna utilizzo`,loadFailed:`Impossibile caricare l'utilizzo del provider.`,metrics:{calls:`Chiamate`,tokens:`Token`},cards:{calls:`Chiamate API`,callsDetail:`Tra {{count}} utenti attivi`,tokens:`Token segnalati`,tokensDetail:`Utilizzo segnalato su {{count}} chiamate`,success:`Tasso di successo`,successDetail:`{{count}} chiamate non riuscite`,latency:`Latenza media`,latencyDetail:`Tempo end-to-end del provider`},activity:{title:`Consumo nel tempo`,callsDescription:`Richieste giornaliere in uscita ai plugin abilitati`,tokensDescription:`Totali giornalieri di token segnalati dai provider`,chartLabel:`Grafico giornaliero del {{metric}} del provider`},models:{title:`Consumo dei modelli`,description:`I modelli con il maggior traffico in questo periodo.`,model:`Modello`,success:`Successo`,latency:`Latenza`},providers:{title:`Traffico dei plugin abilitati`},capabilities:{title:`Mix di capacità`,characters:`{{count}} caratteri`,bytes:`{{count}} byte`,images:`{{count}} immagini`,jobs:`{{count}} processi video`,inputs:`{{count}} input`,reportedTokens:`{{count}} token segnalati`},empty:{title:`Nessuna chiamata al provider ancora`,description:`Le chiamate appariranno qui dopo che un plugin abilitato gestisce richieste di chat, Work, embedding, immagini, voce, audio o video.`},privacyNote:`L'utilizzo viene misurato sul server al limite del plugin in uscita. Libre WebUI memorizza provider, modello, tempistiche, stato e contatori segnalati, mai prompt, risposte, endpoint, credenziali o corpi degli errori del provider. I totali dei token includono solo le chiamate in cui il provider ha restituito i metadati di utilizzo.`,heatmap:{title:`Un anno di attività`,description:`Chiamate giornaliere ai provider nell'ultimo anno, colorate in base al modello più usato di ogni giorno.`,calls:`chiamate`,noCalls:`Nessuna chiamata`,other:`Altri modelli`,less:`Meno`,more:`Più`,yearTotal:`{{formatted}} chiamate nell'ultimo anno`}},systemPage:{eyebrow:`Amministrazione`,title:`Sistema`,description:`Monitora la macchina e il runtime che ospitano questa istanza di Libre WebUI.`,updated:`Aggiornato il {{date}}`,refresh:`Aggiorna informazioni di sistema`,loadFailed:`Impossibile caricare le informazioni di sistema.`,cards:{uptime:`Tempo di attività dell'host`,uptimeDetail:`In esecuzione dal {{date}}`,memory:`Memoria utilizzata`,memoryDetail:`{{used}} di {{total}}`,freeSpace:`Spazio libero`,freeSpaceDetail:`{{label}} · {{total}} totali`,containers:`Container in esecuzione`,containersDetail:`{{total}} container noti a Docker`,dockerUnavailable:`Docker non disponibile`,unavailable:`Non disponibile`},host:{title:`Host e runtime`,description:`Dettagli sul sistema operativo, processore e processo di Libre WebUI.`,container:`Runtime del container`,native:`Runtime nativo`,hostname:`Nome host`,operatingSystem:`Sistema operativo`,processor:`Processore`,logicalCpus:`CPU logiche`,loadAverage:`Carico medio · 1 / 5 / 15 min`,libreVersion:`Libre WebUI`,nodeVersion:`Node.js`,process:`Processo`,workingDirectory:`Directory di lavoro`},memory:{title:`Memoria`,description:`Memoria di sistema visibile al runtime e utilizzo del processo dell'applicazione.`,usedOf:`{{used}} usati di {{total}}`,free:`{{value}} liberi`,processRss:`RSS del processo`,heapUsed:`Heap V8 usato`,heapTotal:`Heap V8 totale`,external:`Memoria esterna`},storage:{title:`Archiviazione`,description:`Spazio disponibile per il filesystem di runtime e i dati persistenti dell'applicazione.`,used:`{{value}} usati`,free:`{{value}} liberi`,empty:`Le informazioni sul filesystem non sono disponibili in questo runtime.`},docker:{title:`Docker`,description:`Stato di sola lettura di Docker Engine e un elenco ridotto di container.`,connected:`Connesso`,unavailable:`Non disponibile`,unavailableDetail:`La diagnostica di Docker Engine non è disponibile.`,socketStatus:`Socket locale: {{status}}`,mounted:`montato`,notMounted:`non montato`,running:`In esecuzione`,stopped:`Fermato`,paused:`In pausa`,total:`Totale`,version:`Versione`,host:`Host`,architecture:`Architettura`,cpus:`CPU`,memory:`Memoria`,container:`Container`,image:`Immagine`,state:`Stato`,created:`Creato`,empty:`Docker è connesso e non ci sono container attualmente elencati.`},network:{title:`Rete`,description:`Interfacce, indirizzi e contatori del traffico Linux visibili al runtime.`,internal:`interno`,empty:`Nessuna interfaccia di rete è visibile al runtime dell'applicazione.`},securityNote:`Questa pagina è riservata agli amministratori. Il server restituisce solo riepiloghi operativi: non espone variabili d'ambiente, credenziali, etichette Docker, montaggi, comandi del container o payload di ispezione. Quando Libre WebUI viene eseguito in un container, i dettagli di CPU e memoria a livello host provengono da Docker Engine quando il suo socket locale è disponibile; gli altri valori descrivono il runtime dell'applicazione.`,work:{title:`Work`,description:`Sandbox di tutti gli utenti`,access:`Accesso`,accessAdmins:`Solo amministratori`,accessAllUsers:`Tutti gli utenti`,runtimeAvailable:`Disponibile`,runtimeUnavailable:`Non disponibile`,activeRuntimes:`Runtime attivi`,pendingCleanups:`Pulizie in sospeso`,orphans:`Container orfani`,owner:`Proprietario`,task:`Attività`,state:`Stato`,preview:`Anteprima`,terminals:`Terminali`,updated:`Aggiornato`,stateRunning:`In esecuzione`,stateStopped:`Fermo`,stateStarting:`In avvio`,stateUnknown:`Sconosciuto`,noTasks:`Nessuna attività Work per ora.`},recovery:{title:`Esercitazioni di ripristino`,scheduleOn:`Esegue automaticamente ogni {{hours}} h — ogni esercitazione salva, ripristina in una copia isolata e verifica il risultato.`,scheduleOff:`Non pianificato — imposta RECOVERY_DRILL_INTERVAL_HOURS per esercitazioni automatiche.`,teamUnsupported:`Le esercitazioni coprono il profilo singolo (SQLite); il profilo team usa la CLI di backup coordinato.`,runNow:`Esegui esercitazione`,running:`In corso…`,passed:`Esercitazione di ripristino superata.`,failed:`L'esercitazione di ripristino non è riuscita.`,lastPassed:`Ultima superata`,restoreTime:`Tempo di ripristino (RTO)`,drillSpacing:`Intervallo esercitazioni (RPO)`,archiveSize:`Dimensione archivio`,lastFailed:`Ultima esercitazione fallita il {{date}}`,originManual:`Manuale`,originScheduled:`Pianificata`,columns:{when:`Quando`,origin:`Origine`,status:`Stato`,restore:`Ripristino`},status:{passed:`Superata`,failed:`Fallita`,running:`In corso`}}},chatHistory:{label:`Cronologia della conversazione`,jumpToTurn:`Vai al turno {{index}} di {{total}}`},chatMessage:{you:`Tu`,assistant:`Assistente`,system:`Sistema`,conversationSummary:`Riepilogo della conversazione`,restoreCompacted:`Ripristina i messaggi riassunti`,restoreFailed:`Impossibile ripristinare i messaggi riassunti`,copy:`Copia`,copyMessage:`Copia messaggio`,copied:`Copiato!`,regenerate:`Rigenera`,regenerateResponse:`Rigenera risposta`,edit:`Modifica`,editSystemMessage:`Modifica messaggio di sistema`,saveChanges:`Salva modifiche`,cancelEditing:`Annulla modifica`,saveAndSubmit:`Salva e invia`,goodResponse:`Buona risposta`,badResponse:`Cattiva risposta`,delete:`Elimina`,deleteConfirm:`Eliminare questo messaggio?`,branch:`Ramo`,speaking:`Parlando...`,speakMessage:`Leggi messaggio`,stopSpeaking:`Interrompi lettura`,showMore:`Mostra altro`,showLess:`Mostra meno`,thinking:`Pensando`,thoughtFor:`Ha riflettuto per {{duration}}`,hiddenLines:`{{count}} righe nascoste`,systemMessagePlaceholder:`Inserisci il tuo messaggio di sistema...`,fullSizeImage:`Immagine a dimensione intera`,startConversation:`Inizia una conversazione`,startConversationDescription:`Invia un messaggio per iniziare a chattare con il tuo assistente IA. Fai domande, chiedi aiuto con il codice o fai una conversazione naturale.`,scrollToBottom:`Scorri in fondo`,newMessages:`Nuovi messaggi`,feedbackTags:{accuracy:`Accuratezza`,style:`Stile`,incomplete:`Incompleta`,harmful:`Dannosa`,formatting:`Formattazione`},feedbackComment:`Aggiungi un commento…`},imageGallery:{title:`Galleria immagini`,noImages:`Nessuna immagine ancora`,noImagesHint:`Genera la tua prima immagine usando il pannello a destra`,delete:`Elimina`,download:`Scarica`,deleteConfirm:`Sei sicuro di voler eliminare questa immagine?`,deleteSuccess:`Immagine eliminata`,deleteFailed:`Impossibile eliminare l'immagine`,downloadFailed:`Impossibile scaricare l'immagine`,loadMore:`Carica altro ({{current}} di {{total}})`,loadFailed:`Impossibile caricare la galleria`},imageGeneration:{title:`Genera immagine`,prompt:`Prompt`,promptPlaceholder:`Descrivi l'immagine che vuoi creare...`,model:`Modello`,selectModel:`Seleziona modello`,noModels:`Nessun modello di generazione immagini disponibile`,configurePlugin:`Configura un plugin con supporto generazione immagini`,size:`Dimensione`,quality:`Qualità`,style:`Stile`,generate:`Genera`,generating:`Generazione...`,success:`Immagine generata con successo`,failed:`Impossibile generare l'immagine`,enterPrompt:`Inserisci un prompt`,promptTooLong:`Il prompt supera la lunghezza massima di {{max}} caratteri`},mediaGeneration:{title:`Genera media`,description:`Crea video, audio, musica o voce con un provider media attivato.`,image:`Immagine`,video:`Video`,audio:`Audio`,sound:`Suono`,speech:`Voce`,model:`Modello`,voice:`Voce o ID voce`,cloneVoice:`Clona una voce di riferimento`,cloneVoiceDescription:`Genera questo parlato in base a una registrazione di riferimento anziché a una voce preimpostata.`,referenceAudio:`Audio di riferimento`,referenceTranscript:`Trascrizione esatta del riferimento`,referenceTranscriptPlaceholder:`Inserisci esattamente ciò che viene detto nella registrazione di riferimento…`,referenceAudioTooLarge:`L'audio di riferimento deve avere dimensioni pari o inferiori a {{max}}.`,cloneConsent:`Clona una voce solo con il permesso della persona che parla. La registrazione viene inviata al fornitore selezionato per questa generazione e non viene salvata da Libre WebUI.`,saveVoiceProfile:`Salva come voce riutilizzabile`,saveVoiceProfileDescription:`Archivia in modo sicuro questa registrazione di riferimento e la trascrizione. Libre WebUI le invia al fornitore selezionato per ogni lotto vocale che usa questa voce.`,voiceProfileName:`Nome della voce salvata`,voiceProfileNamePlaceholder:`Ad esempio, La mia voce`,voiceStorageConsent:`Confermo di avere il permesso della persona che parla per clonare e salvare questa voce. Il riferimento resterà salvato finché non lo eliminerò.`,resolution:`Risoluzione`,aspectRatio:`Proporzioni`,duration:`Durata`,providerDefault:`Predefinito del provider`,generateAudio:`Genera audio con il video quando supportato`,prompt:`Prompt`,text:`Testo da leggere`,videoPlaceholder:`Descrivi la scena, il movimento, la camera e l'illuminazione...`,audioPlaceholder:`Inserisci il testo che vuoi far leggere alla voce...`,soundPlaceholder:`Descrivi il suono, la musica, l'atmosfera o la risposta vocale che desideri...`,generate:`Genera`,generating:`Generazione in corso… può richiedere diversi minuti`,success:`Media generato e salvato in Imagine`,successWithSavedVoice:`Contenuto generato e «{{name}}» è ora disponibile nelle impostazioni Voce`,failed:`Generazione del media non riuscita`,loadFailed:`Caricamento dei provider media non riuscito`,noModels:`Nessun modello {{kind}} disponibile. Attiva prima un provider compatibile e salva le sue credenziali.`,consentTtl:{label:`Durata del consenso`,never:`Finché non lo revoco`,days30:`30 giorni`,days90:`90 giorni`,days365:`Un anno`}},mediaGallery:{itemCount:`{{count}} elementi`,empty:`Nessun media generato`,emptyHint:`Genera un'immagine, un video o un clip vocale e apparirà qui.`,filters:{all:`Tutti`,image:`Immagini`,video:`Video`,audio:`Audio`}},errorBoundary:{title:`Qualcosa è andato storto`,description:`Si è verificato un errore imprevisto. Prova ad aggiornare la pagina.`,tryAgain:`Aggiorna pagina`,goHome:`Vai alla home`,errorDetails:`Dettagli errore (sviluppo)`},documents:{title:`Documenti`,upload:`Carica documento`,uploading:`Caricamento...`,noDocuments:`Nessun documento caricato`,uploadHint:`Carica documenti da usare nelle tue conversazioni`,delete:`Elimina`,deleteConfirm:`Sei sicuro di voler eliminare questo documento?`,deleteSuccess:`Documento eliminato`,deleteFailed:`Impossibile eliminare il documento`,uploadSuccess:`Documento caricato con successo`,uploadFailed:`Impossibile caricare il documento`,types:`Supportati: PDF, TXT, MD, DOCX`,unsupportedFileType:`Questo tipo di file non è supportato`,fileSizeTooLarge:`La dimensione del file deve essere inferiore a 10 MB`,uploadSuccessWithName:`Documento "{{name}}" caricato con successo`,removeSuccess:`Documento rimosso con successo`,removeFailed:`Impossibile rimuovere il documento`,removeError:`Si è verificato un errore durante la rimozione del documento`,clickToUpload:`Clicca per caricare`,orDragAndDrop:`o trascina e rilascia`,fileTypesAndSize:`File PDF, Office, Markdown, HTML, codice, CSV, immagini e audio fino a 10 MB`,uploadedDocuments:`Documenti caricati`,removeDocument:`Rimuovi documento`,fullContextToggle:`Invia documenti completi`,fullContextEstimate:`≈ {{tokens}} token`,fullContextTooLarge:`I documenti allegati superano il limite di contesto completo, quindi è stato usato il recupero`,fullDocument:`Documento completo`},ttsButton:{speak:`Parla`,stop:`Stop`,speaking:`Parlando...`,generateFailed:`Impossibile generare la voce`,playbackFailed:`Riproduzione audio fallita`,stopSpeaking:`Interrompi lettura`,preparingSpeech:`Preparazione voce...`,generatingSpeech:`Generazione voce...`,bufferingSpeech:`Caricamento voce...`,enableAudio:`Attiva l’audio e leggi ad alta voce`,enableAudioShort:`Attiva audio`,readAloud:`Leggi ad alta voce`},artifacts:{title:`Artefatti`,code:`Codice`,preview:`Anteprima`,copy:`Copia codice`,copied:`Copiato!`,download:`Scarica`,expand:`Espandi`,collapse:`Comprimi`,openInNewTab:`Apri in nuova scheda`,invalidSvg:`Contenuto SVG non valido`,invalidJson:`Contenuto JSON non valido`,previewMode:`Modalità anteprima`,codeMode:`Modalità codice`,copyContent:`Copia contenuto`,openInPanel:`Apri nel pannello`,created:`Creato`,closePanelEsc:`Chiudi pannello (Esc)`,copyButton:`Copia`,dragEdgeToResize:`Trascina il bordo per ridimensionare`,previewUnavailable:`Preview unavailable`,previewUnavailableDescription:`This artifact does not contain renderable preview content. Switch to code view to inspect the source.`,versionOf:`Versione {{current}} di {{total}}`,previousVersion:`Versione precedente`,nextVersion:`Versione successiva`},personaImportExport:{title:`Importa ed esporta personas`,description:`Esporta le tue personas per condividerle o importa personas da altri`,exportPersonas:`Esporta personas`,importPersonas:`Importa personas`,noPersonasToExport:`Nessuna persona da esportare`,personasAvailable:`{{count}} persona disponibile`,personasAvailable_plural:`{{count}} personas disponibili`,exportAll:`Esporta tutto`,uploadJsonFile:`Carica file JSON`,pasteJsonLabel:`Incolla dati JSON`,pasteJsonPlaceholder:`Incolla qui i dati JSON della persona...`,importing:`Importazione...`,importButton:`Importa persona/e`,expectedFormat:`Formato JSON previsto:`,exportSuccess:`Persona "{{name}}" esportata con successo`,exportFailed:`Impossibile esportare la persona`,exportAllSuccess:`Tutte le {{count}} personas esportate con successo`,exportAllFailed:`Impossibile esportare le personas`,pasteJsonData:`Incolla i dati JSON della persona`,importMultipleSuccess:`{{count}} personas importate con successo`,importMultipleFailed:`Impossibile importare {{count}} personas`,importNoneFailed:`Impossibile importare alcuna persona`,importSuccess:`Persona importata con successo`,importFailed:`Impossibile importare la persona`},generationStats:{details:`Dettagli`,promptTokens:`Token del prompt:`,generatedTokens:`Token generati:`,totalTokens:`Token totali:`,speed:`Velocità:`,promptEval:`Valutazione prompt:`,generation:`Generazione:`,modelLoad:`Caricamento modello:`,totalTime:`Tempo totale:`,generatedAt:`Generato alle:`},userMenu:{loggedOut:`Disconnessione riuscita`,pictureUpdated:`Immagine del profilo aggiornata`,failedUpdateAvatar:`Aggiornamento avatar fallito`,failedUpdatePicture:`Aggiornamento immagine profilo fallito`,noEmail:`Nessuna email fornita`,changePicture:`Cambia immagine`,settings:`Impostazioni`,userManagement:`Gestione utenti`,signOut:`Disconnetti`,changeProfilePicture:`Cambia immagine del profilo`},pluginManager:{title:`Gestore plugin`,upload:`Carica`,addJson:`Aggiungi JSON`,browseHF:`Sfoglia HF Hub`,confirmDelete:`Sei sicuro di voler eliminare questo plugin?`,uploading:`Caricamento plugin...`,pasteJson:`Incolla il JSON del plugin qui...`,installPlugin:`Installa plugin`,loading:`Caricamento plugin...`,noPlugins:`Nessun plugin installato`,noPluginsDescription:`Carica un file plugin o aggiungi un plugin da JSON per iniziare.`,active:`Attivo`,id:`ID`,endpoint:`Endpoint`,activate:`Attiva`,deactivate:`Disattiva`,activePlugin:`Plugin attivo`,activePluginDescription:`Tutte le richieste chat verranno instradate attraverso questo plugin`,variables:{title:`Variabili`,save:`Salva`,saving:`Salvataggio...`,saved:`Variabili salvate`,saveFailed:`Salvataggio variabili fallito`,resetDefaults:`Ripristina predefiniti`,reset:`Variabili ripristinate`,resetFailed:`Reimpostazione delle variabili non riuscita`,sensitiveSet:`Valore impostato (inserire nuovo valore per modificare)`,showValue:`Mostra valore di {{label}}`,hideValue:`Nascondi valore di {{label}}`,connection:`Connessione`,advanced:`Parametri avanzati`,inherited:`Usa predefinito del provider`,inheritedValue:`Usa predefinito del provider ({{value}})`,enabled:`Abilitato`,disabled:`Disabilitato`,required:`È richiesto un valore`,fullApiEndpoint:`URL completo dell'endpoint API`,endpointHelp:`Inserisci l'URL completo della richiesta, includendo il percorso dell'operazione (ad esempio, /v1/chat/completions), non solo l'URL base del provider.`,invalidUrl:`Inserisci un URL completo valido per l'endpoint API, ad esempio https://provider.example/v1/chat/completions`,insecureUrl:`Gli endpoint API devono usare HTTP o HTTPS.`,httpWarning:`HTTP non crittografa credenziali o traffico. Usalo solo su una rete attendibile.`,invalidBaseUrl:`Gli URL base non possono contenere stringhe di query o frammenti.`,invalidApiPath:`Deve iniziare con / e non contenere URL, query, frammenti o segmenti ..`,tooLong:`Valore troppo lungo`}},huggingface:{title:`Browser modelli HuggingFace`,subtitle:`Sfoglia e seleziona modelli dall'Hub`,searchPlaceholder:`Cerca modelli...`,filters:`Filtri`,task:`Attività`,sortBy:`Ordina per`,noModels:`Nessun modello trovato`,adjustSearch:`Prova a modificare la ricerca o i filtri`,gated:`Limitato`,selected:`Selezionato`,select:`Seleziona`,refresh:`Aggiorna`,modelsFound:`modelli trovati`},demoMode:{title:`Modalità demo`,github:`GitHub`},libreClaw:{title:`Agenti`,subtitle:`Esecuzioni, approvazioni, pianificazioni, memoria, strumenti e utilizzo dell'agente locale.`,dashboard:`Dashboard`,connection:{disconnectedTitle:`Il demone Libre Claw non è connesso`,disconnectedDescription:`Avvialo localmente con <command>libre-claw start</command> o imposta <env>LIBRE_CLAW_BASE_URL</env> nell'ambiente backend.`},status:{connected:`Connesso`,disconnected:`Disconnesso`,activeRuns:`{{count}} attivo`,activeRuns_plural:`{{count}} attivo`},states:{queued:`In coda`,running:`In esecuzione`,blocked:`Bloccato`,done:`Fatto`,failed:`Fallito`,cancelled:`Annullato`},startRun:{title:`Avvia esecuzione agente`,placeholder:`Chiedi al Libre Claw di ispezionare un repository, correggere un bug, eseguire una revisione, pianificare un report...`,chatRun:`Chatta corri`,goalMode:`Modalità obiettivo`,providerOverride:`Sostituzione del fornitore`,modelOverride:`Sostituzione del modello`,run:`Esegui`},modelRoute:{title:`Itinerario modello`,providerPlaceholder:`fornitore`,modelPlaceholder:`modello`,persistGlobal:`Mantieni la configurazione globale Libre Claw`,saveModel:`Salva modello`,theme:`Tema Libre Claw`,saveTheme:`Salva tema`},runs:{title:`Esecuzioni`,empty:`Nessuna esecuzione Libre Claw ancora.`},timeline:{title:`Cronologia esecuzione`,empty:`Seleziona una corsa per controllarne gli eventi.`,streaming:`Streaming...`,assistantResponse:`Risposta dell'assistente`,resultOk:`ok`,resultError:`errore`,labels:{userMessage:`Messaggio dell'utente`,toolCall:`Chiamata allo strumento`,toolResult:`Risultato dello strumento`,approvalRequest:`Richiesta di approvazione`,approvalResponse:`Risposta di approvazione`,runStarted:`Esecuzione avviata`,runFinished:`Esecuzione completata`,usage:`Utilizzo`,error:`Errore`}},approvals:{needed:`Necessaria l'approvazione`,allowOnce:`Consenti una volta`,alwaysAllowTool:`Consenti sempre lo strumento`,deny:`Rifiuta`,toolApprovalRequested:`Richiesta approvazione dello strumento`},automations:{title:`Automazioni`,namePlaceholder:`Nome`,schedulePlaceholder:`daily 09:00`,promptPlaceholder:`Richiesta di automazione`,create:`Crea`,empty:`Nessuna automazione Libre Claw programmata.`,runNow:`Esegui ora`,pause:`Pausa`,resume:`Riprendi`,routes:{report:`Rapporto`,telegram:`Telegram`},status:{active:`Attivo`,paused:`In pausa`}},usageFallback:{title:`Utilizzo e fallback`,usage:`Utilizzo`,fallbackRoute:`Percorso di riserva`,noUsage:`Nessun record di utilizzo ancora.`},metrics:{provider:`Fornitore`,model:`Modello`,input:`Ingresso`,output:`Uscita`,cached:`Memorizzato nella cache`,reasoning:`Ragionamento`,cost:`Costo`,tool:`Strumento`,resolution:`Risoluzione`,state:`Stato`,stopReason:`Motivo di arresto`,tokens:`{{formatted}} gettone`,tokens_plural:`{{formatted}} gettoni`},fallbacks:{tool:`strumento`,unknown:`sconosciuto`,resolved:`risolto`,unknownError:`Errore sconosciuto`},toasts:{loadStatusFailed:`Impossibile caricare lo stato Libre Claw`,enterTask:`Inserisci un'attività per Libre Claw`,runStarted:`Esecuzione Libre Claw avviata`,startRunFailed:`Impossibile avviare l’esecuzione Libre Claw`,runCancelled:`Esecuzione annullata`,cancelRunFailed:`Impossibile annullare l’esecuzione`,approved:`Approvato`,denied:`Negato`,resolvePermissionFailed:`Impossibile risolvere l'autorizzazione`,providerModelRequired:`Fornitore e modello sono obbligatori`,modelUpdated:`Modello Libre Claw aggiornato`,updateModelFailed:`Impossibile aggiornare il modello`,themeUpdated:`Tema Libre Claw aggiornato`,updateThemeFailed:`Impossibile aggiornare il tema`,automationRequired:`Il nome dell'automazione, la pianificazione e il prompt sono obbligatori`,automationCreated:`Automazione creata`,createAutomationFailed:`Impossibile creare l'automazione`,automationUpdated:`Automazione aggiornata`,updateAutomationFailed:`Impossibile aggiornare l'automazione`}},work:{title:`Lavoro`,subtitle:`Spazi di lavoro isolati per i modelli`,tasks:{title:`Attività di lavoro`,subtitle:`Spazi di lavoro locali persistenti`,new:`Nuova attività`,emptyTitle:`Nessuna attività di lavoro`,empty:`Le tue attività di lavoro appariranno qui dopo l'invio del primo messaggio.`,untitled:`Attività senza titolo`,actions:`Azioni attività`,delete:`Elimina attività`,deleteNamed:`Elimina {{title}}`,deleteConfirm:`Eliminare definitivamente “{{title}}” e il relativo spazio di lavoro?`,close:`Chiudi attività di lavoro`,open:`Apri attività di lavoro`,rename:`Titolo attività`,loading:`Caricamento attività…`,notFound:`Questa attività di lavoro non è disponibile`,back:`Avvia una nuova attività`,status:`Stato: {{status}}`},landing:{title:`Avvia una nuova attività di lavoro`,description:`Assegna a un modello locale o di un fornitore configurato uno spazio di lavoro isolato e persistente. Può esaminare file, eseguire strumenti e riprendere da dove si era interrotto al tuo ritorno.`,isolated:`Isolato`,isolatedBody:`Ogni attività dispone di un proprio container e dei propri file.`,durable:`Persistente`,durableBody:`Torna in seguito alla conversazione e allo spazio di lavoro.`,controlled:`Controllato`,controlledBody:`L'ambiente di esecuzione e i file dell'attività restano isolati dall'host.`},composer:{placeholder:`Descrivi cosa vuoi creare o modificare…`,model:`Modello di lavoro`,noModels:`Nessun modello compatibile con la modalità Lavoro`,cancel:`Interrompi`,send:`Esegui`,hint:`Ogni attività conserva i propri file e la propria cronologia. Controlla l'output del modello prima di utilizzarlo.`,remoteTitle:`Fornitore remoto`,remoteHint:`La conversazione e l'output degli strumenti vengono inviati al servizio configurato. Un'esecuzione autonoma può effettuare più chiamate al fornitore e comportare costi. I file dello spazio di lavoro restano locali, salvo che uno strumento ne restituisca il contenuto.`,remoteDismiss:`Nascondi`,remoteDismissLabel:`Nascondi avviso sul fornitore remoto`,remoteDismissFailed:`Impossibile salvare la preferenza del fornitore remoto.`,noModelSelected:`Non è selezionato alcun modello compatibile con la modalità Lavoro.`},conversation:{ready:`Spazio di lavoro pronto`,empty:`Continua l'attività qui sotto. Questa conversazione e i relativi file restano associati allo spazio di lavoro.`,loadOlder:`Carica messaggi precedenti`},status:{preparing:`Preparazione dello spazio di lavoro isolato…`,running:`Operazione in corso nello spazio di lavoro locale…`},statusLabels:{idle:`Inattivo`,thinking:`Elaborazione`,complete:`Completato`,needsInput:`Input necessario`,error:`Errore`},live:{connecting:`Connessione agli aggiornamenti in tempo reale…`,reconnecting:`Riconnessione agli aggiornamenti in tempo reale…`,unavailable:`Aggiornamenti in tempo reale non disponibili`,newActivity:`Nuova attività`,skillsLoaded:`Competenze dell’area di lavoro · {{count}}`,skillWorked:`Questa procedura ha funzionato`,skillFailed:`Questa procedura è fallita`,skillTraceSaved:`annotato`},runtime:{unavailable:`Runtime non disponibile`,ready:`Ambiente di esecuzione pronto`,readyOllama:`Docker pronto`,readyPlugin:`Docker + plugin pronti`,readyHybrid:`Docker + modelli pronti`,reason:`Sono richiesti Docker e un fornitore di modelli disponibile tramite Ollama o un plugin.`},workspace:{label:`Viste dello spazio di lavoro`,files:`File`,activity:`Attività`,preview:`Anteprima`,resize:`Ridimensiona conversazione e spazio di lavoro`,resizeHint:`Trascina per ridimensionare. Usa i tasti freccia per un controllo preciso. Fai doppio clic o premi Invio per ripristinare.`,splitSize:`Conversazione {{conversation}}%, spazio di lavoro {{workspace}}%`,terminal:`Terminale`,git:`Git`,screen:`Schermo`},files:{discard:`Ignorare le modifiche al file non salvate?`,leaveWithDraft:`Uscire da questo file? La modifica non salvata resterà come bozza nel browser.`,up:`Cartella superiore`,back:`Torna ai file`,empty:`Non sono ancora presenti file in questa cartella.`,select:`Seleziona un file per esaminarlo e modificarlo.`,editorLabel:`Editor file: {{path}}`,format:`Formatta`,formatted:`Codice formattato.`,formatFailed:`Impossibile formattare questo file.`,formatShortcut:`Formatta (Maiusc+Alt+F)`,formatTooLarge:`La formattazione è limitata ai file con meno di 100.000 caratteri e 4.000 righe.`,formatUnsupported:`La formattazione non è disponibile per questo tipo di file.`,saveShortcut:`Salva (⌘/Ctrl+S)`,highlightPaused:`L'evidenziazione in tempo reale è sospesa per i file di grandi dimensioni, per mantenere fluida la modifica.`,plainTextLarge:`Testo normale · file di grandi dimensioni`,changes:`Modifiche`,changesSince:`Cosa è cambiato dall'ultimo turno`,diffLabel:`Modifiche dall'ultimo turno: {{path}}`,diffFolded:`{{count}} righe invariate`},activity:{empty:`I comandi, le operazioni sui file e i risultati degli strumenti appariranno qui.`,toolActivity:`Attività strumenti`,details:`Dettagli`,kinds:{message:`Messaggio`,toolCall:`Chiamata strumento`,toolResult:`Risultato strumento`,error:`Errore`}},preview:{command:`Comando di avvio facoltativo`,start:`Avvia anteprima`,stop:`Interrompi anteprima`,open:`Apri`,starting:`Avvio anteprima…`,frameTitle:`Anteprima dello spazio di lavoro`,failed:`Impossibile avviare l'anteprima. Controlla Attività, quindi prova un altro comando.`,empty:`Avvia l'app in questo spazio di lavoro per esaminarla qui.`},mobile:{surface:`Vista attività`,conversation:`Conversazione`,workspace:`Spazio di lavoro`},toasts:{runFailed:`Impossibile avviare l'attività di lavoro.`,updateFailed:`Impossibile aggiornare questa attività.`,renameFailed:`Impossibile rinominare questa attività.`,cancelled:`Esecuzione dell'attività interrotta.`,cancelFailed:`Impossibile interrompere l'esecuzione dell'attività.`,deleteFailed:`Impossibile eliminare questa attività di lavoro.`,saveFailed:`Impossibile salvare questo file.`,saved:`File salvato.`,previewFailed:`Impossibile avviare l'anteprima.`,previewStopFailed:`Impossibile interrompere l'anteprima.`},terminal:{connecting:`Apertura di una shell nella sandbox…`,closed:`Sessione del terminale terminata.`,failed:`Impossibile avviare la sessione del terminale.`,reconnect:`Riconnetti`,unavailable:`Il terminale interattivo non è disponibile in questa installazione.`,blockedByRun:`Il modello sta usando questo container. Il terminale si apre a fine turno.`,taskRunning:`Turno del modello in corso`},policy:{label:`Politica di esecuzione`,default:`Predefinita (limiti globali)`,setupHint:`Le politiche di runtime sbloccano il Work Computer — un desktop con browser osservabile per l'agente — e limiti per attività.`,setupLink:`Configura le politiche Work`},git:{actionFailed:`Azione Git non riuscita.`,blockedByPreview:`Ferma l'anteprima prima di modificare lo stato Git.`,blockedByRun:`Le azioni di scrittura Git si sbloccano al termine del turno del modello.`,branchCreated:`{{name}} creato.`,branchSwitched:`Passato a {{name}}.`,clean:`L'albero di lavoro è pulito.`,commit:`Committa le modifiche in stage`,commitMessage:`Messaggio del commit`,committed:`Commit creato.`,detached:`HEAD scollegato`,diff:`Anteprima diff`,diffFailed:`Impossibile caricare questo diff.`,history:`Cronologia locale`,initialize:`Inizializza Git`,initializeDescription:`Crea un repository locale per stato, diff, branch e commit. Nessuna credenziale remota viene collegata.`,initialized:`Repository Git inizializzato.`,loadFailed:`Impossibile caricare lo stato Git.`,localOnly:`Solo Git locale. Push, pull e pull request richiedono un intermediario di credenziali fidato separato.`,newBranch:`Nuovo branch locale`,noCommits:`Ancora nessun commit.`,noDiff:`Nessun diff testuale disponibile. I file non tracciati compaiono dopo lo stage.`,notInitialized:`Git non è inizializzato`,selectChange:`Seleziona un file modificato per esaminarne il diff.`,selectPath:`Seleziona {{path}}`,stageAll:`Stage di tutto`,stageSelected:`Stage di {{count}}`,staged:`Modifiche in stage.`,switchBranch:`Cambia branch locale`,changes:`Modifiche`,createBranch:`Crea`,filterFiles:`Filtra i file modificati`,noFilterMatches:`Nessun file modificato corrisponde a questo filtro.`,allChanges:`Tutte le modifiche`,diffTruncated:`Questo diff è troncato.`,binaryFile:`File binario, nessun diff di testo.`},hostWorkspace:{hint:`Lascia vuoto per uno spazio isolato, oppure punta l'attività a una cartella di questa macchina.`,label:`Cartella dello spazio di lavoro (facoltativa)`,warning:`L'attività può leggere e scrivere questa cartella direttamente. Lascia vuoto per uno spazio isolato.`},screen:{starting:`Avvio del Work Computer…`,disconnected:`Lo schermo è disconnesso.`,reconnect:`Riconnetti`,viewOnly:`Osservazione`,takeOver:`Prendi il controllo`,handBack:`Ho finito`,youHaveControl:`Hai il controllo`,otherHasControl:`{{name}} ha il controllo`,agentWaiting:`L'agente ti ha chiesto di prendere il controllo`,teach:`Insegna un'attività`,recording:`Registrazione`,teachSave:`Salva`,teachDiscard:`Scarta`,teachNamePlaceholder:`Dai un nome a questa attività`,teachSaved:`Salvato come competenza "{{name}}"`,watchingLearning:`L'agente sta osservando e imparando`,unmute:`Attiva audio`,mute:`Disattiva audio`},computerSetup:{title:`Work Computer`,description:`Dai al tuo agente un desktop reale con browser: tutto si configura automaticamente.`,building:`Compilazione dell'immagine desktop... la prima volta richiede qualche minuto.`,enable:`Attiva`,retry:`Riprova`}},personaBackground:{label:`Immagine di sfondo`,uploadBackgroundImage:`Carica immagine di sfondo`,dragAndDrop:`Trascina e rilascia un'immagine o clicca per sfogliare`,chooseImage:`Scegli immagine`,uploading:`Caricamento...`,enterImageUrl:`Oppure inserisci l'URL dell'immagine`,supportedFormats:`Supporta: JPG, PNG, GIF, WebP (max 5MB). Le immagini paesaggio larghe funzionano meglio.`,customBackground:`Immagine di sfondo personalizzata`,clickToChange:`Clicca per modificare o rimuovere`,removed:`Sfondo rimosso`,uploaded:`Sfondo caricato con successo`,invalidFile:`Seleziona un file immagine valido`,fileTooLarge:`La dimensione dell'immagine di sfondo deve essere inferiore a 5MB`,readFailed:`Impossibile leggere il file immagine`,uploadFailed:`Impossibile caricare l'immagine di sfondo`},modelSelector:{searchInstalled:`Cerca modelli installati...`,searchOllama:`Cerca nella libreria Ollama...`,searchHuggingFace:`Cerca su HuggingFace...`,selectModel:`Seleziona modello`,personas:`Personas`,ollamaModels:`Modelli Ollama`,pluginModels:`Modelli plugin`,actions:`Azioni`,installed:`Installato`,use:`Usa`,pull:`Scarica`,pullRestricted:`L'installazione dei modelli è limitata agli amministratori in questa istanza.`,adminOnlyPull:`Solo amministratori`,legacyProvider:`provider non registrato`,providerNotRecorded:`Provider non registrato`,providerUnavailable:`provider non disponibile`,reselectProvider:`riseleziona un provider per fissare questo modello`,unavailable:`non disponibile`,unavailableSelections:`Selezioni non disponibili`,agentModels:`Agenti`},whatsNew:{title:`Novità`,releaseNotes:`Note di rilascio`,cta:`Ok, iniziamo`,starAsk:`Ti piace Libre WebUI? Lascia una stella su GitHub`},notes:{title:`Note`,new:`Nuova nota`,untitled:`Senza titolo`,empty:`Ancora nessuna nota`,selectOrCreate:`Seleziona una nota o creane una nuova`,contentPlaceholder:`Scrivi in Markdown…`,saved:`Salvato`,saveFailed:`Impossibile salvare la nota`,createFailed:`Impossibile creare una nota`,deleteConfirm:`Eliminare questa nota?`,deleteFailed:`Impossibile eliminare la nota`,tools:`Strumenti nota`,revisions:`Cronologia`,attachments:`Allegati`,share:`Condividi`,assist:`Modifica IA`,noRevisions:`Ancora nessuna versione precedente`,restore:`Ripristina`,revisionRestored:`Versione ripristinata`,revisionRestoreFailed:`Impossibile ripristinare questa versione`,addAttachment:`Aggiungi allegato`,noAttachments:`Ancora nessun allegato`,attachmentAdded:`Allegato aggiunto`,attachmentFailed:`Impossibile aggiungere l'allegato`,attachmentDownloadFailed:`Impossibile scaricare l'allegato`,shareUsernamePlaceholder:`Nome utente`,permissionRead:`Può visualizzare`,permissionWrite:`Può modificare`,shareAction:`Condividi`,notShared:`Non ancora condivisa`,revokeShare:`Revoca accesso`,shareHint:`Le note condivise compaiono nell'elenco note dell'altra persona. L'accesso può essere revocato in qualsiasi momento.`,shareUserNotFound:`Nessun utente con quel nome`,shareAdded:`Condivisa con {{username}}`,shareFailed:`Impossibile condividere la nota`,assistPlaceholder:`Descrivi la modifica, ad es. accorciare il riassunto o correggere la grammatica`,assistGenerate:`Proponi modifica`,assistNoModel:`Seleziona prima un modello nella Chat`,assistNoChanges:`Il modello non ha proposto modifiche`,assistApply:`Applica`,assistDiscard:`Scarta`,assistApplied:`Modifica applicata`,assistRevisionHint:`Applicando, la versione precedente resta nella cronologia: ogni modifica IA è reversibile.`,assistFailed:`Impossibile generare la modifica`,pin:`Fissa nota`,unpin:`Sblocca nota`,pinned:`Fissata`,export:`Scarica come Markdown`,sharedWithYou:`Condivisa con te`},calendar:{title:`Calendario`,today:`Oggi`,month:`Mese`,week:`Settimana`,previous:`Precedente`,next:`Successivo`,newEvent:`Nuovo evento`,editEvent:`Modifica evento`,eventTitle:`Titolo`,titlePlaceholder:`Titolo dell'evento`,date:`Data`,start:`Inizio`,end:`Fine`,allDay:`Tutto il giorno`,repeat:`Ripeti`,repeatNone:`Non si ripete`,repeatDaily:`Ogni giorno`,repeatWeekly:`Ogni settimana`,repeatMonthly:`Ogni mese`,repeatYearly:`Ogni anno`,notes:`Note`,more:`+{{n}} altri`,loadFailed:`Impossibile caricare il calendario`,saveFailed:`Impossibile salvare l'evento`,deleteFailed:`Impossibile eliminare l'evento`,day:`Giorno`,calendarLabel:`Calendario`,personalCalendar:`Personale`,reminderLabel:`Promemoria`,reminderNone:`Nessun promemoria`,reminderMinutes:`{{minutes}} minuti prima`,reminderHour:`1 ora prima`,reminderDay:`1 giorno prima`,sharedReadOnly:`Questo evento è condiviso con te in sola lettura.`,sharedBadge:`condiviso`,shareCalendar:`Condividi calendario`,newCalendarPlaceholder:`Nuovo calendario…`,calendarSaveFailed:`Impossibile salvare il calendario`,exportFailed:`Impossibile esportare il calendario`,importFailed:`Impossibile importare il file`,importResult:`{{total}} eventi importati`,importIcs:`Importa`,exportIcs:`Esporta`},automations:{title:`Automazioni`,tab:{automations:`Automazioni`,runs:`Esecuzioni`},newAutomation:`Nuova automazione`,editAutomation:`Modifica automazione`,empty:`Ancora nessuna automazione. Creane una per eseguire un compito secondo un programma.`,loadFailed:`Impossibile caricare le automazioni`,saveFailed:`Impossibile salvare l'automazione`,actionFailed:`L'azione non è riuscita`,runQueued:`Esecuzione avviata`,status:{active:`Attiva`,paused:`In pausa`},nextRun:`Prossima esecuzione {{when}}`,actions:`Azioni`,pause:`Metti in pausa`,resume:`Riprendi`,runNow:`Esegui ora`,openChat:`Apri chat`,noRuns:`Ancora nessuna esecuzione`,deletedAutomation:`Automazione eliminata`,runHistory:`Cronologia esecuzioni (ultimi 30 giorni)`,succeeded:`riuscite`,failed:`fallite`,form:{name:`Nome`,namePlaceholder:`La mia automazione`,triggers:`Trigger`,addTrigger:`Aggiungi trigger`,instructions:`Istruzioni`,instructionsPlaceholder:`Cosa deve essere eseguito secondo questo programma?`,model:`Modello`,modelAuto:`Auto`,notification:`Notifica`,notifyApp:`App`,notifyOff:`Disattivata`,frequency:`Frequenza`,time:`Ora`,minute:`Minuto`,fromHour:`Da`,toHour:`A`,weekday:`Giorno della settimana`,dayOfMonth:`Giorno`,month:`Mese`,target:`Esegui come`,targetChat:`Sessione di chat`,targetWork:`Attività Work`,workPolicy:`Politica Work`,workPolicyDefault:`Predefinita (limiti globali)`},kind:{once:`Una volta`,hourly:`Ogni ora`,daily:`Giornaliera`,weekly:`Settimanale`,monthly:`Mensile`,yearly:`Annuale`},trigger:{once:`Una volta il {{when}}`,hourly:`Ogni ora al minuto :{{minute}}`,daily:`Ogni giorno alle {{time}}`,weekly:`Ogni {{day}} alle {{time}}`,monthly:`Il giorno {{day}} di ogni mese alle {{time}}`,yearly:`Ogni anno il {{date}} alle {{time}}`},finishedNotification:`{{n}} esecuzioni di automazione completate`,templatesTitle:`Modelli`,templates:{morningBrief:{name:`Brief mattutino`,description:`Inizia la giornata con titoli e priorità.`},newsDigest:{name:`Rassegna notizie IA`,description:`Rilasci di modelli, ricerca e finanziamenti che contano.`},weeklyReview:{name:`Revisione settimanale`,description:`Chiudi la settimana: successi, sospesi, prossime priorità.`},monthlyReport:{name:`Report mensile`,description:`Uno schema di report di stato il primo di ogni mese.`}},openTask:`Apri attività`},home:{active:`attivo`,continue:`Continua`,start:`Inizia`,explore:`Esplora`},palette:{empty:`Nessun risultato.`,placeholder:`Cerca chat, Work, azioni…`,toggleTheme:`Cambia tema`,actions:`Azioni`,chats:`Chat`,search:`Cerca`,settings:`Impostazioni`,work:`Lavoro`,messages:`Messaggi`,notes:`Note`,documents:`Documenti`},tabs:{actions:`Azioni scheda`,close:`Chiudi scheda`,closeAll:`Chiudi tutte le schede`,closeOthers:`Chiudi le altre schede`,closeRight:`Chiudi le schede a destra`,home:`Home`,label:`Schede aperte`,new:`Nuova scheda`,newWork:`Nuovo Work`,chat:`Chat`,newChat:`Nuova chat`,work:`Lavoro`},tools:{arguments:`Argomenti`,result:`Risultato`,callStatus:{awaiting_approval:`In attesa di approvazione`,running:`In esecuzione`,succeeded:`Fatto`,failed:`Non riuscita`,denied:`Rifiutata`,cancelled:`Annullata`},approval:{title:`Serve l'approvazione dello strumento`,description:`Il modello vuole eseguire {{tool}} su {{server}}. Questa chiamata può modificare dati fuori da questa chat.`,builtinSource:`questo server`,allowOnce:`Consenti una volta`,allowSession:`Consenti in questa chat`,allowAlways:`Consenti sempre`,deny:`Rifiuta`}},promptsPage:{title:`Prompt`,description:`Modelli di prompt riutilizzabili con variabili tipizzate. Digita / nella barra della chat per inserirne uno.`,newPrompt:`Nuovo prompt`,editPrompt:`Modifica prompt`,empty:`Nessun prompt`,emptyHint:`Un prompt è un modello di messaggio salvato. Una volta creato, digitando /slug nella barra della chat lo inserisci e ti vengono chieste le variabili che dichiara.`,loadFailed:`Impossibile caricare i tuoi prompt.`,saved:`Prompt salvato`,saveFailed:`Impossibile salvare il prompt.`,deleted:`Prompt eliminato`,deleteFailed:`Impossibile eliminare il prompt.`,deleteTitle:`Elimina prompt`,deleteConfirm:`Eliminare "{{title}}"? Sparisce anche la sua cronologia delle versioni.`,exportFailed:`Impossibile esportare il prompt.`,imported:`Prompt importato`,importFailed:`Impossibile importare quel file.`,historyFailed:`Impossibile caricare la cronologia delle versioni.`,rolledBack:`Prompt ripristinato`,rollbackFailed:`Impossibile ripristinare il prompt.`,versionLabel:`v{{version}}`,updated:`Aggiornato {{when}}`,form:{slug:`Slug`,slugPlaceholder:`weekly-report`,slugHint:`Si usa come /slug nella barra della chat.`,slugInvalid:`Solo lettere minuscole, cifre e trattini.`,title:`Titolo`,titlePlaceholder:`Report settimanale`,description:`Descrizione`,descriptionPlaceholder:`A cosa serve questo prompt`,content:`Contenuto`,contentPlaceholder:`Scrivi il prompt. Racchiudi tra doppie parentesi graffe tutto ciò che vuoi compilare dopo.`,contentHint:`Un segnaposto è un nome tra doppie parentesi graffe. Dichiaralo qui sotto per dargli un'etichetta o un valore predefinito.`,tags:`Tag`,tagsPlaceholder:`ricerca, scrittura`,variables:`Variabili`,variablesHint:`Facoltativo. Dichiara qui un segnaposto per dargli un'etichetta, un valore predefinito o una serie di scelte.`,variableName:`Nome`,variableType:`Tipo`,variableLabel:`Etichetta`,variableDefault:`Predefinito`,variableRequired:`Obbligatoria`,variableOptions:`Opzioni`,variableOptionsPlaceholder:`Scelte separate da virgole`,addVariable:`Aggiungi variabile`,removeVariable:`Rimuovi variabile`},variableTypes:{text:`Testo`,number:`Numero`,select:`Scelta`,boolean:`Sì o no`},history:{open:`Cronologia versioni`,title:`Cronologia di {{title}}`,subtitle:`Il ripristino salva la revisione scelta come nuova versione. Non viene sovrascritto nulla.`,empty:`Nessuna versione precedente.`,current:`Attuale`,rollback:`Ripristina`,rollingBack:`Ripristino in corso...`},templatesTitle:`Parti da un modello`,templates:{reviewPr:{name:`Revisione della pull request`,description:`Revisione del codice strutturata, con severità regolabile.`},summarize:{name:`Riassumi per un pubblico`,description:`Riassunto per punti, calibrato sul lettore.`},translate:{name:`Traduci`,description:`Traduzione che conserva tono e formattazione.`},explainCode:{name:`Spiega il codice`,description:`Spiegazione passo passo, più casi limite e rischi.`}}},skillsPage:{title:`Competenze`,description:`Insiemi di istruzioni con un nome che il modello può caricare all'occorrenza mentre lavora.`,newSkill:`Nuova competenza`,editSkill:`Modifica competenza`,empty:`Nessuna competenza`,emptyHint:`Una competenza è un insieme di istruzioni che il modello carica solo quando serve. Cita $slug in un messaggio, oppure lascia che il modello la richiami con lo strumento load_skill.`,loadFailed:`Impossibile caricare le tue competenze.`,saved:`Competenza salvata`,saveFailed:`Impossibile salvare la competenza.`,toggleFailed:`Impossibile modificare la competenza.`,deleted:`Competenza eliminata`,deleteFailed:`Impossibile eliminare la competenza.`,deleteTitle:`Elimina competenza`,deleteConfirm:`Eliminare "{{name}}"? Sparisce anche la sua cronologia delle versioni.`,exportFailed:`Impossibile esportare la competenza.`,imported:`Competenza importata`,importFailed:`Impossibile importare quel file.`,historyFailed:`Impossibile caricare la cronologia delle versioni.`,rolledBack:`Competenza ripristinata`,rollbackFailed:`Impossibile ripristinare la competenza.`,versionLabel:`v{{version}}`,updated:`Aggiornata {{when}}`,form:{slug:`Slug`,slugPlaceholder:`code-review`,slugHint:`Si usa come $slug quando citi la competenza.`,slugInvalid:`Solo lettere minuscole, cifre e trattini.`,name:`Nome`,namePlaceholder:`Revisione del codice`,description:`Descrizione`,descriptionPlaceholder:`Quando usare questa competenza`,descriptionHint:`È il manifesto che vede il modello. Scrivilo in modo che capisca quando la competenza serve senza caricarla.`,instructions:`Istruzioni`,instructionsPlaceholder:`Istruzioni in Markdown che il modello legge quando carica questa competenza.`,instructionsHint:`Vengono caricate solo quando la competenza è in uso, quindi finché non serve la lunghezza non costa nulla.`,enabled:`Abilitata`,enabledHint:`Le competenze disabilitate restano salvate ma non vengono mai offerte al modello.`},history:{open:`Cronologia versioni`,title:`Cronologia di {{name}}`},templatesTitle:`Parti da un modello`,templates:{citeSources:{name:`Cita le fonti`,description:`Riferimenti numerati con URL, nessuna affermazione senza fonte.`},releaseNotes:{name:`Stile note di rilascio`,description:`Voci raggruppate e rivolte agli utenti, senza id interni.`},meetingNotes:{name:`Formato verbale di riunione`,description:`Decisioni, azioni da fare e questioni aperte a partire da una trascrizione.`}},importUrl:{button:`Da URL`,title:`Importa un'abilità da un URL`,hint:`Incolla un link skills.sh o GitHub, owner/repo/skill, oppure un link diretto a un file SKILL.md.`,placeholder:`https://skills.sh/owner/repo/skill oppure owner/repo/skill`,overwrite:`Sovrascrivi la mia abilità se lo slug esiste già`},files:{title:`File inclusi`,hint:`Documenti di riferimento e script che il modello legge su richiesta con read_skill_file.`,add:`Aggiungi file`,empty:`Nessun file incluso per ora.`,pathPlaceholder:`docs/reference.md`,contentPlaceholder:`Contenuto del file…`,loadFailed:`Impossibile caricare il file`,saveFailed:`Impossibile salvare il file`,deleteFailed:`Impossibile eliminare il file`},folderImport:{button:`Da cartella`,missingSkillMd:`La cartella deve contenere un file SKILL.md`,done:`Skill importata con {{count}} file inclusi`}},toolsPage:{title:`Strumenti`,description:`I server di strumenti che il modello può chiamare e le approvazioni che hai concesso.`,approvalNotice:`Gli strumenti che modificano dati fuori dalla chat chiedono sempre l'approvazione, a meno che tu non abbia concesso a quello strumento un'approvazione permanente o valida per la chat.`,registerServer:`Registra server`,registerHint:`Libre WebUI legge il server una volta e fissa gli strumenti che espone. Aggiorna il server più tardi per recepire le modifiche.`,editServer:`Modifica server`,empty:`Nessun server di strumenti`,emptyHintAdmin:`Registra un server OpenAPI o MCP per dare al modello qualcosa da chiamare.`,emptyHintUser:`Nessun amministratore ha ancora condiviso server di strumenti con te.`,loadFailed:`Impossibile caricare i server di strumenti.`,saved:`Server di strumenti salvato`,saveFailed:`Impossibile salvare il server di strumenti.`,deleted:`Server di strumenti eliminato`,deleteFailed:`Impossibile eliminare il server di strumenti.`,deleteTitle:`Elimina server di strumenti`,deleteConfirm:`Eliminare "{{name}}"? Tutti perdono l'accesso ai suoi strumenti.`,refresh:`Aggiorna strumenti`,refreshed:`Strumenti riletti dal server`,refreshFailed:`Impossibile leggere il server.`,toolsLoadFailed:`Impossibile caricare gli strumenti fissati.`,overrideFailed:`Impossibile modificare lo strumento.`,pinnedTools:`Strumenti fissati`,noPinnedTools:`Questo server non ha esposto alcuno strumento.`,sideEffect:`Effetto collaterale`,sideEffectOverride:`Effetto collaterale`,specRevision:`Revisione {{revision}}`,credential:`Credenziale personale`,credentialHint:`Salvata cifrata e usata solo per le tue chiamate a questo server.`,credentialPlaceholder:`Incolla il tuo token`,credentialSet:`Credenziale impostata`,credentialMissing:`Credenziale necessaria`,credentialSaved:`Credenziale salvata`,credentialSaveFailed:`Impossibile salvare la credenziale.`,credentialRemove:`Rimuovi`,credentialRemoved:`Credenziale rimossa`,credentialRemoveFailed:`Impossibile rimuovere la credenziale.`,builtinSource:`Questo server`,kinds:{openapi:`OpenAPI`,mcp:`MCP`},authModes:{none:`Nessuna autenticazione`,bearer:`Token Bearer`,header:`Intestazione personalizzata`},accessModes:{"admins-only":`Solo amministratori`,"all-users":`Tutti`,granted:`Solo chi ha ricevuto l'accesso`},form:{name:`Nome`,namePlaceholder:`API meteo`,kind:`Tipo`,description:`Descrizione`,descriptionPlaceholder:`Cosa fa questo server`,baseUrl:`URL di base`,specUrl:`URL della specifica`,specUrlHint:`Facoltativo. Se lasciato vuoto si usa l'URL di base.`,authMode:`Autenticazione`,authHeader:`Nome dell'intestazione`,accessMode:`Chi può usarlo`,timeoutMs:`Timeout (ms)`,maxResponseBytes:`Risposta massima (byte)`,serverDefault:`Valore del server`,enabled:`Abilitato`,enabledHint:`I server disabilitati restano registrati ma non vengono mai offerti al modello.`},approvals:{title:`Approvazioni permanenti`,description:`Strumenti che hai autorizzato a girare senza chiedere ogni volta. Revocane uno e la prossima volta tornerà a chiedere.`,empty:`Nessuna approvazione permanente.`,revoke:`Revoca`,revoked:`Approvazione revocata`,revokeFailed:`Impossibile revocare l'approvazione.`,scope:{once:`Una volta`,session:`Questa chat`,always:`Sempre`}},templatesTitle:`Parti da un modello`,templates:{petstore:{name:`Demo Petstore`,description:`Un'API demo pubblica per un primo test end-to-end senza rischi.`},internalOpenApi:{name:`API interna`,description:`Un punto di partenza per il tuo servizio OpenAPI.`},mcpServer:{name:`Server MCP`,description:`Un punto di partenza per un server MCP su Streamable HTTP.`}}},composer:{promptMenu:{label:`Libreria di prompt`,empty:`Ancora nessun prompt: creane uno in Impostazioni → Prompt, oppure inizia a digitare uno slug.`},skillMenu:{label:`Competenze`,empty:`Ancora nessuna abilità: creane una in Impostazioni → Abilità.`},variables:{title:`Compila {{title}}`,insert:`Inserisci`,cancel:`Annulla`,required:`{{name}} è obbligatorio`},toolsMenu:{enable:`Usa gli strumenti per questo messaggio`,builtin:`Strumenti integrati`,servers:`Server di strumenti`,hint:`Le chiamate con effetti collaterali chiedono comunque l’approvazione prima di essere eseguite.`}},share:{title:`Condividi «{{name}}»`,subtitle:`Concedi l'accesso a persone o gruppi. Solo tu gestisci le condivisioni.`,kindUser:`Utente`,kindGroup:`Gruppo`,usernamePlaceholder:`Nome utente esatto`,groupPlaceholder:`Nome gruppo esatto`,permissionRead:`Può vedere`,permissionWrite:`Può modificare`,action:`Condividi`,empty:`Non ancora condiviso con nessuno.`,hint:`Inserisci il nome esatto dell'utente o del gruppo. I destinatari lo vedono nel proprio spazio; la revoca rimuove subito l'accesso.`,revoke:`Revoca l'accesso`,added:`Condiviso con {{name}}`,failed:`Condivisione non riuscita`,userNotFound:`Nessun utente con questo nome`,groupNotFound:`Nessun gruppo con questo nome`},channels:{title:`Canali`,browsePublic:`Sfoglia i canali pubblici`,newDm:`Nuovo messaggio diretto`,newChannel:`Nuovo canale`,empty:`Nessun canale. Creane uno o sfoglia quelli pubblici.`,selectPrompt:`Scegli un canale per iniziare`,pins:`Fissati`,members:`Membri`,settings:`Impostazioni canale`,sendFailed:`Impossibile inviare il messaggio`,uploadFailed:`Impossibile caricare il file`,memberAdded:`Membro aggiunto`,memberAddFailed:`Impossibile aggiungere questo utente`,attach:`Allega un file`,askModel:`Chiedi a un modello con questo messaggio`,noModel:`Nessun modello`,composerPlaceholder:`Scrivi un messaggio…`,thread:`Discussione`,replyPlaceholder:`Rispondi…`,invitePlaceholder:`Utente da invitare`,roleOwner:`proprietario`,removeMember:`Rimuovi dal canale`,leave:`Lascia il canale`,noPins:`Niente di fissato.`,noMessages:`Ancora nessun messaggio: saluta.`,create:`Crea`,createFailed:`Impossibile creare il canale`,nameLabel:`Nome`,typeLabel:`Tipo`,typePublic:`Pubblico — chiunque può entrare`,typePrivate:`Privato — solo su invito`,descriptionLabel:`Descrizione`,openDm:`Apri conversazione`,dmFailed:`Impossibile aprire la conversazione`,dmHint:`I messaggi diretti restano privati tra voi due.`,dmPlaceholder:`Nome utente esatto`,noPublic:`Nessun canale pubblico.`,joined:`Iscritto`,join:`Entra`,save:`Salva`,delete:`Elimina canale`,modelAuthor:`Modello`,unknownAuthor:`Qualcuno`,edited:`modificato`,deletedMessage:`Questo messaggio è stato eliminato`,modelThinking:`Il modello sta pensando…`,react:`Aggiungi una reazione`,reply:`Rispondi nella discussione`,pin:`Fissa il messaggio`,unpin:`Sblocca il messaggio`,edit:`Modifica messaggio`,deleteMessage:`Elimina messaggio`,replyCount:`{{total}} risposte`},notifications:{title:`Notifiche`,empty:`Sei in pari.`,markAllRead:`Segna tutto come letto`,markRead:`Segna come letto`},voiceMode:{title:`Modalità vocale`,open:`Avvia la modalità vocale`,close:`Chiudi la modalità vocale`,starting:`Avvio…`,listening:`In ascolto…`,muted:`Microfono disattivato`,transcribing:`Trascrizione…`,generating:`Sto pensando…`,speaking:`Sto parlando…`,mute:`Disattiva il microfono`,unmute:`Riattiva il microfono`,finishTurn:`Ho finito di parlare`,skipReply:`Salta la risposta`,microphoneFailed:`Microfono non disponibile`,transcriptionFailed:`Trascrizione non riuscita`,replyTimeout:`La risposta ha impiegato troppo tempo`,unsupported:`La modalità vocale non è disponibile`,unsupportedHint:`La modalità vocale richiede un microfono e un provider voce-testo oppure il riconoscimento vocale del browser.`},imageEdit:{title:`Modifica immagine`,prompt:`Descrivi la modifica`,promptPlaceholder:`Per esempio: sostituire il cielo con un tramonto`,model:`Modello`,apply:`Applica la modifica`,maskHint:`Dipingi le aree da ridipingere; lascia la tela intatta per modificare l’intera immagine.`,brushSize:`Dimensione del pennello`,clearMask:`Cancella maschera`,referenceImages:`Immagini di riferimento (fino a {{total}})`,noModels:`Nessun modello configurato supporta la modifica delle immagini.`,saved:`Immagine modificata salvata nella galleria`,failed:`Modifica dell’immagine non riuscita`,loadFailed:`Impossibile caricare l’immagine di origine`},costs:{title:`Costi e budget`,description:`Prezzi delle tariffe applicati al registro di utilizzo; i budget osservano o limitano la spesa.`,loadFailed:`Impossibile caricare i dati dei costi`,saveFailed:`Salvataggio non riuscito`,exportFailed:`Esportazione non riuscita`,exportCsv:`Esporta CSV`,totalSpend:`Spesa totale`,meteredEvents:`Eventi tariffati`,unmeteredEvents:`Eventi non tariffati`,topModel:`Modello principale`,budgets:`Budget`,noBudgets:`Nessun budget.`,budgetName:`Nome del budget`,principalId:`ID utente o gruppo`,addBudget:`Aggiungi budget`,deleteBudget:`Elimina budget`,budgetSaved:`Budget salvato`,scope:{instance:`Intera istanza`,user:`Utente`,group:`Gruppo`},period:{daily:`Giornaliero`,weekly:`Settimanale`,monthly:`Mensile`},mode:{observe:`Osserva`,soft:`Avvisa`,hard:`Avvisa e blocca`},tariffs:`Tariffe`,noTariffs:`Nessuna tariffa: i costi restano senza prezzo finché non aggiungi i prezzi.`,plugin:`Plugin`,model:`Modello`,modelOptional:`Modello (opzionale)`,allModels:`Tutti i modelli`,inputPerMillion:`Input $/M token`,outputPerMillion:`Output $/M token`,unitPrice:`Prezzo unitario`,effectiveFrom:`In vigore dal`,addTariff:`Aggiungi tariffa`,deleteTariff:`Elimina tariffa`,tariffSaved:`Tariffa salvata`},evaluations:{title:`Valutazioni`,description:`Duelli in arena alla cieca, classifica Elo, set di valutazione riutilizzabili e il tuo dataset di feedback.`,loadFailed:`Impossibile caricare le valutazioni`,matchFailed:`Il duello in arena non è riuscito`,voteRecorded:`Voto registrato`,voteFailed:`Impossibile registrare il voto`,saveFailed:`Salvataggio non riuscito`,exportFailed:`Esportazione non riuscita`,setSaved:`Set di valutazione salvato`,runStarted:`Esecuzione avviata`,pickModel:`Scegli un modello`,tabs:{arena:`Arena`,leaderboard:`Classifica`,sets:`Set di eval`,feedback:`Feedback`},arenaModelA:`Modello A`,arenaModelB:`Modello B`,arenaPrompt:`Fai la stessa domanda a entrambi i modelli…`,startMatch:`Avvia duello`,arenaHint:`Le identità dei modelli restano nascoste fino al voto.`,candidate:`Risposta {{letter}}`,voteFirst:`La prima è migliore`,voteSecond:`La seconda è migliore`,voteTie:`Pareggio`,voteBothBad:`Entrambe scarse`,model:`Modello`,rating:`Punteggio`,record:`Bilancio`,votes:`Voti`,noVotes:`Nessun voto in arena — avvia un duello per costruire la classifica.`,newSet:`Nuovo set di valutazione`,setName:`Nome del set`,setPrompts:`Un prompt per riga…`,saveSet:`Salva set`,yourSets:`I tuoi set`,noSets:`Nessun set di valutazione.`,itemCount:`{{total}} prompt`,run:`Esegui`,deleteSet:`Elimina set`,cancelRun:`Annulla esecuzione`,exportRun:`Esporta esecuzione`,status:{queued:`In coda`,running:`In corso`,completed:`Completata`,failed:`Non riuscita`,cancelled:`Annullata`},noFeedback:`Nessun feedback — valuta le risposte per costruire il tuo dataset.`},passwordStrength:{levels:{weak:`Debole`,fair:`Discreta`,good:`Buona`,strong:`Forte`},checks:{minLength:`Almeno 12 caratteri`,hasCase:`Lettere maiuscole e minuscole`,hasNumber:`Almeno un numero`,tooLong:`Non oltre 72 byte`}}};export{e as default};
|