diff --git a/i18n/locales/it_IT.json b/i18n/locales/it_IT.json index 8a95bef..3e31e0f 100644 --- a/i18n/locales/it_IT.json +++ b/i18n/locales/it_IT.json @@ -1,105 +1,5515 @@ { + "you": "Tu", + "select": "Selezionare", + "conversations": "Conversazioni", + "copyToClipboard": "Copia negli appunti", + "toCopyMarkdownDirectly": "per copiare direttamente il markdown", + "clickToCopyMarkdownDirectly": "Fare clic per copiare direttamente il markdown", + "toShowMoreOptions": "per mostrare più opzioni", + "longPressOrAltClickForMoreOptions": "Premi a lungo o Alt+clic per ulteriori opzioni", + "onMessage": "sul messaggio", + "selectModel": "@:select un modello | @:select modelli", + "manageModels": "@:manage Modelli", + "required": "Necessario", + "optional": "Opzionale", + "systemPrompt": "Richiesta di sistema", + "systemPromptAttachMode": "@:systemPrompt Allega @:mode", + "userPrompt": "@:user Richiesta", + "delete": "Elimina {item}", + "deleteAll": "Elimina tutto", + "create": "Crea", + "edit": "Modifica", + "expandTextarea": "Espandi editor", + "collapseTextarea": "Comprimi editor", + "enable": "Abilitare", + "disable": "Disabilita", + "save": "Salva", + "saved": "Salvato", + "cancel": "Cancellare", + "close": "Vicino", + "bookmarked": "Segnato", + "pinned": "Appuntato", + "update": "Aggiornamento", + "apply": "Applica", + "reset": "Reset", + "icon": "Icona", + "clear": "Pulisci", + "apiKey": "Chiave API", + "models": "Modelli", + "available": "Disponibile {itemType}", + "unavailable": "Non disponibile", + "detected": "Rilevato", + "continue": "Continuare", + "undetected": "Non rilevato", + "welcome": "Benvenuto!", + "plan": "Piano", + "allChangesSaved": "Tutte le modifiche salvate", + "toolbar": "Barra degli strumenti", + "bookmark": "Segnalibro | Segnalibri", "waitingMessage": { - "processingContext": "Elaborazione del contesto :: Comprensione del contesto :: Analisi del contesto :: Lettura della situazione :: Collegamento dei punti :: Visione d'insieme :: Ricomposizione del quadro :: Interpretazione della situazione", - "scrubbingPIIData": "Pulizia dei dati personali :: Protezione della privacy :: Rimozione delle informazioni personali :: Anonimizzazione dei dati :: Mantenimento della riservatezza :: Modalità privacy attivata :: Oscuramento delle informazioni sensibili :: Passaggio alla modalità anonima", - "synthesizingQuery": "Ottimizzazione della ricerca :: Miglioramento della domanda :: Perfezionamento della query :: Raffinamento dei termini di ricerca :: Elaborazione della richiesta :: Messa a punto della domanda :: Creazione della query perfetta :: Valorizzazione delle parole" + "waiting": "In attesa :: Aspetta :: Solo un attimo :: Un secondo :: La pazienza è una virtù :: Ci siamo quasi :: Caricamento di meraviglia", + "fetchingWebResults": "Cercare nel Web :: Navigare in Internet :: Guardare online :: Esplorare il web :: Consultare l'oracolo :: Chiedere gentilmente in Internet :: Immergersi nel cyberspazio :: Estrarre il web", + "queryingKnowledgeStack": "Fare domande @:knowledgeStack.title :: Cercare nelle tue conoscenze :: Sfogliare i tuoi documenti :: Esplorare la tua base di conoscenza :: Frugare nella tua saggezza :: Consultare la tua biblioteca digitale :: Scansionare i tuoi archivi :: Scavare tra i tuoi appunti", + "preparingTools": "Preparazione degli strumenti :: Preparazione degli strumenti :: Impostazione degli strumenti :: Caricamento degli strumenti :: Affilatura degli strumenti :: Assemblaggio del toolkit :: Riscaldamento dei motori :: Preparazione dell'area di lavoro", + "connectingToModel": "Il modello sta facendo la sua magia ✨ :: L'intelligenza artificiale sta pensando :: Elaborando la tua richiesta :: Lavorando su di esso :: Elaborando i numeri :: I neuroni si attivano :: Riflettendo profondamente :: Brillantezza informatica :: Modalità cerebrale coinvolgente :: Evocando intelligenza", + "processingContext": "Contesto di elaborazione :: Comprendere il contesto :: Analizzare il contesto :: Leggere la situazione :: Collegare i punti :: Cogliere il quadro generale :: Metterlo insieme :: Dare un senso alle cose", + "streaming": "Streaming :: Invio di risposta :: Consegna di risposta :: Trasmissione :: Trasmissione di risultati :: Fluendo verso di te :: In viaggio verso di te :: In arrivo caldo", + "scrubbingPIIData": "Eliminazione dei dati PII :: Protezione della privacy :: Rimozione delle informazioni personali :: Anonimizzazione dei dati :: Mantenere i segreti al sicuro :: Modalità privacy attivata :: Oscuramento delle parti sensibili :: Navigazione in incognito", + "synthesizingQuery": "Sintetizzare la query per ottenere risultati migliori :: Ottimizzare la domanda :: Migliorare la query :: Perfezionare i termini di ricerca :: Perfezionare la richiesta :: Perfezionare la domanda :: Creare la query perfetta :: Far brillare le tue parole", + "fetchingLiveContexts": "Recupero di contesti live :: Raccolta di dati in tempo reale :: Estrazione di nuove informazioni :: Sincronizzazione con fonti live :: Attingere al flusso di dati :: Raccolta di informazioni attuali :: Aggiornamento di feed di contesto :: Raccolta di aggiornamenti live :: Connessione al polso" }, "progress": { "initializing": "Inizializzazione..." }, + "add": "Aggiungere", + "actionBar": { + "expandGroup": "Espandi {group}", + "collapseGroup": "Comprimi {group}", + "showExtraAddOns": "Mostra componenti aggiuntivi extra", + "hideExtraAddOns": "Nascondi componenti aggiuntivi extra", + "groups": { + "model": "Modello e suggerimenti", + "data": "Dati e conoscenza", + "tools": "Strumenti e personaggi" + } + }, "unauthorized": "Non autorizzato", - "minimize": "Minimizza", + "valid": "Valido", + "invalid": "Non valido", + "done": "Fatto!", + "confirm": "Confermare", + "shareWithSyncedSplits": "Condividi con suddivisioni sincronizzate", + "source": "Fonte | Fonti", + "groundingSources": "Fonti di messa a terra", + "manage": "Maneggio", + "chat": "Gatto | Gatti", + "advancedOptions": "Opzioni avanzate", + "duplicate": "Duplicato", + "manageItem": "@:manage {item}", + "success": "Successo!", + "notes": "Note", + "viewNotes": "Visualizza note", + "error": "Errore!", + "warning": "Avvertimento", + "authorized": "Autorizzato", + "notAuthorized": "Non autorizzato", + "authorize": "Autorizzare", + "reauthorize": "Riautorizza", + "deauthorize": "Rimuovi l'autorizzazione", + "failedToDelete": "Impossibile eliminare", + "failedToSave": "Impossibile salvare", + "failedToUpdate": "Impossibile aggiornare", + "updatedSuccess": "aggiornato.", + "applyAndShareWithSyncedSplits": "Applica e condividi con suddivisioni sincronizzate", + "clickToEdit": "Fare clic per modificare", + "clickToAddSystemPrompt": "Fai clic per aggiungere @:systemPrompt", + "pause": "Pausa", + "resume": "Riprendere", + "retry": "Riprova", + "stop": "Fermare", + "run": "Esegui", + "rerun": "Rieseguire", + "remove": "Rimuovi", + "skip": "Saltare", + "unskip": "Non saltare", + "startImporting": "Inizia l'importazione", + "new": "Nuovo", + "entry": "Entrata | Voci", + "import": "Importare", + "connect": "Collegare", + "disconnect": "Disconnetti", + "reconnect": "Riconnettiti", + "selectTargetFolder": "Seleziona la cartella di destinazione", + "createNewFolderForImport": "Crea una nuova cartella per gli elementi importati", + "newFolderName": "Nuovo nome della cartella", + "remote": "Remoto", + "local": "Locale", + "strength": "Forza | Punti di forza", + "provider": "Fornitore", + "capability": "{count} Capacità | {count} Capacità", + "preset": "Preimpostato | Preimpostazioni", + "saveAsPreset": "Salva con nome @:preset", + "append": "Aggiungere", + "prepend": "Anteporre", + "replace": "Sostituire", + "description": "Descrizione", + "mode": "Modalità", + "addOns": "Componenti aggiuntivi", + "user": "Utente", + "assistant": "Assistente", + "assistantMessage": "@:assistant @:message.title", + "connectionInfo": "Informazioni sulla connessione", + "export": "Esportare", + "exportOptions": "Opzioni di esportazione", + "chooseFile": "Scegli File", + "purpose": "Scopo", + "download": "Scaricamento", + "downloads": "Scaricati", + "downloadAsJson": "Scarica come JSON", + "install": "Installare", + "installed": "Installato", + "modified": "Modificato", + "created": "Creato", + "minimize": "Minimizzare", + "status": "Stato", + "type": "Tipo", + "yes": "SÌ", + "fileSize": "Dimensioni del file", + "size": "Misurare", + "likes": "Mi piace | Mi piace", + "cancelled": "Annullato", + "parameterSize": "Parametro @:size", "quantization": "Quantizzazione", - "quantizationLevel": "@:quantizzazione Livello", + "quantizationLevel": "@:quantization Livello", + "contextSize": "Dimensione del contesto", + "defaultToModelMax": "Predefinito per il modello max", + "llamaCppContextSizeDescription": "Massimo tokens il modello elabora contemporaneamente. Impostato su 0 per utilizzare il massimo del modello. Valori più grandi aumentano l'utilizzo della memoria. Questo valore viene salvato globalmente per modello con LLaMa.cpp. Il contesto è condiviso equamente tra il numero di richieste simultanee impostate tramite le impostazioni del servizio LLaMa.cpp.", + "truncationStrategy": { + "truncateMiddle": "Tronca al centro", + "truncateOld": "Tronca vecchio", + "none": "Nessuno" + }, + "truncationStrategyDescription": "Come gestire i messaggi quando si avvicina il limite del contesto.", + "storage": "Magazzinaggio", + "params": "Param", + "arch": "Arco", + "filter": "Filtro", + "treeControls": { + "title": "Ordina e visualizza", + "searchPlaceholder": "Ricerca...", + "clear": "Reset", + "foldersFirst": "Prima le cartelle", + "itemsFirst": "Prima gli articoli", + "sort": { + "none": "Nessuno", + "name": "Nome", + "title": "Titolo", + "created": "Creato", + "updated": "Aggiornato", + "lastUsed": "Ultimo utilizzo", + "ascending": "Ascendente", + "descending": "Discendente" + }, + "visibility": { + "label": "Visibilità", + "empty": { + "show": "Mostra cartelle vuote", + "hide": "Nascondi le cartelle vuote" + }, + "counts": { + "show": "Mostra il conteggio degli articoli", + "hide": "Nascondi il conteggio degli articoli" + } + } + }, + "noSearchResults": "Nessun {item} trovato per questa ricerca", + "loading": "Caricamento", + "invite": "Invitare", + "refresh": "Aggiorna", + "email": "E-mail", + "role": "Ruolo", + "admin": "Ammin", + "owner": "Proprietario", + "inActive": "Inattivo", + "argument": "Argomento|Argomenti", + "abort": "Interrompere", + "send": "Invia", + "remindMeLater": "Ricordamelo più tardi", + "text": "Testo", + "folders": "Cartelle", + "folder": "Cartella | @:folders", + "title": "Titolo", + "search": { + "label": "Ricerca", + "scope": { + "active": "Attivo", + "archived": "Archiviato", + "all": "Tutto" + } + }, + "fuzzySearch": { + "enabled": "Ricerca fuzzy abilitata", + "disabled": "Ricerca fuzzy disabilitata", + "enabledHint": "Ricerca fuzzy abilitata. Fare clic per attivare/disattivare", + "disabledHint": "Ricerca fuzzy disabilitata. Fare clic per attivare/disattivare" + }, + "none": "Nessuno", + "change": "Modifica", + "expandAllProjects": "Espandi tutti i progetti", + "collapseAllProjects": "Comprimi tutti i progetti", + "expandAllFolders": "Espandi tutte le cartelle", + "collapseAllFolders": "Comprimi tutte le cartelle", + "clone": { + "title": "Clona {item}", + "successMessage": { + "detail": "{item} clonato" + }, + "errorMessage": { + "detail": "Impossibile clonare {item}" + } + }, + "notesPurposePlaceholder": "Aggiungi note per aiutarti a ricordare lo scopo di questo {item} ; questo verrà visto anche dai modelli che potranno fornire loro maggiori dettagli su come utilizzare questo {item} (@:optional)", + "endpointTestResults": "Risultati del test degli endpoint", + "testConnection": "Prova connessione", + "emptyPlaceholder": "Nessun {item} trovato", + "selectItem": "@:select {item}", + "selectedItemLabel": "{count} {title}", + "feature": "Caratteristica|Caratteristiche", + "raw": "Crudo", + "rawOutput": "Output grezzo", + "property": "Proprietà|Proprietà", + "configure": "Configura", + "context": "Contesto | Contesti", + "path": "Percorso | Percorsi", + "project": { + "title": "Progetto | Progetti", + "createRootProject": "Nuovo progetto alla radice", + "projectName": "Nome del progetto", + "projectDescription": "Descrizione del progetto", + "defaultModel": "Modello predefinito", + "customInstructions": "Istruzioni personalizzate", + "addChildProject": "Aggiungi progetto figlio", + "promoteToRoot": { + "title": "Sposta la cartella nella radice", + "errorMessage": { + "detail": "Impossibile spostare il progetto nella root." + }, + "successMessage": { + "detail": "Il progetto è stato spostato con successo nella radice." + } + }, + "deleteProject": "Elimina progetto", + "setDefaultForNewConversations": "Imposta come progetto predefinito", + "unsetDefaultForNewConversations": "Annulla l'impostazione del progetto predefinito", + "orphanageProjectName": "Varie", + "includeProjectContext": "Includi il contesto del progetto", + "deleteConfirmation": { + "header": "Elimina progetto", + "message": "Sei sicuro di voler eliminare {projectName} e tutte le sue conversazioni?", + "rejectLabel": "@:cancel", + "acceptLabel": "@:delete", + "successMessage": { + "detail": "Progetto eliminato" + } + }, + "deleteAllConversations": { + "title": "Elimina tutte le conversazioni", + "description": "Vuoi eliminare tutte le conversazioni in {projectName}? Questa azione non può essere annullata.", + "successMessage": { + "detail": "Conversazione {count} eliminata | Conversazioni {count} eliminate", + "empty": "Nessuna conversazione da eliminare" + }, + "errorMessage": { + "detail": "Impossibile eliminare le conversazioni" + } + }, + "archiveAllConversations": { + "title": "Archivia tutte le conversazioni", + "description": "Archiviare tutte le conversazioni in {projectName}? Verranno spostati nell'Archivio e potranno essere ripristinati in seguito.", + "confirmLabel": "Archivia tutto", + "successMessage": { + "detail": "Conversazione {count} archiviata | Conversazioni {count} archiviate" + }, + "errorMessage": { + "detail": "Impossibile archiviare le conversazioni" + } + }, + "projectForm": { + "addFiles": "Aggiungi file", + "editProject": "Modifica progetto", + "createNewProject": "Nuovo progetto", + "dragAndDropFiles": "Trascina e rilascia i file che verranno allegati a ciascuna conversazione in questo progetto.", + "successMessage": { + "createDetail": "Progetto creato", + "createDetailHidden": "Progetto creato! Al momento è nascosto perché vuoto. Fai clic sul pulsante in basso per mostrarlo ora oppure apparirà automaticamente quando aggiungi la tua prima conversazione.", + "updateDetail": "Progetto aggiornato" + }, + "errorMessage": { + "createDetail": "Impossibile creare il progetto", + "updateDetail": "Impossibile aggiornare il progetto" + } + }, + "emptyProjectVisibilityToast": { + "showButton": "Mostra progetti vuoti", + "enabled": "I progetti vuoti sono ora visibili" + }, + "startNewToGetStarted": "Avvia una nuova conversazione per iniziare" + }, + "selectedModel": "Modello selezionato", + "endpoint": "Punto finale", + "authToken": "Autenticazione Token", + "before": "Prima", + "after": "Dopo", + "method": "Metodo", + "httpMethod": "HTTP @:method", + "get": "Ottenere", + "post": "Invia", + "presetAlreadyExistsMessage": "@:preset con lo stesso nome esiste già.", + "duplicatePresetOverwriteMessage": "@:presetAlreadyExistsMessage Se salvi, sovrascriverà il preset esistente.", + "noPropsAvailable": "Nessun {propsName} disponibile. Aggiungine uno personalizzato.", + "localAI": "@:local AI", + "branch": { + "clickToLabel": "Fare clic per aggiungere un'etichetta", + "labelPlaceholder": "Etichetta filiale (max 30 caratteri)", + "labelBranch": "Etichetta Ramo...", + "labelDialogTitle": "Ramo dell'etichetta", + "noLabel": "Nessuna etichetta", + "clickForOptions": "Fare clic per ulteriori opzioni", + "timeline": { + "title": "Esploratore di filiali", + "viewAll": "Esplora rami...", + "branchNumber": "Ramo {n}", + "current": "Attuale", + "branches": "Rami", + "compare": "Confrontare" + }, + "diff": { + "title": "Confronta i rami", + "compare": "Confronta i rami", + "exitCompare": "Uscire dalla modalità di confronto", + "selectFirst": "Seleziona il primo ramo da confrontare", + "selectSecond": "Seleziona il secondo ramo da confrontare", + "selected": "Selezionato", + "identical": "Il contenuto è identico", + "leftBranch": "Primo ramo", + "rightBranch": "Secondo ramo", + "selectBranch": "Seleziona filiale", + "selectBranchesToCompare": "Seleziona due rami qui sopra per confrontare il loro contenuto", + "switchToBranch": "Passa a {name}", + "viewDiff": "Diff", + "viewSideBySide": "Fianco a fianco" + } + }, + "conversation": { + "title": "Conversazione | Conversazioni", + "conversationTitle": "@:conversation.title Titolo", + "contextShieldErrorMessage": { + "summary": "Impossibile generare il riepilogo del contesto.", + "detail": "Controlla Impostazioni > Notifiche per maggiori dettagli." + }, + "sendErrorMessage": { + "summary": "Impossibile inviare il messaggio.", + "detail": "Controlla Impostazioni > Notifiche per maggiori dettagli. {error}" + }, + "contextSizeError": { + "summary": "Il messaggio supera il limite del contesto", + "detail": "Il tuo messaggio con i risultati di ricerca e il contesto è troppo grande per questo modello. Prova: aumentando la dimensione del context dai paremetri del modello, riducendo la dimensione della ricerca, pulendo lo storico della coversazione, usando un modello con un context più largo (16k+), o accorciando le tue istruzioni di sistema." + }, + "deleteConversation": "Elimina @:conversation.title", + "addNewConversation": "Aggiungi nuovo @:conversation.title", + "newConversation": "Nuovo @:conversation.title", + "treeControls": { + "title": "Ordina e visualizza", + "projectSort": { + "none": "Nessuno", + "name": "Nome", + "created": "Creato", + "ascending": "Ascendente", + "descending": "Discendente", + "projectsFirst": "Prima i progetti" + }, + "conversationSort": { + "none": "Nessuno", + "title": "Titolo", + "created": "Creato", + "lastActivity": "Ultima attività", + "ascending": "Ascendente", + "descending": "Discendente" + }, + "priority": { + "none": "Nessuna priorità", + "pinned": "@:pinned prima", + "bookmarked": "@:bookmarked prima" + }, + "visibility": { + "label": "Visibilità", + "recents": { + "show": "Spettacoli recenti e @:pinned", + "hide": "Nascondi recenti e @:pinned" + }, + "archive": { + "show": "Mostra archivio", + "hide": "Nascondi archivio" + }, + "empty": { + "show": "Mostra progetti vuoti", + "hide": "Nascondi progetti vuoti" + }, + "counts": { + "show": "Mostra i conteggi delle conversazioni", + "hide": "Nascondi i conteggi delle conversazioni" + } + }, + "clear": "Reset" + }, + "promptPlaceHolder": { + "normal": { + "focused": "Premi {trigger} per i comandi rapidi OPPURE inizia a digitare...", + "unfocused": "Premi / per concentrarti qui e iniziare a digitare" + } + }, + "deleteConfirmation": { + "header": "Elimina @:conversation.title", + "message": "Sei sicuro di voler eliminare la conversazione selezionata e tutte le relative suddivisioni della chat? | Sei sicuro di voler eliminare le conversazioni selezionate e tutte le relative suddivisioni della chat?", + "rejectLabel": "Cancellare", + "acceptLabel": "Elimina", + "successMessage": { + "detail": "@:conversation.title cancellato" + }, + "errorMessage": { + "detail": "Impossibile eliminare @:conversation.title" + } + }, + "convertToChat": { + "title": "Converti in chat", + "successMessage": { + "detail": "@:conversation.title convertito in Chat" + }, + "errorMessage": { + "detail": "Impossibile convertire la conversazione in Chat" + } + }, + "convertToForgeCanvas": { + "title": "Converti in @:forge.forgeCanvas", + "successMessage": { + "detail": "@:conversation.title convertito in @:forge.forgeCanvas" + }, + "errorMessage": { + "detail": "Impossibile convertire la conversazione in @:forge.forgeCanvas" + } + }, + "cloneAncestorsSuccess": { + "detail": "Messaggi clonati correttamente nella nuova divisione" + }, + "cloneAncestorsError": { + "detail": "Impossibile clonare i messaggi nella nuova suddivisione" + }, + "cloneAncestorsToNewConversationSuccess": { + "detail": "Messaggi clonati correttamente nella nuova conversazione" + }, + "cloneAncestorsToNewConversationError": { + "detail": "Impossibile clonare i messaggi in una nuova conversazione" + }, + "archive": { + "groupLabel": "Archivio", + "orphanProject": "Conversazione orfana", + "bannerMessage": "Questa conversazione è archiviata. Annulla l'archiviazione per continuare la discussione.", + "bannerHint": "L'invio di un nuovo messaggio verrà automaticamente annullato dall'archivio.", + "unarchiveAction": "Annulla l'archiviazione", + "autoUnarchivedToast": "Conversazione annullata automaticamente dall'archivio.", + "archivedToast": "{count} conversazione archiviata | {count} conversazioni archiviate", + "unarchivedToast": "{count} conversazione ripristinata | {count} conversazioni ripristinate", + "archiveSingle": "Archivio", + "unarchiveSingle": "Annulla l'archiviazione", + "unload": "Scarica gli elementi archiviati", + "unloaded": "Elementi archiviati scaricati", + "error": "Impossibile aggiornare lo stato dell'archivio. Per favore riprova.", + "archiveMultiple": "Archivio {item}" + } + }, + "conversationActions": { + "exportConversation": { + "title": "Esporta @:conversation.title come JSON", + "successMessage": "Conversazioni esportate correttamente come JSON" + }, + "showAllSplits": "Mostra tutte le divisioni", + "saveSplitsAs": "Salva suddivisioni con nome", + "newSingleSplitChat": "Nuova chat divisa in singolo", + "splitPreset": "Preimpostazione divisa | Preset divisi", + "splitPresetForm": { + "saveTitle": "Salva tempi parziali come @:preset", + "editTitle": "Modifica frazionamento @:preset {presetName}", + "presetName": "@:preset Nome", + "presetOptions": "@:preset Opzioni", + "presetOptionsPlaceholder": "@:select @:preset Opzioni", + "savePreset": "Salva @:preset", + "successMessage": { + "saveDetail": "Divisione @:preset aggiunta", + "editDetail": "Diviso @:preset aggiornato" + }, + "errorMessage": { + "saveDetail": "Impossibile salvare la divisione @:preset" + } + }, + "deleteSplitPresetConfirmation": { + "header": "Elimina divisione @:preset", + "message": "Sei sicuro di voler eliminare {splitPresetName}?", + "successMessage": { + "detail": "Divisione @:preset eliminata" + } + }, + "compactMode": "Modalità compatta", + "enableCompactMode": "@:enable @:conversationActions.compactMode", + "disableCompactMode": "@:disable @:conversationActions.compactMode", + "splitWidths": { + "title": "Larghezze divise", + "slim": "Sottile", + "balanced": "Equilibrato", + "roomy": "Spazioso", + "spacious": "Spazioso", + "full": "Pieno" + } + }, + "responseConfiguration": { + "title": "Configurazione della risposta", + "selectPresetPlaceholder": "Seleziona una preimpostazione...", + "saveAsPreset": "Salva come preimpostazione", + "commonSettings": { + "title": "Impostazioni comuni" + }, + "advancedParameters": { + "title": "Parametri avanzati", + "description": "Oggetto JSON per parametri del modello avanzati", + "placeholder": "" + }, + "providerOptions": { + "title": "Opzioni del fornitore", + "description": "Configurazione specifica del provider", + "placeholder": "" + }, + "thinkingConfig": { + "title": "Configurazione del pensiero", + "description": "Configurazione di pensiero esteso", + "notice": "Il fornitore può ignorare o onorare parzialmente le impostazioni di pensiero" + }, + "customParameters": { + "title": "Parametri personalizzati", + "helper": "Il fornitore può ignorarli o onorarli parzialmente", + "keyPlaceholder": "param_personalizzato", + "valuePlaceholder": "valore", + "deleteConfirm": { + "title": "Elimina parametro", + "message": "Elimina il parametro personalizzato \"{param}\"?" + }, + "errors": { + "missingKey": "La chiave del parametro è obbligatoria.", + "reserved": "Questa chiave è riservata ai parametri integrati.", + "duplicate": "Esiste già un parametro con questa chiave." + } + }, + "json": { + "invalid": "JSON non valido" + }, + "tooltips": { + "constraintMode": "La modalità di vincolo è attiva", + "freeformMode": "La modalità Forma libera è attiva: nessun limite minimo/massimo" + }, + "expandOtherOptions": "Espandi per altre opzioni", + "collapseOtherOptions": "Comprimi altre opzioni", + "parameters": { + "temperature": { + "label": "Temperatura", + "helper": "Controlla la casualità (0=concentrato, 2=creativo)" + }, + "topP": { + "label": "Superiore P", + "helper": "Massa probabilistica da conservare durante il campionamento del nucleo" + }, + "topK": { + "label": "Superiore K", + "helper": "Limita la selezione token all'inizio K tokens" + }, + "maxOutputTokens": { + "label": "Produzione massima Tokens", + "helper": "Massimo tokens per le risposte", + "helperWithLimit": "Massimo tokens per le risposte (limite {0})" + }, + "numCtx": { + "label": "Dimensioni della finestra di contesto", + "helper": "Massimo tokens accettato nel prompt", + "helperWithLimit": "Massimo tokens accettato nel prompt (limite {0})", + "llamaCppHint": "Impostato su 0 per utilizzare la dimensione massima del contesto del modello" + }, + "presencePenalty": { + "label": "Penalità di presenza", + "helper": "Penalizzare le nuove tokens in base al fatto che appaiano nel testo finora" + }, + "frequencyPenalty": { + "label": "Penalità di frequenza", + "helper": "Penalizzare tokens in base alla frequenza nel testo finora" + }, + "repeatPenalty": { + "label": "Ripetizione della penalità", + "helper": "Scoraggiare le frasi ripetute" + }, + "repeatLastN": { + "label": "Ripeti l'ultimo N", + "helper": "Finestra di contesto per l'applicazione della penalità di ripetizione" + }, + "minP": { + "label": "Il mio P", + "helper": "Probabilità cumulativa minima per la selezione token" + }, + "mirostat": { + "label": "Mirostat", + "helper": "Stabilizzare dinamicamente le perplessità", + "options": { + "off": "Spento", + "v1": "Mirostat 1.0", + "v2": "Mirostat 2.0" + } + }, + "mirostatTau": { + "label": "Mirostat Tau", + "helper": "Livello di sorpresa target (inferiore = più sicuro)" + }, + "mirostatEta": { + "label": "Mirosta E", + "helper": "Tasso di apprendimento per la regolazione del Mirostat" + }, + "numGpu": { + "label": "Livelli GPU", + "helper": "Numero di livelli da scaricare sulla GPU" + }, + "numThread": { + "label": "Discussioni", + "helper": "Thread della CPU da utilizzare per la generazione" + } + } + }, + "modelParams": { + "params": "Param", + "title": "Parametri del modello", + "advancedParams": "Parametri avanzati", + "providerOptions": "Opzioni del fornitore", + "maxTokens": "Uscita massima Tokens (precedente)", + "maxOutputTokens": "Produzione massima Tokens", + "temperature": "Temperatura", + "topP": "Superiore P", + "presencePenalty": "Penalità di presenza", + "frequencyPenalty": "Penalità di frequenza", + "numCtx": "Finestra di contesto @:size", + "numGpu": "Numero di livelli GPU", + "selectPlaceholder": "@:select oppure inserire un parametro", + "selectPresetPlaceholder": "@:select a @:preset", + "saveAsPreset": "Salva come @:preset", + "addParameter": "Aggiungi nuovo parametro", + "extraParams": "Extra @:params", + "applyAndSaveAsDefault": "Applica e salva come modello predefinito", + "savePresetForm": { + "title": "Salva @:modelParams.params come preimpostazione", + "errorMessage": { + "detail": "Impossibile salvare i parametri preimpostati." + }, + "successMessage": { + "detail": "@:modelParams.params preimpostazione salvata." + } + }, + "deletePresetConfirm": { + "title": "Elimina @:preset", + "message": "Sei sicuro di voler eliminare {presetName}?", + "errorMessage": { + "detail": "Impossibile eliminare i parametri preimpostati." + }, + "successMessage": { + "detail": "@:modelParams.params preimpostazione eliminata." + } + }, + "thinkingEffort": { + "label": "Sforzo di pensiero", + "light": "Pensa con leggerezza", + "moderate": "Pensa moderatamente", + "deep": "Pensa profondamente", + "default": "Predefinito", + "none": "Nessuno", + "dynamic": "Dinamico", + "exclude": "Escludere" + } + }, + "chatSplitActions": { + "title": "Opzioni di divisione", + "addSplitChat": "Aggiungi chat divisa", + "hideSplit": "Nascondi divisione", + "copySplitToNewConversation": "Copia la divisione in una nuova conversazione", + "moveSplitToNewConversation": "Sposta la divisione in una nuova conversazione", + "deleteSplit": "Elimina divisione", + "removeSplit": "Rimuovi divisione", + "splitRemoved": "Divisione rimossa", + "splitReset": "Ripristino diviso", + "copySplitToNewConversationSuccess": { + "detail": "Dividi copiato in una nuova conversazione" + }, + "moveSplitToNewConversationSuccess": { + "detail": "Split è passato a una nuova conversazione" + }, + "copySplitToNewConversationError": { + "detail": "Impossibile copiare la divisione in una nuova conversazione" + }, + "moveSplitToNewConversationError": { + "detail": "Impossibile spostare la divisione in una nuova conversazione" + }, + "exportOrCopyChat": { + "exportChat": "Esporta chat", + "copyChat": "Copia chat", + "activeBranchAsJson": "Ramo attivo come JSON", + "activeBranchAsMarkdown": "Ramo attivo come Markdown", + "allBranchesAsJson": "Tutti i rami come JSON", + "successMessage": "Chatta con {action} con successo come {format}", + "action": { + "export": "esportato", + "copy": "copiato" + } + }, + "showAllHiddenMessages": { + "title": "Mostra tutti i messaggi nascosti", + "successMessage": { + "detail": "Tutti i messaggi nascosti sono ora visibili" + } + }, + "deleteConfirmation": { + "header": "Elimina divisione", + "message": "Sei sicuro di voler eliminare questa divisione?", + "rejectLabel": "@:cancel", + "acceptLabel": "@:delete" + } + }, + "message": { + "title": "Messaggio|Messaggi", + "currentMessageAndDescendants": "Messaggio e discendenti", + "sendOnEnter": "Invia su Invio", + "sendModifier": { + "label": "Invia modificatore", + "none": "Nessuno", + "shift": "Spostare", + "alt": "Alt", + "ctrl": "Ctrl", + "meta": "Meta" + }, + "resendUserMessage": "Invia nuovamente il messaggio all'utente", + "sendAsAssistantMessage": "Invia come messaggio @:assistant", + "sendAsAssistantMessageHelp": "L'invio di un messaggio come \"Assistente\" ti consente di dare forma alla conversazione aggiungendo tu stesso le risposte dell'intelligenza artificiale. L’IA continuerà come se avesse scritto quel messaggio. Utile per fornire contesto o guidare le risposte.", + "sentAsAssistantBadge": "Inviato come messaggio dell'assistente", + "manuallyEdited": "Modificato manualmente", + "stopGeneration": "Fermare", + "renderingActions": { + "bookmark": "@:bookmark Messaggio | @:bookmark Messaggi", + "removeBookmark": "Rimuovi @:bookmark | Rimuovi segnalibri", + "deleteMessage": "Elimina messaggio | Elimina messaggi", + "removeMessage": "Rimuovi messaggio", + "regenerateAssistantMessage": "Rigenera il messaggio dell'assistente come nuovo ramo", + "continueGeneration": "@:continue Generazione", + "useAsPromptInNewSplit": "Utilizzare come prompt nella nuova divisione", + "foldUp": "Piega i messaggi sopra", + "unfold": "Apri i messaggi sopra", + "cloneAncestorsToNewSplit": "Clona con antenati nella nuova divisione", + "cloneAncestorsToNewConversation": "Clona con antenati in una nuova conversazione", + "extraActions": "Azioni aggiuntive" + }, + "noModelSelectedErrorMessage": { + "detail": "Nessun modello selezionato. Seleziona un modello per inviare un messaggio" + }, + "currentMessageDeleteConfirmation": { + "header": "Elimina messaggio", + "message": "Sei sicuro di voler eliminare questo messaggio?" + }, + "currentMessageAndDescendantsDeleteConfirmation": { + "header": "Elimina messaggio e i suoi discendenti", + "message": "Sei sicuro di voler eliminare questo messaggio e tutti i suoi discendenti?" + } + }, + "slashCommands": { + "title": "Comandi rapidi", + "noMatches": "Nessun comando corrispondente", + "hint": "Digitare \\ seguito dal comando o dall'alias", + "executed": { + "regenerate": "Rigenerazione del messaggio...", + "shield": "Scudo contestuale applicato", + "compress": "Compressione con scudo...", + "bookmark": "Messaggio @:bookmarked", + "copy": "Copiato negli appunti", + "continue": "Continua generazione...", + "resend": "Nuovo invio del messaggio..." + } + }, + "shiftcutMode": { + "title": "Tagli di turno", + "description": "Abilita o disabilita la funzione Shiftcuts. A differenza delle scorciatoie da tastiera standard, gli Shiftcut vengono attivati ​​toccando due volte il tasto Shift e quindi premendo un altro tasto per eseguire un'azione; inclusi: 't' per aprire una nuova chat divisa, 'e' per aprire il selettore dell'ambiente, '1' per attivare/disattivare la barra laterale e 'm' per aprire la minimappa." + }, + "urlEndpoint": "Punto finale dell'URL", + "giveUniqueNamePlaceholder": "Dagli un nome univoco", + "duplicateName": "Nome {item} duplicato o non valido. Inserisci un nome univoco.", + "manageData": { + "firstBackupReminder": "Non hai eseguito il backup dei tuoi dati, desideri esportare i tuoi dati per il backup?", + "scheduledBackupReminder": "Sono trascorse 24 ore dal tuo ultimo backup, desideri esportare i tuoi dati per il backup?", + "nonPersistentStorage": "La memoria può essere cancellata dal browser sotto pressione di memoria. Ti consigliamo di eseguire regolarmente il backup dei tuoi dati.", + "exportData": "Esporta @:data", + "clearData": "Cancella @:data", + "restoreData": "Ripristina @:data", + "dragAndDropExportedData": "Trascina e rilascia il backup dei dati da cui eseguire il ripristino.", + "restoreDataWarning": "Il ripristino dal file di backup sostituirà tutti i dati esistenti. Ti consigliamo di esportare prima un backup.", + "exportErrorMessage": { + "detail": "Impossibile esportare i dati" + }, + "backupData": "Backup @:data", + "exportSuccessMessage": { + "detail": "@:data esportato" + }, + "clearErrorMessage": { + "detail": "Impossibile cancellare i dati" + }, + "clearSuccessMessage": { + "detail": "@:data è stato cancellato" + }, + "confirmationActionPlaceholder": "Inserisci '{string}' qui", + "proceedWithConfirmationAction": "Inserisci '{string}' di seguito per procedere", + "invalidConfirmationString": { + "summary": "@:warning", + "detail": "Conferma non valida. Inserisci '{string}' per procedere." + }, + "clearDataConfirmation": { + "header": "Cancella @:data", + "message": "Sei sicuro di voler cancellare tutti i dati? Questa azione non può essere annullata.", + "rejectLabel": "Cancellare", + "acceptLabel": "Pulisci" + }, + "restoreDataConfirmation": { + "fileNotSelectedWarning": { + "summary": "@:warning", + "message": "Seleziona un file da cui eseguire il ripristino" + }, + "header": "Ripristina @:data", + "message": "Sei sicuro di voler ripristinare tutti i dati? Questa azione sostituirà tutti i dati esistenti e non può essere annullata. Ti consigliamo di esportare prima un backup.", + "rejectLabel": "Cancellare", + "acceptLabel": "Ripristinare" + }, + "importDataSuccessMessage": { + "detail": "@:data Importato" + }, + "importDataErrorMessage": { + "detail": "Impossibile importare @:data" + } + }, + "setupItem": { + "label": "Configurazione {item}", + "success": "Configurazione{item} completata", + "failure": "Impossibile impostare {item}" + }, "onboard": { + "greeting": "Benvenuti a Msty Studio!", + "getStarted": "Avremmo bisogno di almeno un fornitore di modelli per iniziare.", "desktop": { + "greeting": "Benvenuto a Msty!", + "getStarted": "Come vorresti iniziare?", + "customLocation": { + "title": "Hai modelli Ollama/Msty?", + "titleMLX": "Hai modelli MLX?", + "titleLlamaCpp": "Hai modelli LLaMA.cpp?", + "description": "Puoi utilizzare direttamente i tuoi modelli Ollama o Msty esistenti, se presenti, o specificare una posizione personalizzata. Nota: utilizzeremo ancora il nostro servizio per eseguire questi modelli.", + "descriptionMLX": "Se non disponi ancora di modelli MLX, puoi specificare una posizione personalizzata in cui desideri archiviarli.", + "descriptionMLXWithSwama": "Abbiamo trovato modelli MLX nella cache di Hugging Face Hub! Puoi usarli direttamente o specificare una posizione personalizzata.", + "descriptionLlamaCpp": "Specifica una posizione personalizzata in cui desideri archiviare i tuoi modelli GGUF per LLaMA.cpp.", + "noLocationSet": "Nessuna posizione impostata", + "setYourOwn": "Imposta il tuo", + "notAvailableForMLX": "Le posizioni dei modelli personalizzati non sono disponibili per MLX", + "placeholder": "Inserisci il percorso dei modelli personalizzati" + }, "setupLocalAI": { + "description": "Per iniziare, verrà scaricato {modelName} . Puoi scegliere un modello diverso.", + "pros": { + "item1": "Utilizza modelli come DeepSeek R1, Meta Llama4, Microsoft Phi4, IBM Granite, Google Gemma, ecc.", + "item2": "Utilizza offline e mantieni privato il tuo @:data", + "item3": "I modelli possono essere scaricati e utilizzati gratuitamente", + "item4": "Installare e utilizzare modelli specializzati" + }, + "cons": { + "item1": "Ha bisogno di spazio di archiviazione e memoria aggiuntivi" + }, + "successMessage": { + "summary": "Questo è tutto!", + "detail": "Ora puoi iniziare a chattare con le tue modelle in privato e in sicurezza." + }, + "errorMessage": { + "summary": "Errore durante l'impostazione di @:localAIService", + "detail": "Non è stato possibile impostare@:localAIService__VAR_0__Controlla i log per ulteriori dettagli. {errorMessage}", + "epermDetail": "Si è verificato un problema di autorizzazione durante la configurazione dell'AI locale. Puoi eseguire nuovamente l'app come amministratore (non consigliato) o considerare l'installazione dell'app solo per un singolo utente (consigliato).", + "abortDetail": "{errorMessage} Considera l'installazione di AI locale dai file di archivio se continui a ricevere questo errore. Visita https://docs.msty.studio/getting-started/onboarding" + } + }, + "setupMLX": { + "errorMessage": { + "summary": "Errore durante l'impostazione del servizio MLX", + "detail": "Non è stato possibile configurare il servizio MLX. Per favore controlla i log per maggiori dettagli. {errorMessage}" + }, + "description": "Per iniziare, verrà scaricato {modelName} . MLX è il framework ottimizzato di Apple per Apple Silicon.", + "experimentalInfo": "MLX è attualmente in modalità sperimentale. Potrebbe avere alcune limitazioni e spigoli. Si prega di segnalare eventuali problemi al team.", + "pros": { + "item1": "Ottimizzato per Apple Silicon (M1, M2, M3, M4)", + "item2": "Utilizzo efficiente della memoria con architettura di memoria unificata", + "item3": "Supporta i modelli MLX, SafeTensors e GGUF", + "item4": "Prestazioni native su macOS" + }, + "cons": { + "item1": "Disponibile solo sui Mac Apple Silicon", + "item2": "Selezione di modelli più piccola rispetto a Ollama" + }, + "successMessage": { + "summary": "Configurazione MLX completata!", + "detail": "Ora puoi utilizzare i modelli MLX con prestazioni ottimali sul tuo Mac." + }, + "progress": { + "checkingCompatibility": "Verifica della compatibilità del sistema...", + "downloadingBinary": "Download del server MLX in corso...", + "startingService": "Avvio del servizio MLX...", + "settingUp": "Configurazione di MLX...", + "downloadProgress": "Modello in download: {progress}%" + } + }, + "setupLlamaCpp": { + "experimentalInfo": "Il supporto LLaMA.cpp è sperimentale e in fase di sviluppo attivo", + "errorMessage": { + "summary": "Errore durante l'impostazione del servizio LLaMA.cpp", + "detail": "Impossibile configurare il servizio LLaMA.cpp. Per favore controlla i log per maggiori dettagli. {errorMessage}" + }, + "description": "Per iniziare, verrà scaricato {modelName} . LLaMA.cpp fornisce un'efficiente inferenza AI multipiattaforma.", + "pros": { + "item1": "Funziona su Windows, macOS e Linux", + "item2": "Supporta sia l'accelerazione CPU che GPU", + "item3": "Utilizzo efficiente della memoria e inferenza rapida", + "item4": "Compatibile con il formato del modello GGUF" + }, + "cons": { + "item1": "Richiede un'applicazione desktop", + "item2": "Le prestazioni dipendono dalla configurazione hardware" + }, + "successMessage": { + "summary": "Installazione LLaMA.cpp completata!", + "detail": "Ora puoi utilizzare i modelli LLaMA.cpp con prestazioni efficienti sul tuo sistema." + }, + "progress": { + "checkingCompatibility": "Verifica della compatibilità del sistema...", + "downloadingBinary": "Download del server LLaMA.cpp in corso...", + "startingService": "Avvio del servizio LLaMA.cpp in corso...", + "settingUp": "Configurazione di LLaMA.cpp in corso...", + "downloadProgress": "Download in corso: {progress}%" + } + }, + "addRemoteModelsProvider": { + "description": "Con la maggior parte dei provider online, dovresti ottenere una chiave API dal sito Web del provider. {findYourKey}", + "findYourKey": "Trova la tua chiave API", "pros": { - "item4": "Installa e utilizza modelli specializzati" + "item1": "Utilizza OpenAI, Azure, Claude Sonnet, Google Gemini, Perplexity, Remote Ollama, Remote Msty, ecc.", + "item2": "Inizia senza scaricare i modelli", + "item3": "Alcuni fornitori forniscono funzionalità extra come la generazione di immagini, la ricerca sul Web, ecc" + }, + "cons": { + "item1": "Richiede una connessione Internet per chattare", + "item2": "Potrebbero essere applicati costi del venditore" + } + } + }, + "modelsAvailableCount": "{count} modello disponibile | {count} modelli disponibili", + "modelsAddedCount": "{count} modello aggiunto | Modelli {count} aggiunti", + "forgetThisProvider": "Dimentica questo fornitore", + "submitAndContinue": "Andiamo!", + "getSidecar": "No @:localAI? Ottieni @:remoteToolsConnector.title per la configurazione con 1 clic", + "completedWithProvider": { + "summary": "Questo è tutto!", + "detail": "Ora sei pronto per chattare con uno dei modelli di {providerName}." + }, + "continueSetup": "Continua l'installazione di {service}" + }, + "login": { + "enterEmail": "Inserisci la tua email", + "errorMessage": "Email non valida o qualcosa è andato storto. Per favore riprova.", + "successMessage": "Link di accesso inviato a { email }" + }, + "modelHub": { + "title": "Hub modello", + "languageModelsProviders": { + "title": "Fornitori di modelli", + "subtitle": "Accedi ai modelli dal cloud o da server remoti.", + "autoFetchModels": "L'elenco dei modelli viene estratto automaticamente", + "addLanguageModelsProvider": "Aggiungi fornitore", + "prosAndCons": { + "pros": [ + "Utilizza OpenAI GPT, Azure, Claude Sonnet, Google Gemini, Perplexity, Remote Msty, Remote Ollama, ecc.", + "Inizia rapidamente", + "Nessun download richiesto" + ], + "cons": [ + "Richiede una connessione Internet per chattare", + "Potrebbero essere applicati costi del venditore" + ] + }, + "deleteConfirmation": { + "header": "Elimina fornitore", + "message": "Sei sicuro di voler eliminare {providerName}?", + "successMessage": { + "detail": "Fornitore eliminato" + }, + "errorMessage": { + "summary": "Errore", + "detail": "Impossibile eliminare il fornitore" + } + }, + "syncProviderWithWorkspaceForm": { + "titleNew": "Copia in un'altra area di lavoro", + "titleUpdate": "Copia/Sincronizza su altri spazi di lavoro", + "descriptionNew": "Copia questo provider in una o più aree di lavoro.", + "descriptionUpdate": "Sincronizza questo provider con una o più aree di lavoro. Se questo provider è stato copiato in precedenza, verrà aggiornato. In caso contrario, verrà aggiunto.", + "selectWorkspaces": "@:select Spazi di lavoro", + "availableWorkspaces": "Spazi di lavoro disponibili" + }, + "providerForm": { + "addTitle": "Aggiungi fornitore", + "updateTitle": "Fornitore di aggiornamenti", + "newHeader": "Fornitore di nuovi modelli linguistici", + "editHeader": "Modifica provider di modelli linguistici", + "modelsProvider": "Fornitore di modelli", + "modelId": "ID modello", + "modelName": "Nome del modello", + "providerName": "Nome del fornitore", + "providerUrl": "URL del fornitore", + "providerToken": "Fornitore Token", + "saveProvider": "Salva fornitore", + "selectProvider": "@:select Fornitore", + "namePlaceholder": "Dagli un nome (facoltativo)", + "selectModels": "@:select Modelli", + "availableModels": "Modelli disponibili", + "addCustomModel": "Aggiungi modello personalizzato", + "inferenceEndpoint": "Endpoint di inferenza (deve iniziare con http:// o https://)", + "baseURL": "URL di base", + "resourceName": "Nome risorsa (verrà ignorato se è impostato l'URL di base)", + "apiVersion": "API @:version", + "region": "Regione AWS", + "accessKeyId": "ID chiave di accesso", + "secretAccessKey": "Chiave di accesso segreta", + "sessionToken": "Sessione Token (facoltativo)", + "notAllModelsCompatible": "Non tutti i modelli sono stati testati con Msty e potrebbe non supportare tutti i modelli disponibili nel fornitore.", + "enterAndManuallyFetchModels": "Fai clic su 'Recupera modelli' per recuperare i modelli disponibili dal fornitore (potrebbe essere richiesta una chiave API) oppure aggiungi manualmente un modello di seguito.", + "enterAndFetchModels": "Inserisci la tua chiave API per provare a recuperare tutti i modelli disponibili da {providerName}o aggiungere manualmente un modello personalizzato.", + "fetchModels": "Recupera modelli", + "modelsFilter": { + "all": "Tutti i modelli", + "selected": "Selezionato", + "unselected": "Non selezionato" + }, + "purposeFilter": { + "all": "Tutti gli scopi" + }, + "searchInModels": "Cerca modelli...", + "lmsCorsNote": "È necessario che CORS sia abilitato in LM Studio per funzionare con Msty", + "openAICompatibleNote": "La maggior parte degli endpoint dei provider compatibili con OpenAI necessitano del prefisso /v1, ad es. https://example.com/v1 Se riscontri problemi, prova ad aggiungere /v1 all'endpoint.", + "successMessage": { + "addDetail": "Fornitore di modelli {providerName} aggiunto", + "updateDetail": "Fornitore di modelli {providerName} aggiornato" + }, + "errorMessage": { + "addDetail": "Impossibile aggiungere il fornitore", + "updateDetail": "Impossibile aggiornare il provider" + }, + "bedrockLongTermCredsWarning": "Non è consigliabile utilizzare credenziali a lungo termine per Amazon Bedrock.", + "awsRegionExample": "per esempio. noi-est-1" + }, + "toggleVisibility": { + "errorMessage": { + "detail": "Impossibile aggiornare la visibilità del fornitore" + }, + "successMessage": { + "detail": "{provider} ora è {visibility}" + } + }, + "modelsCount": "I modelli contano", + "showInSelector": "Mostra nel selettore modello", + "availableModels": "Modelli disponibili", + "noModels": "Nessun modello disponibile per questo fornitore", + "modelUpdated": "Modello aggiornato con successo", + "modelUpdateError": "Impossibile aggiornare il modello", + "manageProviders": "Maneggio", + "addNewProvider": "Aggiungi nuovo" + }, + "sidecarLocalAIProxyEndpoint": { + "title": "@:remoteToolsConnector.title Proxy @:localAI Punto finale", + "description": "Assicurati che @:remoteToolsConnector.title sia in esecuzione e accessibile all'URL fornito tramite tunneling. Copia e incolla le informazioni complete sulla connessione al tunnel con token e URL." + }, + "mstyRemoteEndpoint": { + "description": "Assicurati che Msty Desktop sia in esecuzione con le connessioni remote abilitate.", + "learnMore": "Scopri come abilitare le connessioni remote" + }, + "mstyLocalEndpoint": { + "description": "Questo servizio viene eseguito ogni volta che l'app stessa è attiva e funzionante. Potrebbe essere necessario aggiornare il numero di porta se la porta AI locale è stata modificata. Altrimenti è meglio lasciarlo così com'è." + }, + "ollamaRemoteEndpoint": { + "description": "Quando utilizzi Ollama self-hosted, assicurati che Ollama sia in esecuzione e accessibile all'URL fornito. È necessario aggiungere https://msty.studio alle origini consentite quando si avvia il servizio Ollama.", + "placeholder": "per esempio. http://localhost:11434 o https://ollama.com" + }, + "mlxEndpoint": { + "description": "Questo provider viene utilizzato per eseguire modelli MLX su Mac Apple Silicon. L'endpoint viene corretto automaticamente per garantire che corrisponda alla configurazione MLX locale. Puoi modificarlo temporaneamente se necessario." + }, + "llamacppEndpoint": { + "description": "Questo provider viene utilizzato per eseguire i modelli LLaMA.cpp. Molto probabilmente non sarà necessario modificare l'endpoint predefinito. In tal caso, assicurati che il servizio LLaMA.cpp sia in esecuzione e accessibile dall'URL fornito." + }, + "localModels": { + "title": "@:localAI Modelli", + "noCompatibleProviders": "Non sono disponibili provider compatibili per gestire i modelli locali. Aggiungi almeno un provider di tipo Msty Remote o Ollama Remote per utilizzare i modelli locali.", + "activeDownloads": "{count} Download attivo | {count} Download attivi", + "featured": { + "title": "Modelli in evidenza" + }, + "installed": { + "title": "Modelli installati" + }, + "customOllamaModelPlaceholder": "Oppure Installa il modello tramite tag, ad es. {example}", + "alreadyInstalledErrorMessage": { + "summary": "Già installato", + "detail": "Il modello {modelName} è già installato" + }, + "abortInstalling": { + "title": "Interrompi installazione di {modelName}", + "successMessage": { + "detail": "Installazione di {modelName} interrotta" + } + }, + "deleteConfirmation": { + "header": "Disinstallare il modello", + "message": "Sei sicuro di voler disinstallare {modelName}?", + "successMessage": { + "detail": "Modello rimosso" + }, + "errorMessage": { + "detail": "Impossibile disinstallare il modello" + } + }, + "modelInstall": { + "successMessage": { + "detail": "Il modello {modelName} è pronto per l'uso" + }, + "errorMessage": { + "detail": "Impossibile installare il modello {modelName}", + "newerVersion": "{modelName} richiede una versione più recente dell'IA locale. Aggiorna alla versione più recente da Impostazioni > AI locale > Versione servizio > ... > Forza aggiornamento servizio AI locale" + } + }, + "ollamaModels": { + "title": "Modelli Ollama" + }, + "huggingfaceModels": { + "title": "Modelli di volti abbracciati", + "searchPlaceholder": "Cerca per autore, modello o incolla l'URL del repository Hugging Face", + "searchPlaceholderAlt": "Trova modelli per nome, autore o URL. Oppure inizia con una delle famiglie di modelli riportate di seguito.", + "searching": "Ricerca modelli..." + }, + "ggufImport": { + "tabTitle": "Importa GGUF", + "title": "Importa modello GGUF", + "description": "Seleziona un file modello GGUF dal tuo file system da importare in {providerLabel}.", + "activeImports": "Importazioni attive", + "noFileSelected": "Nessun file selezionato", + "selectGgufFilePrompt": "Fare clic sul pulsante in basso per selezionare un file GGUF", + "dragDropOrClick": "Trascina e rilascia un file GGUF qui oppure fai clic sul pulsante in basso", + "dropFileHere": "Rilascia il file qui", + "releaseToUpload": "Rilascia per selezionare il file", + "selectGgufFile": "Seleziona il file GGUF", + "chooseDifferentFile": "Scegli file diverso", + "importModel": "Importa modello", + "modelName": "Nome del modello", + "modelNamePlaceholder": "ad esempio, il mio modello personalizzato", + "modelNameDescription": "Questo sarà il nome che utilizzerai per fare riferimento al modello nelle conversazioni.", + "removeFile": "Rimuovi file", + "dismissJob": "Congedare", + "useSymlink": "Usa collegamento simbolico (risparmia spazio su disco)", + "symlinkDescription": "Crea un collegamento simbolico invece di copiare il file. Disponibile solo per server locali.", + "process": { + "calculatingDigest": "Calcolo del digest del file", + "uploadingFile": "Caricamento file", + "creatingSymlink": "Creazione di un collegamento simbolico", + "creatingModel": "Creazione del modello" + }, + "success": "Il modello {modelName} è stato importato correttamente", + "labels": { + "name": "Nome", + "file": "File", + "status": "Stato", + "error": "Errore" + }, + "status": { + "uploading": "Caricamento", + "creating": "Creazione del modello", + "completed": "Completato", + "error": "Errore", + "cancelled": "Annullato" + }, + "errors": { + "invalidFile": "Seleziona un file GGUF valido" + } + }, + "safetensorsImport": { + "tabTitle": "Importa protettori", + "title": "Importa modello di protettori", + "description": "Selezionare una directory contenente i pesi dei modelli di sicura da importare in {providerLabel}. Le architetture supportate includono Gemma, Llama, Mistral e Phi.", + "activeImports": "Importazioni attive", + "noDirectorySelected": "Nessuna directory selezionata", + "selectDirectoryHint": "La directory dovrebbe contenere file di sicurezza e un file config.json", + "selectDirectoryTitle": "Seleziona Directory dei dispositivi di sicurezza", + "selectDirectory": "Seleziona Rubrica", + "chooseDifferentDirectory": "Scegli directory diversa", + "importModel": "Importa modello", + "modelName": "Nome del modello", + "modelNamePlaceholder": "ad esempio, il mio modello personalizzato", + "modelNameDescription": "Questo sarà il nome che utilizzerai per fare riferimento al modello nelle conversazioni.", + "removeDirectory": "Rimuovi la directory", + "process": { + "scanningDirectory": "Directory di scansione", + "processingFile": "File di elaborazione {current} di {total}", + "creatingModel": "Creazione del modello da sicurezze" + }, + "success": "Il modello {modelName} è stato importato correttamente", + "labels": { + "name": "Nome", + "directory": "Direttorio", + "status": "Stato", + "error": "Errore" + }, + "status": { + "uploading": "Caricamento file", + "creating": "Creazione del modello", + "completed": "Completato", + "error": "Errore", + "cancelled": "Annullato" + }, + "filesSelected": "file selezionati", + "errors": { + "desktopOnly": "L'importazione dei protettori è disponibile solo nell'app desktop", + "selectFailed": "Impossibile selezionare la directory", + "noValidFiles": "Nessun file di sicurezza valido trovato nella directory selezionata" + } + } + }, + "llamacppModels": { + "title": "Modelli LLaMA.cpp", + "activeDownloads": "{count} Scarica LLaMA.cpp attivo | {count} Download LLaMA.cpp attivi", + "alreadyInstalledErrorMessage": { + "summary": "Già installato", + "detail": "Il modello LLaMA.cpp {modelName} è già installato" + }, + "installSuccessMessage": { + "summary": "Modello pronto", + "detail": "Il modello LLaMA.cpp {modelName} è pronto per l'uso" + }, + "installErrorMessage": { + "summary": "Installazione non riuscita", + "detail": "Impossibile installare il modello LLaMA.cpp {modelName}" + }, + "modelInstall": { + "successMessage": { + "detail": "Modello LLaMA.cpp {modelName} installato" + }, + "errorMessage": { + "detail": "Impossibile installare il modello LLaMA.cpp {modelName}" + }, + "abortedMessage": { + "detail": "Il download del modello LLaMA.cpp {modelName} è stato interrotto" + } + }, + "abortInstallErrorMessage": { + "detail": "Impossibile annullare il download del modello LLaMA.cpp" + }, + "abortInstallSuccessMessage": { + "detail": "Download annullato del modello LLaMA.cpp {modelName}" + }, + "uninstallErrorMessage": { + "summary": "Disinstallazione non riuscita", + "detail": "Impossibile disinstallare il modello LLaMA.cpp {modelName}" + }, + "uninstallSuccessMessage": { + "summary": "Modello rimosso", + "detail": "Modello LLaMA.cpp disinstallato {modelName}" + }, + "uninstallConfirmationMessage": { + "summary": "Disinstallare il modello LLaMA.cpp", + "detail": "Sei sicuro di voler disinstallare {modelName}?" + }, + "llamacppFeaturedModels": { + "title": "Modelli LLaMA.cpp in primo piano" + }, + "llamacppInstalledModels": { + "title": "Modelli LLaMA.cpp installati" + }, + "llamacppCommunityModels": { + "title": "Modelli di comunità LLaMA.cpp", + "description": "Sfoglia, cerca e installa i modelli GGUF direttamente da Hugging Face nella cartella dei modelli LLaMA.cpp locale.", + "searchTitle": "Cerca modelli di comunità LLaMA.cpp", + "searchPlaceholder": "Cerca modelli LLaMA.cpp da Hugging Face", + "searchPlaceholderAlt": "Trova i modelli GGUF compatibili con LLaMA.cpp o scegli una delle famiglie di modelli presenti di seguito.", + "searching": "Ricerca di modelli LLaMA.cpp in corso..." + } + }, + "mlxModels": { + "title": "Modelli MLX", + "notAppleSilicon": "I modelli MLX sono supportati solo sui Mac Apple Silicon (M1, M2, M3, M4, ecc.). Il tuo dispositivo attuale non è compatibile.", + "noCompatibleProviders": "Non sono disponibili provider MLX compatibili. Aggiungi almeno un provider MLX per utilizzare i modelli MLX.", + "activeDownloads": "{count} Download MLX attivo | {count} Download MLX attivi", + "learnMore": "Ulteriori informazioni su MLX", + "featured": { + "title": "Modelli MLX in primo piano" + }, + "installed": { + "title": "Modelli MLX installati" + }, + "alreadyInstalledErrorMessage": { + "summary": "Già installato", + "detail": "Il modello MLX {modelName} è già installato" + }, + "deleteConfirmation": { + "header": "Disinstallare il modello MLX", + "message": "Sei sicuro di voler disinstallare {modelName}?", + "successMessage": { + "detail": "Modello MLX rimosso" + }, + "errorMessage": { + "detail": "Impossibile disinstallare il modello MLX" } }, - "setupMLX": { - "description": "Per iniziare, verrà scaricato {modelName}. MLX è il framework ottimizzato di Apple per Apple Silicon.", - "pros": { - "item1": "Ottimizzato per Apple Silicon (M1, M2, M3, M4)" + "modelInstall": { + "successMessage": { + "detail": "Il modello MLX {modelName} è pronto per l'uso" + }, + "errorMessage": { + "detail": "Impossibile installare il modello MLX {modelName}" + }, + "abortedMessage": { + "detail": "Il download del modello MLX {modelName} è stato interrotto" + } + }, + "mlxCommunityModels": { + "title": "Modelli di comunità MLX", + "searchTitle": "Cerca modelli della community MLX", + "searchPlaceholder": "Cerca modelli MLX dalla community mlx di HuggingFace", + "searchPlaceholderAlt": "Trova modelli ottimizzati per MLX da HuggingFace. Oppure inizia con una delle famiglie di modelli riportate di seguito.", + "searching": "Ricerca di modelli MLX..." + } + } + }, + "stickyPrompt": { + "title": "Suggerimento appiccicoso", + "disableStickyPrompt": "Disabilita il prompt permanente", + "editDialog": { + "title": "Modifica prompt permanente", + "description": "Quando viene bloccato un prompt 'permanente', viene aggiunto all'inizio di ogni nuovo messaggio ignorando quelli precedenti. Ciò rende effettivamente la conversazione focalizzata su un contesto attivo. Il prompt del sistema è sempre incluso nel contesto." + } + }, + "contextShield": { + "title": "@:context Scudo", + "enableContextShield": "Abilita @:contextShield.title", + "enableContextShieldWithSplitsSync": "Abilita@:contextShield.title__VAR_0__Tieni premuto Opzione/Alt su @:contextShield.title tutti i parziali sincronizzati.", + "removeContextShield": "Rimuovi @:contextShield.title", + "removeContextShieldWithSplitsSync": "Disattiva@:contextShield.title__VAR_0__Tieni premuto Opzione/Alt per rimuovere @:contextShield.title da tutti gli split sincronizzati.", + "breakContext": "Pausa @:context", + "customContext": "Personalizzato @:context", + "generateContextSummary": "Genera @:context @:summary", + "contextSummary": "@:context @:summary", + "editContextSummary": "Modifica @:context @:summary", + "regenerateContextSummary": "Rigenera @:context @:summary", + "clearContextSummary": "Cancella @:context @:summary", + "summaryDescriptionInfoHeader": "Questo riepilogo viene generato dal contesto delle conversazioni di cui sopra e viene incluso nel contesto quando si generano nuovi messaggi sotto questo scudo.", + "contextShieldWithSummary": "@:contextShield.title con @:summary" + }, + "data": "Dati", + "advancedConfigurations": "Configurazioni avanzate", + "applicationInfo": { + "title": "Informazioni sull'applicazione", + "appVersion": { + "title": "Versione dell'app", + "description": "Gli ultimi aggiornamenti vengono controllati periodicamente e riceverai una notifica quando è disponibile un nuovo aggiornamento. Puoi anche verificare manualmente la presenza di aggiornamenti, che installeranno automaticamente tutti gli aggiornamenti disponibili.", + "checkForUpdates": "Controlla e applica gli aggiornamenti", + "enableAutoUpdates": "Abilita Aggiornamenti automatici", + "disableAutoUpdates": "Disabilita Aggiornamenti automatici", + "viewChangelog": "Visualizza il registro delle modifiche", + "checkingForUpdates": "Controllo aggiornamenti...", + "errorCheckingUpdates": "Impossibile controllare gli aggiornamenti", + "autoUpdatesEnabled": "Aggiornamenti automatici abilitati", + "autoUpdatesDisabled": "Aggiornamenti automatici disabilitati", + "updateAvailable": "Nuovo aggiornamento disponibile", + "updateDownloading": "Download dell'aggiornamento in corso...", + "noUpdatesAvailable": "Sei sull'ultima versione" + }, + "modelsInfo": { + "title": "Informazioni sui modelli", + "description": "Aggiorna i metadati del tuo modello locale. Queste informazioni includono dettagli su ciascun modello, ma non i file del modello stesso. Questo vale sia per i modelli archiviati localmente che per quelli online.", + "fetchLatest": "Recupera le informazioni sugli ultimi modelli", + "updated": "Informazioni sui modelli aggiornate con successo", + "errorUpdating": "Impossibile aggiornare le informazioni sui modelli" + }, + "appSettings": { + "title": "Impostazioni dell'app", + "description": "Il ripristino delle impostazioni predefinite dell'app può aiutare a risolvere potenziali problemi. Ciò ripristinerà le preferenze utente predefinite, come l'aspetto e il percorso dei modelli, ma non eliminerà alcun dato, comprese le chat o i modelli scaricati/importati.", + "resetApp": "Ripristina le impostazioni dell'app", + "resetConfirm": { + "header": "Ripristina le impostazioni dell'app", + "message": "Sei sicuro di voler ripristinare tutte le impostazioni dell'app sui valori predefiniti? Ciò ripristinerà le preferenze predefinite ma non cancellerà i tuoi dati." + }, + "resetSuccess": "Le impostazioni dell'app sono state ripristinate correttamente", + "resetError": "Impossibile ripristinare le impostazioni dell'app" + }, + "dataPaths": { + "title": "Percorsi dei dati", + "description": "Tutti i dati, inclusi modelli, conversazioni, impostazioni e registri, vengono archiviati localmente sul tuo dispositivo. Modificare il contenuto di queste directory solo se si ha familiarità con la struttura dei file dell'applicazione.", + "appData": "Dati dell'app", + "appLogs": "Registri dell'app", + "openInFinder": "Apri nel Finder" + }, + "helpAndDiscussions": { + "title": "Aiuto e discussioni", + "description": "Connettiti con la nostra community su Discord per ottenere supporto, condividere il tuo feedback e rimanere informato.", + "sayHi": "Salutami!", + "viewDocs": "Visualizza documenti" + } + }, + "logViewer": { + "title": "Visualizzatore registro", + "description": "Visualizza e analizza i log delle applicazioni in tempo reale. Utilizza i filtri e la ricerca per risolvere i problemi in modo efficiente.", + "searchPlaceholder": "Cerca registri...", + "refresh": "Aggiorna registri", + "autoRefreshOn": "Arresta l'aggiornamento automatico", + "autoRefreshOff": "Abilita aggiornamento automatico", + "pause": "Arresta lo scorrimento automatico", + "resume": "Riprendi lo scorrimento automatico", + "copy": "Copia i registri negli Appunti", + "download": "Scarica registri", + "clearTemporarily": "Cancella visualizzazione registri", + "clearPermanently": "Cancella file di registro", + "showAllLogs": "Mostra tutti i registri", + "clearPermanentlyConfirmation": { + "header": "Cancella file di registro", + "message": "Sei sicuro di voler cancellare il file di registro? Ciò eliminerà permanentemente tutte le voci di registro." + }, + "loading": "Caricamento registri...", + "noLogs": "Nessun registro disponibile", + "noMatchingLogs": "Nessun registro corrisponde ai filtri attuali", + "totalLines": "{count} riga totale | {count} righe totali", + "filteredLines": "{count} riga filtrata | {count} righe filtrate", + "copiedToClipboard": "Registri copiati negli appunti", + "downloaded": "Registri scaricati correttamente", + "clearedPermanently": "File di registro cancellato correttamente", + "errorLoading": "Impossibile caricare i log", + "errorCopying": "Impossibile copiare i log", + "errorDownloading": "Impossibile scaricare i registri", + "errorClearing": "Impossibile cancellare i registri", + "levels": { + "all": "Tutti i livelli", + "error": "Errore", + "warn": "@:warning", + "info": "Informazioni", + "debug": "Debug" + } + }, + "notifications": { + "title": "Notifiche", + "description": "Esamina e gestisci le notifiche dell'applicazione inclusi errori, avvisi ed eventi informativi.", + "searchPlaceholder": "Cerca notifiche...", + "searchingAllLogs": "Ricerca di tutte le notifiche nel database", + "refresh": "Aggiorna notifiche", + "autoRefreshOn": "Aggiornamento automatico abilitato", + "autoRefreshOff": "Abilita aggiornamento automatico", + "copy": "Copia tutto negli appunti", + "copyLog": "Copia notifica", + "download": "Scarica notifiche", + "clearPermanently": "Cancella tutte le notifiche", + "clearPermanentlyConfirmation": { + "header": "Notifiche chiare", + "message": "Sei sicuro di voler eliminare definitivamente tutte le notifiche? Questa azione non può essere annullata." + }, + "loading": "Caricamento notifiche...", + "loadingMore": "Caricamento di più...", + "endOfList": "Fine dell'elenco", + "noLogs": "Nessuna notifica disponibile", + "totalLogs": "{count} notifica | {count} notifiche", + "displayedLogs": "Mostrando {count}", + "copiedToClipboard": "Notifica copiata negli appunti", + "downloaded": "Notifiche scaricate correttamente", + "clearedPermanently": "Notifiche cancellate con successo", + "deleted": "Notifica eliminata correttamente", + "errorLoading": "Impossibile caricare le notifiche", + "errorCopying": "Impossibile copiare la notifica", + "errorDownloading": "Impossibile scaricare le notifiche", + "errorClearing": "Impossibile cancellare le notifiche", + "errorDeleting": "Impossibile eliminare la notifica", + "purge": { + "label": "Elimina notifiche", + "olderThan1Day": "Più vecchio di 1 giorno", + "olderThan7Days": "Più vecchio di 7 giorni", + "olderThan15Days": "Più vecchio di 15 giorni", + "olderThan30Days": "Più vecchio di 30 giorni", + "all": "Tutto", + "confirmHeader": "Elimina notifiche", + "confirmMessageDays": "Vuoi eliminare le notifiche più vecchie di {days} giorni? Questa azione non può essere annullata.", + "purge": "Eliminazione", + "purged": "Notifiche eliminate correttamente", + "errorPurging": "Impossibile eliminare le notifiche" + }, + "levels": { + "all": "Tutti i livelli", + "error": "Errori", + "warn": "Avvertenze", + "info": "Informazioni" + } + }, + "sidebar": { + "expandGroup": "Espandi {group}", + "collapseGroup": "Comprimi {group}", + "showExtraItems": "Mostra articoli extra", + "hideExtraItems": "Nascondi oggetti extra", + "groups": { + "modelsPrompts": "Modelli e suggerimenti", + "personasTools": "Personaggi e strumenti", + "knowledgeInsights": "Conoscenza e approfondimenti", + "system": "Sistema" + }, + "appUpdater": { + "version": "Versione {version}", + "restartToApply": "Riavvia per applicare gli aggiornamenti", + "restart": "Riavvia ora", + "downloading": "Download dell'aggiornamento in corso...", + "viewChangelog": "Visualizza il registro delle modifiche", + "openingChangelog": "Apertura del registro delle modifiche...", + "errorHint": "Errore di aggiornamento: fai clic per i dettagli", + "readyHint": "Aggiornamento pronto: riavvia per applicare", + "downloadingHint": "Download aggiornamento in corso... {percent}%", + "errorDialog": { + "header": "Errore di aggiornamento", + "message": "Si è verificato un errore durante l'aggiornamento: {error}", + "downloadManually": "Scarica manualmente" + } + } + }, + "showInNativeFileManager": { + "mac": "Mostra nel Finder", + "win": "Mostra in Esplora file", + "lin": "Mostra nel File Manager" + }, + "settings": { + "title": "Impostazioni", + "general": "Generale", + "defaultPrompts": "Prompt predefiniti", + "prompts": { + "description": "Questi suggerimenti determinano il modo in cui vengono generati i titoli, costruite le query di ricerca, recuperata la conoscenza e riepilogato il contesto. Le modifiche vengono salvate nelle impostazioni globali di questo dispositivo (database master) e si applicano a tutte le aree di lavoro (non per area di lavoro).", + "availablePrompts": "Suggerimenti disponibili", + "customized": "Personalizzato", + "customizedCount": "{count} personalizzato", + "modified": "Modificato", + "usingCustom": "Utilizzando personalizzato", + "usingDefault": "Utilizzo di predefinito", + "clickToEdit": "Fare clic per modificare la richiesta", + "variables": "Variabili", + "lastModified": "Ultima modifica", + "selectPrompt": "Seleziona una richiesta da personalizzare", + "clearContent": "Cancella contenuto", + "resetToDefault": "Ripristina le impostazioni predefinite", + "insertFromLibrary": "Inserisci dalla libreria", + "saveChanges": "Salva modifiche", + "discardChanges": "Annulla modifiche", + "categories": { + "generation": "Generazione di contenuti", + "search": "Ricerca e sintesi", + "analysis": "Analisi ed estrazione" + } + }, + "licenseAndAccess": "Licenza e accesso", + "fontSize": "Carattere @:size", + "defaultRTD": { + "sectionTitle": "Ricerca dati in tempo reale", + "title": "Provider RST predefinito", + "description": "Scegli il provider di ricerca dati in tempo reale predefinito che verrà utilizzato durante la creazione di nuove conversazioni.", + "saved": "{provider} impostato come provider RTD predefinito", + "saveError": "Impossibile salvare il provider RTD predefinito", + "noProvidersAvailable": "Nessun fornitore di RST disponibile", + "configureLabel": "Configura le opzioni avanzate per", + "configSaved": "Configurazione salvata per {provider}", + "mode": { + "title": "Modalità RTD predefinita", + "description": "Imposta la modalità RTD predefinita per le nuove conversazioni.", + "pushHint": "Le nuove conversazioni utilizzeranno la modalità push per impostazione predefinita.", + "pullHint": "Le nuove conversazioni utilizzeranno la modalità pull per impostazione predefinita.", + "pullGuardHint": "La modalità Pull richiede un piano Aurum.", + "saveError": "Impossibile salvare la modalità RTD predefinita" + } + }, + "teams": "Squadre", + "appearance": "Aspetto", + "conversation": { + "title": "Conversazioni", + "autoArchive": { + "title": "Archivia automaticamente le conversazioni inattive", + "description": "Sposta automaticamente le conversazioni inattive nell'Archivio dopo il numero di giorni selezionato. Utilizza Abilita archiviazione automatica per attivarla. L'archivio Esegui ora esegue una pulizia una tantum utilizzando la soglia del giorno corrente.", + "enableLabel": "Abilita l'archiviazione automatica", + "disableLabel": "Disattiva l'archiviazione automatica", + "enableHint": "Le conversazioni archiviate rimangono accessibili dalla sezione Archivio.", + "daysLabel": "Archivia dopo", + "suffix": "giorno | giorni", + "disabledHint": "Abilitare o disabilitare dal menu", + "runNowLabel": "Esegui l'archiviazione adesso", + "runNowDisabled": "Abilita l'archiviazione automatica e imposta giorni > 0 per l'esecuzione", + "runNowResult": "Conversazione {count} archiviata | Conversazioni {count} archiviate", + "daysSaved": "Archiviazione automatica impostata su {days} giorno | Archiviazione automatica impostata su {days} giorni", + "enabledToast": "Archiviazione automatica abilitata", + "disabledToast": "Archiviazione automatica disabilitata" + } + }, + "setupService": "Configurazione {service}", + "workspaceLock": { + "title": "Blocco dell'area di lavoro e crittografia dei segreti", + "description": "Blocca il tuo spazio di lavoro con una passphrase in modo che le impostazioni sensibili e le chiavi API rimangano nascoste fino allo sblocco. Sblocca una volta per sessione, ruota la passphrase in qualsiasi momento o disattiva la protezione se cambi idea.", + "experimentalInfo": "La crittografia basata su passphrase è sperimentale. Conserva un backup dei tuoi segreti prima di abilitare.", + "status": "Stato:", + "locked": "Bloccato", + "unlocked": "Sbloccato", + "lock": "Serratura", + "unlock": "Sbloccare", + "protectedSection": "Lo spazio di lavoro è protetto. Sblocca con la tua passphrase.", + "unprotected": "Non protetto", + "unprotectedToast": "Il blocco dell'area di lavoro non è configurato. Imposta prima una passphrase.", + "unlockTitle": "Inserisci la passphrase", + "cancel": "Cancellare", + "toastUnlocked": "Area di lavoro sbloccata per questa sessione", + "toastLocked": "Area di lavoro bloccata", + "disable": "Disabilita crittografia", + "disableHelp": "Inserisci la passphrase per decriptare e disabilitare la crittografia.", + "disableProtection": "Disattiva protezione", + "disableProtectionHelp": "Inserisci la tua passphrase per disabilitare la protezione dell'area di lavoro. Ciò rimuoverà la crittografia dai segreti archiviati e dalle chiavi API.", + "disableProtectionConfirmMessage": "Sei sicuro di voler disabilitare la protezione dell'area di lavoro? Ciò decodificherà in modo permanente tutti i segreti crittografati e le chiavi API nel tuo database.", + "enableProtection": "Abilita protezione", + "setPassphrase": "Imposta la passphrase", + "setPassphraseWarning": "Importante: salva la tua passphrase in modo sicuro e protetto. Non puoi recuperare una passphrase dimenticata e senza di essa perderai l'accesso ai dati crittografati dello spazio di lavoro.", + "changePassphrase": "Cambia passphrase", + "changePassphraseWarning": "Importante: salva la tua nuova passphrase in modo sicuro e protetto. Non puoi recuperare una passphrase dimenticata e senza di essa perderai l'accesso ai dati crittografati dello spazio di lavoro.", + "updatePassphrase": "Aggiorna la passphrase", + "passphrase": "Passphrase", + "passphraseCurrent": "Passphrase corrente", + "passphraseNew": "Nuova passphrase", + "passphraseConfirm": "Conferma la passphrase", + "errorMinLength": "La passphrase deve contenere almeno 8 caratteri", + "errorMismatch": "Le passphrase non corrispondono", + "errorInvalid": "Immissione non valida", + "setupSuccess": "Passphrase configurata", + "setupFailed": "Impossibile configurare la passphrase", + "rotateSuccess": "Passphrase aggiornata", + "rotateFailed": "Impossibile aggiornare la passphrase", + "disableConfirmMessage": "Decrittografare i segreti archiviati e rimuovere la protezione dell'area di lavoro?", + "disableSuccess": "Crittografia disabilitata", + "disableFailed": "Impossibile disattivare la crittografia", + "incorrectPassphrase": "Passphrase errata", + "lockedWithName": "{workspaceName} è bloccato", + "switchBackTitle": "Non riesci a sbloccare quest'area di lavoro?", + "switchBackDescription": "Torna a {workspaceName} per poter continuare a lavorare.", + "switchBackAction": "Torna a {workspaceName}", + "switchBackError": "Impossibile cambiare area di lavoro. Per favore riprova." + }, + "dataBackup": { + "title": "Esporta @:data", + "description": "Seleziona il pulsante qui sotto per esportare una copia dei tuoi dati per il backup o il trasferimento su un altro dispositivo. I dati esportati includono conversazioni, prompt, modelli, impostazioni e altri dati delle applicazioni in tutti gli spazi di lavoro." + }, + "dataBackupReminderInterval": { + "title": "@:data Intervallo promemoria backup", + "description": "La frequenza con cui ricordarti di eseguire il backup dei tuoi dati." + }, + "dangerZone": { + "title": "Zona pericolosa", + "description": "Le azioni in questa sezione sono irreversibili e potrebbero causare la perdita di dati. Ti consigliamo di esportare una copia dei tuoi dati prima di eseguire qualsiasi azione qui.", + "clearData": { + "title": "Cancella dati", + "description": "Elimina definitivamente tutti i dati dell'applicazione, incluse conversazioni, richieste, modelli, impostazioni e altre informazioni correlate in tutte le aree di lavoro." + }, + "restoreData": { + "title": "Ripristina @:data dal backup", + "description": "Importa un file zip di dati precedentemente esportato per ripristinare conversazioni, prompt, modelli, impostazioni e altri dati dell'applicazione in tutti gli spazi di lavoro. Questa azione sovrascriverà tutti i dati esistenti." + } + }, + "dataMigrate": { + "action": "Migrare", + "title": "Migrazione dell'app Msty 1.x a Studio", + "itemsToMigrate": { + "label": "Passaggio 2: seleziona gli elementi da migrare", + "action": "Seleziona articoli" + }, + "pointsToRemember": { + "activeWorkspace": "È possibile importare i prompt della libreria prompt, i provider di modelli remoti, le conversazioni e gli allegati nell'area di lavoro corrente in cui ci si trova. Se si desidera importare in un'area di lavoro diversa, passare prima a quell'area di lavoro.", + "remoteModelProviders": "La migrazione dei fornitori di modelli remoti NON trasferirà le chiavi API, dovranno essere reinserite. Alcuni modelli legacy potrebbero non essere supportati in Studio.", + "attachmentsMigration": "Se si esegue la migrazione degli allegati, comprimere prima la cartella degli allegati. È possibile migrare gli allegati separatamente dopo la migrazione del database o insieme al database." + }, + "databaseMigration": { + "title": "Migrazione del database", + "label": "Passaggio 1: selezionare il file di database dell'app Msty 1.x", + "action": "Trascina e rilascia il file del database Msty", + "hint": "I file di database di Msty App 1.x sono generalmente denominati `msty.db`." + }, + "attachmentsMigration": { + "title": "Migrazione degli allegati", + "migrate": "Migrare separatamente", + "label": "Passaggio 3: aggiungi la cartella degli allegati zippati", + "success": "Migrazione degli allegati riuscita", + "error": "Impossibile eseguire la migrazione degli allegati", + "action": "Trascina e rilascia la cartella degli allegati zippati", + "hint": "Comprimi l'intera cartella degli allegati da Msty App 1.x. Dopo la selezione, è possibile eseguire la migrazione separatamente se si aggiunge dopo la migrazione del database." + }, + "missingDataWarning": { + "description": "Seleziona un file di database e almeno una tabella da migrare", + "title": "Dati mancanti" + }, + "description": "Migra i tuoi dati da Msty App 1.x a Studio. I dati importati non sovrascriveranno i dati esistenti.", + "successMessage": "Migrazione {item}riuscita", + "errorMessage": "Impossibile eseguire la migrazione di {item}", + "migrationInProgress": "Migrazione in corso...", + "migrationComplete": "{item} Migrazione completata", + "migrationFail": "{item} Migrazione non riuscita", + "migratingItem": "Migrazione di {item}...", + "migrationError": { + "title": "Errore di migrazione", + "action": "Visualizza dettagli", + "message": "Messaggio", + "cause": "Causa" + } + }, + "colorPreference": "Preferenza colore", + "accentColor": "Colore accento", + "dark": "Buio", + "light": "Leggero", + "default": "Predefinito | Predefiniti", + "system": "Sistema", + "baseColor": "Colore di base", + "emerald": "Smeraldo", + "lime": "Lime", + "green": "Verde", + "red": "Rosso", + "orange": "Arancia", + "amber": "Ambra", + "yellow": "Giallo", + "teal": "Verde acqua", + "cyan": "Ciano", + "sky": "Cielo", + "indigo": "Indaco", + "violet": "Viola", + "purple": "Viola", + "fuchsia": "Fucsia", + "pink": "Rosa", + "rose": "Rosa", + "slate": "Ardesia", + "gray": "Grigio", + "zinc": "Zinco", + "stone": "Calcolo", + "sandy": "Sabbioso", + "lighter": "Più leggero", + "codeTheme": "Tema del codice", + "rtlSupport": { + "title": "Supporto RTL", + "sectionDescription": "Abilita i layout da destra a sinistra per lingue come arabo, ebraico e persiano. L'intera area di lavoro si aggiorna istantaneamente quando viene attivata/disattivata.", + "toggleLabel": "Abilita layout RTL", + "enabledHint": "Il layout da destra a sinistra è attivo nell'app.", + "disabledHint": "L'app attualmente utilizza un layout da sinistra a destra." + }, + "miniMap": { + "title": "Mini mappa", + "description": "Abilita il navigatore dei messaggi della mini mappa in linea con le anteprime dei rami. Quando disabilitato, viene utilizzato un navigatore Superiore/Inferiore più semplice." + }, + "branchBreadcrumbs": { + "title": "Pangrattato Di Ramo", + "description": "Mostra una barra di navigazione compatta nella parte superiore delle conversazioni quando esistono rami." + }, + "spellcheck": { + "title": "Controllo ortografico", + "description": "Abilita o disabilita il controllo ortografico per i campi di immissione testo. La disabilitazione può essere utile quando si lavora con più lingue o contenuti tecnici. Le impostazioni del controllo ortografico del tuo sistema operativo potrebbero sovrascrivere queste preferenze. Riavviare l'applicazione dopo aver modificato questa impostazione affinché le modifiche abbiano pieno effetto." + }, + "language": { + "sectionTitle": "Lingua e localizzazione", + "sectionDescription": "Passa da una lingua all'altra dell'interfaccia, visualizza l'anteprima della modalità sviluppatore o importa un file locale temporaneo. Se vuoi contribuire con una traduzione, visita https://github.com/cloudstack-llc/msty-studio-i18n", + "localeLabel": "Lingua", + "downloadTemplate": "Scarica modello", + "downloadBuiltInLocale": "Scarica questo file JSON locale integrato.", + "downloadCustomLocale": "Scarica le impostazioni locali personalizzate correnti che hai importato.", + "downloadDeveloperTemplate": "Scarica un modello vuoto in base alla lingua di base.", + "importLocale": "Importa impostazioni locali", + "importLocaleHint": "Le impostazioni locali importate durano solo finché non riavvii o aggiorni l'app.", + "importSuccessSummary": "Impostazioni locali importate", + "importSuccessDetail": "Ora utilizzo {code}. Esamina l'interfaccia per confermare le traduzioni.", + "importError": "Non è stato possibile importare il file locale. Assicurati che sia un JSON valido in base al modello.", + "developerMode": { + "label": "Modalità sviluppatore" + } + }, + "security": { + "title": "Sicurezza", + "subtitle": "Configurare le impostazioni di sicurezza per l'applicazione" + }, + "webSecurity": { + "title": "Disabilita la sicurezza web", + "description": "Questo potrebbe aiutarti a risolvere alcuni problemi relativi a CORS. Tuttavia, questa operazione non è consigliata e potrebbe esporre l'applicazione a rischi per la sicurezza. Disabilitalo solo se sai cosa stai facendo. È necessario riavviare l'app affinché questa impostazione abbia effetto.", + "applyAndRestart": "Applica e riavvia" + }, + "fontStyle": { + "title": "Stile carattere", + "galaxyFarAway": "Galassia lontana", + "everythingEverywhere": "Tutto ovunque", + "homeAlone": "A casa da solo", + "lordOfTheLoops": "Signore dei loop" + }, + "renderingModules": { + "title": "Moduli di rendering", + "selectPlaceholder": "@:select Moduli di rendering" + }, + "remoteToolsConnector": { + "description": "Consenti a Msty Studio web di connettersi a questo dispositivo per eseguire strumenti remoti e accedere ai modelli locali. Questo servizio deve essere attivo per consentire le connessioni remote.", + "allowRemoteToolsConnection": "Abilita servizio", + "connectionToken": { + "title": "Connessione Token", + "rememberToken": "Ricorda Token", + "placeholder": "Inserisci una connessione forte token", + "description": "Questo token viene utilizzato per autenticare la connessione tra Msty Studio e questa app durante la connessione da remoto. Puoi rigenerarlo in qualsiasi momento per invalidare il precedente token . Assicurati di utilizzare un token forte e di mantenerlo segreto.", + "successMessage": { + "detail": "Il Servizio Remoto è ora attivo" + }, + "errorMessage": { + "summary": "Errore durante l'abilitazione del connettore", + "detail": "Impossibile abilitare il servizio remoto. Per favore controlla i log per maggiori dettagli" + }, + "copyConnectionInfo": "Copia l'URL locale", + "copyTunnelConnectionInfo": "Copia l'URL del tunnel", + "stopSuccessMessage": { + "detail": "Il servizio remoto è ora disabilitato" + } + }, + "enableTunneling": "Abilita tunneling (sperimentale)" + }, + "copyLocalURL": "Copia l'URL locale", + "localAI": { + "notInstalled": { + "description": "Configura @:localAIService per eseguire modelli AI localmente sul tuo dispositivo." + }, + "modelsLocation": { + "title": "Posizione dei modelli", + "description": "Configura dove sono archiviati i tuoi modelli di IA locale." + }, + "existingModels": { + "title": "Utilizza modelli esistenti", + "description": "Utilizza i modelli che già possiedi senza scaricarli nuovamente." + }, + "serviceConfigurations": { + "title": "@:service Configurazioni", + "description": "Queste configurazioni vengono applicate a @:localAIService all'avvio. @:localAIService si riavvierà automaticamente dopo aver salvato le modifiche.", + "configurePortNumber": { + "title": "Configura il numero di porta", + "description": "Numero di porta per@:localAIService__VAR_0__Lasciare vuoto per utilizzare il valore predefinito." + }, + "maximumParallelChats": { + "title": "Numero massimo di chat parallele", + "description": "Numero massimo di sessioni di chat simultanee (quando si utilizza la modalità divisa)." + }, + "maximumLoadedModels": { + "title": "Modelli caricati al massimo", + "description": "Numero massimo di LLM caricati contemporaneamente. Mantenere più modelli in memoria accelera le risposte iniziali ma utilizza più risorse di sistema." + }, + "enableNetworkAccess": { + "title": "Abilita accesso alla rete", + "description": "Consenti ad altri dispositivi sulla tua rete di accedere a questo @:localAIService tramite l'indirizzo IP di questo dispositivo." + }, + "allowedNetworkOrigins": { + "title": "Origini di rete consentite", + "description": "Elenca qui le origini di rete consentite (separate da virgole). Ciascuna voce deve iniziare con http:// o https://. Utilizzare * per consentire tutte le origini.", + "placeholder": "per esempio. https://msty.studio, http://localhost:3000, *" + }, + "allowMstyStudioAccess": { + "title": "Consenti l'accesso da Msty Studio", + "description": "Consenti connessioni da Msty Studio Web a questa app in modo che possa accedere a@:localAIService__VAR_0__" + }, + "captureServiceLogs": { + "title": "Acquisisci @:service registri", + "description": "Abilita la registrazione per acquisire i dati del servizio per il debug. Utilizzare questa opzione solo quando necessario." + }, + "advancedConfiguration": { + "description": "Inserisci un JSON valido per impostare le variabili di ambiente per@:localAIService__VAR_0__" + }, + "unsavedChanges": { + "message": "Sono presenti modifiche non salvate nelle configurazioni @:localAIService . Una volta salvato, @:localAIService verrà riavviato con le nuove configurazioni.", + "saveChanges": "Salva modifiche e riavvia il servizio", + "successMessage": { + "detail": "@:localAIService Configurazioni salvate e servizio riavviato" + }, + "errorMessage": { + "detail": "Impossibile salvare le configurazioni @:localAIService . Per favore controlla i log per maggiori dettagli." + } + } + }, + "modelConfigurations": { + "title": "@:model Configurazioni", + "description": "Queste configurazioni vengono applicate a tutti i modelli durante le sessioni di chat.", + "keepAliveTimeout": { + "title": "Timeout Keep-Alive del modello", + "description": "Tempo (in minuti) trascorso il quale il modello verrà scaricato dalla memoria se non utilizzato." + }, + "advancedConfiguration": { + "description": "Inserisci un JSON valido per passare parametri aggiuntivi ai modelli durante le sessioni di chat." + }, + "unsavedChanges": { + "message": "Sono presenti modifiche non salvate in@:settings.localAI.modelConfigurations.title__VAR_0__Assicurati di salvarle prima di iniziare una nuova sessione di chat.", + "successMessage": { + "detail": "@:settings.localAI.modelConfigurations.title salvato" + }, + "errorMessage": { + "detail": "Impossibile salvare @:settings.localAI.modelConfigurations.title. Controlla i registri per ulteriori dettagli." + } + } + }, + "openSettings": "Apri Impostazioni AI locale", + "manageModels": { + "title": "Gestisci modelli di IA locali", + "description": "Sfoglia, installa e gestisci modelli di intelligenza artificiale per l'inferenza locale.", + "openModelHub": "Apri l'hub dei modelli AI locali" + } + }, + "vibeCliProxy": { + "shortTitle": "Proxy CLI di Vibe", + "title": "Proxy CLI di Vibe", + "subtitle": "Proxy unificato per assistenti di codifica AI. Connettiti a Claude Code, ChatGPT, Gemini, Qwen Code attraverso un unico endpoint locale.", + "install": { + "copy": "Installa il binario CLIProxyAPI per connettere gli assistenti di codifica AI (Claude Code, ChatGPT, Gemini, Qwen) tramite proxy locale con autenticazione OAuth.", + "button": "Installa il proxy CLI di Vibe" + }, + "health": { + "description": "Avviare o arrestare il servizio Vibe CLI Proxy." + }, + "endpoint": { + "title": "Endpoint del servizio", + "description": "Utilizza questo endpoint per le richieste compatibili con OpenAI instradate tramite Vibe CLI Proxy.", + "network": "Host di rete: {host}", + "copied": "Endpoint copiato" + }, + "version": { + "title": "Versione", + "description": "Versione CLIProxyAPI installata.", + "current": "Versione attuale", + "reinstall": "Reinstallare", + "unknown": "Non installato" + }, + "configs": { + "title": "Configurazioni del servizio", + "description": "Configura la porta, la directory di autenticazione e l'accesso alla rete per il proxy.", + "port": "Porta", + "retries": "Nuovi tentativi", + "authDir": "Directory di autenticazione", + "enableNetworkAccess": "Abilita l'accesso alla rete", + "enableNetworkAccessHelp": "Consenti ad altri dispositivi sulla rete di raggiungere il proxy.", + "captureLogs": "Acquisisci i log del servizio", + "captureLogsHelp": "Registri proxy persistenti per la risoluzione dei problemi (potrebbero aumentare l'utilizzo del disco).", + "enableRemoteManagement": "Abilita la gestione remota", + "enableRemoteManagementHelp": "Esporre gli endpoint di gestione; richiede una chiave segreta.", + "managementKey": "Chiave segreta di gestione", + "updated": "Aggiornate le configurazioni del proxy CLI di Vibe", + "failed": "Impossibile aggiornare le configurazioni del proxy CLI di Vibe", + "portDescription": "La porta locale in cui il servizio proxy ascolta le richieste.", + "retriesDescription": "Numero di tentativi per richieste upstream non riuscite.", + "authDirDescription": "Directory in cui sono archiviate le autenticazioni tokens .", + "managementKeyDescription": "Chiave segreta necessaria per le operazioni di gestione remota." + }, + "authPath": { + "title": "Cartella di autenticazione", + "description": "Percorso in cui Vibe CLI Proxy memorizza OAuth tokens per i provider connessi. Gestito automaticamente; non modificabile." + }, + "authStatus": { + "title": "Autenticazione", + "description": "Collega in modo sicuro i tuoi account AI in modo che Vibe CLI Proxy possa chiamare le loro API per tuo conto. Quando ti connetti, si apre una finestra del browser per quel provider in cui completi l'accesso.", + "connecting": "Apertura del browser per OAuth…", + "browser": "Completa l'autenticazione nel tuo browser, quindi torna qui.", + "failed": "Impossibile avviare il flusso OAuth", + "deviceCodeTitle": "Autorizzazione del dispositivo", + "deviceCodeInstructions": "Inserisci il codice qui sotto nella pagina di autorizzazione per completare l'autenticazione.", + "copyCode": "Copia codice", + "codeCopied": "Codice copiato negli appunti", + "openGitHub": "Apri GitHub" + }, + "setup": { + "disclaimer": "Importante: Vibe CLI Proxy è un proxy locale per agenti di codifica CLI di terze parti. Procedendo, accetti la piena responsabilità del rispetto dei termini di servizio di ciascun fornitore di intelligenza artificiale. Utilizzare a proprio rischio. Msty non è responsabile per eventuali problemi relativi all'account o violazioni del servizio che potrebbero verificarsi." + } + }, + "mlx": { + "notInstalled": { + "description": "Imposta @:mlxService per eseguire modelli AI ottimizzati sul tuo Apple Silicon Mac." + }, + "modelsLocation": { + "title": "Posizione dei modelli", + "description": "Configura dove sono archiviati i tuoi modelli MLX." + }, + "existingModels": { + "title": "Utilizza modelli esistenti", + "description": "Utilizza i modelli che già possiedi senza scaricarli nuovamente." + }, + "openSettings": "Apri Impostazioni MLX", + "manageModels": { + "title": "Gestisci modelli MLX", + "description": "Sfoglia, installa e gestisci i modelli MLX ottimizzati per Apple Silicon.", + "openModelHub": "Apri l'hub dei modelli MLX" + }, + "compatibility": { + "title": "Compatibilità del sistema", + "description": "Controlla se il tuo sistema è compatibile con MLX.", + "checkAgain": "Ricontrollare", + "status": { + "notChecked": "Non controllato", + "compatible": "Compatibile", + "notCompatible": "Non compatibile" + }, + "requirements": { + "title": "Requisiti MLX:", + "appleSilicon": "Apple Silicon Mac (M1, M2, M3, M4)", + "macOS13": "macOS 13.0 o successivo", + "unifiedMemory": "Architettura di memoria unificata" + } + } + }, + "llamacpp": { + "notInstalled": { + "description": "Imposta @:llamacppService per eseguire modelli IA efficienti su Windows, macOS e Linux." + }, + "modelsLocation": { + "title": "Posizione dei modelli", + "description": "Configura dove sono archiviati i tuoi modelli LLaMA.cpp." + }, + "existingModels": { + "title": "Utilizza modelli esistenti", + "description": "Utilizza i modelli che già possiedi senza scaricarli nuovamente." + }, + "openSettings": "Apri Impostazioni LLaMA.cpp", + "manageModels": { + "title": "Gestisci modelli LLaMA.cpp", + "description": "Sfoglia, installa e gestisci i modelli LLaMA.cpp per l'inferenza multipiattaforma.", + "openModelHub": "Apri l'hub modelli LLaMA.cpp" + }, + "compatibility": { + "title": "Compatibilità del sistema", + "description": "Controlla se il tuo sistema è compatibile con LLaMA.cpp.", + "checkAgain": "Ricontrollare", + "status": { + "notChecked": "Non controllato", + "compatible": "Compatibile", + "notCompatible": "Non compatibile", + "requiresDesktop": "LLaMA.cpp richiede l'applicazione desktop" + }, + "systemInfo": { + "title": "Informazioni di sistema", + "platform": "Piattaforma", + "architecture": "Architettura", + "memory": "Memoria disponibile", + "gpu": "GPU" + }, + "requirements": { + "title": "Requisiti LLaMA.cpp:", + "desktop": "Applicazione desktop (Windows, macOS o Linux)", + "memory": "Almeno 4 GB di RAM (8 GB+ consigliati)", + "storage": "Spazio di archiviazione sufficiente per i modelli (varia in base alle dimensioni del modello)", + "gpu": "Opzionale: GPU per l'accelerazione (CUDA, Metal, OpenCL)" + } + }, + "serviceConfigurations": { + "threads": { + "title": "Thread della CPU", + "description": "Numero di thread della CPU da utilizzare durante l'inferenza. Imposta su -1 per il rilevamento automatico in base al tuo sistema (mappa sul flag --threads)." + }, + "concurrentRequests": { + "title": "Richieste simultanee", + "description": "Numero di chat che possono essere eseguite contemporaneamente per modello (associato al flag --parallel). Con parallel=2, ogni chat ottiene metà della dimensione del contesto.", + "inputLabel": "Richieste contemporanee" + }, + "advancedConfiguration": { + "description": "Inserisci un JSON valido per impostare le variabili di ambiente per il processo llama-server. Queste variabili hanno una priorità inferiore rispetto agli argomenti CLI impostati nelle configurazioni del servizio e del modello." + } + }, + "modelConfigurations": { + "title": "@:model Configurazioni", + "description": "Queste configurazioni vengono applicate a tutti i modelli durante le sessioni di chat.", + "keepAliveTimeout": { + "title": "Timeout Keep-Alive del modello", + "description": "Tempo (in minuti) trascorso il quale il modello verrà scaricato dalla memoria se non utilizzato." + }, + "unsavedChanges": { + "message": "Sono presenti modifiche non salvate in@:settings.llamacpp.modelConfigurations.title__VAR_0__Assicurati di salvarle prima di iniziare una nuova sessione di chat.", + "successMessage": { + "detail": "@:settings.llamacpp.modelConfigurations.title salvato" + }, + "errorMessage": { + "detail": "Impossibile salvare @:settings.llamacpp.modelConfigurations.title. Controlla i registri per ulteriori dettagli." + } + } + } + } + }, + "mlx": "MLX", + "mlxService": "@:mlx Servizio", + "llamacpp": "LLaMA.cpp", + "llamacppService": "@:llamacpp Servizio", + "settingsAndConfigs": "Impostazioni e configurazioni", + "prompts": "Richiede", + "apiKeys": "Chiavi API", + "workspaces": { + "createNewWorkspace": "Crea una nuova area di lavoro", + "switchWorkspace": "Cambia area di lavoro", + "switchToCustomWorkspace": "Passa all'area di lavoro {workspaceName}", + "hideWorkspaceTray": "Nascondi il vassoio dell'area di lavoro", + "showWorkspaceTray": "Mostra il vassoio dell'area di lavoro", + "switchAction": { + "successMessage": { + "summary": "Spazio di lavoro cambiato!", + "detail": "{workspaceName} è ora l'area di lavoro attiva" + } + }, + "deleteWorkspace": "Elimina area di lavoro", + "workspaceIsActive": "L'area di lavoro {workspaceName} è attiva", + "currentActiveWorkspace": "Il tuo spazio di lavoro attualmente attivo è: {workspaceName}", + "workspaceForm": { + "newTitle": "Nuovo spazio di lavoro", + "editTitle": "Modifica area di lavoro", + "workspaceName": "Nome dell'area di lavoro", + "whatToCopy": "Cosa copiare dall'area di lavoro {activeWorkspace} ?", + "copyDisabledForLockedWorkspace": "La copia degli elementi è disabilitata perché l'area di lavoro attiva ha una passphrase impostata.", + "createAndSwitch": "Crea e cambia", + "createOnly": "Crea e resta", + "duplicateWorkspaceName": "Il nome dell'area di lavoro esiste già", + "invalidWorkspaceName": "Nome dell'area di lavoro non valido o duplicato", + "updateSuccessMessage": { + "detail": "Area di lavoro aggiornata" + }, + "updateErrorMessage": { + "detail": "Impossibile aggiornare Workspace" + }, + "createAndSwitchSuccessMessage": { + "detail": "Area di lavoro creata e cambiata" + }, + "createSuccessMessage": { + "detail": "Area di lavoro creata" + }, + "createErrorMessage": { + "detail": "Impossibile creare l'area di lavoro" + } + }, + "deleteConfirmation": { + "header": "Elimina area di lavoro", + "message": "Sei sicuro di voler eliminare {workspaceName}? Tutti i dati associati a questo spazio di lavoro verranno eliminati. Questa azione non può essere annullata.", + "downloadWorkspaceData": "@:download Spazio di lavoro @:data", + "successMessage": { + "detail": "Area di lavoro {workspaceName} eliminata" + }, + "errorMessage": { + "detail": "Impossibile eliminare Workspace" + } + }, + "exportWorkspace": { + "title": "Esporta area di lavoro", + "successMessage": { + "detail": "Dati dell'area di lavoro {workspaceName} esportati come {fileName}" + }, + "errorMessage": { + "detail": "Impossibile esportare l'area di lavoro {workspaceName}" + } + }, + "importWorkspace": { + "title": "@:import Spazio di lavoro", + "dragAndDropMessage": "Trascina e rilascia un file Msty Workspace compresso per importare e creare una nuova area di lavoro. In caso di nomi duplicati, l'area di lavoro importata verrà rinominata. Puoi cambiarlo più tardi.", + "successMessage": { + "detail": "L'area di lavoro {workspaceName} è stata importata" + }, + "errorMessage": { + "detail": "Impossibile importare l'area di lavoro" + } + } + }, + "attachments": { + "title": "Allegati", + "documents": "Documenti", + "images": "Immagini", + "webpages": "Pagine web", + "youTubeLinks": "Collegamenti di YouTube", + "dropThem": "Lasciali cadere!", + "selectAll": "@:select tutti", + "deselectAll": "Deseleziona tutto", + "dragAnDropHere": "Trascina e rilascia {attachmentType} qui", + "addNew": "Aggiungi nuovi allegati", + "addDocumentTypes": "Aggiungi {documentTypes} e alcuni altri file di codice", + "addImageTypes": "Aggiungi immagini .png, .jpg o jpeg", + "dragAndDropOrBrowseMore": "Trascina e rilascia o sfoglia altro", + "commaSeparatedUrls": "oppure incolla URL separati da virgole", + "manageTooltip": "Fai clic per gestire il {attachmentType}allegato", + "modelMayNotSupportImages": "Il modello selezionato potrebbe non supportare gli allegati di immagini.", + "clickToInstallVisionCapabilities": "Fare clic per installare le funzionalità di visione.", + "checkingVisionCapabilities": "Controllo delle capacità visive...", + "installingVision": "Installazione delle funzionalità di visione...", + "documentsAttachedCount": "{count} documento allegato | {count} documenti allegati", + "imagesAttachedCount": "{count} immagine allegata | {count} immagini allegate", + "webpagesAttachedCount": "{count} pagina web allegata | {count} pagine web allegate", + "webpageLinks": "un collegamento a una pagina web | collegamenti a pagine web", + "holdKeyToShareWithSyncedSplits": "Tieni premuto {key} per condividere con le divisioni sincronizzate", + "youTubeLinksAttachedCount": "{count} Link YouTube allegato | {count} Link YouTube allegati", + "dropFiles": { + "errorMessage": { + "detail": "Impossibile allegare file" + } + }, + "dropWebpages": { + "errorMessage": { + "detail": "Impossibile allegare pagine web" + } + }, + "dropYouTubeLinks": { + "errorMessage": { + "detail": "Impossibile importare le informazioni sui collegamenti di YouTube. {errorMessage}" + } + }, + "detachAll": { + "title": "Stacca tutto", + "confirm": { + "header": "Stacca tutto", + "message": "Sei sicuro di voler scollegare tutti i {attachmentType} ? Questi {attachmentType} non saranno più disponibili nella conversazione in tutte le divisioni.", + "acceptLabel": "@:delete" + }, + "maxResult": { + "title": "Risultato massimo" + }, + "successMessage": { + "detail": "Allegati staccati" + } + } + }, + "jinaAPI": { + "manageJinaAPIKeys": "Gestisci le chiavi", + "jinaApiKeyRequired": "Per utilizzare questa funzionalità è necessaria una chiave API Jina valida. Puoi visitare il seguente link per ottenerne uno gratuitamente:", + "willUseJina": { + "description": "Al momento hai {count} chiavi API Jina aggiunte. Puoi aggiungere più chiavi e Msty sceglierà una chiave valida casuale da utilizzare per la richiesta." + }, + "jinaAPIKeyForm": { + "newTitle": "Nuova chiave API Jina", + "editTitle": "Modifica la chiave API Jina", + "availableKeys": "Chiavi disponibili", + "reVerifyKey": "La chiave è {status}. Fare clic per verificare nuovamente", + "verifyKeyAndAdd": "Verifica chiave e aggiungi", + "newDescription": "Aggiungi una nuova chiave API Jina da utilizzare con gli endpoint Jina Reader e Search. Puoi aggiungere più chiavi e verificarle per assicurarti che siano valide. Quando si utilizzano le chiavi, Msty sceglierà una chiave valida casuale da utilizzare per la richiesta.", + "keyIsGood": { + "summary": "Tutto bene!", + "detail": "La chiave sembra essere valida e pronta per l'uso" + }, + "successMessage": { + "detail": "Aggiunta la chiave API Jina" + }, + "errorMessage": { + "summary": "Errore{status}!", + "detail": "Impossibile aggiungere la chiave API Jina. Controlla la chiave API e assicurati che sia valida." + } + }, + "tokenBudget": { + "title": "Token Bilancio", + "description": "Numero massimo di tokens da utilizzare per le richieste API Jina. Ciò aiuta a controllare i costi e la durata della risposta." + } + }, + "rtd": { + "title": "Tempo reale @:data", + "enableRTD": "Fare clic per attivare/disattivare RTD; fare doppio clic per configurare", + "contexts": "@:rtd.title Contesti", + "removeSource": { + "successMessage": { + "detail": "Fonte rimossa" + }, + "errorMessage": { + "detail": "Impossibile rimuovere la fonte" + } + }, + "updateSource": { + "errorMessage": { + "detail": "Impossibile aggiornare la fonte" + } + }, + "searchProvider": "Fornitore di ricerca", + "jina": "Nome", + "useRemoteConnector": "Usa @:remoteToolsConnector.title", + "noSources": "Nessuna fonte disponibile", + "settings": { + "maxResult": { + "title": "Risultato massimo" + }, + "saveAsDefaultProvider": { + "title": "Salva {providerName} come provider di ricerca predefinito", + "successMessage": { + "summary": "{providerName} lo è!", + "detail": "{providerName} è ora il provider di ricerca predefinito" + } + }, + "autoWithFallback": "Automatico con fallback", + "google": "Google", + "brave": "Coraggioso", + "ecosia": "Ecosia", + "customSearchQuery": { + "title": "Query di ricerca personalizzata", + "placeholder": "Questa query verrà utilizzata per la ricerca. Lasciarlo vuoto per utilizzare il prompt come query" + }, + "limitByDomain": { + "title": "Limite per dominio", + "placeholder": "per esempio. reddit.com o gov o (sito:reddit.com O sito:gov)", + "commaDelimitedPlaceholder": "Inserisci domini separati da virgole, ad es. reddit.com,wikipedia.com" + }, + "extraOperators": { + "title": "Operatori aggiuntivi" + }, + "dateRange": { + "title": "Cerca intervallo di date", + "placeholder": "Dopo la data - Prima della data" + }, + "successMessage": { + "detail": "@:rtd.title Abilitato" + }, + "types": { + "api": "API", + "rtc": "@:remoteToolsConnector.title" + } + }, + "useJinaLabel": "Utilizza @:rtd.jina", + "google": { + "useLabel": "Usa @:rtd.settings.google", + "apiKey": { + "placeholder": "@:rtd.settings.google @:apiKey" + }, + "cseIdLabel": "ID motore di ricerca personalizzato", + "cseIdPlaceholder": "@:rtd.settings.google @:rtd.google.cseIdLabel" + }, + "brave": { + "useLabel": "Usa @:rtd.settings.brave", + "resultFilter": "Filtra risultati", + "apiKey": { + "placeholder": "@:rtd.settings.brave @:apiKey" + } + }, + "searXng": { + "title": "SearXNG", + "engines": { + "title": "Motori", + "placeholder": "Elenco separato da virgole di motori da utilizzare, ad es. google, coraggioso ecc." + }, + "extraParams": { + "title": "Parametri aggiuntivi", + "placeholder": "Aggiungi parametri aggiuntivi. Dovrebbe essere un oggetto JSON valido." + }, + "notice": "Il tuo server SearXNG deve avere JSON abilitato ed essere servito tramite HTTPS. Per una soluzione alternativa su HTTP su alcuni browser, consulta i nostri documenti su https://docs.msty.studio", + "useLabel": "Usa @:rtd.searXng.title" + }, + "tavily": { + "title": "Si sono sciolti", + "useLabel": "Usa @:rtd.tavily.title", + "searchTopic": { + "title": "Cerca argomento", + "placeholder": "Categoria di ricerca", + "general": "Generale", + "news": "Notizia", + "finance": "Finanza" + }, + "apiKey": { + "placeholder": "Inserisci @:rtd.tavily.title @:apiKey" + }, + "searchDepth": { + "title": "Profondità di ricerca", + "placeholder": "Profondità della ricerca", + "advanced": "Anticipo", + "basic": "Di base" + }, + "timeRange": { + "title": "Intervallo di tempo", + "placeholder": "Intervallo di tempo a partire dalla data corrente" + } + }, + "exa": { + "title": "Es", + "useLabel": "Usa @:rtd.exa.title", + "apiKey": { + "placeholder": "Inserisci @:rtd.exa.title @:apiKey" + } + }, + "ollama": { + "title": "Essere", + "useLabel": "Usa @:rtd.ollama.title", + "apiKey": { + "placeholder": "Inserisci @:rtd.ollama.title @:apiKey" + } + }, + "disableRTD": { + "label": "Disabilita @:rtd.title", + "successMessage": { + "detail": "@:rtd.title disabilitato" + }, + "errorMessage": { + "detail": "Impossibile disabilitare @:rtd.title" + } + } + }, + "remoteToolsConnector": { + "title": "Servizio remoto", + "connectionRequired": "Per utilizzare questa funzione, devi connetterti con@:remoteToolsConnector.title__VAR_0__", + "experimentalInfo": "L'RTD è sperimentale e potrebbe non funzionare come previsto.", + "isConnectedTooltip": "@:remoteToolsConnector.title - Connesso", + "isDisconnectedTooltip": "@:remoteToolsConnector.title - Disconnesso", + "connectNow": "@:connect con @:remoteToolsConnector.title", + "connectFirst": "@:connect @:remoteToolsConnector.title prima", + "reconnectNow": "@:reconnect con @:remoteToolsConnector.title", + "disconnectNow": "@:disconnect Ora", + "checkHealth": "Controlla lo stato della connessione", + "connectionDetails": "Modifica i dettagli della connessione", + "noPermissionPolicy": "Non hai l'autorizzazione per accedere a questa funzionalità", + "connect": { + "form": { + "title": "Connetti a @:remoteToolsConnector.title", + "saveAndConnect": "Salva e connettiti", + "rememberConnectionInfo": "Ricorda @:connectionInfo" + }, + "import": { + "title": "@:import @:connectionInfo", + "dragAndDropMessage": "Trascina e rilascia il file di configurazione della connessione remota Msty per importarlo e connetterti a@:remoteToolsConnector.title__VAR_0__", + "successMessage": { + "detail": "@:connectionInfo importato" + }, + "errorMessage": { + "detail": "Impossibile importare @:connectionInfo" + } + }, + "export": { + "title": "Esporta salvato @:connectionInfo", + "successMessage": { + "detail": "@:connectionInfo esportato" + }, + "errorMessage": { + "detail": "Impossibile esportare @:connectionInfo" + } + }, + "successMessage": { + "summary": "Collegato!", + "detail": "@:remoteToolsConnector.title collegato a {url}" + }, + "errorMessage": { + "detail": "Impossibile connettersi con@:remoteToolsConnector.title__VAR_0__Assicurati che @:remoteToolsConnector.title sia in esecuzione e accessibile all'URL fornito.", + "tokenMissing": "Token manca. Controlla token e riprova." + }, + "forgetConnectionInfo": "Dimentica precedente @:connectionInfo", + "forgetSuccessMessage": { + "detail": "@:connectionInfo dimenticato" + }, + "toolCommandPaths": { + "title": "Percorsi dei comandi degli strumenti", + "description": "Se utilizzi i set di strumenti, imposta i percorsi dei comandi che stai utilizzando.", + "selectPlaceholder": "@:select o immettere un comando", + "pathPlaceholder": "Immettere il percorso completo del comando", + "assignPath": "Assegna @:path" + } + }, + "disconnect": { + "successMessage": { + "summary": "Disconnesso!", + "detail": "Disconnesso da @:remoteToolsConnector.title" + } + } + }, + "forge": { + "forgeMode": { + "title": "Modalità Forgia", + "description": "La modalità Forgia ti offre una tela bianca e un potente scrittore per creare, modificare, modellare e perfezionare i contenuti liberamente." + }, + "title": "Fucina", + "forgeContent": "@:forge.title Contenuto", + "forgingContent": "Forgiare contenuto", + "editRawMarkdown": "Modifica ribasso grezzo", + "editAsBranch": "Modifica come ramo", + "disabledEditRawMarkdown": "Questo contenuto è stato contraffatto. Non è consentita la modifica del ribasso grezzo.", + "saveChanges": { + "title": "Salva modifiche", + "successMessage": { + "detail": "Modifiche salvate" + }, + "errorMessage": { + "detail": "Impossibile salvare le modifiche" + } + }, + "placeholders": { + "writeSomething": "Scrivi qualcosa o digita / per le opzioni...", + "detailsSummary": "Inserisci il riepilogo dei dettagli" + }, + "prompts": { + "simplify": "Semplificare", + "fixSpellingAndGrammar": "Correggi ortografia e grammatica", + "makeShorter": "Rendi più breve", + "makeLonger": "Rendi più lungo", + "tldr": "TL;DR;", + "emojify": "Emojify", + "changeTone": { + "title": "@:change Tono", + "academic": "Accademico", + "business": "Attività commerciale", + "casual": "Casuale", + "childFriendly": "Adatto ai bambini", + "conversational": "Conversazionale", + "emotional": "Emotivo", + "humorous": "Umoristico", + "informative": "Informativo", + "inspirational": "Ispirante", + "professional": "Professionale", + "narrative": "Narrativa", + "objective": "Obiettivo", + "persuasive": "Persuasivo", + "poetic": "Poetico" + } + }, + "clearFormatting": "Cancella formattazione", + "bold": "Grassetto", + "italic": "Corsivo", + "underline": "Sottolineare", + "strikethrough": "Barrato", + "code": "Codice", + "codeBlock": "Blocco codice", + "blockQuote": "Citazione in blocco", + "undo": "Disfare", + "redo": "Rifare", + "texts": "Testi", + "paragraph": "Paragrafo", + "heading1": "Rubrica 1", + "heading2": "Rubrica 2", + "heading3": "Rubrica 3", + "lists": "Elenchi", + "bulletList": "Elenco puntato", + "numberedList": "Elenco numerato", + "taskList": "Elenco attività", + "whatToForgePlaceholder": "Cosa vuoi forgiare oggi?", + "forgeWriter": "Scrittore della Forgia", + "inlinePrompt": { + "placeholder": "Digita il tuo prompt personalizzato...", + "ask": "Chiedere", + "askTooltip": "Chiedi al modello di generare una risposta basata su un prompt personalizzato" + }, + "forgeCanvas": "@:forge.title Tela", + "newForgeCanvas": "Nuovo @:forge.forgeCanvas", + "addNewForgeCanvas": "Aggiungi nuovo @:forge.forgeCanvas" + }, + "preview": "Anteprima", + "prompt": "Richiedi | Richiede", + "discard": "Scartare", + "insert": "Inserire", + "regenerate": "Rigenerare", + "rewrite": "Riscrivere", + "exit": "Uscita", + "customPrompt": "Richiesta personalizzata", + "markdown": "Ribasso", + "json": "JSON", + "html": "HTML", + "formatted": "Formattato", + "invalidJson": "Non valido @:json", + "downloadMarkdown": "@:download come file @:markdown", + "downloadJson": "@:download come file @:json", + "downloadHTML": "@:download come file HTML", + "copyMarkdownToClipboard": "Copia @:markdown negli appunti", + "copyHTMLToClipboard": "Copia HTML negli appunti", + "copyFormattedToClipboard": "Copia il testo negli appunti", + "copiedToClipboard": { + "summary": "Copiato!", + "markdownDetail": "Contenuto copiato negli appunti come @:markdown", + "htmlDetail": "Contenuto copiato negli appunti come HTML", + "formattedDetail": "Contenuto copiato negli appunti come testo formattato", + "jsonDetail": "Contenuto copiato negli appunti come @:json", + "itemCopied": "{item} copiato negli appunti" + }, + "exportJsonToClipboard": "Contenuto esportato negli appunti come @:json", + "variable": "Variabile | Variabili", + "pinItem": { + "title": "@:pinned {item}", + "action": "Perno {item}", + "successMessage": { + "detail": "{item} bloccato" + }, + "errorMessage": { + "detail": "Impossibile bloccare {item}" + } + }, + "unpinItem": { + "action": "Sblocca {item}", + "successMessage": { + "detail": "{item} sbloccato" + }, + "errorMessage": { + "detail": "Impossibile sbloccare {item}" + } + }, + "setDefaultItem": { + "title": "Predefinito {item}", + "action": "Imposta {item} come predefinito", + "successMessage": { + "detail": "{item} impostato come predefinito" + }, + "errorMessage": { + "detail": "Impossibile impostare {item} come predefinito" + } + }, + "unsetDefaultItem": { + "action": "Predefinito {item}. Fare clic per disattivare.", + "successMessage": { + "detail": "{item} rimosso per impostazione predefinita" + } + }, + "model": "Modello", + "modelSelector": { + "filterControls": { + "title": "Ordina e visualizza", + "searchPlaceholder": "Cerca modelli...", + "clear": "Reset", + "providerSort": { + "label": "Ordinamento dei fornitori", + "none": "Nessuno", + "name": "Nome", + "createdAt": "Creato a", + "ascending": "Ascendente", + "descending": "Discendente", + "groupByProvider": "Raggruppa per fornitore" + }, + "modelSort": { + "label": "Ordinamento dei modelli", + "none": "Nessuno", + "name": "Nome", + "recent": "Recente", + "ascending": "Ascendente", + "descending": "Discendente" + }, + "purpose": { + "label": "Filtra per scopo", + "placeholder": "Tutti gli scopi" + } + } + }, + "modelSettings": "@:model Impostazioni", + "syncSplit": "Sincronizza @:split", + "name": "Nome", + "split": "Diviso | Si divide", + "template": "Modello | Modelli", + "discardChanges": "Annulla modifiche", + "applyChanges": "Applica modifiche", + "splitPreset": { + "title": "Diviso @:preset | Diviso @:preset", + "selectPlaceholder": "@:select a @:preset", + "new": "Nuovo @:preset", + "newSplit": "Nuovo @:preset", + "splits": { + "splitIndex": "Diviso {index}", + "delete": "@:delete @:preset" + }, + "import": { + "title": "Importa @:preset | Importa @:preset", + "dragAndDropMessage": "Trascina e rilascia un file di preimpostazioni Msty compresso per importare e creare nuove preimpostazioni. In caso di nomi duplicati, i preset importati verranno rinominati. Puoi cambiarlo più tardi.", + "successMessage": { + "detail": "@:preset importato" + }, + "errorMessage": { + "detail": "Impossibile importare le preimpostazioni" + } + }, + "export": { + "title": "Esporta @:preset | Esporta @:preset", + "selected": "Esporta selezionato @:preset | Esporta selezionato @:preset", + "successMessage": { + "detail": "Preimpostazione divisa esportata come {fileName} | Preimpostazioni divise esportate come {fileName}" + }, + "errorMessage": { + "detail": "Impossibile esportare la preimpostazione | Impossibile esportare le preimpostazioni" + } + }, + "delete": { + "title": "@:delete @:preset | Elimina @:preset", + "selected": "@:delete Selezionato @:preset | Elimina selezionato @:preset", + "deleteConfirmation": { + "header": "@:delete @:preset", + "description": "Sei sicuro di voler eliminare {presetName}? | Vuoi eliminare le preimpostazioni {count} ?" + }, + "successMessage": { + "detail": "Preimpostazione divisa eliminata | Preset divisi eliminati" + }, + "errorMessage": { + "detail": "Impossibile eliminare la preimpostazione divisa | Impossibile eliminare le preimpostazioni divise" + } + }, + "update": { + "successMessage": { + "detail": "Preimpostazione divisa aggiornata" + }, + "errorMessage": { + "detail": "Impossibile aggiornare la preimpostazione divisa" + } + }, + "save": { + "successMessage": { + "detail": "Preimpostazione divisa salvata" + }, + "errorMessage": { + "detail": "Impossibile salvare la preimpostazione divisa" + } + }, + "empty": { + "title": "Nessun @:splitPreset.title disponibile.", + "description": "Inizia aggiungendo o importando un nuovo @:splitPreset.title" + }, + "invalidTemplatesMessage": { + "summary": "Modelli non validi", + "detail": "Alcuni modelli non sono validi o mancano campi obbligatori. Si prega di correggerli prima di continuare." + } + }, + "shadowPersonas": { + "title": "Gente ombra", + "create": "Crea Persona Ombra", + "editTitle": "Modifica Persona Ombra", + "assignedPersona": "Persona assegnata", + "changePersona": "Cambia Persona", + "changePersonaTitle": "Cambia Persona Ombra", + "currentPersona": "Persona attuale", + "selectNewPersona": "Seleziona Nuova persona", + "waitingForCompletion": "In attesa del completamento", + "changePersonaWarning": "La modifica della persona ripristinerà il contesto dell'analisi e potrebbe influire sulla continuità.", + "unassigned": "Nessuna persona assegnata", + "hideSidebar": "Nascondi Personas Ombra", + "showSidebar": "Mostra Personas Ombra", + "noMonitoring": "Nessuna divisione monitorata", + "monitoringHiddenHint": "Monitoraggio {count} diviso (clicca per mostrare) | Monitoraggio dei frazionamenti {count} (fai clic per mostrare)", + "monitoringSplitsHint": "Monitoraggio {count} diviso | Monitoraggio del frazionamento {count}", + "noSplitsMonitoredHint": "Nessuna divisione monitorata", + "monitoringStatus": "Monitoraggio {count} diviso | Monitoraggio del frazionamento {count}", + "activate": "Attivare", + "deactivate": "Disattivare", + "processNow": "Elabora ora", + "processing": "Elaborazione...", + "createAndAssign": "Crea e assegna", + "latestInsight": "Ultima intuizione", + "noOutputYet": "Nessuna uscita ancora", + "outputs": "Uscite", + "viewLatest": "Visualizza più recente", + "viewHistory": "Visualizza cronologia", + "noHistory": "Nessuna cronologia disponibile", + "selectVersion": "Seleziona la versione", + "name": "Nome della Persona Ombra", + "namePlaceholder": "ad esempio, Analista tecnico, Monitor delle prestazioni", + "edit": "Modifica Persona Ombra", + "switchShadowPersona": "Cambia Persona Ombra", + "selectShadowPersonaToSwitch": "Seleziona un personaggio ombra a cui passare", + "selectShadowPersona": "Seleziona Persona Ombra", + "searchShadowPersonas": "Cerca personaggi ombra...", + "description": "Descrizione (facoltativa)", + "descriptionPlaceholder": "Descrivi ciò che questa persona ombra osserva o analizza", + "selectPersona": "Seleziona Persona", + "selectPersonaPlaceholder": "Scegli un personaggio da utilizzare", + "selectSplits": "Seleziona Suddivisioni da monitorare", + "selectSplitsPlaceholder": "Scegli le divisioni da monitorare", + "selectSplitsPlaceholderOptional": "Scegli le divisioni da monitorare (può essere impostato in seguito)", + "splitsCanBeAssignedLater": "Le divisioni possono essere assegnate e gestite dinamicamente dopo la creazione", + "updateTrigger": "Aggiorna trigger", + "messageInterval": "Intervallo del messaggio", + "timeInterval": "Intervallo di tempo", + "messagesPerSplit": "Messaggi per suddivisione", + "maxContext": "Contesto massimo", + "synthesisMode": "Modalità di sintesi", + "outputFormat": "Formato di uscita", + "maxProcessingTime": "Tempo di elaborazione massimo", + "versionManagement": "Gestione delle versioni", + "maxVersions": "Versioni massime", + "advancedSettings": "Impostazioni avanzate", + "includeSystemMessages": "Includi messaggi di sistema", + "autoDeleteOld": "Elimina automaticamente le vecchie versioni", + "waitingForSplits": "In attesa delle divisioni", + "processingNow": "Elaborazione ora", + "empty": { + "title": "Nessuna gente ombra", + "description": "Crea una Persona Ombra per monitorare e analizzare le suddivisioni della conversazione" + }, + "unlock": "Sblocca i personaggi ombra", + "experimental": "Sperimentale", + "experimentalInfo": "Shadow Personas è una funzionalità sperimentale che analizza le conversazioni e genera prospettive e intuizioni alternative in parallelo.", + "noOutput": { + "title": "Nessun risultato ancora", + "description": "Questa Persona Ombra non ha ancora generato alcun output" + }, + "saveToEnableProcessing": "Salva questa conversazione per abilitare l'elaborazione di Persona Ombra", + "delete": { + "title": "Elimina Persona Ombra", + "action": "Elimina", + "confirmMessage": "Vuoi eliminare \"{name}\"? \"{name}\" verrà eliminato da tutte le conversazioni a cui è allegato. Questa azione non può essere annullata.", + "successMessage": "Eliminazione del personaggio ombra riuscita", + "errorMessage": "Impossibile eliminare la persona ombra" + }, + "detach": { + "title": "Dettagli Persona Ombra", + "action": "Stacca", + "confirmMessage": "Scollegare \"{name}\" da questa conversazione? Il personaggio ombra rimarrà disponibile per altre conversazioni.", + "successMessage": "Distaccato con successo il personaggio ombra", + "errorMessage": "Impossibile staccare la personalità ombra" + }, + "switch": { + "successMessage": "Hai cambiato con successo il personaggio ombra", + "errorMessage": "Impossibile cambiare il personaggio ombra" + }, + "editToast": { + "successMessage": "Aggiornato con successo il personaggio ombra", + "errorMessage": "Impossibile aggiornare la persona ombra" + }, + "createToast": { + "successMessage": "Creato con successo il personaggio ombra", + "errorMessage": "Impossibile creare il personaggio ombra" + }, + "queueClearedToast": { + "summary": "Coda cancellata", + "detail": "Articolo in coda {cancelledCount} annullato | Elementi in coda {cancelledCount} annullati" + }, + "queueUpdatedToast": { + "summary": "Coda aggiornata", + "detail": "Elemento ad attivazione automatica {cancelledCount} annullato | Elementi attivati ​​automaticamente {cancelledCount} annullati" + }, + "queueFullToast": { + "summary": "Coda piena", + "detail": "La coda di elaborazione è piena. Attendi il completamento degli elementi correnti" + }, + "alreadyProcessingToast": { + "summary": "Già in elaborazione", + "detail": "Questa conversazione è già in fase di elaborazione" + }, + "trigger": { + "everyMessage": "Ogni messaggio", + "everyNMessages": "Ogni {n} Messaggi", + "manual": "Solo manuale", + "timeInterval": "Intervallo di tempo", + "automatic": "Automatico" + }, + "triggerHints": { + "everyMessage": "Viene eseguito dopo ogni messaggio (più veloce, più frequente)", + "everyNMessages": "Viene eseguito dopo i messaggi {n} (in batch)", + "manual": "Solo quando fai clic su Elabora ora" + }, + "synthesis": { + "auto": "Auto", + "combined": "Analisi combinata", + "perSplit": "Per divisione", + "comparative": "Comparativo" + }, + "synthesisHints": { + "auto": "Sceglie la modalità migliore in base alle suddivisioni e alle intenzioni", + "combined": "Un riepilogo per tutte le suddivisioni", + "perSplit": "Mantieni ogni divisione separata ed etichettata", + "comparative": "Differenze e accordi fianco a fianco" + }, + "synthesisAutoReasons": { + "singleSplit": "Auto utilizzerà Combinato perché è presente una sola divisione.", + "multipleModels": "Auto utilizzerà Comparativo perché sono in uso più modelli.", + "sameModel": "Auto utilizzerà Per Split perché le suddivisioni utilizzano lo stesso modello." + }, + "format": { + "insights": "Approfondimenti", + "summary": "Riepilogo", + "recommendations": "Raccomandazioni", + "analysis": "Analisi" + }, + "monitoringSplits": "Monitoraggio {count} diviso | Monitoraggio del frazionamento {count}", + "locateSplits": "Individua le divisioni", + "manageSplits": "Gestisci le divisioni", + "addAllSplits": "Aggiungi tutte le divisioni", + "deselectAll": "Deseleziona tutto", + "selectAll": "Seleziona tutto", + "selectedCount": "{count} di {total} selezionato", + "streaming": "Streaming", + "starting": "Di partenza", + "collectingContext": "Raccolta del contesto dalle suddivisioni...", + "waitingForConversationCompletion": "In attesa del completamento della conversazione", + "analyzingConversationSplits": "Analisi delle suddivisioni della conversazione...", + "analyzeResponses": "Shadow Persona analizzerà una volta ricevute tutte le risposte", + "toolCalls": "Chiamate degli strumenti", + "reasoning": "Ragionamento", + "attachExisting": "Allega esistente", + "attachTitle": "Associa Persona Ombra", + "previousVersion": "Versione precedente", + "nextVersion": "Prossima versione", + "attach": "Allegare", + "selectShadowPersonaToAttach": "Seleziona un personaggio ombra da allegare a questa conversazione", + "selectShadowPersonaPlaceholder": "Scegli un personaggio ombra da allegare", + "queuedPosition": "In coda #{position}", + "addToQueue": "Aggiungi alla coda", + "processingQueue": "Coda di elaborazione", + "removeFromQueue": "Rimuovi dalla coda", + "removedFromQueue": "Rimosso dalla coda", + "inQueue": "in coda", + "clearQueue": "Cancella tutto", + "queueEmpty": "Nessun elemento in coda", + "estimatedWait": "Est. attendere: {time}", + "queuedItems": "{count} elemento in coda | {count} elementi in coda", + "monitoring": "Monitoraggio e coda", + "monitoredSplits": "Divisioni monitorate" + }, + "toolbox": { + "title": "Cassetta degli attrezzi", + "toolsUsageWillSkip": "Msty @:remoteToolsConnector.title non è in esecuzione; l'utilizzo degli strumenti verrà ignorato.", + "tools": { + "title": "Strumento | Utensili", + "description": "Una raccolta di strumenti per aiutarti con il tuo lavoro LLM.", + "availableTools": "Strumenti disponibili", + "availableToolsets": "Set di strumenti disponibili", + "authorize": "Autorizzare", + "setDefaultParams": "Imposta i parametri predefiniti", + "setParams": "Imposta parametri", + "missingThisDependency": "Questa dipendenza sembra mancare nel tuo ambiente. Senza questo, lo strumento potrebbe non funzionare come previsto.", + "defaultParamsForm": { + "header": "Parametri predefiniti per {toolName}", + "description": "Questi parametri verranno utilizzati globalmente per tutte le istanze dello strumento {toolName} . Puoi sovrascriverli quando crei un set di strumenti.", + "args": { + "label": "Argomenti", + "description": "@:select an @:argument e impostarne il valore. Lasciarlo vuoto per saltare l'impostazione di un valore.", + "customArg": { + "label": "Personalizzato @:argument", + "description": "Immettere il nome del nuovo@:argument__VAR_0__Separare più argomenti con una virgola.", + "placeholder": "per esempio. --arg1, someArg, -verbose" + } + }, + "env": { + "label": "Variabili d'ambiente", + "description": "@:select oppure inserisci un nuovo Ambiente @:variable e impostane il valore.", + "addEnv": "Aggiungi ambiente @:variable", + "selectPlaceholder": "@:select un Ambiente @:variable", + "enterNew": "Aggiungi un nuovo ambiente @:variable" + }, + "successMessage": { + "saveDetail": "Parametri predefiniti salvati per {toolName}." + }, + "errorMessage": { + "saveDetail": "Impossibile salvare i parametri predefiniti." + } + }, + "addNewTool": { + "title": "Aggiungi nuovo strumento", + "description": "Aggiungi il tuo strumento compatibile MCP alla casella degli strumenti. Una volta aggiunto, puoi aggiungerlo a un set di strumenti, impostare parametri e utilizzarlo con un modello.", + "namePlaceholder": "Dagli un nome (utilizza l'ID strumento per impostazione predefinita)", + "id": { + "label": "ID strumento", + "placeholder": "Identificatore univoco dello strumento (compilato automaticamente se rilevato dalla configurazione)" + }, + "duplicateId": "Lo strumento con questo ID esiste già. Inserisci un ID univoco.", + "successMessage": { + "summary": "Strumento aggiunto", + "detail": "Strumento aggiunto alla casella degli strumenti. Ora puoi aggiungerlo a un set di strumenti e utilizzarlo con un modello." + }, + "successMessageWithToolset": { + "summary": "Strumento aggiunto", + "detail": "Strumento aggiunto alla casella degli strumenti ed è stato creato un set di strumenti corrispondente. È pronto per l'uso con un modello." + }, + "errorMessage": { + "detail": "Impossibile aggiungere lo strumento alla casella degli strumenti. {error}" + }, + "toolConfig": { + "label": "Configurazione dello strumento", + "placeholder": "Inserisci o incolla la configurazione dello strumento JSON. Accetta la configurazione diretta o i formati incapsulati (estrarrà automaticamente toolId)", + "showExampleTitle": "Mostrami un esempio di configurazione dello strumento", + "explanation": "La configurazione dello strumento accetta più formati, comprese le configurazioni incapsulate con mcpServers. Estrarrà automaticamente il toolId e il nome quando possibile. Deve contenere almeno {command}. Gli argomenti dinamici devono essere racchiusi tra parentesi graffe {curly} in questo modo: {argExample}. Allo stesso modo, le variabili di ambiente dinamiche possono essere impostate utilizzando {envVarLabel}." + }, + "autoCreateToolset": { + "label": "Crea automaticamente un set di strumenti con lo stesso nome" + } + }, + "editTool": { + "title": "Strumento Modifica", + "description": "Aggiorna il nome, le note e la configurazione dello strumento.", + "successMessage": { + "detail": "Strumento @:updatedSuccess" + }, + "errorMessage": { + "detail": "@:failedToUpdate strumento." + } + }, + "emptyPlaceholder": { + "description1": "Utilizza strumenti MCP esterni basati su Msty @:remoteToolsConnector.title per estendere le capacità dei tuoi modelli e migliorare la tua esperienza LLM.", + "description2": "Puoi iniziare importando molti degli strumenti forniti da Msty o aggiungendo i tuoi strumenti.", + "description3": "Nota: questi strumenti non sono forniti, testati o gestiti da Msty. Stiamo semplicemente fornendo una piattaforma per utilizzarli e consentendo di importarli per comodità. SI PREGA DI USARLI A PROPRIO RISCHIO. Msty non è responsabile per eventuali problemi che potrebbero derivare dall'utilizzo di questi strumenti. Inoltre, per assistenza, contatta l'autore dello strumento." + }, + "importTools": { + "title": "Importa predefinito @:toolbox.tools.title", + "successMessage": { + "detail": "{count} strumenti predefiniti importati correttamente. È possibile creare set di strumenti e utilizzarli con un modello." + }, + "successMessageWithToolsets": { + "detail": "{count} strumenti predefiniti importati correttamente e {toolsetCount} set di strumenti corrispondenti creati automaticamente." + }, + "errorMessage": { + "detail": "Impossibile importare il valore predefinito @:toolbox.tools.title" + } + }, + "deleteConfirmation": { + "header": "Strumento Elimina", + "description": "Sei sicuro di voler eliminare {toolName}?", + "successMessage": { + "detail": "Strumento eliminato" + }, + "errorMessage": { + "detail": "@:failedToDelete strumento" + } + }, + "deleteAll": { + "confirmationHeader": "Elimina tutti gli strumenti", + "confirmationMessage": "Sei sicuro di voler eliminare tutti gli strumenti? Questa azione non può essere annullata.", + "successMessage": "Tutti gli strumenti sono stati eliminati correttamente", + "errorMessage": "Impossibile eliminare tutti gli strumenti" + }, + "copiedToClipboard": "Configurazione dello strumento copiata negli appunti", + "viewToolsUsage": { + "title": "Visualizza l'utilizzo degli strumenti", + "noToolCalls": { + "title": "Nessuna chiamata utensile trovata", + "description": "Sembra che ci fossero alcuni strumenti in grado di elaborare il modello, ma non è stata effettuata alcuna chiamata allo strumento. Ciò potrebbe essere dovuto al fatto che il modello non necessitava dell'utilizzo di alcuno strumento." + } + } + }, + "toolsets": { + "title": "Set di strumenti | Set di strumenti", + "emptyPlaceholder": { + "title": "Nessun set di strumenti trovato", + "description": "I set di strumenti sono una raccolta di strumenti con parametri. È possibile creare un set di strumenti e aggiungervi strumenti. Quando chatti con un modello, puoi selezionare uno o più set di strumenti da utilizzare con il modello." + }, + "addSomeTools": "Aggiungi alcuni strumenti per iniziare.", + "noTools": "Nessuno strumento in questo set di strumenti", + "tooltip": { + "selectedFeatures": "Funzionalità abilitate", + "loading": "Caricamento dettagli funzionalità…", + "allFeatures": "Tutte le funzionalità", + "unavailable": "Impossibile caricare i dettagli della funzione" + }, + "addNewToolset": { + "title": "Aggiungi nuovo @:toolbox.toolsets.title", + "description": "Crea un nuovo set di strumenti per raggruppare gli strumenti insieme. È possibile aggiungere strumenti al set di strumenti e utilizzarlo con un modello. Assicurati di impostare/sovrascrivere i parametri per ciascuno strumento nel set di strumenti facendo clic sul pulsante {icon} .", + "setParams": { + "title": "Imposta parametri per {toolName}", + "description": "Imposta i parametri per lo strumento {toolName} . È possibile sovrascrivere i parametri predefiniti impostati per lo strumento. Utilizzare la console degli strumenti per testare lo strumento, visualizzare le funzionalità disponibili e limitare le funzionalità, se necessario." + }, + "successMessage": { + "saveDetail": "Set di strumenti salvato e aggiunto alla casella degli strumenti. Ora puoi usarlo con un modello." + }, + "errorMessage": { + "saveDetail": "@:failedToSave set di strumenti." + } + }, + "editToolset": { + "title": "Modifica set di strumenti", + "description": "Modifica il nome e le note del set di strumenti. Puoi anche aggiungere o rimuovere strumenti dal set di strumenti e modificare i parametri o limitare le funzionalità per ciascuno strumento facendo clic sul pulsante {icon} .", + "successMessage": { + "detail": "Set di strumenti @:updatedSuccess" + }, + "errorMessage": { + "detail": "@:failedToUpdate set di strumenti." + } + }, + "deleteConfirmation": { + "header": "Elimina set di strumenti", + "description": "Sei sicuro di voler eliminare {toolsetName}?", + "successMessage": { + "detail": "Set di strumenti eliminato" + }, + "errorMessage": { + "detail": "@:failedToDelete set di strumenti" + } + }, + "deleteAll": { + "confirmationHeader": "Elimina tutti i set di strumenti", + "confirmationMessage": "Sei sicuro di voler eliminare tutti i set di strumenti? Questa azione non può essere annullata.", + "successMessage": "Tutti i set di strumenti sono stati eliminati correttamente", + "errorMessage": "Impossibile eliminare tutti i set di strumenti" + }, + "export": { + "title": "Esporta @:toolbox.toolsets.title", + "description": "Per motivi di sicurezza, i valori di configurazione sensibili possono essere rimossi prima dell'esportazione. Seleziona quali variabili di ambiente e argomenti pulire per ciascuno strumento.", + "envVarsToScrub": "Variabili d'ambiente da pulire", + "argsToScrub": "Argomenti da fregare", + "scrubCustomArgs": "Scrub stringa di argomenti personalizzati", + "selectEnvVarsPlaceholder": "Seleziona le variabili di ambiente per rimuovere i valori", + "selectArgsPlaceholder": "Seleziona gli argomenti per rimuovere i valori", + "noScrubbableData": "Nessun dato di configurazione da cancellare", + "sensitiveDataNote": "I valori sensibili comuni sono preselezionati per la tua sicurezza.", + "copiedToClipboard": "Configurazione del set di strumenti copiata negli appunti", + "downloadedAsJson": "Configurazione del set di strumenti scaricata", + "fetchError": "Impossibile recuperare i dati del set di strumenti per l'esportazione" + }, + "import": { + "missingTools": "Alcuni strumenti non sono stati trovati e sono stati ignorati: {tools}" + }, + "noOfTools": "{count} strumento | {count} strumenti", + "viewToolsAndNotes": "Visualizza strumenti e note", + "console": { + "title": "Consolle degli strumenti", + "description": "Puoi utilizzare questa console per testare {toolName} e vedere l'output. Puoi anche usarlo per testare lo strumento con parametri diversi o limitare le funzionalità disponibili. Tutte le funzionalità sono abilitate per impostazione predefinita, seleziona le caselle di controllo per limitare le funzionalità solo a quelle selezionate.", + "listTools": "Elenca le funzionalità di {toolName}", + "missingRequiredArgument": "Mancante {count} Obbligatorio @:argument", + "continueWithMissingArgs": "@:continue con mancante @:argument", + "viewSourceOnGitHub": "Visualizza sorgente su GitHub", + "allowedFeaturesLabel": "Abilita funzionalità specifiche per questo strumento", + "allowedFeaturesPlaceholder": "Cerca o seleziona le funzionalità da consentire", + "selectedFeaturesLabel": "Funzionalità attualmente abilitate", + "toolCall": { + "title": "Chiamata strumento", + "description": "Aggiungi le proprietà richieste per chiamare {featureName}. Puoi aggiungere proprietà extra se lo desideri. Fai attenzione a chiamare lo strumento proprio così, specialmente. senza i giusti valori.", + "selectPlaceholder": "@:select una proprietà", + "enterNew": "Aggiungi una nuova proprietà", + "execute": "Esegui @:toolbox.toolsets.console.toolCall" + } + }, + "manageTooltip": "Fare clic per gestire i set di strumenti utilizzati", + "noModelSupport": "Il modello@:select potrebbe non supportare gli strumenti.", + "toolsetsUsedCount": "{count} Set di strumenti attivi | {count} Set di strumenti attivi" + } + }, + "liveContexts": { + "liveContextsUsedCount": "{count} Contesto live attivo | {count} Contesti live attivi", + "title": "Dal vivo @:context", + "contexts": "Contesti vivi", + "untitled": "Contesto live senza titolo", + "selectSource": "Seleziona Sorgente", + "selectSourceTooltip": "Seleziona per includere o escludere questa fonte dal contesto", + "addNew": { + "title": "Aggiungi nuovo @:liveContexts.title", + "description": "Crea una nuova origine @:liveContexts.title per aggiungere contesto di dati esterni alla tua conversazione.", + "errorMessage": { + "detail": "Impossibile aggiungere @:liveContexts.title" + }, + "successMessage": { + "detail": "@:liveContexts.title aggiunto" + } + }, + "edit": { + "title": "Modifica @:liveContexts.title" + }, + "promptPlaceholder": "Fornire qui una richiesta per la modalità Push; includere eventuali dettagli sulla modalità Pull nella sezione Note.", + "endpointDetails": "Dettagli dell'endpoint", + "method": "Metodo", + "url": "URL", + "customHeaders": "Intestazioni personalizzate", + "hasBody": "Ha corpo", + "customProcessing": "Elaborazione personalizzata", + "promptTemplate": "Modello di richiesta", + "requestHeaders": { + "title": "Richiedi intestazioni", + "description": "Aggiungi intestazioni di richiesta come oggetto JSON. Questo verrà inviato con la richiesta all'endpoint API.", + "placeholder": "{'{'}\n \"Authorization\": \"Bearer {'{'}apiKey:'key'{'}'}\",\n \"X-From\": \"{'{'}from?:'ISO'{'}'}\"\n{'}'}" + }, + "requestBody": { + "title": "Richiedi corpo", + "description": "Aggiungi il corpo della richiesta come oggetto JSON. Questo verrà inviato con la richiesta all'endpoint API.", + "placeholder": "{'{'}\n \"q\": \"{'{'}query:'term'{'}'}\",\n \"from\": \"{'{'}from?:'ISO'{'}'}\"\n{'}'}" + }, + "placeholders": { + "title": "Segnaposto dinamici", + "tooltip": "Sintassi del segnaposto", + "label": "Segnaposto:" + }, + "processingFunction": { + "title": "Funzione di elaborazione", + "description": "Aggiungi una funzione di elaborazione per trasformare i dati di risposta prima di utilizzarli nella conversazione. La funzione dovrebbe restituire una stringa.", + "placeholderHeader": "function process({'{'}data, placeholders{'}'}) {'{'}", + "placeholder": "// dati di accesso e segnaposto opzionali\n restituisce JSON.stringify(dati)", + "placeholderFooter": "{'}'}", + "tooltip": "Accesso tramite segnaposto param", + "usePlaceholders": "Utilizza i segnaposto nel codice:" + }, + "testVariables": { + "description": "Immettere i valori di test per i segnaposto rilevati per testare l'endpoint." + }, + "update": { + "successMessage": { + "detail": "@:liveContexts.title aggiornato" + }, + "errorMessage": { + "detail": "Impossibile aggiornare @:liveContexts.title" + } + }, + "deleteConfirmation": { + "header": "Elimina @:liveContexts.title", + "description": "Sei sicuro di voler eliminare {liveContextName}?", + "successMessage": { + "detail": "@:liveContexts.title cancellato" + }, + "errorMessage": { + "detail": "Impossibile eliminare @:liveContexts.title" + } + }, + "emptyPlaceholder": { + "title": "Nessun @:liveContexts.title trovato", + "description": "@:liveContexts.title sono contesti di dati esterni che puoi aggiungere alla tua conversazione. È possibile creare una nuova sorgente @:liveContexts.title e utilizzarla con un modello." + }, + "deleteAll": { + "confirmationHeader": "Elimina tutto @:liveContexts.contexts", + "confirmationMessage": "Sei sicuro di voler eliminare tutti i contesti live? Questa azione non può essere annullata.", + "successMessage": "Tutti i contesti live sono stati eliminati con successo", + "errorMessage": "Impossibile eliminare tutti i contesti live" + }, + "export": { + "title": "Esporta @:liveContexts.title", + "headerScrubDescription": "Per motivi di sicurezza, i valori sensibili delle intestazioni possono essere rimossi prima dell'esportazione. Seleziona quali intestazioni pulire.", + "selectHeadersToScrub": "Intestazioni da pulire", + "selectHeadersPlaceholder": "Seleziona le intestazioni per rimuovere i valori", + "sensitiveHeadersNote": "Le intestazioni sensibili comuni sono preselezionate per la tua sicurezza.", + "copiedToClipboard": "Configurazione del contesto live copiata negli appunti", + "downloadedAsJson": "Configurazione del contesto live scaricata" + }, + "modeLabel": "Modalità", + "mode": { + "push": "Spingere", + "pull": "Tiro", + "tooltip": { + "push": "Modalità push: viene eseguita automaticamente prima che il modello risponda", + "pull": "Modalità pull: chiamata su richiesta per modello" + } + } + }, + "modes": { + "mode": "Modalità | Modalità", + "title": "@:modes.mode", + "exitMode": "Esci {mode} @:modes.mode", + "zenMode": { + "title": "zen", + "quote": "uno stato di calma attenzione", + "newConversation": "Nuovo @:modes.zenMode.title @:conversation.title" + }, + "vaporMode": { + "title": "@:modes.vaporMode.vapor @:modes.mode", + "vapor": "Vapore", + "description": "Le conversazioni non verranno salvate nella cronologia e scompariranno quando la disattivi o esci", + "willDisappearTooltip": "Questo scomparirà quando spegni @:modes.vaporMode.vapor @:modes.mode o ti allontani", + "exitVaporMode": "Esci @:modes.vaporMode.vapor @:modes.mode", + "enterVaporMode": "Inserisci @:modes.vaporMode.vapor @:modes.mode", + "preserverChat": { + "saveConversation": "@:save @:conversation.title", + "successMessage": { + "detail": "La chat di@:modes.vaporMode.vapor è stata conservata" + }, + "errorMessage": { + "detail": "Impossibile preservare la chat di @:modes.vaporMode.vapor" + } + } + }, + "focusMode": { + "title": "Messa a fuoco @:modes.mode" + }, + "normalMode": { + "title": "Normale @:modes.mode" + } + }, + "searchForm": { + "query": "Domanda", + "title": "Cerca elementi", + "noResults": { + "title": "Nessun risultato trovato", + "description": "Prova a cercare un termine diverso" + }, + "entity": { + "conversationTextMessages": "@:conversation.title", + "promptsLibraryPrompts": "Richiedi | Richiede" + }, + "foundResultsCount": "Trovato {count} risultato | Trovato {count} risultati", + "labels": { + "title": "Cerca {entity}", + "description": "Cerca {entity} rapidamente utilizzando le parole chiave", + "tips": { + "default": { + "description": "La ricerca corrisponde a tutte le parole per impostazione predefinita (ad esempio, {example} → corrisponde al testo contenente entrambe le parole in qualsiasi ordine)", + "example": "macchina blu" + }, + "partial": { + "description": "Utilizza {operator} per corrispondenze parziali (ad esempio, {example})", + "operator": "*", + "example": "corri* → corre, corre" + }, + "or": { + "description": "@:user {operator} per corrispondere a qualsiasi termine (ad esempio, {example})", + "operator": "O", + "example": "mela O arancia" + }, + "exact": { + "description": "Utilizza le virgolette doppie {operator} per corrispondenze esatte (ad esempio, {example})", + "operator": "\"\"", + "example": "\"macchina blu\"" + }, + "specialCharacters": { + "description": "Utilizza {operator} per eseguire l'escape dei caratteri speciali (ad esempio, {example})", + "operator": "\"\"", + "example": "\"C++\", \"node.js\"" + } + } + } + }, + "clearSearch": "Cancella ricerca", + "helpfulTips": "Suggerimenti utili", + "hideSearch": "Nascondi ricerca", + "bookmarkItem": { + "action": "@:bookmark {item}", + "jump": "Vai a @:bookmarked {item}", + "title": "@:bookmarked {item}", + "successMessage": { + "detail": "{item} @:bookmarked" + }, + "errorMessage": { + "detail": "Impossibile aggiungere ai segnalibri {item}" + }, + "deletedInfoMessage": { + "detail": "@:bookmarked {item} è stato eliminato" + }, + "emptyState": { + "title": "Nessun segnalibro disponibile.", + "description": "Inizia aggiungendo ai segnalibri {item}" + } + }, + "removeBookmarkedItem": { + "action": "Rimuovi @:bookmarked {item}", + "successMessage": { + "detail": "{item} rimosso dai preferiti" + }, + "errorMessage": { + "detail": "Impossibile rimuovere {item} dai segnalibri" + } + }, + "turnstile": { + "title": "Tornello | Tornelli", + "newTurnstile": "Nuovo @:turnstile.title", + "queueEntry": "Aggiungi alla coda", + "selectPlaceholder": "@:select a @:turnstile.title", + "addQueueWithAlt": "Fare clic per aprire o Alt+clic per aggiungere alla coda", + "entriesQueued": "Nessuna coda @:entry | {count}/{total} @:entry In coda | {count}/{total} @:entry In coda", + "emptyQueueMessage": "Una volta pronto il prompt, fai clic su @:turnstile.queueEntry per aggiungere una voce alla coda.", + "manageSavedTurnstiles": "Gestisci i tornelli salvati", + "saveForm": { + "title": "Salva @:turnstile.title con nome", + "successMessage": { + "detail": "@:turnstile.title è stato salvato." + }, + "errorMessage": { + "detail": "Impossibile salvare il tornello." + } + }, + "loadTurnstiles": { + "title": "Carico @:turnstile.title", + "successMessage": { + "summary": "@:turnstile.title Caricato!", + "detail": "{count} voce caricata e accodata. | Le voci {count} vengono caricate e accodate." + }, + "errorMessage": { + "detail": "Impossibile caricare il tornello." + } + }, + "clearQueue": { + "title": "Cancella coda", + "clearQueueConfirmation": { + "message": "Sei sicuro di voler cancellare la coda? Questo rimuoverà tutti i messaggi che hai aggiunto." + } + }, + "newEntry": { + "title": "Nuova voce" + }, + "invalidEntriesMessage": { + "summary": "Voci non valide", + "detail": "Alcune voci non sono valide o mancano i campi obbligatori. Si prega di correggerli prima di continuare." + }, + "metaSendMissingRootNode": { + "detail": "Impossibile eseguire {metaType}. Assicurati che non sia la prima voce in coda." + }, + "update": { + "successMessage": { + "detail": "@:turnstile.title è stato aggiornato." + }, + "errorMessage": { + "detail": "Impossibile aggiornare il tornello. Hai impostato prompt e modello?" + } + }, + "save": { + "successMessage": { + "detail": "@:turnstile.title è stato salvato." + }, + "errorMessage": { + "detail": "Impossibile salvare il tornello. Hai impostato prompt e modello?" + } + }, + "delete": { + "selected": "Elimina selezionato @:turnstile.title | Elimina selezionato @:turnstile.title", + "deleteConfirmation": { + "header": "Elimina @:turnstile.title", + "description": "Sei sicuro di voler eliminare {turnstileName}? | Sei sicuro di voler eliminare i tornelli {count} ?" + } + }, + "empty": { + "title": "No @:turnstile.title Disponibile.", + "description": "Inizia aggiungendo o importando un nuovo@:turnstile.title__VAR_0__" + }, + "new": "@:new @:turnstile.title", + "entryIndex": "@:entry {index}", + "addContinue": "Aggiungi @:message.renderingActions.continueGeneration", + "addRegenerate": "Aggiungi @:regenerate", + "addPersona": "Aggiungi @:persona.title", + "addShield": "Aggiungi @:contextShield.title", + "addShieldWithSummary": "Aggiungi @:contextShield.contextShieldWithSummary", + "import": { + "title": "Importa @:turnstile.title", + "dragAndDropMessage": "Trascina e rilascia un Msty @:turnstile.title zippato per importare e creare nuovi tornelli. In caso di nomi duplicati i tornelli importati verranno rinominati. Puoi cambiarlo più tardi.", + "successMessage": { + "detail": "Tornelli importati" + }, + "errorMessage": { + "detail": "Impossibile importare i tornelli" + } + }, + "export": { + "title": "Esporta @:turnstile.title", + "selected": "Esporta selezionato @:turnstile.title | Esporta selezionato @:turnstile.title", + "successMessage": { + "detail": "@:turnstile.title esportato come {fileName} | @:turnstile.title esportato come {fileName}" + }, + "errorMessage": { + "detail": "Impossibile esportare @:turnstile.title | Impossibile esportare @:turnstile.title" + } + } + }, + "modelMatchmaker": { + "title": "Matchmaker modello", + "description": "Regola i cursori della gravità in base a punti di forza come codifica, ragionamento o matematica e Matchmaker classificherà e consiglierà i modelli migliori per le tue esigenze. I risultati possono variare in base alla qualità dei dati, alle dimensioni del modello e alla complessità dell'attività.", + "ctaIntro": "Hai trovato il tuo modello?", + "ctaMessage": "Prova e confronta in Msty Studio.", + "gravity": "Gravità", + "remoteOnly": "Solo remoto", + "rankedModels": { + "title": "Modelli classificati", + "emptyMessage": "Nessun modello trovato. Prova a modificare le tue esigenze." + }, + "strengthsLabel": { + "ca": { + "title": "Codifica", + "description": "La capacità di scrivere codice in un linguaggio di programmazione." + }, + "aca": { + "title": "Codifica agentica", + "description": "La capacità dell'agente di scrivere codice in un linguaggio di programmazione." + }, + "daa": { + "title": "@:data Analisi", + "description": "La capacità di analizzare i dati e generare insight." + }, + "ifa": { + "title": "Istruzioni seguenti", + "description": "La capacità di seguire istruzioni ed eseguire compiti." + }, + "jak": { + "title": "CAPRA: Generalista di tutti i mestieri", + "description": "La capacità di eseguire una vasta gamma di compiti." + }, + "la": { + "title": "Lingua", + "description": "La capacità di comprendere e generare il linguaggio umano." + }, + "ma": { + "title": "Matematica", + "description": "La capacità di eseguire calcoli matematici." + }, + "pp": { + "title": "Parafrasando", + "description": "Dimostrata capacità di riscrittura di riformulare qualsiasi testo." + }, + "ra": { + "title": "Ragionamento", + "description": "Pensiero critico: capacità di ragionare e prendere decisioni." + }, + "sim": { + "title": "Semplificazione", + "description": "La capacità di semplificare qualsiasi testo complesso." + }, + "stg": { + "title": "Generazione di storie", + "description": "La capacità di generare storie o narrazioni." + }, + "sum": { + "title": "Riepilogo", + "description": "La capacità di riassumere informazioni testuali e numeriche." + }, + "tu": { + "title": "Utilizzo degli strumenti", + "description": "La possibilità di chiamare e utilizzare strumenti esterni." + }, + "mit": { + "title": "Ingresso massimo Tokens", + "description": "Il n. massimo di tokens accettato in una chiamata." + }, + "mot": { + "title": "Produzione massima Tokens", + "description": "Il n. massimo di tokens generato in una chiamata." + }, + "ics": { + "title": "Ingresso Tokens Risparmio", + "costTitle": "Costo di input/milioni Tokens", + "description": "Il risparmio sui costi derivanti dalla generazione di input tokens." + }, + "ocs": { + "title": "Uscita Tokens Risparmio", + "costTitle": "Costo di produzione/milioni Tokens", + "description": "Il risparmio sui costi di generazione dell'output tokens." + } + }, + "normalizedScore": "Punteggio normalizzato", + "resetStrengths": "Ripristina i punti di forza", + "savePresetForm": { + "title": "@:save Punti di forza come @:preset", + "errorMessage": { + "detail": "Impossibile salvare i punti di forza preimpostati." + }, + "successMessage": { + "detail": "Preimpostazione dei punti di forza salvata." + }, + "loadedMessage": { + "detail": "Punti di forza preimpostati caricati." + } + }, + "deletePresetConfirm": { + "title": "Elimina @:preset", + "message": "Sei sicuro di voler eliminare {presetName}?", + "errorMessage": { + "detail": "Impossibile eliminare i punti di forza preimpostati." + }, + "successMessage": { + "detail": "Preimpostazione dei punti di forza eliminata." + } + } + }, + "costCalculator": { + "title": "Calcolatore dei costi del modello", + "description": "Calcola e confronta i costi per i modelli AI di OpenAI, Anthropic, Google e altri. Stima le tue spese in base all'utilizzo di input/output token e al prezzo del modello. Queste sono solo stime e i costi effettivi possono variare.", + "tokenInputs": "Token Ingressi", + "filters": "Filtri", + "ctaIntro": "Hai trovato il tuo modello?", + "ctaMessage": "Prova e confronta in Msty Studio." + }, + "vramCalculator": { + "title": "Calcolatore VRAM", + "description": "Controlla se un modello è adatto alla VRAM del tuo dispositivo prima di scaricarlo o eseguirlo. Questo calcolatore fornisce una stima dei requisiti VRAM in base all'architettura e alle dimensioni del modello. Seleziona una delle opzioni seguenti per iniziare.", + "ctaIntro": "Hai trovato il tuo modello?", + "ctaMessage": "Prova e confronta in Msty Studio." + }, + "copyOrMoveItemToWorkspace": { + "copyTitle": "Copia {item} negli spazi di lavoro", + "copyOrMoveTitle": "Copia/Sposta {item} negli spazi di lavoro", + "selectWorkspaces": "@:select Spazi di lavoro", + "availableWorkspaces": "Spazi di lavoro disponibili", + "actionLabel": "Azione", + "inputLabel": { + "copy": "Copia {item} in uno o più spazi di lavoro.", + "copyOrMove": "Copia/Sposta {item} in uno o più spazi di lavoro.", + "edit": "Sincronizza questo provider con una o più aree di lavoro. Se questo provider è stato copiato in precedenza, verrà aggiornato. In caso contrario, verrà aggiunto." + }, + "successMessage": { + "copyDetail": "{item} copiato nell'area di lavoro {count} | {item} copiato negli spazi di lavoro {count}", + "moveDetail": "{item} spostato nell'area di lavoro {count} | {item} spostato nelle aree di lavoro {count}" + }, + "errorMessage": { + "copyDetail": "Impossibile copiare {item} nell'area di lavoro {count} | Impossibile copiare {item} negli spazi di lavoro {count}", + "moveDetail": "Impossibile spostare {item} nell'area di lavoro {count} | Impossibile spostare {item} nelle aree di lavoro {count}" + }, + "partialCopyWarningMessage": { + "summary": "Parzialmente copiato", + "detail": "Impossibile copiare {item} nell'area di lavoro {count} | Impossibile copiare {item} negli spazi di lavoro {count}" + }, + "partialMovedWarningMessage": { + "summary": "Parzialmente spostato", + "detail": "Impossibile spostare {item} nell'area di lavoro {count} | Impossibile spostare {item} negli spazi di lavoro {count}" + }, + "existingCopiesInfo": "Alcuni spazi di lavoro ({workspaces}) sono stati saltati perché {item} esiste già al loro interno", + "skippingExistingCopies": "Le copie già esistenti di {item} verranno ignorate." + }, + "assignment": "Compito | Incarichi", + "modelSquad": { + "title": "Squadra modello", + "description": "@:modelSquad.title è una raccolta di modelli IA specializzati, in cui a ciascun modello viene assegnato un compito specifico, come la generazione automatica dei titoli, la generazione del riepilogo @:context , ecc. Quando arriva il momento di eseguire quell'attività specifica, il modello assegnato viene selezionato automaticamente.", + "addNewAssignment": "Aggiungi nuovo @:assignment", + "noTask": "Nessun'altra attività disponibile", + "tasks": { + "autoTitleGeneration": "Generazione automatica dei titoli", + "contextShieldSummaryGeneration": "@:contextShield.title Generazione riepilogativa", + "realTimeDataPromptSynthesis": "@:rtd.title Sintesi rapida", + "forgeContentGeneration": "Forgia la generazione di contenuti", + "piiScrubbing": "@:pii.scrubbing.title", + "iconFinder": "Trova icone" + }, + "save": { + "successMessage": { + "detail": "@:assignment salvato" + }, + "errorMessage": { + "detail": "@:assignment non è riuscito a salvare" + } + }, + "assignment": { + "dialog": { + "title": "Assegna modello per {task}", + "description": "Seleziona un modello da assegnare all'attività {task} in ModelSquad.", + "selectModel": "Seleziona modello", + "selectModelPlaceholder": "Scegli un modello...", + "currentlyAssigned": "Attualmente assegnato: {model}", + "unknownModel": "Modello sconosciuto", + "assignButton": "Assegna modello", + "changeButton": "Cambia modello", + "helpText": "Questo modello verrà utilizzato automaticamente quando viene eseguita l'attività {task} ." + }, + "success": "Modello assegnato a {task} con successo!", + "errors": { + "noModelSelected": "Seleziona un modello da assegnare.", + "saveFailed": "Impossibile salvare l'assegnazione del modello. Per favore riprova." + } + } + }, + "pii": { + "title": "PII (informazioni di identificazione personale)", + "scrubbing": { + "title": "Scrubbing PII", + "description": "Rileva e rimuovi automaticamente le informazioni di identificazione personale dal contenuto dello Stack di conoscenza prima di visualizzarle nelle conversazioni.", + "info": { + "modelAssigned": "Utilizzo di {model} per il rilevamento e la rimozione delle PII." + }, + "warning": { + "noModel": "Nessun modello assegnato per @:pii.scrubbing.title in ModelSquad. Il recupero dello stack di conoscenze avrà esito negativo finché non verrà assegnato un modello.", + "configurationError": "Errore di configurazione@:pii.scrubbing.title : interruzione del recupero dello stack di conoscenza per motivi di sicurezza", + "setupError": "Errore durante l'impostazione di @:pii.scrubbing.title : interruzione del recupero dello stack di conoscenze" + }, + "placeholders": { + "personName": "[NOME_PERSONA]", + "emailAddress": "[INDIRIZZO E-MAIL]", + "phoneNumber": "[NUMERO_TELEFONICO]", + "address": "[INDIRIZZO]", + "idNumber": "[ID_NUMERO]", + "creditCard": "[CARTA_CREDITO]", + "bankAccount": "[CONTO_BANCA]", + "ipAddress": "[INDIRIZZO_IP]", + "dateOfBirth": "[DATA_DI_NASCIA]" + }, + "categories": { + "personalIdentifiers": "Identificatori personali", + "contactInformation": "Informazioni sui contatti", + "financialInformation": "Informazioni finanziarie", + "medicalInformation": "Informazioni mediche", + "digitalIdentifiers": "Identificatori digitali", + "biometricData": "Dati biometrici", + "locationData": "Dati sulla posizione" + } + } + }, + "persona": { + "title": "Persona | Persone", + "newPersona": "Nuovo @:persona.title", + "activePersona": "Attivo @:persona.title", + "empty": { + "title": "No @:persona.title Disponibile.", + "description": "Inizia aggiungendo o importando un nuovo@:persona.title__VAR_0__Puoi anche importare le Persona predefinite per iniziare." + }, + "contextShieldPosition": "@:contextShield.title Posizione", + "save": { + "successMessage": { + "detail": "@:persona.title salvato" + }, + "errorMessage": { + "detail": "@:persona.title non è riuscito a salvare" + } + }, + "update": { + "successMessage": { + "detail": "@:persona.title aggiornato" + }, + "errorMessage": { + "detail": "Impossibile aggiornare @:persona.title" + } + }, + "delete": { + "selected": "Elimina selezionato @:persona.title", + "deleteConfirmation": { + "header": "Elimina @:persona.title", + "description": "Sei sicuro di voler eliminare {personaName}? | Sei sicuro di voler eliminare {count}@:persona.title__VAR_2__" + }, + "successMessage": { + "detail": "@:persona.title cancellato | @:persona.title cancellato" + }, + "errorMessage": { + "detail": "Impossibile eliminare @:persona.title | Impossibile eliminare @:persona.title" + } + }, + "import": { + "title": "Importa @:persona.title", + "dragAndDropMessage": "Trascina e rilascia un Msty @:persona.title zippato per importare e creare nuove Personas. In caso di nomi duplicati, le Persona importate verranno rinominate. Puoi cambiarlo più tardi.", + "successMessage": { + "detail": "Personas importate" + }, + "errorMessage": { + "detail": "Impossibile importare le Personas" + } + }, + "export": { + "title": "Esporta @:persona.title", + "selected": "Esporta selezionato @:persona.title | Esporta selezionato @:persona.title", + "successMessage": { + "detail": "@:persona.title esportato come {fileName} | @:persona.title esportato come {fileName}" + }, + "errorMessage": { + "detail": "Impossibile esportare @:persona.title | Impossibile esportare @:persona.title" + } + }, + "messages": { + "deleteSuccess": "@:persona.title cancellato | @:persona.title eliminato" + }, + "deleteConfirmation": { + "header": "Elimina @:persona.title", + "message": "Sei sicuro di voler eliminare {personaName}? | Sei sicuro di voler eliminare {count}@:persona.title__VAR_2__", + "errorMessage": { + "detail": "Impossibile eliminare @:persona.title | Impossibile eliminare @:persona.title" + } + }, + "addTitle": "Aggiungi @:persona.title", + "createRootFolder": "Nuova cartella alla radice", + "setDefaultFolder": "Imposta come cartella predefinita", + "unsetDefaultFolder": "Annulla la cartella predefinita", + "folderForm": { + "updateSuccessMessage": { + "detail": "@:folder aggiornato" + }, + "updateErrorMessage": { + "detail": "Impossibile aggiornare @:folder" + }, + "createSuccessMessage": { + "detail": "@:folder creato" + }, + "createErrorMessage": { + "detail": "Impossibile creare @:folder" + }, + "deleteConfirmation": { + "header": "Elimina @:folder", + "message": "Sei sicuro di voler eliminare {folderName} con tutti i suoi@:persona.title__VAR_1__", + "successMessage": { + "detail": "@:folder cancellato" + }, + "errorMessage": { + "detail": "Impossibile eliminare @:folder" } } + }, + "selectPlaceholder": "@:select a @:persona.title", + "autoResponder": { + "turnOn": "Attiva la risposta automatica", + "turnOff": "Disattiva la risposta automatica" + }, + "hideAndIsolateSystemPrompt": "Nascondi e isola il prompt del sistema", + "isolateResponse": "Isolare la risposta", + "autoResponderDefault": "Risponditore automatico", + "contextMessageCount": { + "title": "Conteggio del contesto", + "description": "Imposta il numero di messaggi recenti da utilizzare come contesto per@:persona.title__VAR_0__" } }, - "modelHub": { - "sidecarLocalAIProxyEndpoint": { - "description": "Assicurati che @:remoteToolsConnector.title sia in esecuzione e accessibile all'URL fornito tramite Tunneling. Copia e incolla le informazioni complete di connessione Tunnel con token e URL." + "fewShotPrompts": { + "title": "Suggerimenti per pochi scatti", + "description": "Il Few-shot learning è una tecnica di machine learning che consente di addestrare un modello con una piccola quantità di dati. È possibile utilizzare istruzioni di breve durata per fornire esempi al modello per aiutarlo a comprendere il contesto e generare risposte migliori.", + "addNewShot": "Aggiungi nuovo scatto" + }, + "insights": "Approfondimenti", + "cost": "Costo", + "costInUSD": "Costo in USD", + "promptTokens": "Richiedi Tokens", + "completionTokens": "Completamento Tokens", + "totalTokens": "Totale Tokens", + "usage": "Utilizzo", + "tokens": "Tokens", + "tokensProcessed": "Tokens Elaborato", + "selectProvider": "@:select un fornitore | @:select fornitori", + "tokensProcessedForProvider": "Tokens Elaborato per {provider}", + "totalUsage": "Utilizzo totale", + "fromTo": "Da {from} a {to}", + "crunchingTheNumbers": "Calcare i numeri", + "throughputForModel": { + "title": "Produttività per {model}", + "unit": { + "description": "Misurato in tokens al secondo" + } + }, + "latencyForModel": { + "title": "Latenza per {model}", + "unit": { + "description": "Misurato in secondi" + } + }, + "total": "Totale", + "min": "minimo", + "max": "Massimo", + "avg": "Media", + "summary": "Riepilogo", + "dates": { + "today": "Oggi", + "last7Days": "Ultimi 7 giorni", + "last14Days": "Ultimi 14 giorni", + "last30Days": "Ultimi 30 giorni", + "last3Months": "Ultimi 3 mesi", + "last6Months": "Ultimi 6 mesi", + "last12Months": "Ultimi 12 mesi", + "monthToDate": "Dall'inizio del mese a oggi", + "yearToDate": "Da inizio anno", + "allTime": "Tutto il tempo", + "selectDateRange": "@:select intervallo di date", + "month": "Mese", + "year": "Anno", + "day": "Giorno", + "week": "Settimana" + }, + "insightsSummary": { + "emptyState": { + "title": "Riepilogo degli approfondimenti", + "description": "Nessun dato disponibile per l'intervallo di date e i fornitori selezionati." + } + }, + "insightsProviderTokensProcessed": { + "emptyState": { + "title": "Tokens Elaborato", + "description": "Nessun dato disponibile per l'intervallo di date e il fornitore selezionati." + } + }, + "insightsProviderThroughput": { + "emptyState": { + "title": "Produttività", + "description": "Nessun dato disponibile per l'intervallo di date, il fornitore e il modello selezionati." + } + }, + "insightsProviderLatency": { + "emptyState": { + "title": "Latenza", + "description": "Nessun dato disponibile per l'intervallo di date, il fornitore e il modello selezionati." + } + }, + "hideItem": { + "action": "Nascondi {item}", + "successMessage": { + "detail": "{item} è stato nascosto" }, - "mlxModels": { - "mlxCommunityModels": { - "searchPlaceholderAlt": "Cerca modelli MLX ottimizzati da HuggingFace. Oppure inizia con una delle famiglie di modelli qui sotto." + "errorMessage": { + "detail": "Impossibile nascondere {item}" + }, + "unhideParent": "Scopri genitore {item}", + "hiddenParentContentTitle": "Contenuto genitore nascosto. Fare clic per scoprire." + }, + "showItem": { + "action": "Mostra {item}" + }, + "licenseVerification": { + "errorMessage": "Impossibile verificare la licenza. Per favore riprova.", + "enterLicenseKey": "Inserisci la chiave di licenza Aurum", + "licenseTypeInfo": "Stai utilizzando la licenza {licenseType} .", + "licenseKey": "Chiave di licenza", + "logout": "Esci", + "licenseTypeInfoForAdmin": "Stai utilizzando la licenza {licenseType} e hai effettuato l'accesso come proprietario." + }, + "aurum": { + "activateLicense": "Attiva la licenza Gold", + "activateLicenseDescription": "Inserisci la tua chiave di licenza per sbloccare le funzionalità premium", + "manageLicense": "Gestisci licenza", + "lifetimeLicense": "Oro a vita", + "lifetimeLicenseDescription": "Acquisto una tantum con accesso illimitato alle funzionalità premium", + "annualLicense": "Aurum annuale", + "annualLicenseDescription": "Abbonamento annuale con aggiornamenti continui e funzionalità premium", + "oneTimePurchase": "Acquisto una tantum", + "yearlySubscription": "Abbonamento annuale", + "enterLicenseKey": "Chiave di licenza", + "verifyAndActivate": "Verifica e attiva", + "deactivateLicense": "Disattiva licenza", + "licensedTo": "Concesso in licenza a", + "expiresOn": "Scade il", + "expired": "Scaduto", + "expiresInDays": "Scade tra {days} giorni", + "needLicense": "Hai bisogno di una licenza?", + "purchaseLicense": "Acquista su msty.ai", + "hasLicense": "Hai già la patente?", + "manageActivation": "Gestisci l'attivazione" + }, + "cloneItem": { + "action": "Clona {item}", + "successMessage": { + "detail": "{item} è stato clonato" + }, + "errorMessage": { + "detail": "Impossibile clonare {item}" + } + }, + "cloneItemTo": { + "action": "Clona in {item}", + "successMessage": { + "detail": "Clonazione riuscita in un nuovo {item}" + }, + "errorMessage": { + "detail": "Impossibile clonare su un nuovo {item}" + } + }, + "importJson": { + "clipboardTitle": "Importa {item} dagli Appunti JSON", + "fileTitle": "Importa {item} dal file JSON", + "successMessage": { + "detail": "{count} {item} importato correttamente", + "detailDestination": "@:importJson.successMessage.detail {item} a {destination}" + }, + "successMessageWithToolsets": { + "detail": "{count} {item} importato correttamente e set di strumenti corrispondenti creati automaticamente" + }, + "invalidConfig": { + "detail": "Configurazione non valida o niente da importare. Assicurati che il JSON sia valido e riprova." + }, + "errorMessage": { + "detail": "Impossibile importare. Controlla il JSON e riprova." + }, + "partialError": { + "detail": "Impossibile importare gli elementi {failed} : {items}" + }, + "dragAndDropMessage": "Trascina e rilascia un file JSON per importare {item}." + }, + "team": { + "label": "Squadra | Squadre", + "createTeam": "@:create @:team.label", + "inviteUserLabel": "Invita utente", + "overview": "Panoramica", + "usersLabel": "Utenti", + "allTeamLabel": "Tutte le squadre", + "createSuccess": "La squadra {teamName} è stata creata con successo.", + "member": "Membro|Membri", + "allUsers": "Tutti gli utenti", + "addTeamFormHeader": "Crea nuova squadra", + "updateTeamFormHeader": "Modifica squadra", + "addUsers": "Aggiungi utenti", + "updateUsers": "Aggiorna utenti", + "addUserToTeam": "Aggiungi utenti al team", + "teamNameLabel": "Nome della squadra", + "teamNamePlaceholder": "Inserisci il nuovo nome della squadra", + "addTeamDescription": "Crea un nuovo team per gestire le risorse.", + "noUserInTeam": "Nessun utente assegnato a questo team.", + "editTeam": "Modifica squadra", + "invited": "Invitato", + "shortDescription": "Gestisci i tuoi team e utenti.", + "empty": { + "description": "Un team viene utilizzato per gestire le risorse. Puoi aggiungere utenti al team per collaborare e condividere l'accesso alle risorse." + }, + "deleteConfirmation": { + "header": "Elimina squadra", + "message": "Sei sicuro di voler eliminare?", + "inputPlaceholder": "Digita {name} per confermare l'eliminazione.", + "rejectLabel": "@:cancel", + "acceptLabel": "@:delete" + }, + "policies": { + "title": "Politica | Politiche", + "toolbox": { + "title": "@:toolbox.title", + "description": "Consenti all'utente di utilizzare la funzionalità Casella degli strumenti" + }, + "promptsLibrary": { + "title": "@:promptsLibrary.title", + "description": "Consenti all'utente di utilizzare la funzionalità Libreria prompt" + }, + "persona": { + "title": "@:persona.title", + "description": "Consenti all'utente di utilizzare la funzione Persona" + }, + "turnstile": { + "title": "@:turnstile.title", + "description": "Consenti all'utente di utilizzare la funzione Tornello" + }, + "knowledgeStack": { + "title": "@:knowledgeStack.title", + "description": "Consenti all'utente di utilizzare la funzionalità Stack di conoscenza" + }, + "remoteToolsConnector": { + "title": "@:remoteToolsConnector.title", + "description": "Consenti all'utente di utilizzare la funzione @:remoteToolsConnector.title" + }, + "rtd": { + "title": "@:rtd.title", + "description": "Consenti all'utente di utilizzare la funzione @:rtd.title" + }, + "attachments": { + "title": "@:attachments.title", + "description": "Consenti all'utente di utilizzare la funzione @:attachments.title" + }, + "forgeMode": { + "title": "@:forge.forgeMode.title", + "description": "Consenti all'utente di utilizzare la funzione @:forge.forgeMode.title" + }, + "insights": { + "title": "@:insights", + "description": "Consenti all'utente di utilizzare la funzione @:insights" + }, + "platformWeb": { + "title": "Accesso Web a Msty Studio", + "description": "Consenti all'utente di accedere a Msty Studio dal browser web" + }, + "platformDesktop": { + "title": "Accesso al desktop di Msty Studio", + "description": "Consenti all'utente di accedere a Msty Studio dall'applicazione desktop" + }, + "platformAccess": "Accesso alla piattaforma", + "modelHub": { + "description": "Gestire l'accesso a fornitori di modelli specifici." } + }, + "user": { + "noAvailableSeats": "Hai raggiunto il limite per invitare utenti.", + "licenceAndAccess": { + "loggedInAsLabel": "Accedi come", + "useSignInWithEmail": "Un collegamento di accesso sicuro verrà inviato all'indirizzo email fornito. I titolari della licenza Aurum devono verificare la propria chiave di licenza prima di utilizzare questa funzionalità.", + "continueWithlicenseLabel": "continuare con la chiave di licenza", + "sendLoginLink": "Invia collegamento di accesso" + }, + "teamUserFormHeader": "Utenti del team", + "invitationVerification": { + "inProgress": "Verifica della tua richiesta di accesso. attendere prego", + "info": "Sei stato invitato a creare un account su Msty Studio.", + "error": "Qualcosa è andato storto, contatta l'amministratore del tuo account." + }, + "invitationInfo": "Un collegamento di accesso verrà inviato all'e-mail sopra fornita.", + "invitation": { + "successMessage": { + "detail": "Utente {email} invitato." + }, + "invalidEmail": "@:invalid @:email", + "errorMessageUserExist": "L'utente esiste già", + "errorMessage": { + "detail": "Impossibile invitare {email}." + } + }, + "fetch": { + "errorMessage": { + "detail": "Impossibile caricare l'elenco degli utenti" + } + }, + "delete": { + "successMessage": { + "detail": "L'utente {email} è stato eliminato correttamente." + }, + "errorMessage": { + "detail": "Impossibile eliminare l'utente {email}" + } + }, + "deleteConfirmation": { + "header": "Elimina utente", + "message": "Sei sicuro di voler eliminare {email}?", + "rejectLabel": "@:cancel", + "acceptLabel": "@:delete" + }, + "assignUserToTeamLabel": "Assegna gli utenti al team {teamName}", + "assignUserToTeamSuccess": "Assegnato {user} al team {teamName}riuscito", + "unassignUserToTeamLabel": "Rimuovi l'utente dal team", + "unassignUserToTeamMessage": "Elimina {user} dalla squadra {teamName}", + "selectUserToAddToTeamPlaceholder": "@:select utenti da aggiungere" } }, - "logViewer": { - "description": "Visualizza e analizza i log dell'applicazione in tempo reale. Usa filtri e ricerca per risolvere i problemi in modo efficiente." + "updateItem": { + "action": "Aggiorna {item}", + "editAction": "Modifica {item}", + "successMessage": { + "detail": "{item} è stato aggiornato" + }, + "errorMessage": { + "detail": "Impossibile aggiornare {item}" + } }, - "settings": { - "prompts": { - "description": "Questi prompt definiscono come vengono generati i titoli, costruite le query di ricerca, recuperate le conoscenze e sintetizzato il contesto. Le modifiche vengono salvate nelle impostazioni globali di questo dispositivo (database principale) e si applicano a tutti gli spazi di lavoro (non per singolo spazio di lavoro).", - "customized": "Personalizzato", - "customizedCount": "{count} personalizzati", - "selectPrompt": "Seleziona un prompt da personalizzare" + "modelPurpose": { + "text": "Testo", + "tools": "Utensili", + "vision": "Visione", + "coding": "Codifica", + "embedding": "Incorporamento", + "streaming": "Streaming", + "image": "Immagine", + "thinking": "Pensiero" + }, + "editModel": { + "inputLabels": { + "label": "Etichetta", + "purpose": "Scopo" + } + }, + "environment": { + "selectPlaceholder": "@:select e @:environment.title", + "new": "Nuovo @:environment.title", + "title": "Ambiente | Ambienti", + "empty": { + "description": "Aggiungi nuovi ambienti per iniziare." }, - "language": { - "sectionTitle": "Lingua e localizzazione" + "save": { + "successMessage": { + "detail": "@:environment.title salvato" + }, + "errorMessage": { + "detail": "@:environment.title non è riuscito a salvare" + } }, - "remoteToolsConnector": { - "enableTunneling": "Abilita Tunneling (Sperimentale)" + "delete": { + "title": "@:delete @:environment.title | Elimina @:environment.title", + "selected": "@:delete Selezionato @:environment.title | Elimina selezionato @:environment.title", + "deleteConfirmation": { + "header": "@:delete @:environment.title", + "description": "Sei sicuro di voler eliminare {environmentName}? | Vuoi eliminare gli ambienti {count} ?" + }, + "successMessage": { + "detail": "@:environment.title cancellato | @:environment.title cancellato" + }, + "errorMessage": { + "detail": "Impossibile eliminare @:environment.title | Impossibile eliminare @:environment.title" + } }, - "mlx": { - "notInstalled": { - "description": "Configura @:mlxService per eseguire modelli AI ottimizzati sul tuo Mac Apple Silicon." + "backup": { + "title": "Backup @:environment.title", + "successMessage": { + "detail": "@:environment.title eseguito il backup" }, - "manageModels": { - "description": "Sfoglia, installa e gestisci i modelli MLX ottimizzati per Apple Silicon." + "errorMessage": { + "detail": "Impossibile eseguire il backup di @:environment.title" } + }, + "restore": { + "title": "Ripristina @:environment.title", + "dragAndDropMessage": "Trascina e rilascia un file Msty Environment per ripristinare gli ambienti. Nota: tutti gli ambienti esistenti verranno eliminati e sostituiti con quelli importati.", + "successMessage": { + "detail": "@:environment.title restaurato" + }, + "errorMessage": { + "detail": "Impossibile ripristinare @:environment.title" + } + }, + "quickSelect": { + "title": "Variabile d'ambiente @:select rapida", + "selectPlaceholder": "Cerca o seleziona una variabile per copiarla negli appunti" } }, - "modelMatchmaker": { - "strengthsLabel": { - "daa": { - "description": "La capacità di analizzare dati e generare informazioni." + "makeActive": { + "title": "Rendi attivo {itemType}", + "isActive": "Attivo {itemType}", + "successMessage": { + "detail": "{itemName} è ora il {itemType}attivo" + }, + "errorMessage": { + "detail": "Impossibile rendere {itemName} come {itemType}attivo" + } + }, + "moveItem": { + "action": "Sposta {item}", + "moveLocation": "Sposta {count} {sourceType} in {item}", + "confirmation": { + "message": "Sei sicuro di voler spostare il {item}selezionato?" + }, + "successMessage": { + "detail": "{item} è stato spostato | {item} sono stati spostati" + }, + "errorMessage": { + "detail": "Impossibile spostare {item}" + }, + "errrorMessage": { + "detail": "Impossibile spostare {item}" + }, + "cannotDetermineTargetProject": "Impossibile determinare il progetto di destinazione.", + "cannotDetermineTargetFolder": "Impossibile determinare la cartella di destinazione." + }, + "deleteItem": { + "action": "Elimina {item}", + "successMessage": { + "detail": "{item} è stato eliminato" + }, + "errorMessage": { + "detail": "Impossibile eliminare {item}" + } + }, + "promptsLibrary": { + "title": "@:prompt Biblioteca", + "newPrompt": "Nuovo @:prompt", + "search": "@:search.label @:prompt", + "quickPrompt": "Veloce @:prompt", + "saveToQuickPrompts": "Salva in Rapido @:prompt", + "copyPrompt": "Copia @:prompt negli appunti", + "shortcutUsage": "Digita / per cercare @:promptsLibrary.title", + "setDefaultFolder": "Imposta come cartella predefinita", + "unsetDefaultFolder": "Annulla la cartella predefinita", + "createRootFolder": "Nuova cartella alla radice", + "folder": "@:folder", + "prompt": "@:prompt", + "deleteAllPrompt": { + "title": "Elimina tutto @:prompt e @:folders", + "description": "Verranno cancellati interamente @:promptsLibrary.title e @:folder@:folders. Non è possibile recuperarli dopo l'eliminazione.", + "successMessage": { + "detail": "Tutti gli @:prompt cancellati" + } + }, + "empty": { + "title": "No @:persona.title Disponibile.", + "description": "Inizia aggiungendo o importando un nuovo@:prompt__VAR_0__Puoi anche importare il @:prompt predefinito per iniziare." + }, + "import": { + "title": "Importa predefinito @:prompt", + "successMessage": { + "detail": "Ora puoi utilizzare le istruzioni importate nelle tue conversazioni." }, - "sum": { - "title": "Riassunto", - "description": "La capacità di sintetizzare informazioni testuali e numeriche." + "copyMultiplePrompts": "Copia {count} @:prompt negli appunti", + "errorMessage": { + "detail": "Impossibile importare il valore predefinito @:prompt" + }, + "copyErrorMessage": { + "detail": "Impossibile copiare@:prompt__VAR_0__Riprova." + } + }, + "folderForm": { + "updateSuccessMessage": { + "detail": "@:folder aggiornato" + }, + "updateErrorMessage": { + "detail": "Impossibile aggiornare @:folder" + }, + "createSuccessMessage": { + "detail": "@:folder creato" + }, + "createErrorMessage": { + "detail": "Impossibile creare @:folder" + }, + "deleteConfirmation": { + "header": "Elimina @:folder", + "message": "Sei sicuro di voler eliminare {folderName} con tutte le sue sottocartelle e istruzioni?", + "successMessage": { + "detail": "@:folder cancellato" + }, + "errorMessage": { + "detail": "Impossibile eliminare @:folder" + } + } + }, + "promptForm": { + "addTitle": "Aggiungi nuovo @:prompt", + "editTitle": "Modifica @:prompt", + "promptName": "@:prompt Nome", + "promptDescription": "@:description", + "updateSuccessMessage": { + "detail": "@:prompt aggiornato" + }, + "updateErrorMessage": { + "detail": "Impossibile aggiornare @:prompt" + }, + "createSuccessMessage": { + "detail": "@:prompt creato" + }, + "createErrorMessage": { + "detail": "Impossibile creare @:prompt" + }, + "deleteConfirmation": { + "header": "Elimina {count} @:prompt", + "message": "Sei sicuro di voler eliminare?", + "successMessage": { + "detail": "@:prompt cancellato" + }, + "errorMessage": { + "detail": "Impossibile eliminare @:prompt" + } } + } + }, + "importDefault": { + "title": "Importa predefinito {item}", + "successMessage": { + "detail": "Valore predefinito {item} importato" }, - "normalizedScore": "Punteggio normalizzato" + "errorMessage": { + "detail": "Impossibile importare il {item}predefinito" + } }, - "modelSquad": { - "description": "@:modelSquad.title è una raccolta di modelli AI specializzati, dove ogni modello è assegnato a un compito specifico, come la generazione automatica dei titoli, la generazione del riepilogo del @:context, ecc. Quando è il momento di eseguire quel compito specifico, il modello assegnato viene selezionato automaticamente." + "contextIsolation": { + "isolate": "Isola @:context", + "unIsolate": "Rimuovi l'isolamento @:context", + "label": "Isolato @:context", + "clearAll": { + "title": "Cancella tutti gli isolamenti @:context", + "successMessage": { + "detail": "Tutti gli @:context Isolamenti cancellati" + } + } + }, + "responseMetrics": { + "title": "Metriche di risposta", + "longPressOrAltClickToCycle": "Premi a lungo o fai clic con Alt per scorrere le metriche" + }, + "quickView": "Visualizzazione rapida", + "detailsView": "Visualizzazione dettagli", + "input": "Ingresso | Ingressi", + "output": "Uscita | Uscite", + "think": "Pensare", + "reasoning": { + "emptyNotice": "Il modello ha eseguito il pensiero interno ma non ha restituito un riepilogo. Per abilitare i riepiloghi delle riflessioni, applica il tag 'Pensare' a questo modello facendo clic sull'icona di modifica accanto alla selezione del modello." + }, + "service": "Servizio | Servizi", + "localAIService": "@:localAI @:service", + "version": "Versione | Versioni", + "invalidConfig": "Configurazione non valida. Inserisci un oggetto JSON valido.", + "unsavedChanges": "Modifiche non salvate", + "saveChanges": "Salva modifiche", + "day": "Giorno | Giorni", + "every": "Ogni", + "files": "File", + "file": "File | @:files", + "reallyDelete": "Elimina davvero?", + "similarity": "Somiglianza", + "saveAsDraft": "Salva come bozza", + "compose": "Comporre", + "embeddingModel": "Modello di incorporamento", + "document": "Documento | Documenti", + "matched": "Abbinato", + "active": "Attivo", + "inactive": "Inattivo", + "folderName": "@:folder Nome", + "addNewFolder": "Aggiungi nuovo @:folder", + "editFolder": "Modifica @:folder", + "errorGeneric": "Si è verificato un errore. Per favore riprova più tardi. Controlla i log per maggiori dettagli.", + "sharedService": { + "modelsPath": { + "title": "Percorso dei modelli", + "description": "Qui è dove {service} scarica e cerca i modelli. È possibile aggiornare il percorso per utilizzare una cartella personalizzata.", + "edit": { + "title": "Modifica percorso modelli", + "description": "Imposta la tua posizione preferita.", + "willRestartWarning": "Nota: la modifica del percorso del modello riavvierà {service} affinché le modifiche abbiano effetto.", + "selectModelsPath": "Seleziona Percorso modelli", + "successMessage": { + "detail": "Percorso dei modelli aggiornato" + }, + "errorMessage": { + "detail": "Impossibile aggiornare il percorso dei modelli" + } + } + }, + "quickPromptDialog": { + "title": "Salva in Rapido @:prompt", + "description": "Dai al tuo prompt di sistema un breve titolo. Verrà aggiunto ai suggerimenti rapidi per un facile riutilizzo.", + "nameLabel": "Nome rapido @:prompt", + "successMessage": "Prompt di sistema salvato in Prompt rapidi.", + "errorMessage": "Impossibile salvare la richiesta di sistema nei prompt rapidi.", + "emptyPromptMessage": "Aggiungi del testo del prompt di sistema prima di salvare in Prompt rapidi." + }, + "serviceHealth": { + "title": "Integrità del servizio", + "description": "Stato del {service}. Hai problemi? Prova a riavviare o a rivedere i log.", + "serviceAction": { + "restartService": "Riavviare il servizio", + "stopService": "Interrompere il servizio", + "startService": "Avvia servizio", + "errorMessage": { + "detail": "Impossibile eseguire {action} su {service}. Per favore controlla i log per maggiori dettagli." + }, + "restartSuccessMessage": { + "detail": "{service} Riavviato" + } + }, + "serviceStatus": { + "starting": "Di partenza", + "running": "Corsa", + "stopped": "Fermato" + } + }, + "serviceEndpoint": { + "title": "Endpoint del servizio | Endpoint di servizio", + "description": { + "base": "Endpoint locale per {service}. Utilizzalo per connetterti da altre applicazioni in esecuzione localmente sul dispositivo.", + "serviceIsNotRunning": "Una volta che il servizio è in esecuzione, l'indirizzo verrà visualizzato qui.", + "serviceIsAvailableOnNetwork": "Poiché il servizio è disponibile sulla rete, puoi anche connetterti ad esso utilizzando l'URL del servizio di rete da altri dispositivi." + }, + "copyNetworkURL": "Copia URL di rete" + }, + "serviceVersion": { + "title": "Versione del servizio", + "description": "Mostra la versione corrente di {service}. Per garantire prestazioni ottimali e accesso a nuove funzionalità, mantienilo aggiornato. Se necessario, è disponibile anche la reinstallazione.", + "forceUpdate": { + "title": "Forza aggiornamento {service}", + "forCpu": "Forza aggiornamento {service} (CPU)", + "forCuda": "Forza aggiornamento {service} (CUDA)", + "forCuda124": "Forza aggiornamento {service} (CUDA 12.4)", + "forCuda131": "Forza aggiornamento {service} (CUDA 13.1)", + "forVulkan": "Aggiornamento forzato {service} (Il vulcano)", + "forRocm": "Forza aggiornamento {service} (ROCm)", + "forOpencl": "Forza aggiornamento {service} (OpenCL)", + "forSycl": "Forza aggiornamento {service} (SYCL)", + "successMessage": { + "detail": "{service} è aggiornato all'ultima versione {version}" + }, + "errorMessage": { + "detail": "Impossibile aggiornare {service}. Per favore controlla i log per maggiori dettagli." + } + }, + "removeService": { + "title": "Rimuovi {service}", + "confirmationHeader": "Rimuovi {service}", + "confirmationMessage": "Sei sicuro di voler rimuovere {service}? Ciò eliminerà il servizio binario e tutte le sue configurazioni. Puoi reinstallarlo in seguito dalla pagina delle impostazioni.", + "confirmationAccept": "Rimuovi", + "successMessage": { + "detail": "{service} è stato rimosso con successo" + }, + "errorMessage": { + "detail": "Impossibile rimuovere {service}. Per favore controlla i log per maggiori dettagli." + } + } + }, + "serviceConfigurations": { + "title": "Configurazioni del servizio", + "description": "Queste configurazioni vengono applicate a {service} all'avvio. {service} si riavvierà automaticamente dopo aver salvato eventuali modifiche.", + "enableNetworkAccess": { + "title": "Abilita accesso alla rete", + "description": "Consenti ad altri dispositivi sulla tua rete di accedere a questo {service} tramite l'indirizzo IP di questo dispositivo." + }, + "allowMstyStudioAccess": { + "title": "Consenti l'accesso da Msty Studio", + "description": "Consenti connessioni da Msty Studio Web a questa app in modo che possa accedere a {service}." + }, + "captureServiceLogs": { + "title": "Acquisisci registri di servizio", + "description": "Abilita la registrazione per acquisire i dati del servizio per il debug. Utilizzare questa opzione solo quando necessario." + }, + "unsavedChanges": { + "message": "Sono presenti modifiche non salvate nelle configurazioni {service} . Una volta salvato, {service} verrà riavviato con le nuove configurazioni.", + "saveChanges": "Salva modifiche e riavvia il servizio", + "successMessage": { + "detail": "{service} Configurazioni salvate e servizio riavviato" + }, + "errorMessage": { + "detail": "Impossibile salvare le configurazioni {service} . Per favore controlla i log per maggiori dettagli." + } + } + }, + "modelConfigurations": { + "title": "@:model Configurazioni", + "description": "Queste configurazioni vengono applicate a tutti i modelli durante le sessioni di chat." + } }, "keyboardShortcuts": { - "description": "Personalizza le scorciatoie da tastiera per un accesso rapido alle funzionalità" + "title": "Scorciatoie da tastiera", + "description": "Personalizza le scorciatoie da tastiera per un rapido accesso alle funzionalità", + "search": "Cerca scorciatoie...", + "searchByShortcut": "Cerca per scorciatoia", + "searchByName": "Cerca per nome", + "pressShortcut": "Premere qualsiasi combinazione di tasti...", + "pressKeys": "Premere i tasti...", + "notSet": "Non impostato", + "edit": "Modifica scorciatoia", + "clear": "Pulisci", + "global": "Globale", + "saved": "Scorciatoia salvata", + "error": "Errore durante il salvataggio della scorciatoia", + "reset": "Reimpostazione della scorciatoia", + "resetToDefault": "Ripristina le impostazioni predefinite", + "resetAll": "Ripristina tutte le scorciatoie", + "allReset": "Tutte le scorciatoie vengono ripristinate ai valori predefiniti", + "noResults": "Nessuna scorciatoia trovata", + "conflictWith": "Conflitto con: {name}", + "categories": { + "all": "Tutto", + "general": "Generale", + "navigation": "Navigazione", + "appearance": "@:settings.appearance", + "conversation": "Conversazione" + }, + "resetAllConfirm": { + "title": "Ripristina tutte le scorciatoie", + "message": "Sei sicuro di voler reimpostare tutte le scorciatoie da tastiera sui valori predefiniti?" + }, + "help": { + "title": "Scorciatoie da tastiera", + "customizeButton": "Personalizza le scorciatoie" + }, + "contextual": "Contestuale", + "systemWide": "A livello di sistema", + "perSplit": "Per divisione", + "macOptionHint": "Le scorciatoie da tasto Opzione funzionano in Msty. Se invece producono caratteri speciali, controlla Impostazioni di sistema > Tastiera > Sorgenti di input", + "example": { + "title": "Esempio di scorciatoie da tastiera", + "description": "Questo componente dimostra come registrare e utilizzare le scelte rapide da tastiera nei componenti.", + "registeredShortcuts": "Scorciatoie registrate:", + "exampleAction1": "Esempio di azione 1", + "scopedAction": "Azione con ambito", + "actions": "Azioni:", + "updateFirstShortcut": "Aggiorna il primo collegamento", + "testConflictDetection": "Testare il rilevamento dei conflitti", + "actionLog": "Registro delle azioni:", + "noActionsYet": "Nessuna azione ancora. Prova a premere le scorciatoie!", + "developerNotes": { + "title": "Note dello sviluppatore:", + "items": [ + "I collegamenti vengono automaticamente ripuliti quando il componente viene smontato", + "Utilizza scorciatoie con ambito componente per evitare conflitti di ID", + "I collegamenti specifici della piattaforma vengono gestiti automaticamente (Cmd su Mac, Ctrl su Windows)", + "Verifica la presenza di conflitti prima di registrare scorciatoie che potrebbero entrare in conflitto con quelle esistenti", + "Le scorciatoie possono essere globali (funzionano ovunque) o specifiche del contesto" + ] + } + }, + "splitRemoval": { + "selectSplitToRemove": "Seleziona la divisione da rimuovere", + "pressKeysToCancel": "Premere", + "remove": "Rimuovi" + } + }, + "createNew": "Crea nuovo", + "copy": "Copia", + "miniMapActions": { + "noMessageSelectedWarning": { + "summary": "Nessun messaggio selezionato", + "detail": "Seleziona almeno un messaggio per eseguire qualsiasi azione" + }, + "exportOrCopyMessage": { + "exportMessage": "Esporta messaggio | Esporta messaggi", + "copyMessage": "Copia messaggio | Copia messaggi", + "asJson": "Come JSON", + "asMarkdown": "Come Markdown", + "successMessage": "Messaggi {action} riusciti come {format}", + "action": { + "export": "esportato", + "copy": "copiato" + } + } + }, + "reIndexItem": { + "action": "Reindicizzare {item}", + "successMessage": { + "detail": "{item} reindicizzato correttamente" + }, + "errorMessage": { + "detail": "Impossibile reindicizzare {item}" + }, + "confirmationMessage": "Sei sicuro di voler reindicizzare {item}?" }, + "recent": "Recenti|Recenti", + "recentsPinned": "Recenti e @:pinned", "knowledgeStack": { + "title": "Stack di conoscenza | Stack di conoscenza", + "contexts": "@:knowledgeStack.title Contesti", + "composeProgress": { + "processing": "Elaborazione: {fileName}", + "composing": "Comporre", + "composingEllipsis": "Composizione…", + "files": "File", + "notes": "Note", + "youtube": "YouTube", + "folders": "Cartelle", + "overallProgress": "Progresso complessivo", + "inFlight": "In volo:" + }, + "itemStatus": { + "ignoredForRetrieval": "Ignorato per il recupero" + }, + "cloudShare": { + "importingFolder": "Cartella di importazione: {name}", + "processingCount": "Elaborazione dello/degli stack/i di conoscenza {count}" + }, + "saveEdits": { + "title": "Salva modifiche", + "confirmation": { + "header": "Salva modifiche e contrassegna come bozza", + "message": "Sei sicuro di voler salvare le modifiche? Ciò contrassegnerà lo stack di conoscenze come bozza e ne impedirà l'utilizzo in produzione fino alla nuova elaborazione." + } + }, + "selectFolderForImport": "Scegli dove importare @:knowledgeStack.title", + "newKnowledgeStack": "Nuovo @:knowledgeStack.title", + "addDescription": "Aggiungi descrizione", + "editDescription": "Modifica descrizione", + "descriptionPlaceholder": "Aggiungi una descrizione per questo stack di conoscenze...", + "autoSaving": "Risparmio...", + "autoSaved": "Salvato {time}", + "basicInfo": "Informazioni di base", + "similarityThreshold": "@:similarity Soglia", + "similarityMatch": "@:similarity Partita", + "unsavedChanges": { + "confirmNavigation": "Sono presenti modifiche non salvate. Sei sicuro di voler lasciare questa pagina? Le modifiche andranno perse.", + "confirmReload": "Sono presenti modifiche non salvate che andranno perse se ricarichi la pagina." + }, + "empty": { + "title": "Nessun @:knowledgeStack.title selezionato", + "description": "Knowledge Stack ti consente di importare file, cartelle, note e trascrizioni di YouTube, rendendoli ricercabili e pronti per la chat tramite Retrieval-Augmented Generation (RAG)" + }, + "selectOrCreate": "Seleziona un @:knowledgeStack.title", + "selectFromTreeOrCreate": "Seleziona un @:knowledgeStack.title dall'albero o creane uno nuovo", + "folderForm": { + "addTitle": "Aggiungi nuovo @:folder", + "editTitle": "Modifica @:folder", + "editIgnoreRules": "Modifica Ignora regole", + "editIgnoreRulesTitle": "Ignora le regole", + "ignoreRulesDescription": "Definire modelli per escludere file e cartelle dall'elaborazione.", + "ignoreRulesHierarchySimple": "Priorità: .mstyignore/.gitignore locale → Regole cartella → Impostazioni predefinite del sistema", + "ignoreRulesPlaceholder": "# Inserisci qui i modelli, uno per riga\n# Esempio: *.log, node_modules/, !important.txt", + "showExamples": "Mostra esempi e aiuto", + "ignoreExample1": "File di registro", + "ignoreExample2": "File temporanei in tutte le directory", + "ignoreExample3": "Intera directory", + "ignoreExample4": "Modello di eccezione", + "ignoreExample5": "Tipi di immagini multiple", + "ignoreExample6": "Tutti i file in test e sottodirectory", + "ignoreExample7": "Corrispondenza senza distinzione tra maiuscole e minuscole", + "ignoreExample8": "File che iniziano con secret-", + "insertTemplate": "Usa il modello", + "clearContent": "Cancella tutto", + "ignoreRulesUpdated": "Ignora le regole aggiornate correttamente", + "ignoreRulesUpdateError": "Impossibile aggiornare le regole di ignoranza", + "deleteConfirmation": { + "header": "Elimina @:folder '{folderName}'", + "message": "Sei sicuro di voler eliminare questa cartella? Tutti gli stack di conoscenza al suo interno verranno rimossi. Non è possibile annullare questa azione.", + "successMessage": { + "detail": "@:folder cancellato" + }, + "errorMessage": { + "detail": "Impossibile eliminare @:folder" + } + }, + "updateErrorMessage": { + "detail": "Impossibile aggiornare @:folder" + }, + "createSuccessMessage": { + "detail": "@:folder creato" + }, + "createErrorMessage": { + "detail": "Impossibile creare @:folder" + } + }, + "setDefaultFolder": "Imposta come cartella predefinita", + "unsetDefaultFolder": "Annulla la cartella predefinita", + "createRootFolder": "Nuova cartella alla radice", + "knowledgeStackForm": { + "addTitle": "Aggiungi nuovo @:knowledgeStack.title", + "deleteConfirmation": { + "header": "Elimina @:knowledgeStack.title", + "message": "Sei sicuro di voler eliminare questo stack di conoscenze? Tutti gli elementi al suo interno verranno rimossi. Non è possibile annullare questa azione." + } + }, + "deleteAllKnowledgeStack": { + "title": "Elimina tutto @:knowledgeStack.title", + "description": "Questo cancellerà interamente@:knowledgeStack.title__VAR_0__Non c'è modo di recuperarli dopo l'eliminazione.", + "successMessage": { + "detail": "Tutti gli @:knowledgeStack.title cancellati" + }, + "errorMessage": { + "detail": "Impossibile eliminare tutto @:knowledgeStack.title" + } + }, + "chunksConsole": { + "chunk": "Pezzo | @:knowledgeStack.chunksConsole.chunks", + "chunks": "Pezzi", + "title": "@:knowledgeStack.chunksConsole.chunks Consolle", + "description": "Utilizza questa console per capire come viene utilizzato il tuo Knowledge Stack, { title }e quali blocchi vengono inviati a un modello durante la chat. Puoi anche eliminare un pezzo se ritieni che non sia rilevante o utile.", + "queryText": "Testo della query", + "similarityFilter": { + "title": "@:similarity", + "all": "Tutto", + "highest": "Più alto", + "high": "Alto", + "medium": "Medio", + "low": "Basso" + }, + "matchCount": "N. di @:knowledgeStack.chunksConsole.chunks", + "sourceFile": "File di origine", + "sourceNote": "Nota sulla fonte", + "sourceVideo": "Video sorgente", + "source": "Fonte", + "score": "Punto", + "searchResults": "Risultati della ricerca", + "noResultsFound": "Nessun risultato di ricerca trovato. Prova a modificare le impostazioni della query o della ricerca.", + "noResultsAfterFilter": "Nessun risultato corrisponde al filtro di somiglianza corrente. Prova a modificare il filtro per mostrare più risultati.", + "deleteChunk": { + "successMessage": { + "detail": "@:knowledgeStack.chunksConsole.chunk è stato eliminato" + } + }, + "searchType": { + "title": "Tipo di ricerca", + "hybrid": "Ricerca ibrida", + "semantic": "Ricerca semantica", + "keyword": "Ricerca per parole chiave" + }, + "filterDisclaimer": "Questo filtro influisce solo sui risultati visualizzati di seguito. Non modifica la query effettiva.", + "tooltip": { + "scrubbed": "Il contenuto è stato ripulito per la rimozione delle PII", + "cached": "Versione utilizzata con rimozione cache memorizzata", + "fresh": "Contenuto appena ripulito" + }, + "runQuery": "Esegui interrogazione" + }, + "addon": { + "title": "@:knowledgeStack.title", + "selectedCount": "{count} selezionato", + "selectedStacks": "Stack selezionati", + "searchPlaceholder": "Cerca negli stack di conoscenza...", + "recentlyUpdated": "Aggiornato di recente", + "searchResults": "Risultati della ricerca", + "noResults": "Nessuno stack di conoscenze trovato", + "noStacks": "Nessuno stack di conoscenze disponibile", + "noDescription": "Nessuna descrizione", + "numberOfChunks": "Numero di @:knowledgeStack.chunksConsole.chunks", + "searchType": "Tipo di ricerca", + "synthesizePrompt": "Sintetizza query", + "enablePiiScrubbing": "Abilita la pulizia PII", + "fullContentContextLimit": "Contesti di contenuto completo massimo", + "fullContentContextWarning": "I contesti di contenuto completo possono aumentare in modo significativo l'utilizzo di token e possono influire sulle prestazioni", + "manageStacks": "Gestisci pile", + "onlyCompletedStacks": "È possibile selezionare solo gli stack completati" + }, + "totalFiles": "File totali", + "vectorDimensions": "Dimensioni vettoriali", + "wordCount": "Conteggio parole", + "readingTime": "Tempo di lettura", + "embeddingModel": { + "title": "Modello di incorporamento", + "noModel": "Nessun modello di incorporamento configurato", + "modelMissing": "Modello {modelId} non trovato", + "providerRemapped": "Il provider del modello è stato rimappato automaticamente", + "changeModel": "Modifica il modello di incorporamento delle query", + "selectModel": "Seleziona Modello di incorporamento query", + "missingModelWarning": "Il modello di incorporamento originale per questo stack di conoscenze non è disponibile. Seleziona un nuovo modello.", + "providerRemappedInfo": "Il provider del modello di incorporamento è stato rimappato automaticamente a un provider compatibile.", + "currentModel": "Modello attuale", + "noModelConfigured": "Nessun modello configurato", + "selectNewModel": "Seleziona Nuovo modello", + "defaultLocal": "Predefinito (locale)" + }, + "buckets": { + "files": { + "title": "@:files", + "description": "Aggiungi .pdf, .csv, .md, .json, .jsonl, .xlsx, .docx, .rtf, .txt, .pptx o qualsiasi altro tipo di file supportato.", + "dropZoneText": "Trascina e rilascia i file qui", + "browseFiles": "Sfoglia file", + "dropHint": "Rilascia i file qui" + }, + "folders": { + "title": "@:folders e cripte di ossidiana", + "description": "Aggiungi cartelle contenenti file. Puoi anche rilasciare Obsidian Vault.", + "dropZoneText": "Trascina e rilascia le cartelle qui", + "browseFolders": "Sfoglia cartelle", + "liveMode": "Modalità dal vivo", + "liveModeDescription": "Le cartelle vengono monitorate per eventuali modifiche e aggiornano automaticamente lo stack di conoscenze", + "duplicateFolder": "Cartella duplicata", + "alreadyAdded": "Cartella già aggiunta", + "folderAlreadyExists": "Questa cartella è già stata aggiunta a @:knowledgeStack.title", + "folderAlreadyAdded": "La cartella '{path}' è già stata aggiunta", + "folderProcessed": "Cartella elaborata", + "filesAdded": "File{count} aggiunti correttamente", + "onlyFoldersAllowed": "Qui è possibile aggiungere solo cartelle. Seleziona una cartella anziché singoli file.", + "selectFolder": "Seleziona Cartella", + "useDirectoryPicker": "Utilizzare il pulsante Sfoglia per selezionare una cartella in modalità Web", + "processed": "Elaborato", + "processingError": "Cartella Errore nell'elaborazione", + "folderExplorer": "Esplora cartelle", + "showIgnoredFiles": "Mostra file ignorati", + "noFolders": "Nessuna cartella ancora aggiunta", + "refresh": "Aggiorna", + "showInFileManager": "Mostra nel File Manager", + "remove": "Rimuovi", + "loadError": "Impossibile caricare la cartella", + "removed": "Cartella rimossa", + "folderRemoved": "'{name}' è stato rimosso dallo Stack di conoscenza", + "removeError": "Impossibile rimuovere la cartella", + "ignored": "Ignorato", + "loading": "Caricamento...", + "loadingContents": "Caricamento contenuto cartella...", + "confirmRemove": "Sei sicuro di voler rimuovere \"{name}\" da questo Knowledge Stack? La cartella e i suoi file rimarranno nel tuo sistema.", + "expandFolder": "Espandi cartella", + "collapseFolder": "Comprimi cartella", + "folderIgnored": "Questa cartella viene ignorata in base alle regole .mstyignore o .gitignore", + "fileIgnored": "Questo file viene ignorato in base alle regole .mstyignore o .gitignore", + "actionMenu": "Menù azioni", + "emptyFolder": "Cartella vuota", + "itemCount": "{count} articolo | {count} elementi", + "hiddenItemCount": "{count} oggetto nascosto | {count} oggetti nascosti" + }, + "obsidianVaults": { + "title": "Cripte di ossidiana", + "description": "Aggiungi le casseforti di ossidiana al tuo stack di conoscenze. Msty indicizzerà tutte le note nel caveau.", + "dropZoneText": "Trascina e rilascia Obsidian Vault qui", + "browseVaults": "Sfoglia le cripte di ossidiana" + }, + "notes": { + "title": "Note", + "description": "Aggiungi le tue note allo Stack di conoscenza. Queste note verranno suddivise in blocchi e incorporate per la ricerca semantica.", + "addNote": "Aggiungi nota", + "titlePlaceholder": "Inserisci il titolo della nota...", + "contentPlaceholder": "Inserisci il contenuto della nota...", + "empty": "Nessuna nota ancora aggiunta. Fai clic su 'Aggiungi nota' per iniziare.", + "unsaved": "Non ancora salvato" + }, + "youTubeLinks": { + "title": "Collegamenti di YouTube", + "description": "Aggiungi collegamenti video di YouTube per indicizzare le loro trascrizioni. Msty recupererà le trascrizioni e le renderà ricercabili.", + "dropZoneText": "Trascina e rilascia i link di YouTube qui o incollali di seguito", + "inputPlaceholder": "Incolla qui gli URL di YouTube (separati da spazi o virgole)...", + "inputPlaceholderWithDetected": "Incolla qui gli URL di YouTube ({count} rilevati) | Incolla qui gli URL di YouTube ({count} rilevato)", + "autoDetection": "Estrai automaticamente gli URL rilevati", + "detectedCount": "{count} URL rilevato | {count} URL rilevati", + "detectedUnpulledUrls": "{count} URL di YouTube rilevato ma non ancora estratto | {count} URL di YouTube rilevati ma non ancora estratti" + } + }, + "itemActions": { + "markForReprocessing": "Contrassegnare per il ricondizionamento", + "lockTemporary": "Blocca temporaneamente", + "lockPermanent": "Blocca permanentemente", + "unlock": "Sbloccare", + "ignoreRetrieval": "Ignorare per il recupero", + "unignoreRetrieval": "Includi nel recupero", + "moreActions": "Più azioni" + }, + "loadMode": { + "title": "Modalità di caricamento", + "dialogTitle": "Seleziona la modalità di caricamento", + "distribution": "Distribuzione", + "dialogDescription": "Scegli come caricare questo file durante la composizione dello Stack di conoscenza.", + "staticFiles": "File statici", + "dynamicFiles": "File dinamici", + "syncFiles": "Sincronizza file", + "totalFiles": "File totali", + "specialModes": "Modalità speciali", + "specialModesRatio": "Rapporto modalità speciali", + "static": { + "label": "Modalità statica", + "description": "Utilizza la versione memorizzata nella cache da quando è stato aggiunto il file. Veloce e prevedibile, ma non riflette i cambiamenti recenti.", + "shortDescription": "Contenuto memorizzato nella cache caricato dall'indicizzazione iniziale", + "badge": "Predefinito" + }, + "dynamic": { + "label": "Modalità dinamica", + "description": "Carica il contenuto del file più recente su ciascuna composizione. Leggermente più lento ma sempre aggiornato.", + "shortDescription": "Nuovi contenuti caricati su ogni composizione", + "badge": "Raccomandato" + }, + "sync": { + "label": "Modalità di sincronizzazione", + "description": "Controlla le modifiche ai file e si ricompone automaticamente. Ideale per file piccoli e aggiornati di frequente.", + "shortDescription": "Si ricompone automaticamente quando i file cambiano", + "badge": "Costoso" + } + }, + "syncMode": { + "start": "Avvia la modalità di sincronizzazione", + "pause": "Metti in pausa la modalità di sincronizzazione", + "pauseAll": "Metti tutto in pausa", + "started": "Modalità di sincronizzazione avviata", + "startedDetail": "Ora sto guardando le modifiche ai file per {name}", + "stopped": "Modalità di sincronizzazione in pausa", + "stoppedDetail": "La visione dei file è stata sospesa", + "startFailed": "Impossibile avviare la modalità di sincronizzazione", + "startFailedDetail": "Assicurati che lo Stack di conoscenza contenga file contrassegnati per la modalità di sincronizzazione", + "allPaused": "Tutte le modalità di sincronizzazione in pausa", + "allPausedDetail": "Il controllo dei file è stato interrotto per tutti gli stack di conoscenza", + "active": "{count} Attivo | {count} Attivo", + "activeTitle": "Modalità di sincronizzazione attiva", + "filesWatching": "{count} file | {count} file", + "filesCount": "{count} file | {count} file", + "startedTime": "Iniziato {time}", + "totalStats": "{stacks} pila, {files} file | {stacks} pile, {files} file", + "hoursAgo": "{hours}h fa", + "daysAgo": "{days}g fa" + }, "analytics": { + "title": "Analisi e approfondimenti", + "lastComposed": "Ultimo composto", + "sections": "Sezioni di analisi", + "performanceTimings": "Tempi di prestazione", + "summaryStatistics": "Statistiche riassuntive", + "contentBreakdown": "Ripartizione dei contenuti", + "querySettings": "Impostazioni delle query", + "readingStatistics": "Lettura delle statistiche", + "noAnalyticsAvailable": "Nessuna analisi disponibile", + "noAnalyticsDescription": "L'analisi sarà disponibile dopo aver composto questo stack di conoscenze.", + "noSectionsSelected": "Nessuna sezione di analisi selezionata", + "noSectionsSelectedDescription": "Seleziona una o più sezioni di analisi qui sopra per visualizzare approfondimenti sul tuo Knowledge Stack.", + "selectAllSections": "Seleziona tutte le sezioni", + "timings": { + "loadingItems": "Caricamento articoli", + "splittingChunks": "Divisione @:knowledgeStack.chunksConsole.chunks", + "embeddingChunks": "Incorporamento @:knowledgeStack.chunksConsole.chunks", + "composingStack": "Pila di composizione", + "totalTime": "Tempo totale", + "parallelNote": "Alcune operazioni potrebbero essere eseguite in parallelo, pertanto i tempi individuali potrebbero non sommarsi al tempo totale", + "fileReading": "Lettura file", + "databaseWrite": "Scrittura nel database" + }, + "stats": { + "numberOfItems": "N. di articoli", + "totalChunks": "Totale @:knowledgeStack.chunksConsole.chunks", + "availableChunks": "Disponibile @:knowledgeStack.chunksConsole.chunks", + "skippedChunks": "Saltato @:knowledgeStack.chunksConsole.chunks", + "wordCount": "Conteggio parole", + "characterCount": "Conteggio dei caratteri", + "readingTime": "Tempo di lettura" + }, + "ignoredItems": "Elementi ignorati", + "ignoredForRetrieval": "Ignorato per il recupero", + "ignoredItemsDescription": "Questi elementi sono esclusi dalle operazioni di ricerca e recupero", + "ignoredPercentage": "Percentuale di elementi ignorati", + "ofTotal": "di {total}", + "files": "File", + "notes": "Note", + "youTubeLinks": "Video di YouTube", + "noIgnoredItems": "Nessun elemento ignorato", + "allItemsIncluded": "Tutti gli elementi in questo stack di conoscenze sono inclusi nella ricerca e nel recupero", + "recommendation": "Raccomandazione", + "contentTypes": { + "files": "FILE", + "obsidianVaults": "VOLTE DI OSSIDIANA", + "folders": "CARTELLE", + "notes": "NOTE", + "youTubeLinks": "LINK YOUTUBE" + }, + "piiScrubbing": { + "title": "Scrubbing PII", + "totalChunks": "Totale @:knowledgeStack.chunksConsole.chunks", + "scrubbedChunks": "Levigato @:knowledgeStack.chunksConsole.chunks", + "cachedChunks": "Memorizzato nella cache @:knowledgeStack.chunksConsole.chunks", + "coverage": "Copertura", + "progress": "Progresso dello scrubbing", + "loadAnalytics": "Carica Analisi", + "failedToLoadAnalytics": "Impossibile caricare i dati di analisi PII", + "analyticsNotLoaded": "Analisi PII non caricata", + "clickToViewAnalytics": "Fai clic su \"Carica analisi\" per visualizzare le statistiche di pulizia delle PII", + "scoreTooltip": "Questo punteggio riflette la completezza con cui viene applicata la pulizia delle PII al tuo stack di conoscenze. Un punteggio più alto significa che sono stati elaborati più blocchi per la rimozione delle PII.", + "optionalDescription": "La pulizia delle PII è facoltativa. Abilitalo nelle impostazioni delle query solo se i tuoi contenuti contengono informazioni personali sensibili.", + "protectionDescription": "Misura il livello di protezione delle informazioni sensibili nel tuo Knowledge Stack", + "status": { + "notEnabled": "Non abilitato", + "wellProtected": "Ben protetto", + "partiallyProtected": "Parzialmente protetto", + "limitedProtection": "Protezione limitata", + "minimalProtection": "Protezione minima" + }, + "insights": { + "excellentPrivacy": "Eccellente protezione della privacy: quasi tutti i contenuti protetti", + "goodPrivacy": "Buona protezione della privacy: la maggior parte dei contenuti è protetta", + "partialPrivacy": "Protezione parziale della privacy: valuta la possibilità di rivedere le impostazioni", + "limitedPrivacy": "Protezione della privacy limitata: esamina i contenuti sensibili", + "notEnabled": "La pulizia PII non è abilitata. Questo va benissimo se i tuoi contenuti non contengono informazioni personali sensibili.", + "whenToEnable": "Valuta la possibilità di abilitare la pulizia delle PII solo se il tuo Knowledge Stack contiene nomi, indirizzi, numeri di telefono, e-mail o altri dati personali.", + "significantReduction": "Riduzione significativa del contenuto ({percentage}%): sono state trovate informazioni personali estese", + "moderateReduction": "Riduzione moderata dei contenuti ({percentage}%): alcune informazioni personali rimosse", + "minimalReduction": "Riduzione minima del contenuto ({percentage}%) - PII basso rilevato", + "noContentChange": "Nessuna modifica alle dimensioni del contenuto: nessuna PII rilevata o rimossa", + "allChunksProcessed": "Tutti i blocchi sono stati elaborati correttamente", + "nearlyAllProcessed": "Quasi tutti i blocchi sono stati elaborati correttamente", + "mostProcessed": "La maggior parte dei blocchi vengono elaborati: alcuni potrebbero richiedere attenzione", + "incompleteProcessing": "Elaborazione incompleta: controlla la configurazione di scrubbing PII", + "largeKnowledgeBase": "Base di conoscenza ampia: valuta la possibilità di aumentare la copertura del rilevamento PII", + "manyUnprocessed": "Molti blocchi non elaborati: rivedi le impostazioni di pulizia delle PII", + "optionalFeature": "La pulizia delle PII è facoltativa. Abilitalo nelle impostazioni delle query se i tuoi contenuti contengono informazioni sensibili come nomi, email o numeri di telefono.", + "privacyOption": "La pulizia delle PII aiuta a proteggere le informazioni sensibili. È facoltativo e, se necessario, può essere abilitato nelle impostazioni della query." + }, + "labels": { + "securityStatus": "Stato di sicurezza", + "privacyStatus": "Stato della privacy", + "whenToEnable": "Quando abilitare", + "contentImpact": "Impatto sui contenuti", + "processingEfficiency": "Efficienza di elaborazione", + "scaleRecommendation": "Raccomandazione sulla scala", + "coverageRecommendation": "Raccomandazione sulla copertura", + "optionalFeature": "Funzionalità opzionale", + "privacyOption": "Opzione sulla privacy" + } + }, + "querySettingsDetails": { + "searchType": "Tipo di ricerca", + "numberOfChunks": "Numero di @:knowledgeStack.chunksConsole.chunks", + "promptPrefix": "Prefisso prompt" + }, "privacyOptimizationScore": "Punteggio di ottimizzazione della privacy", - "optimizationTip": "Suggerimento di ottimizzazione", + "piiProtectionLevel": "Livello di protezione PII", + "piiScrubbingStatus": "Stato di pulizia PII", + "unscrubbedChunks": "Non strofinato @:knowledgeStack.chunksConsole.chunks", + "originalSize": "Dimensione originale", + "processedSize": "Dimensioni elaborate", + "sizeReduction": "Riduzione delle dimensioni", + "privacyInsights": "Privacy @:insgiths", + "dataModified": "I dati sono stati modificati", + "showOutdatedData": "Mostra comunque i dati obsoleti", + "contentDistribution": "Distribuzione dei contenuti", + "contentContribution": "Il{label} contribuisce con il {percentage}% di tutti i blocchi", + "processingIssue": "Problema di elaborazione", + "lowEfficiency": "{label} hanno una bassa efficienza ({efficiency}%)", + "dataQualityIssue": "Problema di qualità dei dati", + "highSkipRates": "I tipi di contenuto{count} hanno percentuali di salto elevate", + "contentDiversity": "Diversità dei contenuti", + "singleContentType": "Tipo di contenuto singolo: valuta la possibilità di diversificare le fonti", + "excellentDiversity": "Eccellente diversità dei contenuti tra più tipi di fonti", + "optimizationTip": "Suggerimento per l'ottimizzazione", + "reduceChunkSize": "Riduci la dimensione del blocco a 800-1200 caratteri per una migliore granularità dei contenuti", + "increaseChunkSize": "Aumenta la dimensione del blocco a 1500-2000 caratteri per una migliore efficienza", + "embeddingThroughput": "Incorporamento della velocità effettiva", + "chunksPerSecond": "{rate} blocchi/sec ({time}ms ciascuno)", + "searchStrategy": "Strategia di ricerca", + "balancedSearch": "Approccio equilibrato che combina parola chiave + ricerca semantica", + "semanticSearch": "Ricerca semantica basata sull'intelligenza artificiale: ideale per query concettuali", + "keywordSearch": "Ricerca per parole chiave tradizionale: ideale per termini esatti", + "retrievalVolume": "Volume di recupero", + "lowChunkCount": "Un numero di blocchi molto basso potrebbe perdere informazioni rilevanti", + "highChunkCount": "Un numero elevato di blocchi può includere rumore e risposte lente", + "optimalChunkCount": "Conteggio ottimale dei blocchi per un recupero bilanciato", + "contentFiltering": "Filtraggio dei contenuti", + "relaxedFiltering": "Filtraggio rilassato: può includere contenuti vagamente correlati", + "strictFiltering": "Filtraggio rigoroso: risultati altamente mirati", + "moderateFiltering": "Filtraggio bilanciato per contenuti pertinenti", + "guidedContext": "Contesto guidato", + "customPromptPrefix": "Il prefisso del prompt personalizzato guiderà l'interpretazione della query", + "lockIndicator": "Indicatore di blocco", + "allItemsCanBeReprocessed": "Tutti gli articoli possono essere rielaborati", + "itemsPartiallyLocked": "Il{percentage}% degli elementi è bloccato", + "mostItemsLocked": "La maggior parte degli articoli sono bloccati: capacità di rielaborazione limitata", + "privacySecurity": "Privacy e sicurezza", + "privacyProtectionEnabled": "Protezione della privacy abilitata per i dati sensibili", + "noPiiScrubbing": "Nessuna cancellazione delle PII: assicurati che il contenuto non sia sensibile", "scaleOptimization": "Ottimizzazione della scala", - "optimizedForSpeed": "Configurazione ottimizzata per risposte veloci", + "largeKnowledgeBase": "Ampia base di conoscenza: aumenta il numero di blocchi per una migliore copertura", + "smallKnowledgeBase": "Piccola base di conoscenza: considera la possibilità di ridurre il numero di blocchi", + "performanceProfile": "Profilo prestazionale", + "optimizedForSpeed": "Configurazione ottimizzata per risposte rapide", "optimizedForQuality": "Configurazione ottimizzata per risultati di alta qualità", + "highLockRate": "Tasso di blocco elevato", + "lockedItemsPercentage": "Il{percentage}% degli elementi è bloccato e non verrà rielaborato", + "unlockRecommendation": "Valuta la possibilità di sbloccare gli elementi temporaneamente bloccati se necessitano di aggiornamenti", + "overHalfLocked": "Oltre il 50% degli oggetti sono bloccati. Ciò potrebbe ridurre significativamente la capacità della knowledge base di rimanere aggiornata.", + "lockStatus": "Stato di blocco", + "totalItems": "Articoli totali", + "unlocked": "Sbloccato", + "temporarilyLocked": "Temporaneamente bloccato", + "permanentlyLocked": "Bloccato permanentemente", + "lockStatusByContentType": "Stato di blocco per tipo di contenuto", + "tempLocked": "Temp. Bloccato", + "permLocked": "Perm. Bloccato", + "lockStatusInsights": "Stato blocco @:insights", + "processingEfficiency": "Efficienza di elaborazione", + "contentInsights": "Contenuto @:insights", "compositionOptimizationScore": "Punteggio di ottimizzazione della composizione", + "compositionInsights": "Composizione @:insights", + "performanceInsights": "Prestazioni @:insights", + "processingPhaseDetails": "Dettagli sulla fase di lavorazione", + "loadingItems": "Caricamento articoli", + "splittingChunks": "Divisione @:knowledgeStack.chunksConsole.chunks", + "embeddingChunks": "Incorporamento @:knowledgeStack.chunksConsole.chunks", + "fileReading": "Lettura file", + "databaseWrite": "Scrittura nel database", + "composingStack": "Pila di composizione", + "totalProcessingTime": "Tempo di elaborazione totale", + "totalLockedItems": "Totale elementi bloccati", + "efficiency": "Efficienza", "loadMode": { - "description": "Comportamento di caricamento dei file nella Knowledge Stack" + "title": "Analisi della modalità di caricamento", + "description": "Comportamento di caricamento dei file nel tuo Knowledge Stack", + "distribution": "Distribuzione della modalità di carico", + "totalFiles": "File totali", + "staticFiles": "Modalità statica", + "dynamicFiles": "Modalità dinamica", + "syncFiles": "Modalità di sincronizzazione", + "specialModes": "Modalità speciali", + "specialModesRatio": "Modi Speciali %", + "status": "Stato", + "active": "Attivo", + "inactive": "Inattivo", + "breakdown": "Ripartizione visiva", + "noFiles": "Nessun file in questo stack di conoscenze", + "desktopOnly": "Le opzioni della modalità di caricamento sono disponibili solo nell'applicazione desktop", + "notAvailable": "Le opzioni della modalità di caricamento sono disponibili solo nell'applicazione desktop", + "noSpecialModes": "Tutti i file utilizzano la modalità statica. Abilita la modalità dinamica o di sincronizzazione per consentire ai file di utilizzare i contenuti più recenti.", + "syncActive": "Modalità di sincronizzazione attiva", + "syncActiveDetails": "Guardando {files} • Iniziato {time}", + "staticDescription": "Contenuto memorizzato nella cache caricato dall'indicizzazione iniziale", + "dynamicDescription": "Nuovi contenuti caricati su ogni composizione", + "syncDescription": "Si ricompone automaticamente quando i file cambiano", + "staticBadge": "Predefinito", + "dynamicBadge": "Fresco", + "syncBadge": "Vivere", + "insights": { + "highSyncCount": { + "title": "Conteggio file di sincronizzazione elevato", + "description": "I file{count} sono in modalità di sincronizzazione", + "recommendation": "Prendi in considerazione l'utilizzo della modalità dinamica per i file aggiornati meno frequentemente per ridurre l'utilizzo delle risorse" + }, + "syncEnabled": { + "title": "Modalità di sincronizzazione abilitata", + "description": "I file{count} si aggiornano automaticamente quando vengono modificati" + }, + "highDynamicUsage": { + "title": "Utilizzo della modalità dinamica elevata", + "description": "Il{percentage}% dei file utilizza la modalità dinamica", + "recommendation": "La modalità statica potrebbe essere sufficiente per i file che cambiano raramente" + }, + "dynamicEnabled": { + "title": "Modalità dinamica attiva", + "description": "I file{count} stanno caricando nuovi contenuti su ogni composizione" + }, + "staticOnly": { + "title": "Solo modalità statica", + "description": "Tutti i file utilizzano il contenuto memorizzato nella cache dall'indicizzazione iniziale", + "recommendation": "Abilita la modalità dinamica o di sincronizzazione per i file aggiornati di frequente per garantire contenuti aggiornati" + }, + "mixedModes": { + "title": "Modalità di carico miste", + "description": "Il{percentage}% dei file utilizza modalità di caricamento speciali" + } + } + } + }, + "composeSettings": { + "title": "Componi Impostazioni", + "chunkOverlapping": "@:knowledgeStack.chunksConsole.chunk Sovrapposizione", + "embeddingModel": { + "title": "Modello di incorporamento", + "warning": "La modifica del modello di incorporamento richiederà la ricomposizione dell'intero Knowledge Stack e anche in questo caso esiste la possibilità che la ricomposizione fallisca.", + "learnMore": "Ulteriori informazioni sull'incorporamento della compatibilità dei modelli", + "defaultPlaceholder": "Predefinito (locale)" + }, + "placeholders": { + "selectEmbeddingModel": "Seleziona un modello di incorporamento", + "selectChunkOverlapping": "Seleziona la sovrapposizione dei blocchi", + "selectChunkSize": "Seleziona la dimensione del pezzo" + }, + "chunkingMethod": { + "title": "Metodo di suddivisione in blocchi", + "recursiveCharacter": "Carattere ricorsivo", + "sentence": "Frase", + "description": "Scegli come suddividere i documenti in parti più piccole per una migliore ricerca e recupero." + }, + "overlapping": { + "title": "Sovrapposizione", + "description": "Scegli la quantità di sovrapposizione tra i blocchi. Una sovrapposizione maggiore può migliorare il contesto ma aumentare l'utilizzo di token ." + }, + "chunkSize": { + "title": "@:knowledgeStack.chunksConsole.chunk Taglia", + "description": "Imposta la dimensione massima di ciascun blocco in caratteri. Gruppi più piccoli possono migliorare la precisione della ricerca ma aumentare l'utilizzo di token ." + }, + "chunkSizesToIgnore": { + "title": "@:knowledgeStack.chunksConsole.chunk Dimensioni da ignorare", + "description": "Specificare le dimensioni dei blocchi che devono essere ignorati durante l'elaborazione. Utile per escludere pezzi molto piccoli o molto grandi." + } + }, + "querySettings": { + "title": "Impostazioni delle query", + "numberOfChunks": "Numero di @:knowledgeStack.chunksConsole.chunks", + "promptPrefix": "Prefisso prompt", + "similarityThreshold": { + "low": "Basso", + "medium": "Medio", + "high": "Alto", + "highest": "Più alto" + }, + "searchTypes": { + "semantic": "Ricerca semantica", + "keyword": "Ricerca per parole chiave", + "hybrid": "Ricerca ibrida" + }, + "modes": { + "push": "Modalità push", + "pull": "Modalità di tiro" + }, + "chunks": { + "title": "Contesto dello stack di conoscenza", + "loadError": "Impossibile caricare i blocchi dello Stack di conoscenza. Per favore riprova.", + "searchSettings": "Impostazioni di ricerca", + "searchType": "Tipo di ricerca", + "searchQuery": "Domanda di ricerca", + "source": "Fonte", + "content": "Contenuto", + "fullContent": "Contenuto completo", + "chunkInfo": "@:knowledgeStack.chunksConsole.chunk Informazioni", + "knowledgeStack": "Pila di conoscenze", + "chunks": "pezzi", + "maxChunks": "Massimo @:knowledgeStack.chunksConsole.chunks" + }, + "retrievalMode": { + "title": "@:knowledgeStack.chunksConsole.chunk Modalità di recupero", + "description": "Scegli tra la modalità Push in cui i blocchi vengono precaricati o la modalità Pull in cui il modello può eseguire query direttamente sugli stack di conoscenza" } }, "chunks": { - "synthesizedQuery": "Query sintetizzata" + "coverage": "Copertura", + "skippedChunks": "Saltato @:knowledgeStack.chunksConsole.chunks", + "availableChunks": "Disponibile @:knowledgeStack.chunksConsole.chunks", + "numberOfChunks": "Numero di @:knowledgeStack.chunksConsole.chunks", + "promptPrefix": "Prefisso prompt", + "chunkingMethod": "Metodo di suddivisione in blocchi", + "chunkSize": "@:knowledgeStack.chunksConsole.chunk Taglia", + "chunkOverlap": "@:knowledgeStack.chunksConsole.chunk Sovrapposizione", + "totalChunks": "Totale @:knowledgeStack.chunksConsole.chunks", + "cachedChunks": "Memorizzato nella cache @:knowledgeStack.chunksConsole.chunks", + "scrubbedChunks": "Levigato @:knowledgeStack.chunksConsole.chunks", + "loadError": "Impossibile caricare i blocchi dello Stack di conoscenza. Per favore riprova.", + "searchSettings": "Impostazioni di ricerca", + "searchType": "Tipo di ricerca", + "maxChunks": "Massimo @:knowledgeStack.chunksConsole.chunks", + "searchQuery": "Domanda di ricerca", + "synthesizedQuery": "Interrogazione sintetizzata", + "chunks": "pezzo | pezzi", + "source": "Fonte", + "content": "Contenuto", + "viewFull": "Visualizza il contenuto completo", + "fullContent": "Contenuto completo @:knowledgeStack.chunksConsole.chunk", + "chunkInfo": "@:knowledgeStack.chunksConsole.chunk Informazioni", + "knowledgeStack": "Pila di conoscenze", + "scrubbed": "Sfregato", + "original": "Originale", + "chunkId": "@:knowledgeStack.chunksConsole.chunk ID", + "piiStatus": "Stato PII", + "piiScrubbed": "PII cancellato", + "piiUnscrubbed": "PII non cancellate", + "tooltip": { + "scrubbed": "Il contenuto è stato ripulito per la rimozione delle PII", + "cached": "Versione utilizzata con rimozione cache memorizzata", + "fresh": "Contenuto appena ripulito", + "original": "Contenuto originale senza @:pii.scrubbing.title" + }, + "queryAnalysis": "Analisi delle interrogazioni", + "fullContentRetrieved": "Contesto contenuto completo attivo", + "documentsRetrieved": "Documenti recuperati", + "contentContext": "Contesto del contenuto", + "keywords": "Parole chiave", + "fullDoc": "Documento completo", + "type": "Tipo", + "fullDocument": "Documento completo" }, "chunksVisualizer": { "title": "@:knowledgeStack.chunksConsole.chunks Visualizzatore", - "description": "Visualizza come i documenti vengono suddivisi in blocchi", - "openStitcher": "Apri visualizzatore", - "viewStitcher": "Vedi visualizzatore", - "selectFileDescription": "Scegli un file dalla sinistra per visualizzare i suoi blocchi e contenuto" + "description": "Visualizza come vengono suddivisi i documenti", + "openStitcher": "Apri Visualizzatore", + "viewStitcher": "Visualizza visualizzatore", + "stitchableFiles": "File disponibili", + "loading": "Caricamento file...", + "noFiles": "Nessun file trovato", + "selectFile": "Seleziona un file", + "selectFileDescription": "Scegli un file da sinistra per visualizzarne le parti e il contenuto", + "mimeType": "Tipo MIME", + "chunks": "@:knowledgeStack.chunksConsole.chunks", + "overlaps": "Si sovrappone", + "stitchedSize": "Dimensioni cucite", + "showOverlaps": "Mostra sovrapposizioni", + "hideOverlaps": "Nascondi sovrapposizioni", + "showChunks": "Mostra @:knowledgeStack.chunksConsole.chunks", + "showStitched": "Mostra cucito", + "copyContent": "Copia contenuto", + "stitchedContent": "Contenuto cucito", + "scrubbedChunks": "Levigato @:knowledgeStack.chunksConsole.chunks", + "unScrubbedChunks": "Non strofinato @:knowledgeStack.chunksConsole.chunks", + "overlapRemoved": "Le sovrapposizioni sono state rimosse per una ricostruzione pulita del testo", + "chunkNumber": "@:knowledgeStack.chunksConsole.chunk {number}", + "overlapPrevious": "Sovrapponi precedente", + "overlapNext": "Sovrapponi Successivo", + "overlapWithPrevious": "Questo testo si sovrappone al pezzo precedente", + "overlapWithNext": "Questo testo si sovrappone al pezzo successivo", + "chunkIndices": "Posizioni dei caratteri nel file", + "coreIndices": "Contenuti principali senza sovrapposizioni", + "chunkCount": "{count} pezzi", + "showOriginal": "Mostra originale", + "showScrubbed": "Mostra strofinato", + "showScrubbedOnly": "Mostra solo cancellato", + "showAllChunks": "Mostra tutto @:knowledgeStack.chunksConsole.chunks", + "tooltip": { + "scrubbed": "Il contenuto è stato ripulito per la rimozione delle PII", + "cached": "Versione utilizzata con rimozione cache memorizzata", + "fresh": "Contenuto appena ripulito" + }, + "itemsPerPage": "Per pagina", + "showingChunks": "{start}-{end} di {total} blocchi", + "loadingChunks": "Caricamento blocchi...", + "noItems": "Nessun articolo trovato", + "selectItem": "Seleziona un articolo", + "selectItemDescription": "Scegli un file o una nota da sinistra per visualizzarne le parti e il contenuto", + "openConsole": "Apri Console", + "selectedChunks": "{count} @:knowledgeStack.chunksConsole.chunk Selezionato", + "deleteSelected": "Elimina selezionato", + "clearSelection": "Cancella selezione", + "confirmDelete": "Conferma eliminazione", + "confirmDeleteMessage": "Sei sicuro di voler eliminare i {count} blocchi selezionati? Questa azione non può essere annullata.", + "deleteSuccess": "@:knowledgeStack.chunksConsole.chunks Eliminato", + "deleteSuccessDetail": "Blocchi {count} eliminati correttamente", + "deletedChunksCount": "{count} @:knowledgeStack.chunksConsole.chunk eliminato con successo", + "deleteError": "Eliminazione non riuscita" + }, + "export": { + "forceCompose": "Forza composizione", + "overallProgress": "Progresso complessivo", + "itemsExported": "{count} elementi esportati", + "items": "Elementi", + "skip": "Saltare", + "exportCompleted": "Esportazione completata con successo!", + "savedTo": "Salvato in: {path}", + "cancelAll": "Annulla tutto", + "done": "Fatto", + "export": "Esportare", + "exporting": "Esportazione", + "knowledgeStack": "Pila di conoscenze", + "folder": "Cartella", + "exportFailed": "Esportazione non riuscita", + "importFailed": "Importazione non riuscita" + }, + "messages": { + "editsSaved": "Le tue modifiche allo Stack di conoscenza sono state salvate. Sarà necessario ricomporlo per applicare le modifiche.", + "savedAndProcessing": "Stack di conoscenze salvato e elaborazione avviata", + "cannotForceCompose": "Impossibile forzare la composizione: lo stack di conoscenze deve essere prima salvato", + "failedToForceCompose": "Impossibile forzare la composizione dello stack di conoscenze", + "forceComposeStarted": "Forzatura della composizione avviata: tutti gli elementi verranno rielaborati", + "failedToUpdateQuerySettings": "Impossibile aggiornare le impostazioni della query", + "querySettingsUpdated": "Impostazioni delle query aggiornate", + "justNow": "proprio adesso", + "minutesAgo": "{minutes}m fa", + "searchPlaceholder": "Ricerca...", + "failedToSelectItem": "Impossibile selezionare l'elemento", + "failedToSelectFolder": "Impossibile selezionare la cartella", + "processingCompleted": "Elaborazione dello stack di conoscenze {title} completata", + "processingFailed": "Elaborazione dello stack di conoscenze {title} non riuscita", + "nothingToCompose": "Niente da comporre per lo Stack di conoscenza {title}", + "composeError": "Errore durante la composizione dello stack di conoscenze {title}", + "downloadImportNotAvailableInWeb": "L'importazione da URL è disponibile solo nell'applicazione desktop", + "deleteSuccess": "{count} @:knowledgeStack.title cancellato!", + "createError": "Impossibile creare @:knowledgeStack.title", + "saveEditsError": "Impossibile salvare le modifiche su @:knowledgeStack.title", + "folderAdded": "Cartella '{name}' aggiunta allo Stack di conoscenza" + }, + "folderLockedTemporary": "Cartella '{name}' bloccata temporaneamente", + "folderLockedPermanent": "Cartella '{name}' bloccata in modo permanente", + "lockFailed": "Impossibile bloccare la cartella", + "folderUnlocked": "Cartella '{name}' sbloccata", + "unlockFailed": "Impossibile sbloccare la cartella", + "unlock": "Sbloccare", + "status": { + "misc": "Varie", + "path": "Percorso: {path}", + "name": "Nome: {name}", + "unknown": "Sconosciuto", + "original": "Originale", + "loadingPiiAnalytics": "Caricamento analisi PII...", + "allItemsUnlocked": "Tutti gli oggetti sono sbloccati e possono essere rielaborati quando necessario." + }, + "abortProcessing": "Interrompere l'elaborazione", + "errors": { + "processingFailed": "Elaborazione non riuscita", + "errorMessage": "Messaggio di errore", + "occurredAt": "Si è verificato a", + "failedFile": "File non riuscito", + "errorSummary": "Riepilogo degli errori", + "technicalDetails": "Dettagli tecnici", + "stackTrace": "Traccia dello stack", + "copyDetails": "Copia dettagli", + "detailsCopied": "Dettagli dell'errore copiati negli appunti", + "clickToSeeDetails": "Fare clic per visualizzare i dettagli dell'errore", + "fileIsNull": "Il file è nullo", + "checkingPathError": "Errore durante il controllo se il percorso è una directory", + "processingFolderError": "Errore nell'elaborazione della cartella", + "lockFolderTemporaryFailed": "Impossibile bloccare temporaneamente la cartella", + "lockFolderPermanentFailed": "Impossibile bloccare la cartella in modo permanente", + "unlockFolderFailed": "Impossibile sbloccare la cartella", + "status": { + "completed": "Stato: completato", + "processing": "Stato: In elaborazione", + "pending": "Stato: in sospeso", + "draft": "Stato: Bozza", + "needsReprocessing": "Stato: necessita di rielaborazione", + "error": "Stato: errore", + "lockedTemporary": "Stato: temporaneamente bloccato", + "lockedPermanent": "Stato: permanentemente bloccato", + "aborted": "Stato: interrotto", + "unknown": "Stato: sconosciuto" + } + } + }, + "features": { + "showcase": { + "title": "Sblocca le funzionalità di Aurum", + "subtitle": "Passa alla licenza Aurum per le funzionalità AI più potenti e le funzionalità avanzate", + "eyebrow": "Tutto ciò di cui hai bisogno", + "viewPricing": "Visualizza i prezzi", + "featureMatrix": "Matrice delle caratteristiche", + "activateLicense": "Attiva licenza", + "licenses": { + "aurum": "Aurum" + } + } + }, + "images": { + "upload": "Carica immagine...", + "onlySupported": "Sono supportati solo i file di immagine.", + "maxSize": "L'immagine deve essere di 1 MB o più piccola." + }, + "userAvatar": { + "updated": "Immagine del profilo aggiornata.", + "updateFailed": "Impossibile aggiornare l'immagine. Per favore riprova.", + "changeHint": "Fare clic per modificare l'immagine del profilo" + }, + "setting": { + "lostAndFound": { + "title": "Perso e ritrovato", + "description": "Trova e recupera gli spazi di lavoro persi dal tuo computer. Vengono analizzati e rilevati solo i database dell'area di lavoro, non gli allegati.", + "experimentalInfo": "Lost & Found è sperimentale. Conserva sempre i backup dei dati dello spazio di lavoro prima di tentare il ripristino.", + "scanForLostWorkspaces": "Cerca aree di lavoro perse", + "scanAppData": "Scansiona i dati dell'app", + "scanFolder": "Scansione cartella...", + "workspace": "Spazio di lavoro", + "file": "File", + "status": "Stato", + "lastModifiedColumn": "Ultima modifica", + "actions": "Azioni", + "statusCurrent": "Attuale", + "statusLinked": "Collegato", + "statusFound": "Trovato", + "restoreCurrentWorkspace": "Ripristina l'area di lavoro corrente", + "importAsNewWorkspace": "Importa come nuova area di lavoro", + "restoreConfirmHeader": "Ripristinare l'area di lavoro corrente?", + "restoreConfirmMessage": "Ciò sostituirà i dati dell'area di lavoro attualmente attiva con i dati del file recuperato selezionato. Questa operazione non può essere annullata.", + "restore": "Ripristinare", + "failedToImportWorkspace": "Impossibile importare l'area di lavoro", + "workspaceImported": "Area di lavoro importata", + "workspaceImportedDetail": "L'area di lavoro recuperata è stata importata. Passa ad esso dalla barra dell'area di lavoro, se necessario.", + "failedToRestoreWorkspace": "Impossibile ripristinare l'area di lavoro", + "workspaceRestored": "Area di lavoro ripristinata", + "workspaceRestoredDetail": "L'area di lavoro corrente è stata ripristinata dal file recuperato.", + "showInFileExplorer": "Mostra in Esplora file", + "lastModified": "Ultima modifica", + "failedToImportRecoveredWorkspace": "Impossibile importare l'area di lavoro recuperata", + "failedToImportRecoveredWorkspaceUnexpected": "Impossibile importare l'area di lavoro recuperata (imprevisto)", + "failedToRestoreFromRecoveredFile": "Impossibile ripristinare l'area di lavoro dal file recuperato", + "failedToRestoreFromRecoveredFileUnexpected": "Impossibile ripristinare l'area di lavoro dal file recuperato (imprevisto)" + } + }, + "quickFilter": "Filtro veloce...", + "toggleFilter": "Attiva/disattiva filtro", + "toggleSidebar": "Attiva/disattiva la barra laterale", + "adjust": "Regolare", + "experimentalInfo": "{item} è sperimentale e in fase di sviluppo attivo. Si prega di segnalare eventuali problemi al team.", + "attachmentsManager": { + "columnHeaders": { + "name": "Nome", + "fileType": "Tipo di file", + "attachmentType": "Tipo di allegato", + "size": "Misurare", + "actions": "Azioni" + }, + "actions": { + "browseExisting": "Sfoglia gli allegati esistenti", + "viewAssociations": "Visualizza associazioni", + "attach": "Allegare", + "delete": { + "title": "Elimina allegato | Elimina allegati", + "confirmationMessage": "Sei sicuro di voler eliminare l'allegato? Verranno rimosse anche tutte le associazioni all'allegato. Questa azione non può essere annullata. | Sei sicuro di voler eliminare gli allegati? Verranno rimosse anche tutte le associazioni agli allegati. Questa azione non può essere annullata.", + "successMessage": "Eliminazione dell'allegato | Eliminazione degli allegati riuscita", + "errorMessage": "Impossibile eliminare l'allegato | Impossibile eliminare gli allegati" + } + }, + "search": "Cerca per nome", + "filter": "Filtra per tipo di allegato", + "title": "Gestore degli allegati", + "emptyState": { + "title": "Nessun allegato trovato", + "description": "Non hai allegati disponibili." + }, + "associations": { + "title": "Associazioni per {attachmentName}", + "search": "Cerca per nome dell'associazione", + "filter": "Filtra per entità associata", + "emptyState": { + "title": "Nessuna associazione trovata", + "description": "Non hai ancora utilizzato questo allegato da nessuna parte." + }, + "columnHeaders": { + "associationName": "Nome dell'associazione", + "associatedEntity": "Entità associata", + "actions": "Azioni" + }, + "actions": { + "jumpTo": "Vai a {entity}", + "detach": { + "action": "Stacca", + "title": "Stacca Associazione", + "confirmationMessage": "Sei sicuro di voler staccare l'associazione dal {associationEntity}? Questa azione non può essere annullata.", + "successMessage": "L'associazione è stata staccata con successo", + "errorMessage": "Impossibile scollegare l'associazione" + } + } } + }, + "iconSelector": { + "searchMode": "Ricerca", + "aiMode": "Richiesta AI", + "aiPlaceholder": "Descrivi cosa rappresenta l'icona...", + "findIcon": "Trova icona", + "finding": "Trovare..." } }