{ "common": { "cancel": "Annulla", "save": "Salva", "delete": "Elimina", "edit": "Modifica", "close": "Chiudi", "confirm": "Conferma", "loading": "Caricamento…", "error": "Errore", "unknown": "Sconosciuto", "unknownError": "Errore sconosciuto" }, "nav": { "generate": "Genera", "stories": "Storie", "captures": "Acquisizioni", "voices": "Voci", "effects": "Effetti", "audio": "Audio", "models": "Modelli", "settings": "Impostazioni", "updateBadge": "Aggiorna" }, "captures": { "title": "Acquisizioni", "beta": "Beta", "searchPlaceholder": "Cerca trascrizioni…", "snippetEmpty": "(nessuna trascrizione)", "noTranscriptError": "L'acquisizione non ha ancora una trascrizione", "captureCardLabel": "Acquisizione · {{when}}", "header": { "modelSummary": "Whisper {{stt}} · Qwen3 · {{llm}}" }, "source": { "dictation": "Dettatura", "recording": "Registrazione", "file": "File" }, "transcript": { "refined": "Perfezionata", "raw": "Grezza", "refinedHint": "Perfezionata con Qwen3 · {{model}}", "rawHint": "Trascritto con Whisper {{model}}" }, "actions": { "configure": "Configura", "import": "Importa", "importing": "Caricamento…", "dictate": "Detta", "stop": "Interrompi", "copy": "Copia", "refine": "Perfeziona", "reRefine": "Perfeziona di nuovo", "export": "Esporta", "exportDropdownLabel": "Esporta acquisizione come", "exportAudio": "Audio (WAV)", "exportTranscript": "Trascrizione (TXT)", "exportMarkdown": "Markdown (MD)", "delete": "Elimina", "playAs": "Riproduci come {{name}}", "playAsFallback": "Riproduci come…", "playAsGenerating": "Generazione in corso…", "playAsStop": "Interrompi · {{name}}", "playAsStopFallback": "Interrompi · Voce", "playAsDropdownLabel": "Riproduci trascrizione come" }, "empty": { "noMatches": "Nessuna acquisizione corrisponde a \"{{query}}\"", "none": "Ancora nessuna acquisizione.", "loading": "Caricamento acquisizioni…", "pickOne": "Scegli un'acquisizione per vedere la trascrizione.", "holdToRecord": "Tieni premuto per registrare", "toggleHandsFree": "Attiva/disattiva mani libere", "pressShortcut": "Premi la scorciatoia in qualsiasi punto del computer per avviare la tua prima acquisizione.", "turnOnShortcut": "Attiva la scorciatoia globale per dettare da ovunque — oppure clicca su Detta qui sopra per un'acquisizione nell'app.", "openSettings": "Apri impostazioni Acquisizioni" }, "deleteDialog": { "title": "Elimina acquisizione", "description": "Questo eliminerà permanentemente l'acquisizione, il suo audio e la sua trascrizione. L'azione non può essere annullata.", "deleting": "Eliminazione in corso…" }, "toast": { "deleteFailed": "Eliminazione non riuscita", "playAsFailed": "Riproduzione non riuscita", "noVoice": "Nessun profilo vocale", "noVoiceDescription": "Crea un profilo vocale prima di usare Riproduci come.", "transcriptCopied": "Trascrizione copiata", "copyFailed": "Copia non riuscita", "exportSuccess": "Esportato in {{path}}", "exportFailed": "Esportazione non riuscita", "exportEmpty": "Nulla da esportare", "shortcutNotArmed": "Scorciatoia attiva, ma non ancora pronta", "shortcutNotArmedDescription_one": "Il download di {{names}} è ancora necessario. Apri la scheda Acquisizioni per iniziare.", "shortcutNotArmedDescription_other": "Il download di {{names}} è ancora necessario. Apri la scheda Acquisizioni per iniziare." }, "pill": { "recording": "Registrazione in corso", "transcribing": "Trascrizione in corso", "refining": "Perfezionamento in corso", "speaking": "Riproduzione voce in corso", "completed": "Fatto", "stopAria": "Interrompi registrazione", "errorFallback": "Qualcosa è andato storto", "errorCopyTooltip": "Clicca per copiare l'errore" }, "chord": { "capturing": "Acquisizione in corso…", "pressShortcut": "Premi la tua scorciatoia", "noKeys": "Nessun tasto ancora", "unsupported": "\"{{key}}\" non è supportato nelle combinazioni. Prova con un tasto modificatore o una lettera.", "notSet": "Non impostato" }, "readiness": { "title": "Alcune cose prima di poter dettare", "subheading": "La scorciatoia rimane disattivata finché tutto ciò che segue non è pronto.", "downloadButton": "Scarica", "downloading": "Download in corso…", "downloadingPercent": "Download in corso… {{pct}}%", "downloadStarted": "Download avviato", "downloadStartedDescription": "Il download di {{name}} è avviato. La scorciatoia si attiverà al termine del processo.", "downloadFailed": "Download non riuscito", "stt": { "label": "{{name}} (da voce a testo)", "ready": "Modello scaricato.", "missing": "Necessario per trascrivere il tuo audio", "missingWithSize": "Necessario per trascrivere il tuo audio · {{size}}" }, "llm": { "label": "{{name}} (perfezionamento)", "ready": "Modello scaricato.", "missing": "Sistemazione della trascrizione grezza prima dell'incollo", "missingWithSize": "Sistemazione della trascrizione grezza prima dell'incollo · {{size}}" }, "inputMonitoring": { "label": "Permesso Monitoraggio input", "ready": "macOS consente a TalkBox di rilevare la tua scorciatoia globale.", "missing": "macOS deve consentire a TalkBox di rilevare la scorciatoia globale.", "openSettings": "Apri Impostazioni" }, "accessibility": { "label": "Permesso Accessibilità", "ready": "TalkBox può incollare le trascrizioni in altre app.", "missing": "Richiesto per poter incollare le trascrizioni nell'app in primo piano.", "openSettings": "Apri Impostazioni" } }, "permissions": { "accessibility": { "title": "Concedi il permesso di Accessibilità per attivare l'incollo automatico", "body": "TalkBox richiede Impostazioni di Sistema → Privacy e Sicurezza → Accessibilità per incollare le trascrizioni in altre app. Senza di questo, la tua dettatura verrà comunque salvata nella scheda Acquisizioni.", "openSettings": "Apri Impostazioni", "recheck": "L'ho abilitato", "rechecking": "Verifica in corso…", "stillMissing": "Non ancora rilevato. Di solito macOS richiede la chiusura e la riapertura di TalkBox dopo aver attivato il permesso." }, "inputMonitoring": { "title": "Concedi il Monitoraggio input per attivare la scorciatoia globale", "body": "TalkBox richiede Impostazioni di Sistema → Privacy e Sicurezza → Monitoraggio input per rilevare la tua combinazione di dettatura. L'opzione è attiva, ma macOS sta bloccando gli eventi della tastiera finché non lo consenti.", "openSettings": "Opzioni Impostazioni", "recheck": "L'ho abilitato", "rechecking": "Verifica in corso…", "stillMissing": "Non ancora rilevato. Di solito macOS richiede la chiusura e la riapertura di TalkBox dopo aver attivato il permesso." } } }, "voicesTab": { "title": "Voci", "loading": "Caricamento voci…", "searchPlaceholder": "Cerca voci…", "newVoice": "Nuova voce", "avatarAlt": "Avatar di {{name}}", "selectChannels": "Seleziona canali…", "channelDefaultLabel": "{{name}} (Predefinito)", "columns": { "name": "Nome", "language": "Lingua", "generations": "Generazioni", "samples": "Campioni", "effects": "Effetti", "channels": "Canali" } }, "voiceInspector": { "loading": "Caricamento…", "defaultEffectsHint": "Applicati automaticamente alle nuove generazioni con questa voce.", "fields": { "description": "Descrizione" }, "toast": { "invalidImageFormat": "Seleziona un formato PNG, JPG o WebP", "avatarUpdated": "Avatar aggiornato", "savedDescription": "\"{{name}}\" salvato." } }, "audioChannels": { "title": "Canali audio", "newChannel": "Nuovo canale", "loading": "Caricamento…", "confirmDelete": "Eliminare questo canale?", "noVoicesAssigned": "Nessuna voce assegnata", "selectDevice": "Seleziona dispositivo", "addDevice": "Aggiungi dispositivo", "addVoice": "Aggiungi voce", "defaultSuffix": "predefinito", "empty": { "message": "Ancora nessun canale audio. Crea il tuo primo canale per reindirizzare le voci a dispositivi specifici.", "action": "Crea canale" }, "labels": { "outputDevices": "Dispositivi di output", "assignedVoices": "Voci assegnate" }, "devices": { "title": "Dispositivi disponibili", "defaultNote": "Il canale predefinito utilizza il dispositivo predefinito di sistema", "toggleHint": "Clicca sui dispositivi per aggiungerli o rimuoverli dal canale selezionato", "selectHint": "Seleziona un canale per assegnare i dispositivi", "empty": "Nessun dispositivo audio trovato", "requiresTauri": "La selezione del dispositivo audio richiede Tauri" }, "fields": { "name": "Nome canale", "namePlaceholder": "es. Virtual Cable, Broadcast" }, "createDialog": { "title": "Crea canale audio", "description": "Crea un nuovo canale audio (bus) per reindirizzare le voci a dispositivi di output specifici.", "action": "Crea" }, "editDialog": { "title": "Modifica canale", "description": "Aggiorna le impostazioni del canale e le assegnazioni delle voci." } }, "profileForm": { "createTitle": "Crea voce", "editTitle": "Modifica voce", "createDescription": "Crea un nuovo profilo vocale da un campione audio o da una voce integrata.", "editDescription": "Aggiorna i dettagli del tuo profilo vocale e gestisci i campioni.", "draftRestored": "Bozza ripristinata", "discard": "Scarta", "source": { "clone": "Clona da audio", "builtin": "Voce integrata" }, "builtin": { "hint": "Scegli una voce predefinita. Queste non richiedono un campione audio.", "badge": "Voce integrata", "note": "Questo profilo utilizza una voce integrata. La voce non può essere modificata dopo la creazione." }, "sampleTabs": { "upload": "Carica", "record": "Registra", "system": "Audio di sistema" }, "fields": { "engine": "Motore", "voice": "Voce", "name": "Nome", "namePlaceholder": "La mia voce", "descriptionLabel": "Descrizione (Facoltativa)", "descriptionPlaceholder": "Descrivi questa voce…", "language": "Lingua", "referenceText": "Testo di riferimento", "referenceTextPlaceholder": "Inserisci il testo esatto pronunciato nell'audio…", "defaultEngine": "Motore predefinito", "noPreference": "Nessuna preferenza", "defaultEngineHint": "Seleziona automaticamente questo motore quando viene scelto il profilo.", "defaultEffects": "Effetti predefiniti", "defaultEffectsHint": "Effetti applicati automaticamente a tutte le nuove generazioni con questa voce.", "personalityLabel": "Personalità", "personalityPlaceholder": "es. \"un pirata scontroso che parla solo con metafore marinaresche\"", "personalityHint": "Chi è questa voce e come parla. Guida il pulsante Componi e l'opzione di riscrittura nel personaggio nella pagina di generazione. Lascia vuoto per nasconderli entrambi." }, "avatar": { "alt": "Anteprima avatar" }, "actions": { "saving": "Salvataggio…", "saveChanges": "Salva modifiche", "createProfile": "Crea profilo" }, "validation": { "nameRequired": "Il nome è richiesto", "referenceRequired": "Il testo di riferimento è richiesto quando si aggiunge un campione", "sampleRequired": "Il campione audio è richiesto", "referenceTextRequired": "Il testo di riferimento è richiesto", "audioTooLong": "L'audio è troppo lungo ({{duration}}). La durata massima è {{max}}.", "audioFailed": "Impossibile convalidare il file audio. Prova con un file diverso." }, "toast": { "recordingComplete": "Registrazione completata", "recordingCompleteDescription": "L'audio è stato registrato con successo.", "recordingError": "Errore di registrazione", "systemAudioCaptured": "Audio di sistema acquisito", "systemAudioCapturedDescription": "L'audio è stato acquisito con successo.", "systemAudioError": "Errore di acquisizione dell'audio di sistema", "transcribeFailed": "Trascrizione non riuscita", "transcribeFailedFallback": "Impossibile trascrivere l'audio", "noFile": "Nessun file selezionato", "noFileDescription": "Seleziona prima un file audio.", "invalidFile": "Tipo di file non valido", "invalidImageFormat": "Seleziona un file immagine (PNG, JPG o WebP)", "fileTooLarge": "File troppo grande", "imageTooLargeDescription": "L'immagine deve essere inferiore a 5MB", "avatarRemoved": "Avatar rimosso", "avatarRemovedDescription": "L'immagine dell'avatar è stata rimossa con successo.", "avatarRemoveFailed": "Impossibile rimuovere l'avatar", "avatarUploadFailed": "Caricamento dell'avatar non riuscito", "avatarUploadFailedFallback": "Impossibile caricare l'avatar", "effectsUpdateFailed": "Aggiornamento degli effetti non riuscito", "effectsUpdateFailedFallback": "Impossibile salvare la catena di effetti", "voiceUpdated": "Voce aggiornata", "voiceUpdatedDescription": "\"{{name}}\" è stata aggiornata con successo.", "noVoiceSelected": "Nessuna voce selezionata", "noVoiceSelectedDescription": "Seleziona una voce integrata.", "profileCreated": "Profilo creato", "profileCreatedBuiltin": "\"{{name}}\" è stato creato con una voce integrata.", "profileCreatedSample": "\"{{name}}\" è stato creato con un campione.", "sampleRequired": "Campione audio richiesto", "sampleRequiredDescription": "Fornisci un campione audio per creare il profilo vocale.", "referenceTextRequired": "Testo di riferimento richiesto", "referenceTextRequiredDescription": "Fornisci il testo di riferimento per il campione audio.", "invalidAudio": "File audio non valido", "invalidAudioDescription": "La durata dell'audio è {{duration}}, ma il massimo consentito è {{max}}.", "validationError": "Errore di convalida", "rollbackFailed": "Ripristino non riuscito", "rollbackFailedDescription": "Impossibile rimuovere il profilo creato dopo il fallimento del caricamento del campione.", "profileRolledBack": "Il profilo è stato ripristinato.", "sampleFailed": "Impossibile aggiungere il campione", "sampleFailedDescription": "Impossibile aggiungere il campione.", "sampleFailedRolledBack": "Impossibile aggiungere il campione. Il profilo è stato ripristinato.", "saveFailed": "Impossibile salvare il profilo" } }, "audioSample": { "chooseFile": "Scegli file", "uploadHint": "Clicca per scegliere un file o trascinalo qui. Durata massima: 30 secondi.", "fileUploaded": "File caricato", "fileLabel": "File: {{name}}", "play": "Riproduci", "pause": "Pausa", "transcribe": "Trascrivi", "transcribing": "Trascrizione in corso…", "remove": "Rimuovi", "startRecording": "Avvia registrazione", "recordHint": "Clicca per avviare la registrazione. Durata massima: 30 secondi.", "stopRecording": "Interrompi registrazione", "remaining": "{{time}} rimanenti", "recordingComplete": "Registrazione completata", "recordAgain": "Registra di nuovo", "startCapture": "Avvia acquisizione", "systemHint": "Acquisisci l'audio dal tuo sistema. Durata massima: 30 secondi.", "stopCapture": "Interrompi acquisizione", "captureComplete": "Acquisizione completata", "captureAgain": "Acquisisci di nuovo" }, "sampleList": { "loading": "Caricamento campioni…", "empty": { "title": "Ancora nessun campione", "hint": "Aggiungi il tuo primo campione audio per iniziare" }, "editing": "Modifica della trascrizione", "placeholder": "Inserisci il testo di riferimento…", "saving": "Salvataggio…", "editTranscription": "Modifica trascrizione", "deleteSample": "Elimina campione", "addSample": "Aggiungi campione", "note": "Nota: Un singolo campione di 30 secondi rappresenta la combinazione ideale. La qualità potrebbe diminuire con più campioni. In un aggiornamento futuro, i campioni potrebbero essere intercambiabili e contrassegnati per stili diversi della stessa voce.", "deleteDialog": { "title": "Elimina campione", "description": "Sei sicuro di voler eliminare questo campione audio? Questa azione non può essere annullata.", "deleting": "Eliminazione in corso…" }, "player": { "play": "Riproduci campione", "pause": "Pausa campione", "stop": "Interrompi", "stopAria": "Interrompi riproduzione", "position": "Posizione riproduzione campione", "positionValue": "{{current}} di {{total}}" }, "toast": { "invalidText": "Testo non valido", "invalidTextDescription": "Il testo di riferimento non può essere vuoto.", "updated": "Campione aggiornato", "updatedDescription": "Il testo di riferimento è stato aggiornato con successo.", "updateFailed": "Aggiornamento non riuscito", "updateFailedFallback": "Impossibile aggiornare il campione" } }, "profiles": { "card": { "noDescription": "Nessuna descrizione", "designed": "progettato", "export": "Esporta profilo", "edit": "Modifica profilo", "delete": "Elimina profilo", "selectLabel": "{{name}}, {{language}}. Seleziona come voce per la generazione.", "selectLabelSelected": "{{name}}, {{language}}. Selezionato come voce per la generazione." }, "list": { "errorLoading": "Errore durante il caricamento dei profili: {{message}}", "empty": "Ancora nessun profilo vocale. Crea il tuo primo profilo per iniziare.", "createVoice": "Crea voce", "unsupportedNote": "È possibile selezionare solo i profili vocali supportati dal modello attuale." }, "deleteDialog": { "title": "Elimina profilo", "body": "Sei sicuro di voler eliminare \"{{name}}\"? Questa azione non può essere annullata.", "deleting": "Eliminazione in corso…" } }, "effects": { "title": "Effetti", "newPreset": "Nuovo preset", "noDescription": "Nessuna descrizione", "placeholder": "Seleziona un preset o creane uno nuovo", "effectCount_one": "{{count}} effetto", "effectCount_other": "{{count}} effetti", "sections": { "builtin": "Integrati", "custom": "Personalizzati", "new": "Nuovo" }, "badge": { "builtin": "integrato" }, "unsaved": { "title": "Preset non salvato", "hint": "Configura gli effetti nel pannello di destra." }, "detail": { "newTitle": "Nuovo preset", "editTitle": "Modifica preset", "savePreset": "Salva preset", "saveAsCustom": "Salva come personalizzato", "saving": "Salvataggio…", "deleting": "Eliminazione in corso…" }, "fields": { "name": "Nome", "namePlaceholder": "Il mio preset…", "description": "Descrizione", "descriptionPlaceholder": "Descrivi cosa fa questo preset…" }, "preview": { "label": "Anteprima", "button": "Anteprima", "processing": "Elaborazione in corso…", "hint": "L'anteprima applica gli effetti alla versione pulita senza salvare." }, "saveAs": { "title": "Salva come preset personalizzato", "description": "Crea un nuovo preset personalizzato basato sulla catena di effetti attuale.", "suggestedName": "{{name}} (Copia)" }, "toast": { "saved": "Preset salvato", "createdDescription": "\"{{name}}\" è stato creato.", "updated": "Preset aggiornato", "deleted": "Preset eliminato", "saveFailed": "Salvataggio non riuscito", "deleteFailed": "Eliminazione non riuscita", "previewFailed": "Anteprima non riuscita", "nameRequired": "Nome richiesto" }, "chain": { "loadPreset": "Carica preset…", "addEffect": "Aggiungi effetto…", "clear": "Svuota", "enable": "Abilita", "disable": "Disabilita", "remove": "Rimuovi" }, "types": { "chorus": { "label": "Chorus / Flanger", "params": { "rate_hz": "Velocità LFO (Hz)", "depth": "Profondità di modulazione", "feedback": "Quantità di feedback", "centre_delay_ms": "Ritardo centrale (ms)", "mix": "Miscela Wet/Dry" } }, "reverb": { "label": "Riverbero", "params": { "room_size": "Dimensione stanza", "damping": "Smorzamento alte frequenze", "wet_level": "Livello Wet", "dry_level": "Livello Dry", "width": "Ampiezza stereo" } }, "delay": { "label": "Delay", "params": { "delay_seconds": "Tempo di ritardo (secondi)", "feedback": "Quantità di feedback", "mix": "Miscela Wet/Dry" } }, "compressor": { "label": "Compressore", "params": { "threshold_db": "Soglia (dB)", "ratio": "Rapporto di compressione", "attack_ms": "Tempo di attacco (ms)", "release_ms": "Tempo di rilascio (ms)" } }, "gain": { "label": "Guadagno", "params": { "gain_db": "Guadagno (dB)" } }, "highpass": { "label": "Filtro passa-alto", "params": { "cutoff_frequency_hz": "Frequenza di taglio (Hz)" } }, "lowpass": { "label": "Filtro passa-basso", "params": { "cutoff_frequency_hz": "Frequenza di taglio (Hz)" } }, "pitch_shift": { "label": "Pitch Shift", "params": { "semitones": "Semitoni di spostamento" } } }, "builtinPresets": { "Robotic": { "name": "Robotico", "description": "Voce robotica metallica (flanger con LFO lento e feedback elevato)" }, "Radio": { "name": "Radio", "description": "Voce sottile da radio AM con filtraggio passa-banda e leggera compressione" }, "Echo Chamber": { "name": "Camera d'eco", "description": "Riverbero ampio con eco prolungato" }, "Deep Voice": { "name": "Voce profonda", "description": "Tonalità più bassa con maggiore calore" } } }, "stories": { "title": "Storie", "newStory": "Nuova storia", "loading": "Caricamento storie…", "searchPlaceholder": "Cerca storie…", "empty": { "title": "Ancora nessuna storia", "hint": "Crea la tua prima storia per iniziare", "noMatches": "Nessuna storia corrisponde a \"{{query}}\"" }, "row": { "itemCount_one": "{{count}} elemento", "itemCount_other": "{{count}} elementi", "ariaLabel": "Storia {{name}}, {{count}} elementi, {{updated}}", "actionsLabel": "Azioni per {{name}}" }, "createDialog": { "title": "Crea nuova storia", "description": "Crea una nuova storia per organizzare le tue generazioni vocali in conversazioni.", "action": "Crea", "creating": "Creazione in corso…" }, "editDialog": { "title": "Modifica storia", "description": "Aggiorna il nome e la descrizione della storia.", "saving": "Salvataggio in corso…" }, "deleteDialog": { "title": "Sei sicuro?", "description": "Questo eliminerà permanentemente la storia e tutti i suoi elementi. Questa azione non può essere annullata.", "deleting": "Eliminazione in corso…" }, "fields": { "name": "Nome", "namePlaceholder": "La mia storia", "descriptionLabel": "Descrizione (facoltativa)", "descriptionPlaceholder": "Una conversazione tra…" }, "toast": { "nameRequired": "Nome richiesto", "nameRequiredDescription": "Inserisci il nome della storia", "created": "Storia creata", "createdDescription": "\"{{name}}\" è stata creata", "createFailed": "Impossibile creare la storia", "updateFailed": "Impossibile aggiornare la storia", "deleteFailed": "Impossibile eliminare la storia" } }, "storyContent": { "selectStory": { "title": "Seleziona una storia", "hint": "Scegli una storia dall'elenco per visualizzarne il contenuto" }, "loading": "Caricamento storia…", "notFound": { "title": "Storia non trovata", "hint": "Impossibile caricare la storia selezionata" }, "generatingCount_one": "Generazione di {{count}} traccia audio", "generatingCount_other": "Generazione di {{count}} tracce audio", "add": "Aggiungi", "searchPlaceholder": "Cerca per nome o trascrizione…", "searchNoMatches": "Nessuna generazione corrispondente trovata", "searchNoAvailable": "Nessuna generazione disponibile", "exportAudio": "Esporta audio", "empty": { "title": "Nessun elemento in questa storia", "hint": "Genera del testo parlato utilizzando la casella sottostante per aggiungere elementi" }, "itemActions": { "playFromHere": "Riproduci da qui", "regenerate": "Rigenera", "removeFromStory": "Rimuovi dalla storia" }, "importAudio": "Importa audio…", "importing": "Importazione in corso…", "dropToImport": "Rilascia l'audio per importarlo", "toast": { "removeFailed": "Impossibile rimuovere l'elemento", "reorderFailed": "Impossibile riordinare gli elementi", "exportFailed": "Impossibile esportare l'audio", "addFailed": "Impossibile aggiungere la generazione", "regenerateFailed": "Impossibile rigenerare", "importFailed": "Impossibile importare l'audio" } }, "history": { "empty": "Ancora nessuna generazione vocale…", "actions": { "menu": "Azioni", "play": "Riproduci", "exportAudio": "Esporta audio", "exportPackage": "Esporta pacchetto", "applyEffects": "Applica effetti", "regenerate": "Rigenera" }, "deleteDialog": { "title": "Elimina generazione", "body": "Sei sicuro di voler eliminare questa generazione da \"{{name}}\"? Questa azione non può essere annullata.", "deleting": "Eliminazione in corso…" }, "clearFailedDialog": { "title": "Cancella generazioni non riuscite", "body_one": "Questo eliminerà permanentemente {{count}} generazione non riuscita dalla tua cronologia. L'azione non può essere annullata.", "body_other": "Questo eliminerà permanentemente {{count}} generazioni non riuscite dalla tua cronologia. L'azione non può essere annullata.", "clearing": "Cancellazione in corso…", "clearAll": "Cancella tutto" }, "importDialog": { "title": "Importa generazione", "body": "Importa la generazione da \"{{name}}\". Questo la aggiungerà alla tua cronologia.", "importing": "Importazione in corso…", "action": "Importa" }, "effectsDialog": { "title": "Applica effetti", "body": "Configura gli effetti di post-elaborazione da applicare a questa generazione. Verrà creata una nuova versione.", "sourceLabel": "Sorgente", "sourcePlaceholder": "Seleziona la versione sorgente", "apply": "Applica", "applying": "Applicazione in corso…" } }, "generation": { "placeholder": { "storyWithEffects": "Genera testo parlato per \"{{name}}\"… (digita / per gli effetti)", "story": "Genera testo parlato per \"{{name}}\"…", "profile": "Genera testo parlato usando {{name}}…", "effectsHint": "Digita / per effetti come [risata], [sospiro]…", "selectVoice": "Seleziona un profilo vocale qui sopra…" }, "button": { "generate": "Genera testo parlato", "generating": "Generazione in corso…", "selectFirst": "Seleziona prima un profilo vocale" }, "instruct": { "show": "Mostra istruzioni di pronuncia", "hide": "Nascondi istruzioni di pronuncia", "tooltip": "Istruzioni di pronuncia (tono, emozione, ritmo)", "placeholder": "Istruzioni di pronuncia — es. Parla lentamente con calore, Autorevole e chiaro…" }, "voiceSelector": { "placeholder": "Seleziona una voce…" }, "effects": { "none": "Nessun effetto", "profileDefault": "Predefinito del profilo" }, "compose": { "tooltip": "Componi", "ariaLabel": "Componi una battuta nel personaggio", "failedTitle": "Composizione non riuscita", "failedDescription": "Impossibile generare il testo da questa personalità." }, "persona": { "tooltipActive": "Parla nel personaggio", "tooltipInactive": "Parla nel personaggio", "ariaLabelActive": "Parla nel personaggio", "ariaLabelInactive": "Parla nel personaggio" } }, "main": { "importVoice": "Importa voce", "createVoice": "Crea voce", "import": { "invalidTitle": "Tipo di file non valido", "invalidDescription": "Seleziona un file .talkbox.zip valido", "successTitle": "Profilo importato", "successDescription": "Profilo vocale importato con successo", "failedTitle": "Impossibile importare il profilo", "dialogTitle": "Importa profilo", "dialogDescription": "Importa il profilo da \"{{name}}\". Questo creerà un nuovo profilo contenente tutti i campioni.", "importing": "Importazione in corso…", "action": "Importa" } }, "settings": { "tabs": { "general": "Generali", "generation": "Generazione", "captures": "Acquisizioni", "mcp": "MCP", "gpu": "GPU", "logs": "Log", "changelog": "Registro modifiche", "about": "Informazioni" }, "language": { "label": "Lingua", "description": "Scegli la lingua di visualizzazione di TalkBox." }, "theme": { "label": "Tema", "description": "Adatta al sistema, oppure scegli un aspetto fisso chiaro o scuro.", "options": { "system": "Sistema", "light": "Chiaro", "dark": "Scuro" } }, "general": { "docs": { "title": "Leggi la documentazione" }, "discord": { "title": "Unisciti a Discord", "subtitle": "Ricevi aiuto e condividi le voci" }, "serverUrl": { "title": "URL del server", "description": "L'indirizzo del server backend di TalkBox.", "invalidUrl": "Inserisci un URL valido", "updatedTitle": "URL del server aggiornato", "updatedDescription": "Connesso a {{url}}" }, "keepServerRunning": { "title": "Mantieni il server in esecuzione alla chiusura dell'app", "description": "Il server continuerà a funzionare in background dopo la chiusura dell'applicazione.", "failedTitle": "Impossibile aggiornare l'impostazione", "failedDescription": "Impossibile sincronizzare l'impostazione con il backend.", "updatedTitle": "Impostazione aggiornata", "runningDescription": "Il server rimarrà in esecuzione alla chiusura dell'app", "stoppedDescription": "Il server si arresterà alla chiusura dell'app" }, "networkAccess": { "title": "Consenti l'accesso alla rete", "description": "Rende il server accessibile da altri dispositivi sulla tua rete. Riavvia l'app dopo la modifica.", "updatedTitle": "Impostazione aggiornata", "enabled": "Accesso alla rete abilitato. Riavvia l'app per applicare le modifiche.", "disabled": "Accesso alla rete disabilitato. Riavvia l'app per applicare le modifiche." }, "connection": { "connecting": "Connessione in corso", "offline": "Offline", "online": "Online" }, "updates": { "title": "Aggiornamenti dell'app", "devSuffix": " (sviluppo)", "devMode": { "title": "Modalità di sviluppo", "description": "Gli aggiornamenti automatici sono disabilitati in modalità di sviluppo." }, "check": { "title": "Controlla aggiornamenti", "available": "Versione {{version}} disponibile", "checking": "Verifica in corso…", "upToDate": "L'applicazione è aggiornata", "button": "Controlla" }, "error": "Errore di aggiornamento", "download": { "title": "Aggiorna alla versione {{version}}", "description": "Scarica e installa l'ultima versione.", "button": "Scarica" }, "downloading": "Download dell'aggiornamento in corso…", "ready": { "title": "Aggiornamento pronto per l'installazione", "description": "La versione {{version}} è stata scaricata. Riavvia per completare.", "button": "Riavvia ora" } }, "api": { "title": "Accesso API", "description": "Integra TalkBox nel tuo flusso di lavoro tramite l'API REST all'indirizzo {{url}}", "viewReference": "Visualizza il riferimento API completo", "endpoints": { "generate": "Genera testo parlato", "health": "Stato del server", "profiles": "Elenca voci", "history": "Generazioni passate" } } }, "generation": { "title": "Generazione", "description": "Controlli per la generazione di testi lunghi. Queste impostazioni si applicano a tutti i motori.", "chunkLimit": { "title": "Limite di suddivisione automatica", "description": "I testi lunghi vengono suddivisi in blocchi in corrispondenza dei confini delle frasi. Valori più bassi possono migliorare la qualità per output lunghi.", "value": "{{chars}} caratteri" }, "crossfade": { "title": "Dissolvenza incrociata tra blocchi", "description": "Sfuma l'audio tra i blocchi per rendere fluide le transizioni. Imposta a 0 per un taglio netto.", "cut": "Taglio netto", "ms": "{{ms}}ms" }, "normalize": { "title": "Normalizza audio", "description": "Regola il volume dell'output a un livello coerente in tutte le generazioni." }, "autoplay": { "title": "Riproduzione automatica alla generazione", "description": "Riproduci automaticamente l'audio al completamento di una generazione." }, "folder": { "title": "Cartella delle generazioni", "description": "Cartella del disco in cui vengono memorizzati i file audio generati.", "open": "Apri" }, "sidebar": { "aboutTitle": "Informazioni sulla generazione vocale", "aboutBody": "Clona una voce da un breve campione, quindi genera testo parlato in qualsiasi voce e in qualsiasi lingua. Integra la sintesi vocale (TTS) in agenti IA, giochi, podcast o narrazioni a lungo formato.", "differencesTitle": "Cosa cambia", "clone": { "title": "Clona qualsiasi voce in pochi secondi.", "body": "Bastano pochi secondi di audio di riferimento. Supporto multi-campione per una qualità superiore quando ne hai bisogno." }, "engines": { "title": "Sette motori, 23 lingue.", "body": "Scegli il compromesso più adatto alle tue esigenze tra qualità, velocità o copertura multilingue." }, "agentReady": { "title": "Pronto per gli agenti.", "body": "API REST con controllo per singolo profilo — assegna a qualsiasi IA una voce che hai clonato." } } }, "captures": { "dictation": { "title": "Dettatura", "description": "Acquisisci audio da qualsiasi punto del tuo computer con una scorciatoia globale.", "globalShortcut": { "title": "Scorciatoia globale", "description": "Tieni premuta la scorciatoia per registrare da qualsiasi punto del tuo computer. Rilascia per trascrivere." }, "pushToTalk": { "title": "Scorciatoia Push-to-talk", "description": "Tieni premuti questi tasti in qualsiasi punto del sistema per registrare. Rilascia per interrompere e trascrivere.", "change": "Cambia" }, "toggle": { "title": "Scorciatoia di attivazione/disattivazione", "description": "Premi una volta per avviare una registrazione a mani libere. Premi di nuovo per interromperla. Di solito corrisponde alla combinazione push-to-talk più lo Spazio.", "change": "Cambia" }, "chordPicker": { "pttTitle": "Imposta la scorciatoia push-to-talk", "pttDescription": "Tieni premuti i tasti che desideri utilizzare, quindi rilasciali e clicca su Salva. L'indicatore del tasto modificatore sul lato destro mostra se si tratta della variante sinistra o destra.", "toggleTitle": "Imposta la scorciatoia di attivazione/disattivazione", "toggleDescription": "Tieni premuti i tasti che desideri utilizzare, quindi rilasciali e clicca su Salva. Scegli una combinazione diversa rispetto a quella del push-to-talk." }, "preview": { "title": "Anteprima", "description": "Cosa appare sullo schermo mentre tieni premuta la scorciatoia." }, "copyToClipboard": { "title": "Copia trascrizione negli appunti", "description": "La trascrizione ripulita viene salvata negli appunti al termine dell'acquisizione." }, "autoPaste": { "title": "Incollo automatico nel campo di testo attivo", "description": "Se un campo di inserimento testo è attivo in un'altra app, incolla direttamente al suo interno. TalkBox salva e ripristina il contenuto precedente dei tuoi appunti." } }, "transcription": { "title": "Trascrizione", "description": "Scegli quale modello di riconoscimento vocale (speech-to-text) eseguire sulle tue acquisizioni.", "model": { "title": "Modello di trascrizione", "description": "Whisper è integrato in TalkBox ed è eseguito interamente sul tuo computer.", "base": "Whisper Base · 74M · {{tail}}", "small": "Whisper Small · 244M · {{tail}}", "medium": "Whisper Medium · 769M · {{tail}}", "large": "Whisper Large · 1.5B · {{tail}}", "turbo": "Whisper Turbo · Large v3 ridotto · {{tail}}", "tail": { "fast": "Veloce", "balanced": "Bilanciato", "higher": "Precisione superiore", "best": "Massima precisione", "nearBest": "Precisione quasi massima, veloce" } }, "language": { "title": "Lingua", "description": "Il rilevamento automatico funziona per la maggior parte delle acquisizioni. Imposta una lingua fissa se parli sempre la stessa.", "auto": "Rilevamento automatico", "en": "Inglese", "es": "Spagnolo", "fr": "Francese", "de": "Tedesco", "ja": "Giapponese", "zh": "Cinese", "hi": "Hindi" }, "archive": { "title": "Archivia audio", "description": "Conserva la registrazione originale insieme a ciascuna trascrizione." } }, "refinement": { "title": "Perfezionamento", "description": "Esegui facoltativamente un modello linguistico locale (LLM) sulle trascrizioni per rimuovere intercalari, correggere la punteggiatura e le autocorrezioni.", "auto": { "title": "Perfeziona automaticamente le trascrizioni", "description": "Viene eseguito dopo ogni acquisizione. Puoi comunque passare dalla versione grezza a quella perfezionata nella scheda Acquisizioni." }, "model": { "title": "Modello di perfezionamento", "description": "I modelli più grandi sono più lenti ma gestiscono meglio le sottili autocorrezioni e il vocabolario tecnico.", "size06": "Qwen3 · 0.6B · 400 MB · {{tail}}", "size17": "Qwen3 · 1.7B · 1.1 GB · {{tail}}", "size40": "Qwen3 · 4B · 2.5 GB · {{tail}}", "tail": { "veryFast": "Molto veloce", "fast": "Veloce", "fullQuality": "Massima qualità" } }, "smartCleanup": { "title": "Pulizia intelligente", "description": "Rimuovi gli intercalari (ehm, uh, cioè), ripristina la punteggiatura e correggi le maiuscole senza riformulare il testo." }, "selfCorrection": { "title": "Rimuovi autocorrezioni", "description": "Quando cambi idea a metà frase (\"anzi no...\", \"aspetta, volevo dire...\"), elimina la parte ritrattata e mantieni solo l'intenzione finale." }, "preserveTechnical": { "title": "Preserva i termini tecnici", "description": "Mantieni gli identificatori di codice, i nomi dei comandi e gli acronimi esattamente come vengono pronunciati. Attiva questa opzione quando detti all'interno di un prompt di codice." } }, "playback": { "title": "Riproduzione", "description": "Voce predefinita per l'azione \"Riproduci come\" nella scheda Acquisizioni.", "defaultVoice": { "title": "Voce predefinita", "description": "Utilizzata quando clicchi su Riproduci come senza scegliere prima una voce. Puoi modificarla per ogni singola acquisizione.", "noClonedVoices": "Ancora nessuna voce clonata", "noneSelected": "Nessuna selezionata", "clonedVoices": "Voci clonate" } }, "storage": { "title": "Archiviazione", "description": "Le acquisizioni vengono salvate come file audio e di trascrizione accoppiati nella cartella dei dati di TalkBox.", "retention": { "title": "Conservazione", "description": "Per quanto tempo conservare le acquisizioni. Si applica sia all'audio che alle trascrizioni.", "forever": "Conserva per sempre", "d90": "90 giorni", "d30": "30 giorni", "d7": "7 giorni" }, "folder": { "title": "Cartella delle acquisizioni", "description": "Cartella del disco in cui vengono memorizzati l'audio e le trascrizioni delle acquisizioni.", "open": "Apri" } }, "sidebar": { "aboutTitle": "Informazioni sulle Acquisizioni", "aboutBody": "Tieni premuta una scorciatoia in qualsiasi punto del tuo computer, parla e TalkBox trasformerà la tua voce in testo. Riproducilo con qualsiasi voce clonata, incollalo in qualsiasi app o invialo direttamente al tuo agente di programmazione.", "differencesTitle": "Cosa cambia", "local": { "title": "Interamente locale.", "body": "Whisper e il modello LLM di perfezionamento vengono eseguiti sull'hardware del tuo computer. Nessun cloud, nessun account, la tua voce non lascia mai la macchina." }, "playAs": { "title": "Riproduci con qualsiasi voce.", "body": "Le trascrizioni possono essere rilette da qualsiasi profilo che hai clonato." }, "crossPlatform": { "title": "Multipiattaforma.", "body": "Stessa scorciatoia, stesso flusso di lavoro su macOS, Windows e Linux." }, "windowsCaveat": { "title": "Attenzione su Windows", "body": "La scorciatoia non si attiverà mentre TalkBox stesso o qualsiasi applicazione eseguita come amministratore è in primo piano. Ci stiamo lavorando." } } }, "mcp": { "install": { "title": "Installa nel tuo agente", "description": "TalkBox espone un server MCP locale ogni volta che l'app è aperta. Incolla uno di questi frammenti nella configurazione MCP del tuo agente.", "http": { "title": "HTTP (consigliato)", "description": "Per i client che supportano HTTP MCP — Claude Code, Cursor, Windsurf, VS Code." }, "claudeCode": { "title": "Comando a riga singola per Claude Code", "description": "Si registra tramite l'interfaccia a riga di comando (CLI) di Claude Code." }, "stdio": { "title": "Stdio (alternativa)", "description": "Per i client che avviano solo processi stdio. Il file binario shim viene fornito insieme all'app." }, "copy": "Copia", "copied": "Copiato" }, "defaultVoice": { "title": "Voce predefinita", "description": "Utilizzata quando un agente chiama talkbox.speak senza specificare un profilo e non ha un'associazione per singolo client.", "label": "Voce di riproduzione predefinita", "labelHint": "Condivisa con il menu a discesa 'Riproduci come voce' della scheda Acquisizioni — una sola voce predefinita per la riproduzione passiva.", "none": "(nessuna)" }, "bindings": { "title": "Voce per singolo agente", "description": "Associa agenti specifici a voci specifiche, in modo da poter capire chi sta parlando senza guardare lo schermo. L'agente si identifica tramite l'intestazione X-TalkBox-Client-Id (o la variabile d'ambiente TALKBOX_CLIENT_ID per stdio).", "empty": "Ancora nessuna associazione. Aggiungine una qui sotto, quindi configura il tuo client MCP per inviare il corrispondente X-TalkBox-Client-Id.", "lastSeen": "ultimo rilevamento {{when}}", "lastSeenTitle": "Ultimo rilevamento {{when}}", "neverConnected": "mai connesso", "defaultOption": "(predefinita)", "removeAria": "Rimuovi associazione per {{client}}", "add": { "title": "Aggiungi un'associazione", "clientIdPlaceholder": "id client (es. claude-code)", "labelPlaceholder": "etichetta (facoltativa)", "action": "Aggiungi associazione" } }, "sidebar": { "aboutTitle": "Informazioni su MCP", "aboutBody": "Il protocollo Model Context Protocol consente al tuo agente di programmazione IA — Claude Code, Cursor, Windsurf — di chiamare gli strumenti di TalkBox. Parla con una voce clonata, trascrivi tracce audio, sfoglia le acquisizioni.", "toolsTitle": "Strumenti disponibili", "tools": { "speak": "Pronuncia il testo all'interno di un profilo vocale.", "transcribe": "Riconoscimento vocale Whisper STT su una traccia.", "listCaptures": "Dettature / registrazioni recenti.", "listProfiles": "Profili vocali disponibili." }, "postSpeak": "Esposto anche come POST /speak per script di shell, ACP, A2A." } }, "gpu": { "cpuOnly": "Solo CPU", "vramUsed": "{{mb}} MB VRAM", "noAcceleration": "Nessuna accelerazione GPU rilevata", "active": "Attiva", "cuda": { "title": "Backend CUDA", "activeTitle": "Backend CUDA attivo", "description": "Accelerazione GPU NVIDIA tramite un backend CUDA scaricabile.", "downloading": "Download del backend CUDA in corso…", "downloadingShort": "Download in corso…", "updating": "Aggiornamento in corso…" }, "activeBackend": { "description": "L'accelerazione GPU è attualmente abilitata." }, "restart": { "ready": "Server riavviato con successo", "waiting": "Riavvio del server in corso…", "stopping": "Arresto del server in corso…" }, "download": { "title": "Scarica il backend CUDA", "description": "Download di circa 2,4 GB. Richiede una GPU NVIDIA con supporto CUDA.", "button": "Scarica" }, "switchToCuda": { "title": "Passa al backend CUDA", "description": "Il backend CUDA è stato scaricato ed è pronto. Riavvia per abilitarlo.", "button": "Riavvia" }, "switchToCpu": { "title": "Passa al backend CPU", "description": "Disabilita l'accelerazione GPU. Potrai scaricare nuovamente il backend GPU in un secondo momento.", "button": "Passa a CPU" }, "remove": { "title": "Rimuovi il backend CUDA", "description": "Elimina il file binario CUDA scaricato per liberare spazio sul disco.", "button": "Rimuovi" }, "errors": { "downloadFailed": "Download non riuscito", "downloadStart": "Impossibile avviare il download", "restartFailed": "Riavvio non riuscito", "switchCpu": "Impossibile passare alla CPU", "deleteCuda": "Impossibile eliminare il backend CUDA", "deleteRocm": "Impossibile eliminare il backend ROCm" }, "footer": "TalkBox rileva e utilizza automaticamente la migliore GPU disponibile sul tuo sistema. Sui Mac con chip Apple Silicon, il backend MLX viene eseguito nativamente sul Neural Engine e sulla GPU tramite Metal Performance Shaders (MPS), senza richiedere alcuna configurazione aggiuntiva. Su Windows, puoi scaricare i backend opzionali CUDA (NVIDIA) o ROCm (AMD) per l'inferenza con accelerazione hardware. Dove disponibili tramite PyTorch, sono supportati anche Intel XPU e DirectML. Quando non viene rilevata alcuna GPU, TalkBox si affida alla CPU — tutti i motori continuano a funzionare, solo più lentamente.", "rocm": { "title": "Backend AMD ROCm", "activeTitle": "Backend ROCm attivo", "description": "Accelerazione GPU AMD tramite un backend ROCm scaricabile.", "downloading": "Download del backend ROCm in corso…", "downloadingShort": "Download in corso…", "updating": "Aggiornamento in corso…" }, "downloadRocm": { "title": "Scarica il backend AMD ROCm", "description": "Download di circa 2-3 GB. Richiede una GPU AMD Radeon con supporto ROCm.", "button": "Scarica" }, "switchToRocm": { "title": "Passa al backend ROCm", "description": "Il backend ROCm è stato scaricato ed è pronto. Riavvia per abilitarlo.", "button": "Riavvia" }, "removeRocm": { "title": "Rimuovi il backend ROCm", "description": "Elimina il file binario ROCm scaricato per liberare spazio sul disco.", "button": "Rimuovi" } }, "logs": { "title": "Log del server", "lineCount_one": "{{count}} riga", "lineCount_other": "{{count}} righe", "scrollToBottom": "Scorri fino in fondo", "clear": "Svuota", "empty": "Ancora nessun log disponibile.", "devHint": "I log del server vengono acquisiti solo quando l'app gestisce il processo del server (build di produzione)." }, "changelog": { "devBadge": "sviluppo", "showLess": "Mostra meno", "showMore": "Mostra di più" }, "about": { "tagline": "Lo studio di sintesi vocale open source. Clona voci, genera testo parlato, applica effetti e sviluppa applicazioni vocali — tutto eseguito localmente sul tuo computer.", "createdBy": "Creato da", "buyCoffee": "Offrimi un caffè", "license": "Rilasciato sotto licenza MIT" } }, "models": { "title": "Modelli", "subtitle": "Scarica e gestisci i modelli di intelligenza artificiale per la generazione vocale e la trascrizione", "defaultName": "Modello", "unknownSize": "Dimensione sconosciuta", "sections": { "voiceGeneration": "Generazione vocale", "transcription": "Trascrizione", "languageModels": "Modelli linguistici" }, "status": { "loaded": "Caricato" }, "storage": { "location": "Posizione di archiviazione", "open": "Apri", "change": "Cambia", "migrating": "Migrazione in corso…", "reset": "Ripristina", "pickerTitle": "Scegli la cartella di archiviazione dei modelli" }, "progress": { "connecting": "Connessione in corso…", "connectingHf": "Connessione a HuggingFace in corso…" }, "problems": { "title": "Problemi", "clearAll": "Cancella tutto", "noDetails": "Nessun dettaglio sull'errore disponibile. Prova a scaricare di nuovo.", "startedAt": "avviato alle {{time}}" }, "detail": { "loadingInfo": "Caricamento informazioni modello…", "byAuthor": "di {{author}}", "downloads": "Download", "likes": "Mi piace", "license": "Licenza", "languagesCount": "{{count}} lingue supportate", "languagesList": "Lingue: {{list}}", "onDisk": "{{size}} su disco" }, "actions": { "download": "Scarica", "retry": "Riprova download", "unload": "Disattiva", "unloading": "Disattivazione in corso…", "unloadFirst": "Disattiva il modello prima di eliminarlo", "deleteModel": "Elimina modello" }, "deleteDialog": { "title": "Elimina modello", "body": "Sei sicuro di voler eliminare {{name}}?", "sizeNote": "Questo libererà {{size}} di spazio sul disco. Il modello dovrà essere scaricato nuovamente se desideri utilizzarlo ancora.", "deleting": "Eliminazione in corso…" }, "migrateDialog": { "title": "Spostare i modelli nella nuova posizione?", "description": "Il server si arresterà durante lo spostamento dei modelli nella nuova cartella. Si riavvierà automaticamente al termine della migrazione.", "action": "Sposta modelli", "preparing": "Preparazione in corso…", "restartingServer": "Riavvio del server in corso…" }, "migrate": { "title": "Spostamento dei modelli", "offline": "Il server è offline durante lo spostamento dei modelli." }, "toast": { "downloadFailed": "Download non riuscito", "cancelFailed": "Annullamento non riuscito", "cancelFailedDescription": "Impossibile annullare l'attività di download.", "deleted": "Modello eliminato", "deletedDescription": "{{name}} è stato eliminato con successo.", "deleteFailed": "Eliminazione non riuscita", "unloaded": "Modello disattivato", "unloadedDescription": "{{name}} è stato rimosso dalla memoria.", "unloadFailed": "Disattivazione non riuscita", "openFolderFailed": "Impossibile aprire la cartella del modello", "pickerFailed": "Impossibile aprire il selettore di cartelle", "resetToDefault": "Ripristinato alla posizione predefinita. Riavvio del server in corso…", "noModelsToMigrate": "Nessun modello da migrare", "noModelsToMigrateDescription": "Scarica almeno un modello prima di modificare la posizione di archiviazione.", "migrated": "Modelli spostati con successo", "migrationFailed": "Migrazione non riuscita", "migrationFailedGeneric": "Impossibile migrare i modelli", "migrationConnectionLost": "Connessione interrotta durante la migrazione" } } }