Files
bDS/src/renderer/i18n/locales/it.json
Georg Bauer 5747925503 Feature/lmstudio provider (#30)
* chore: just a plan update

* Add LM Studio as local AI provider (OpenAI-compatible, like Ollama)

* Convert WebP thumbnails to JPEG before image analysis for LM Studio compatibility

* Strengthen language enforcement in image analysis prompt for local models

* Use i18n localized prompts for image analysis instead of English instructions

* Add airplane mode (Flugmodus) with status bar toggle and offline model preferences

* Fix flightmode: persist model IDs, skip network when offline, airplane icon

* Auto-fallback to offline models in airplane mode for chat, title, and image analysis

* Auto-select first local model as offline fallback when no explicit offline model configured

* Block git fetch/pull/push and site upload in airplane mode

* fix: thumbnails optimized for AI

* fix: error handling in airplane mode

---------

Co-authored-by: hugo <hugoms@me.com>
2026-03-02 13:35:42 +01:00

1056 lines
64 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"common.save": "Salva",
"common.cancel": "Annulla",
"common.clear": "Cancella",
"common.settings": "Impostazioni",
"common.tasks": "Attività",
"common.running": "in esecuzione",
"common.pending": "in attesa",
"activity.posts": "Post",
"activity.pages": "Pagine",
"activity.media": "Contenuti media",
"activity.scripts": "Script",
"activity.tags": "Tag",
"activity.templates": "Modelli",
"activity.aiAssistant": "Assistente IA",
"activity.import": "Importa",
"activity.sourceControl": "Controllo sorgente",
"activity.toggleHint": "(clicca di nuovo per mostrare/nascondere la barra laterale)",
"tasks.backgroundTasks": "Attività in background",
"tasks.clearCompleted": "Cancella completate",
"tasks.recent": "Recenti",
"tasks.noActive": "Nessuna attività attiva",
"tasks.cancelTask": "Annulla attività",
"tasks.triggerTitle": "{running} in esecuzione, {pending} in attesa",
"app.taskCompleted": "Attività completata: {message}",
"app.taskFailed": "Attività non riuscita: {message}",
"app.blogmark.transforms.summary": "Trasformazioni blogmark: {applied} applicate, {failed} non riuscite",
"app.blogmark.transforms.appliedList": "Script applicati: {scripts}",
"app.blogmark.transforms.failed": "Trasformazione non riuscita ({script}): {message}",
"app.blogmark.transforms.toast": "Toast script: {message}",
"app.blogmark.transforms.errorToast": "Errori di trasformazione blogmark: {count}",
"app.databaseRebuildFailed": "Ricostruzione database non riuscita",
"app.textReindexFailed": "Reindicizzazione testo non riuscita",
"app.sitemapGenerationFailed": "Generazione sitemap non riuscita",
"app.calendarRegenerationFailed": "Rigenerazione del calendario non riuscita",
"app.uploadSiteFailed": "Caricamento del sito non riuscito",
"app.uploadSiteOfflineMode": "Il caricamento del sito non è disponibile in modalità aereo.",
"app.uploadSiteNoCredentials": "Configurare prima le credenziali SSH nelle impostazioni.",
"app.previewOpenFailed": "Impossibile aprire lanteprima del post selezionato",
"app.metadataDiff": "Diff Metadati",
"app.importComplete": "Import completato: {posts} post, {media} file multimediali",
"siteValidation.tabTitle": "Validazione sito",
"siteValidation.title": "Valida sito",
"siteValidation.summary": "URL attesi: {expected} · URL HTML esistenti: {existing} · Mancanti: {missing} · Extra: {extra} · Post aggiornati: {updated}",
"siteValidation.loading": "Validazione del sito in corso...",
"siteValidation.missingTitle": "URL HTML mancanti (da renderizzare)",
"siteValidation.extraTitle": "URL HTML non referenziati (da eliminare)",
"siteValidation.updatedTitle": "URL post aggiornati (da rigenerare)",
"siteValidation.noneMissing": "Nessun URL mancante trovato.",
"siteValidation.noneExtra": "Nessun URL extra trovato.",
"siteValidation.noneUpdated": "Nessun URL di post aggiornato trovato.",
"siteValidation.apply": "Applica",
"siteValidation.applying": "Applicazione in corso...",
"siteValidation.error.validate": "Validazione del sito non riuscita",
"siteValidation.error.apply": "Applicazione della validazione non riuscita",
"siteValidation.toast.applySuccess": "Validazione applicata: {rendered} renderizzati, {deleted} eliminati",
"menuEditor.tabTitle": "Menu blog",
"menuEditor.title": "Editor del menu blog",
"menuEditor.description": "Gestisci la struttura centrale di navigazione del blog e salvala in meta/menu.opml.",
"menuEditor.loading": "Caricamento menu...",
"menuEditor.loadError": "Impossibile caricare il menu blog",
"menuEditor.save": "Salva menu",
"menuEditor.saving": "Salvataggio...",
"menuEditor.saved": "Menu blog salvato",
"menuEditor.saveFailed": "Impossibile salvare il menu blog",
"menuEditor.addEntry": "Aggiungi voce",
"menuEditor.newEntryPlaceholder": "Inserisci un titolo pagina o etichetta sottomenu",
"menuEditor.createHint": "Seleziona una pagina qui sotto o premi Invio per creare un sottomenu",
"menuEditor.pagePicker.title": "Seleziona pagina",
"menuEditor.pagePicker.searchPlaceholder": "Cerca pagine per titolo o slug...",
"menuEditor.pagePicker.loading": "Caricamento pagine...",
"menuEditor.pagePicker.empty": "Nessuna pagina corrispondente trovata.",
"menuEditor.pagePicker.loadError": "Impossibile caricare le pagine",
"menuEditor.addPage": "Aggiungi pagina",
"menuEditor.addCategoryArchive": "Aggiungi archivio categoria",
"menuEditor.addCategoryArchiveShort": "C+",
"menuEditor.addSubmenu": "Aggiungi sottomenu",
"menuEditor.addChildPage": "Aggiungi pagina figlia",
"menuEditor.addChildSubmenu": "Aggiungi sottomenu figlio",
"menuEditor.moveUp": "Sposta su",
"menuEditor.moveDown": "Sposta giù",
"menuEditor.indent": "Indenta",
"menuEditor.unindent": "Riduci rientro",
"menuEditor.delete": "Elimina",
"menuEditor.details": "Dettagli voce",
"menuEditor.selectItem": "Seleziona una voce per modificarne i dettagli.",
"menuEditor.field.title": "Titolo",
"menuEditor.field.type": "Tipo",
"menuEditor.field.pageSlug": "Slug pagina",
"menuEditor.field.pageId": "ID pagina",
"menuEditor.type.page": "Pagina",
"menuEditor.type.home": "Home",
"menuEditor.type.submenu": "Sottomenu",
"menuEditor.type.categoryArchive": "Archivio categoria",
"menuEditor.empty": "Nessuna voce menu. Aggiungi una pagina o un sottomenu per iniziare.",
"menuEditor.newPage": "Nuova pagina",
"menuEditor.newSubmenu": "Nuovo sottomenu",
"menuEditor.newCategoryPlaceholder": "Digita un nome categoria",
"menuEditor.categoryPicker.loadError": "Impossibile caricare le categorie",
"settings.language.english": "Inglese",
"settings.language.german": "Tedesco",
"settings.language.french": "Francese",
"settings.language.italian": "Italiano",
"settings.language.spanish": "Spagnolo",
"settings.language.portuguese": "Portoghese (Português)",
"settings.language.dutch": "Olandese (Nederlands)",
"settings.language.polish": "Polacco (Polski)",
"settings.language.russian": "Russo (Русский)",
"settings.language.japanese": "Giapponese (日本語)",
"settings.language.chinese": "Cinese (中文)",
"settings.language.korean": "Coreano (한국어)",
"settings.language.arabic": "Arabo (العربية)",
"settings.language.hindi": "Hindi",
"settings.language.turkish": "Turco (Türkçe)",
"settings.language.swedish": "Svedese (Svenska)",
"settings.language.danish": "Danese (Dansk)",
"settings.language.norwegian": "Norvegese (Norsk)",
"settings.language.finnish": "Finlandese (Suomi)",
"settings.language.czech": "Ceco (Čeština)",
"settings.project.title": "Progetto",
"settings.project.browse": "Sfoglia",
"settings.project.reset": "Reimposta",
"settings.project.resetDefault": "Ripristina predefinito",
"settings.project.selectDataFolder": "Seleziona cartella dati del progetto",
"settings.editor.title": "Editor di testo",
"settings.editor.mode.wysiwyg": "WYSIWYG (editor visuale)",
"settings.editor.mode.markdown": "Markdown (sorgente)",
"settings.editor.mode.preview": "Anteprima (sola lettura)",
"settings.editor.diff.inline": "In linea",
"settings.editor.diff.sideBySide": "Affiancato",
"settings.content.title": "Categorie post",
"settings.content.renderInLists": "Mostra negli elenchi",
"settings.content.showTitles": "Mostra titoli",
"settings.ai.title": "Assistente IA",
"settings.ai.noModels": "Nessun modello disponibile",
"settings.technology.title": "Tecnologia",
"settings.technology.description": "Configura il comportamento di runtime per l'esecuzione degli script Python.",
"settings.technology.pythonRuntimeModeLabel": "Modalità runtime Python",
"settings.technology.pythonRuntimeModeDescription": "Scegli dove eseguire gli script Python per le pipeline di trasformazione.",
"settings.technology.pythonRuntimeMode.webworker": "Web Worker (consigliato)",
"settings.technology.pythonRuntimeMode.mainThread": "Thread principale (legacy)",
"settings.publishing.sshTitle": "Pubblicazione SSH",
"settings.data.title": "Manutenzione database",
"settings.data.fileSystemTitle": "Sistema file",
"settings.search.placeholder": "Cerca impostazioni...",
"settings.search.noResults": "Nessuna impostazione trovata per \"{query}\"",
"settings.search.clear": "Cancella ricerca",
"settings.toast.publishingSaved": "Credenziali di pubblicazione salvate",
"settings.toast.saveCredentialsFailed": "Impossibile salvare le credenziali",
"settings.toast.credentialsCleared": "Credenziali {type} cancellate",
"settings.toast.projectSaved": "Impostazioni progetto salvate",
"settings.toast.projectSaveFailed": "Impossibile salvare le impostazioni del progetto",
"settings.toast.blogmarkBookmarkletCopied": "Bookmarklet blogmark copiato negli appunti",
"settings.toast.blogmarkBookmarkletCopyFailed": "Impossibile copiare il bookmarklet blogmark",
"settings.toast.blogmarkBookmarkletGenerateFailed": "Impossibile generare il bookmarklet blogmark",
"settings.toast.categoryAdded": "Categoria \"{category}\" aggiunta",
"settings.toast.categoryAddFailed": "Impossibile aggiungere la categoria",
"settings.toast.categoryExists": "La categoria esiste già",
"settings.toast.categoryProtected": "Impossibile eliminare la categoria standard \"{category}\"",
"settings.toast.categoryAtLeastOne": "Deve esserci almeno una categoria",
"settings.toast.categoryRemoved": "Categoria \"{category}\" rimossa",
"settings.toast.categoryRemoveFailed": "Impossibile rimuovere la categoria",
"settings.toast.categoriesReset": "Categorie ripristinate ai predefiniti",
"settings.toast.categoriesResetFailed": "Impossibile ripristinare le categorie",
"settings.toast.categorySettingsUpdateFailed": "Impossibile aggiornare le impostazioni delle categorie",
"settings.toast.systemPromptSaved": "Prompt di sistema salvato",
"settings.toast.systemPromptSaveFailed": "Impossibile salvare il prompt di sistema",
"settings.toast.systemPromptReset": "Prompt di sistema ripristinato al predefinito",
"settings.toast.systemPromptResetFailed": "Impossibile ripristinare il prompt di sistema",
"settings.toast.apiKeySaved": "Chiave API salvata e convalidata",
"settings.toast.apiKeyInvalid": "Chiave API non valida",
"settings.toast.apiKeySaveFailed": "Impossibile salvare la chiave API",
"settings.toast.defaultModelUpdated": "Modello predefinito aggiornato",
"settings.toast.defaultModelUpdateFailed": "Impossibile impostare il modello predefinito",
"settings.toast.rebuildPostsLoading": "Ricostruzione database post...",
"settings.toast.rebuildPostsSuccess": "Database post ricostruito",
"settings.toast.rebuildPostsFailed": "Impossibile ricostruire il database dei post",
"settings.toast.rebuildMediaLoading": "Ricostruzione database media...",
"settings.toast.rebuildMediaSuccess": "Database media ricostruito",
"settings.toast.rebuildMediaFailed": "Impossibile ricostruire il database dei media",
"settings.toast.rebuildScriptsLoading": "Ricostruzione database script...",
"settings.toast.rebuildScriptsSuccess": "Database script ricostruito",
"settings.toast.rebuildScriptsFailed": "Impossibile ricostruire il database degli script",
"settings.toast.rebuildTemplatesLoading": "Ricostruzione del database dei modelli...",
"settings.toast.rebuildTemplatesSuccess": "Database dei modelli ricostruito",
"settings.toast.rebuildTemplatesFailed": "Impossibile ricostruire il database dei modelli",
"settings.toast.rebuildLinksLoading": "Ricostruzione dei link dei post...",
"settings.toast.rebuildLinksSuccess": "Link dei post ricostruiti",
"settings.toast.rebuildLinksFailed": "Impossibile ricostruire i link dei post",
"settings.toast.thumbnailsLoading": "Generazione miniature in corso...",
"settings.toast.thumbnailsGenerated": "Generate {count} miniature",
"settings.toast.thumbnailsAlreadyExist": "Tutte le miniature esistono già",
"settings.toast.thumbnailsComplete": "Generazione miniature completata",
"settings.toast.thumbnailsFailed": "Impossibile generare le miniature",
"chat.setupTitle": "Configurazione chat IA",
"chat.apiKeyRequiredTitle": "Chiave API richiesta",
"chat.apiKeyRequiredDescription": "Configura una chiave API nelle Impostazioni per abilitare la chat IA.",
"chat.openSettings": "Apri Impostazioni",
"chat.apiKeyPlaceholder": "Inserisci la tua chiave API...",
"chat.apiKeySave": "Salva chiave",
"chat.newChat": "Nuova chat",
"chat.welcomeTitle": "Benvenuto nellassistente IA",
"chat.welcomeDescription": "Posso aiutarti a gestire il tuo blog con visualizzazioni interattive. Prova a chiedermi di:",
"chat.welcomeTipSearch": "Cercare post su un argomento specifico",
"chat.welcomeTipChart": "Mostrare un grafico dei post pubblicati per mese",
"chat.welcomeTipTable": "Confrontare i miei post recenti in una tabella",
"chat.welcomeTipMetadata": "Aggiornare i metadati di post o media",
"chat.welcomeTipTabs": "Mostrare statistiche per anno in schede con grafici",
"chat.role.you": "Tu",
"chat.role.assistant": "Assistente",
"chat.stop": "Ferma",
"chat.inputPlaceholder": "Scrivi un messaggio...",
"chat.errorPrefix": "Errore: {error}",
"chat.errorNoResponse": "Impossibile ottenere una risposta. Riprova.",
"chat.errorEmptyResponse": "Il modello ha restituito una risposta vuota. Prova un modello diverso o riformula la domanda.",
"chat.errorGeneric": "Si è verificato un errore durante lelaborazione del messaggio.",
"chat.cancelledSuffix": "(annullato)",
"aiSuggestions.title": "Analisi immagine IA",
"aiSuggestions.close": "Chiudi",
"aiSuggestions.analyzing": "Analisi dellimmagine in corso...",
"aiSuggestions.titleField": "Titolo",
"aiSuggestions.altField": "Testo alternativo",
"aiSuggestions.captionField": "Didascalia",
"aiSuggestions.hasExisting": "(ha un valore esistente)",
"aiSuggestions.current": "Attuale",
"aiSuggestions.intro": "Seleziona quali valori generati dallIA applicare. I valori esistenti vengono mantenuti per impostazione predefinita.",
"aiSuggestions.empty": "Nessun suggerimento è stato generato per questa immagine.",
"aiSuggestions.wait": "Attendere...",
"aiSuggestions.applySelected": "Applica selezionati",
"insert.title.link": "Inserisci link",
"insert.title.image": "Inserisci immagine",
"insert.tab.linkInternal": "Collega al post",
"insert.tab.imageInternal": "Libreria media",
"insert.tab.linkExternal": "URL esterno",
"insert.tab.imageExternal": "Immagine esterna",
"insert.searchPlaceholder.link": "Cerca post per titolo o contenuto...",
"insert.searchPlaceholder.image": "Cerca media per nome, titolo o testo alternativo...",
"insert.status.searching": "Ricerca...",
"insert.status.typeMore": "Digita almeno 2 caratteri per cercare",
"insert.status.noResults": "Nessun {kind} trovato per \"{query}\"",
"insert.label.url": "Indirizzo URL",
"insert.label.linkTextOptional": "Testo link (opzionale)",
"insert.label.altText": "Testo alternativo",
"insert.placeholder.linkUrl": "https://esempio.it",
"insert.placeholder.imageUrl": "https://esempio.it/immagine.jpg",
"insert.placeholder.linkText": "Clicca qui",
"insert.placeholder.imageAlt": "Descrizione dellimmagine",
"insert.submit.link": "Inserisci link",
"insert.submit.image": "Inserisci immagine",
"insert.hint.internal": "Usa ↑↓ per navigare, Invio per selezionare, Esc per chiudere",
"insert.hint.external": "Inserisci URL e premi Invio o clicca il pulsante, Esc per chiudere",
"insert.hint.canonicalPost": "Canonico: /YYYY/MM/DD/slug",
"insert.hint.canonicalMedia": "Canonico: /media/YYYY/MM/file.ext",
"insert.createPost": "Crea articolo \"{title}\"",
"insert.createdPost": "Articolo \"{title}\" creato",
"postLinks.loading": "Caricamento link...",
"postLinks.link": "collegamento",
"postLinks.links": "link",
"postLinks.linksTo": "Collega a ({count})",
"postLinks.linkedBy": "Collegato da ({count})",
"postLinks.openTitle": "Apri: {title}",
"docs.title": "Documentazione",
"docs.subtitle": "Guida utente per questa versione installata di bDS.",
"docs.apiTitle": "Documentazione API",
"docs.apiSubtitle": "Riferimento completo delle chiamate API del runtime Python.",
"docs.copyCode": "Copia codice",
"gitDiff.header": "Differenza: {target}",
"gitDiff.noProject": "Nessun progetto attivo selezionato.",
"gitDiff.noProjectPath": "Impossibile risolvere il percorso del progetto.",
"gitDiff.loadFailed": "Impossibile caricare il diff.",
"gitDiff.loading": "Caricamento diff...",
"gitDiff.changedFiles": "File modificati",
"gitDiff.previousFile": "File precedente",
"gitDiff.nextFile": "File successivo",
"errorModal.error": "Errore",
"errorModal.stackTrace": "Traccia dello stack",
"errorModal.copyClipboard": "Copia negli appunti",
"errorModal.copy": "Copia",
"errorModal.noStack": "Nessuna traccia dello stack disponibile",
"confirmDelete.title": "Conferma eliminazione",
"confirmDelete.promptPost": "Sei sicuro di voler eliminare il post",
"confirmDelete.promptMedia": "Sei sicuro di voler eliminare il file multimediale",
"confirmDelete.warning": "Attenzione:",
"confirmDelete.referencedBy": "Questo {itemType} è referenziato dai seguenti elementi:",
"confirmDelete.note": "Leliminazione di questo {itemType} rimuoverà tutti questi riferimenti.",
"confirmDelete.cancel": "Annulla",
"confirmDelete.deletePost": "Elimina post",
"confirmDelete.deleteMedia": "Elimina media",
"confirmDelete.itemType.post": "articolo",
"confirmDelete.itemType.media": "file multimediale",
"lightbox.close": "Chiudi (Esc)",
"lightbox.previous": "Precedente (←)",
"lightbox.next": "Successivo (→)",
"credentials.error.load": "Impossibile caricare le credenziali:",
"credentials.error.save": "Impossibile salvare le credenziali:",
"credentials.toast.saved": "Credenziali salvate",
"credentials.toast.saveFailed": "Impossibile salvare le credenziali",
"credentials.toast.testing": "Test della connessione {type} in corso...",
"credentials.toast.connectionFailed": "Connessione non riuscita - controlla le credenziali",
"credentials.tab.ssh": "Accesso SSH",
"credentials.ssh.title": "Pubblicazione SSH",
"credentials.ssh.description": "Configura SSH per una pubblicazione sicura sul tuo server.",
"credentials.field.host": "Server",
"credentials.field.username": "Nome utente",
"credentials.field.sshRemotePath": "Percorso remoto",
"credentials.ssh.placeholder.host": "server.esempio.it",
"credentials.ssh.placeholder.username": "utente-ssh",
"credentials.ssh.placeholder.remotePath": "/var/www/html",
"gitSidebar.header": "CONTROLLO SORGENTE",
"gitSidebar.loading": "Caricamento...",
"gitSidebar.error.fetchRemoteUpdates": "Impossibile recuperare gli aggiornamenti remoti.",
"gitSidebar.error.refreshRemoteState": "Impossibile aggiornare lo stato di tracciamento remoto.",
"gitSidebar.error.gitMissing": "Eseguibile Git non trovato. Installa Git e riavvia lapp.",
"gitSidebar.error.noActiveProject": "Nessun progetto attivo selezionato.",
"gitSidebar.error.loadRepoStatus": "Impossibile caricare lo stato del repository.",
"gitSidebar.error.initFailed": "Impossibile inizializzare il repository Git.",
"gitSidebar.error.actionFailed": "Impossibile {action}.",
"gitSidebar.error.offlineMode": "Questa azione non è disponibile in modalità aereo.",
"gitSidebar.error.commitFailed": "Impossibile eseguire il commit delle modifiche.",
"gitSidebar.progress.preparingInit": "Preparazione inizializzazione repository...",
"gitSidebar.progress.pushingRemote": "Invio dei commit al remoto... può richiedere tempo per upload grandi.",
"gitSidebar.progress.fetching": "Recupero aggiornamenti remoti...",
"gitSidebar.progress.pulling": "Recupero ultime modifiche...",
"gitSidebar.progress.pruningLfs": "Pulizia cache locale Git LFS...",
"gitSidebar.progress.committing": "Creazione commit...",
"gitSidebar.progress.initializingRepo": "Inizializzazione repository...",
"gitSidebar.history.synced": "Sincronizzato",
"gitSidebar.history.localOnly": "Solo locale",
"gitSidebar.history.remoteOnly": "Solo remoto",
"gitSidebar.init.transcript": "Registro di inizializzazione",
"gitSidebar.aria.repoActions": "Azioni repository",
"gitSidebar.aria.openChanges": "Modifiche aperte",
"gitSidebar.aria.commitStatusLegend": "Legenda stato commit",
"gitSidebar.aria.versionHistory": "Cronologia versioni",
"gitSidebar.action.fetch": "Recupera",
"gitSidebar.action.fetching": "Recupero...",
"gitSidebar.action.pull": "Esegui pull",
"gitSidebar.action.pulling": "Pull in corso...",
"gitSidebar.action.push": "Esegui push",
"gitSidebar.action.pushing": "Push in corso...",
"gitSidebar.action.pruneLfs": "Pulisci LFS",
"gitSidebar.action.pruning": "Pulizia...",
"gitSidebar.action.commit": "Registra commit",
"gitSidebar.action.committing": "Commit in corso...",
"gitSidebar.action.loadMoreHistory": "Carica altro",
"gitSidebar.action.initializeGit": "Inizializza Git",
"gitSidebar.action.initializing": "Inizializzazione...",
"gitSidebar.openChanges": "Modifiche aperte ({count})",
"gitSidebar.versionHistory": "Cronologia versioni ({count})",
"gitSidebar.loadingChanges": "Caricamento modifiche...",
"gitSidebar.noChanges": "Nessuna modifica",
"gitSidebar.loadingHistory": "Caricamento cronologia...",
"gitSidebar.noCommits": "Nessun commit ancora",
"gitSidebar.branch": "Ramo: {branch}",
"gitSidebar.aheadBehind": "avanti {ahead} / indietro {behind}",
"gitSidebar.notRepo": "Questo progetto non è un repository git.",
"gitSidebar.placeholder.remoteUrl": "URL facoltativo del repository remoto",
"gitSidebar.placeholder.commitMessage": "Messaggio di commit",
"editor.untitled": "Senza titolo",
"tabBar.style": "Stile",
"tabBar.scripts": "Script",
"tabBar.loading": "Caricamento...",
"tabBar.unknown": "Sconosciuto",
"tabBar.preview": "Anteprima",
"tabBar.modified": "Modificato",
"tabBar.closeHint": "Chiudi (Ctrl+W)",
"tabBar.scrollLeft": "Scorri le schede a sinistra",
"tabBar.scrollRight": "Scorri le schede a destra",
"tabBar.commitTitle": "Revisione {hash}",
"tabBar.error.fetchPostTitle": "Impossibile caricare il titolo del post:",
"tabBar.error.fetchChatTitle": "Impossibile caricare il titolo della chat:",
"tabBar.error.fetchImportTitle": "Impossibile caricare il titolo della definizione di importazione:",
"tabBar.error.fetchScriptTitle": "Impossibile caricare il titolo dello script:",
"tabBar.error.fetchTemplateTitle": "Impossibile caricare il titolo del modello:",
"tabBar.error.fetchCommitTitle": "Impossibile caricare i titoli dei commit:",
"metadataDiff.title": "Strumento diff metadati",
"metadataDiff.description": "Confronta i metadati dei post tra database e file markdown. Correggi incongruenze causate da bug o modifiche manuali.",
"metadataDiff.error.loadStats": "Impossibile caricare le statistiche del database",
"metadataDiff.error.scan": "Impossibile analizzare le differenze",
"metadataDiff.progress.starting": "Avvio scansione...",
"metadataDiff.progress.scanningPublished": "Scansione dei post pubblicati...",
"metadataDiff.progress.scanning": "Scansione in corso...",
"metadataDiff.action.scan": "Cerca differenze",
"metadataDiff.action.rescan": "Riesegui scansione",
"metadataDiff.stats.totalPosts": "Post totali",
"metadataDiff.stats.published": "Pubblicati",
"metadataDiff.stats.drafts": "Bozze",
"metadataDiff.stats.mediaFiles": "File multimediali",
"metadataDiff.summary.noDiffs": "✅ Nessuna differenza trovata! Tutti i {total} post pubblicati sono sincronizzati.",
"metadataDiff.summary.withDiffs": "⚠️ Trovati {count} post con differenze su {total} post pubblicati.",
"metadataDiff.group.differences": "Differenze {label}",
"metadataDiff.group.postsCount": "{count} post",
"metadataDiff.sync.failed": "fallito",
"metadataDiff.sync.dbToFile.title": "Aggiorna i file con i valori del database",
"metadataDiff.sync.dbToFile.success": "Sincronizzati {success} post nei file{fallito}",
"metadataDiff.sync.dbToFile.error": "Impossibile sincronizzare nei file",
"metadataDiff.sync.fileToDb.title": "Aggiorna il database con i valori dei file",
"metadataDiff.sync.fileToDb.success": "Sincronizzati {success} file nel database{fallito}",
"metadataDiff.sync.fileToDb.error": "Impossibile sincronizzare nel database",
"metadataDiff.value.database": "Database locale",
"metadataDiff.value.file": "File sorgente",
"metadataDiff.empty": "Fai clic su \"Scansiona differenze\" per confrontare i metadati del database con quelli dei file.",
"sidebar.archive": "Archivio",
"sidebar.clearFilter": "Cancella filtro",
"sidebar.tags": "Tag",
"sidebar.categories": "Categorie",
"sidebar.clearTags": "Cancella tag",
"sidebar.clearCategories": "Cancella categorie",
"sidebar.noPostsYet": "Nessun post",
"sidebar.noPagesYet": "Nessuna pagina",
"sidebar.noMediaYet": "Nessun media",
"sidebar.search": "Cerca",
"sidebar.searchPostsPlaceholder": "Cerca post...",
"sidebar.searchPagesPlaceholder": "Cerca pagine...",
"sidebar.searchMediaPlaceholder": "Cerca media...",
"sidebar.toggleFilters": "Mostra/nascondi filtri",
"sidebar.newPost": "Nuovo post",
"sidebar.importMedia": "Importa media",
"sidebar.results": "{count} risultati",
"sidebar.resultsFor": "{count} risultati per \"{query}\"",
"sidebar.clearFilters": "Cancella filtri",
"sidebar.drafts": "Bozze",
"sidebar.published": "Pubblicati",
"sidebar.archived": "Archiviati",
"sidebar.untitled": "Senza titolo",
"sidebar.noMatchingPosts": "Nessun post corrispondente",
"sidebar.createFirstPost": "Crea il tuo primo post",
"sidebar.loadMore": "Carica altro ({loaded} di {total})",
"sidebar.loading": "Caricamento...",
"sidebar.noMediaFiles": "Nessun file multimediale",
"sidebar.settingsHeader": "Impostazioni",
"sidebar.tagsHeader": "Tag",
"sidebar.nav.project": "Progetto",
"sidebar.nav.editor": "Editor",
"sidebar.nav.content": "Contenuto",
"sidebar.nav.ai": "Assistente IA",
"sidebar.nav.technology": "Tecnologia",
"sidebar.nav.publishing": "Pubblicazione",
"sidebar.nav.data": "Dati",
"sidebar.nav.style": "Stile",
"sidebar.nav.scripts": "Script",
"scripts.run": "Esegui script",
"scripts.save": "Salva script",
"scripts.delete": "Elimina script",
"scripts.content": "Contenuto script",
"scripts.field.kind": "Tipo",
"scripts.field.entrypoint": "Punto di ingresso",
"scripts.entrypoint.main": "main",
"scripts.entrypoint.none": "Nessuna funzione trovata",
"scripts.field.enabled": "Abilitato",
"scripts.syntax.check": "Controlla sintassi",
"scripts.syntax.checking": "Controllo...",
"scripts.syntax.valid": "La sintassi Python è valida",
"scripts.syntax.invalid": "Errori di sintassi Python: {count}",
"scripts.syntax.checkFailed": "Controllo della sintassi Python non riuscito",
"scripts.kind.utility": "utility",
"scripts.kind.macro": "macro",
"scripts.kind.transform": "transform",
"templates.save": "Salva modello",
"templates.delete": "Elimina modello",
"templates.content": "Contenuto del modello",
"templates.field.kind": "Tipo",
"templates.field.enabled": "Abilitato",
"templates.validate": "Valida",
"templates.validate.valid": "La sintassi del modello è valida",
"templates.validate.invalid": "Errori di sintassi del modello: {count}",
"templates.validate.checking": "Validazione in corso...",
"templates.kind.post": "articolo",
"templates.kind.list": "elenco",
"templates.kind.not_found": "non trovato",
"templates.kind.partial": "parziale",
"sidebar.tagCloud": "Nuvola tag",
"sidebar.createEdit": "Crea e modifica",
"sidebar.mergeTags": "Unisci tag",
"settings.project.descriptionGeneral": "Impostazioni generali per il progetto blog attivo.",
"settings.project.nameLabel": "Nome progetto",
"settings.project.nameDescription": "Nome visualizzato del tuo progetto blog.",
"settings.project.namePlaceholder": "Il mio blog",
"settings.project.descriptionLabel": "Descrizione",
"settings.project.descriptionDescription": "Breve descrizione del blog. Può essere usata in template e metadati.",
"settings.project.descriptionPlaceholder": "Un blog su...",
"settings.project.dataPathLabel": "Percorso dati progetto",
"settings.project.dataPathDescription": "Cartella personalizzata per salvare post, media e metadati. Lascia vuoto per usare il percorso predefinito: {path}",
"settings.project.defaultLocation": "Percorso predefinito",
"settings.project.publicUrlLabel": "URL pubblica",
"settings.project.publicUrlDescription": "URL base pubblica del blog pubblicato (usata per la generazione della sitemap).",
"settings.project.publicUrlPlaceholder": "https://example.com",
"settings.project.mainLanguageLabel": "Lingua principale",
"settings.project.mainLanguageDescription": "Lingua principale dei contenuti del blog. Titoli, alt text e didascalie generate dallIA useranno questa lingua.",
"settings.project.defaultAuthorLabel": "Autore predefinito",
"settings.project.defaultAuthorDescription": "Nome autore predefinito per nuovi post e media. Può essere modificato per singolo elemento.",
"settings.project.defaultAuthorPlaceholder": "Nome autore",
"settings.project.maxPostsPerPageLabel": "Max post per pagina",
"settings.project.maxPostsPerPageDescription": "Numero massimo di post mostrati per pagina di anteprima.",
"settings.project.blogmarkCategoryLabel": "Categoria blogmark",
"settings.project.blogmarkCategoryDescription": "Categoria assegnata ai post creati tramite deep link del bookmarklet.",
"settings.project.blogmarkBookmarkletLabel": "Bookmarklet del browser",
"settings.project.blogmarkBookmarkletDescription": "Copia un bookmarklet da incollare nella barra dei preferiti del browser per inviare link di pagina a bDS.",
"settings.project.blogmarkBookmarkletCopyButton": "Copia bookmarklet blogmark",
"settings.project.saveButton": "Salva impostazioni progetto",
"editor.loadingPost": "Caricamento post...",
"editor.unsavedChanges": "Modifiche non salvate (salvataggio automatico al cambio)",
"editor.saving": "Salvataggio...",
"editor.publish": "Pubblica",
"editor.publishTitle": "Salva e rendi pubblico questo post",
"editor.discardChanges": "Scarta modifiche",
"editor.discardDraft": "Scarta bozza",
"editor.discardChangesTitle": "Ripristina lultima versione pubblicata",
"editor.discardDraftTitle": "Elimina definitivamente questa bozza",
"editor.delete": "Elimina",
"editor.deleteTitle": "Elimina definitivamente questo post",
"editor.field.title": "Titolo",
"editor.field.tags": "Tag",
"editor.field.author": "Autore",
"editor.field.slug": "Slug",
"editor.field.categories": "Categorie",
"editor.field.content": "Contenuto",
"editor.field.template": "Modello",
"editor.field.templateDefault": "Predefinito",
"editor.placeholder.tags": "Aggiungi tag...",
"editor.placeholder.author": "Nome autore",
"editor.placeholder.categories": "Aggiungi categorie...",
"editor.placeholder.startWriting": "Inizia a scrivere...",
"editor.mode.visual": "Visuale",
"editor.mode.visualTitle": "Editor visuale",
"editor.mode.markdownTitle": "Sorgente Markdown",
"editor.mode.previewTitle": "Anteprima in sola lettura",
"editor.galleryTitle": "Visualizza {count} immagine/i",
"editor.insertPostLinkTitle": "Collega a post (Ctrl+K)",
"editor.insertMediaTitle": "Inserisci immagine dalla libreria media",
"editor.previewFrameTitle": "Anteprima post",
"editor.previewLoading": "Caricamento anteprima...",
"editor.metadata.toggle": "Metadati",
"editor.footer.created": "Creato",
"editor.footer.updated": "Aggiornato",
"editor.footer.published": "Pubblicato",
"dashboard.title": "Dashboard",
"dashboard.subtitle": "Panoramica del database del tuo blog",
"dashboard.stats.totalPosts": "Post totali",
"dashboard.stats.published": "{count} pubblicati",
"dashboard.stats.drafts": "{count} bozze",
"dashboard.stats.archived": "{count} archiviati",
"dashboard.stats.mediaFiles": "File multimediali",
"dashboard.stats.images": "{count} immagini",
"dashboard.stats.tags": "Tag",
"dashboard.stats.categories": "{count} categorie",
"dashboard.stats.protocolHealth": "Salute del protocollo",
"dashboard.stats.blockedActions": "{count} azioni bloccate",
"dashboard.stats.fallbackTurns": "{count} risposte di fallback",
"dashboard.section.postsOverTime": "Post nel tempo",
"dashboard.section.tags": "Tag",
"dashboard.section.categories": "Categorie",
"dashboard.section.recentlyUpdated": "Aggiornati di recente",
"dashboard.tagCloud.more": "+{count} in più",
"dashboard.postCount.one": "{count} post",
"dashboard.postCount.other": "{count} post",
"dashboard.status.draft": "Bozza",
"dashboard.status.published": "Pubblicato",
"dashboard.status.archived": "Archiviato",
"projectSelector.switchProject": "Cambia progetto",
"projectSelector.selectProject": "Seleziona progetto",
"projectSelector.projectsHeader": "Progetti",
"projectSelector.noProjectsYet": "Nessun progetto",
"projectSelector.newProject": "Nuovo progetto",
"projectSelector.createNewProject": "Crea nuovo progetto",
"projectSelector.projectName": "Nome progetto",
"projectSelector.projectNamePlaceholder": "Il mio blog",
"projectSelector.descriptionOptional": "Descrizione (facoltativa)",
"projectSelector.descriptionPlaceholder": "Breve descrizione del progetto...",
"projectSelector.projectLocation": "Percorso progetto",
"projectSelector.useDefaultLocation": "Usa percorso predefinito",
"projectSelector.defaultInternalStorage": "Predefinito (archiviazione interna)",
"projectSelector.chooseFolder": "Scegli cartella...",
"projectSelector.projectLocationHint": "Scegli una cartella personalizzata per il backup cloud oppure usa l'archiviazione interna predefinita.",
"projectSelector.createProject": "Crea progetto",
"projectSelector.deleteProject": "Elimina progetto",
"projectSelector.deleteWarning": "Questo eliminerà definitivamente il progetto \"{name}\" e tutti i suoi dati, inclusi:",
"projectSelector.deleteItemPosts": "Tutti i post del blog",
"projectSelector.deleteItemMedia": "Tutti i file multimediali",
"projectSelector.deleteItemSettings": "Tutte le impostazioni del progetto",
"projectSelector.typeToConfirm": "Digita {name} per confermare l'eliminazione:",
"projectSelector.selectProjectLocation": "Seleziona percorso del progetto",
"projectSelector.deleteProjectTitle": "Elimina {name}",
"projectSelector.toast.switched": "Passato a {name}",
"projectSelector.toast.switchFailed": "Cambio progetto non riuscito",
"projectSelector.toast.created": "Progetto \"{name}\" creato",
"projectSelector.toast.createFailed": "Creazione progetto non riuscita",
"projectSelector.toast.existingSettingsFound": "Trovate impostazioni di progetto esistenti",
"projectSelector.toast.selectFolderFailed": "Selezione cartella non riuscita",
"projectSelector.toast.deletedWithData": "Progetto \"{name}\" e tutti i dati eliminati",
"projectSelector.toast.deleteFailed": "Eliminazione progetto non riuscita",
"tagsView.title": "Gestione tag",
"tagsView.subtitle": "Gestisci i tag del blog, assegna colori ed esegui operazioni in blocco.",
"tagsView.loadingTags": "Caricamento tag...",
"tagsView.noTagsFound": "Nessun tag trovato",
"tagsView.discoverFromPosts": "Scopri tag dai post",
"tagsView.selectedCount": "{count} tag selezionati",
"tagsView.clearSelection": "Cancella selezione",
"tagsView.cloud.title": "Nuvola tag",
"tagsView.cloud.description": "Fai clic sui tag per selezionarli per operazioni in blocco. Passa il mouse per vedere il numero di post.",
"tagsView.manage.title": "Crea e modifica tag",
"tagsView.manage.description": "Crea nuovi tag o modifica quelli esistenti. Assegna colori per distinguerli visivamente.",
"tagsView.create.title": "Crea nuovo tag",
"tagsView.create.action": "Crea",
"tagsView.tagNamePlaceholder": "Nome tag",
"tagsView.chooseColor": "Scegli colore",
"tagsView.removeColor": "Rimuovi colore",
"tagsView.edit.title": "Modifica tag: {name}",
"tagsView.edit.action": "Modifica",
"tagsView.edit.postTemplate": "Modello articolo",
"tagsView.deleteAction": "Elimina",
"tagsView.merge.title": "Unisci tag",
"tagsView.merge.description": "Seleziona più tag sopra, quindi uniscili in un unico tag. Tutti i post verranno aggiornati.",
"tagsView.merge.selectAtLeastTwo": "Seleziona 2 o più tag dalla nuvola sopra per unirli.",
"tagsView.merge.countInto": "Unisci {count} tag in:",
"tagsView.merge.selectTarget": "Seleziona tag di destinazione...",
"tagsView.merge.action": "Unisci tag",
"tagsView.merge.tagsToDelete": "Tag da eliminare: {tags}",
"tagsView.sync.title": "Sincronizza tag",
"tagsView.sync.description": "Scopri i tag presenti nei post ma non nel database dei tag.",
"tagsView.sync.action": "Sincronizza tag dai post",
"tagsView.confirmDelete.title": "Elimina tag",
"tagsView.confirmDelete.message": "Vuoi davvero eliminare il tag \"{tagName}\"? Verrà rimosso da tutti i post. Questa azione viene eseguita in background.",
"tagsView.confirmDelete.action": "Elimina tag",
"tagsView.confirmMerge.title": "Unisci tag",
"tagsView.confirmMerge.message": "Vuoi davvero unire {count} tag in \"{target}\"? I tag di origine verranno eliminati e tutti i post saranno aggiornati. Questa azione viene eseguita in background.",
"tagsView.confirmMerge.action": "Unisci tag",
"tagsView.none": "(nessuno)",
"tagsView.tagCountTitle": "{count} {item}",
"tagsView.postsSingular": "post",
"tagsView.postsPlural": "post",
"tagsView.toast.tagNameRequired": "Il nome del tag è obbligatorio",
"tagsView.toast.tagCreated": "Tag creato",
"tagsView.toast.tagDeleted": "Tag eliminato. {postsUpdated} post aggiornati.",
"tagsView.toast.tagUpdated": "Tag aggiornato",
"tagsView.toast.targetTagNotFound": "Tag di destinazione non trovato",
"tagsView.toast.noSourceTagsToMerge": "Nessun tag di origine da unire",
"tagsView.toast.tagsMerged": "Uniti {tagsDeleted} tag in \"{targetTag}\". {postsUpdated} post aggiornati.",
"tagsView.toast.discoveredTags": "Rilevati {count} nuovi tag",
"tagsView.toast.alreadySynced": "Tutti i tag sono già sincronizzati",
"tagsView.error.deleteFailedTitle": "Eliminazione non riuscita",
"tagsView.error.mergeFailedTitle": "Unione non riuscita",
"linkedMediaPanel.title": "📷 Media collegati",
"linkedMediaPanel.collapsedTitle": "📷 Media ({count})",
"linkedMediaPanel.importAndLink": "Importa e collega media",
"linkedMediaPanel.linkExisting": "Collega media esistente",
"linkedMediaPanel.selectMediaToLink": "Seleziona media da collegare",
"linkedMediaPanel.searchPlaceholder": "Cerca media...",
"linkedMediaPanel.noUnlinkedMedia": "Nessun media scollegato disponibile",
"linkedMediaPanel.noMediaLinked": "Nessun media collegato a questo post",
"linkedMediaPanel.importMedia": "Importa media",
"linkedMediaPanel.unlinkFromPost": "Scollega dal post",
"linkedMediaPanel.toast.importedLinked": "Importati e collegati {count} file",
"linkedMediaPanel.toast.importFailed": "Importazione media non riuscita",
"linkedMediaPanel.toast.unlinked": "Media scollegato dal post",
"linkedMediaPanel.toast.unlinkFailed": "Scollegamento media non riuscito",
"linkedMediaPanel.toast.linked": "Media collegato al post",
"linkedMediaPanel.toast.linkFailed": "Collegamento media non riuscito",
"styleView.title": "Stile",
"styleView.subtitle": "Seleziona un tema Pico CSS e visualizza l'anteprima dei post principali prima di applicarlo.",
"styleView.themePickerAria": "Selettore tema Pico",
"styleView.previewMode": "Modalità anteprima",
"styleView.mode.auto": "Auto",
"styleView.mode.light": "Chiaro",
"styleView.mode.dark": "Scuro",
"styleView.applyTheme": "Applica tema",
"styleView.themePreviewTitle": "Anteprima tema",
"styleView.toast.appliedTheme": "Tema applicato: {theme}",
"styleView.toast.applyThemeFailed": "Applicazione tema non riuscita",
"panel.tabsAria": "Schede pannello",
"panel.output": "Uscita",
"panel.postLinks": "Link post",
"panel.gitLog": "Registro Git",
"panel.closeTitle": "Chiudi pannello",
"panel.noRecentTasks": "Nessuna attività recente",
"panel.noOutput": "Nessun output",
"panel.copyOutput": "Copia output",
"panel.openPostEditor": "Apri un editor post per visualizzare i collegamenti",
"panel.loadingPostLinks": "Caricamento collegamenti post...",
"panel.noPostLinks": "Nessun collegamento per questo post",
"panel.openPostOrMediaEditor": "Apri un editor post o media per vedere il registro Git",
"panel.loadingGitLog": "Caricamento registro Git...",
"panel.noCommits": "Nessun commit trovato per questo elemento",
"panel.error.loadPostLinks": "Impossibile caricare i collegamenti del post.",
"panel.error.loadGitLog": "Impossibile caricare il registro Git.",
"panel.direction.from": "da",
"panel.direction.to": "a",
"settings.editor.description": "Personalizza comportamento e aspetto delleditor.",
"settings.editor.defaultModeLabel": "Modalità predefinita",
"settings.editor.defaultModeDescription": "Scegli la modalità di apertura delleditor.",
"settings.editor.diffViewStyleLabel": "Stile vista diff",
"settings.editor.diffViewStyleDescription": "Definisci come visualizzare le differenze.",
"settings.editor.wrapLongLinesLabel": "A capo automatico",
"settings.editor.wrapLongLinesDescription": "Vai a capo automaticamente per le righe lunghe.",
"settings.editor.wrapLongLinesAria": "Attiva a capo automatico",
"settings.editor.hideUnchangedRegionsLabel": "Nascondi aree non modificate",
"settings.editor.hideUnchangedRegionsDescription": "Comprimi le sezioni senza modifiche nella vista diff.",
"settings.editor.hideUnchangedRegionsAria": "Attiva nascondi aree non modificate",
"settings.content.newCategoryPlaceholder": "Nuova categoria",
"settings.content.addCategory": "Aggiungi categoria",
"settings.content.resetDefaults": "Ripristina predefiniti",
"settings.content.description": "Gestisci le categorie disponibili per i post del blog. Ogni post può avere una sola categoria che ne determina il template di visualizzazione.",
"settings.content.standardSuffix": " (standard)",
"settings.content.categoryColumn": "Categoria",
"settings.content.titleColumn": "Titolo",
"settings.content.actionsColumn": "Azioni",
"settings.content.postTemplateColumn": "Modello articolo",
"settings.content.listTemplateColumn": "Modello elenco",
"settings.content.postTemplateAria": "{category} modello articolo",
"settings.content.listTemplateAria": "{category} modello elenco",
"settings.content.renderInListsAria": "{category} mostra negli elenchi",
"settings.content.showTitlesAria": "{category} mostra i titoli",
"settings.content.categoryTitleAria": "Titolo visualizzato per {category}",
"settings.content.removeCategoryTitle": "Rimuovi la categoria \"{category}\"",
"settings.ai.description": "Configura lassistente chat IA che ti aiuta a gestire i contenuti del tuo blog.",
"settings.ai.apiKeyLabel": "Chiave API",
"settings.ai.apiKeyDescription": "Inserisci la tua chiave API per abilitare le funzioni IA.",
"settings.ai.apiKeyConfigured": "Chiave API configurata",
"settings.ai.configured": "Configurato",
"settings.ai.changeApiKey": "Cambia chiave API",
"settings.ai.defaultModelLabel": "Modello predefinito",
"settings.ai.defaultModelDescription": "Seleziona il modello IA usato per default.",
"settings.ai.systemPromptLabel": "Prompt di sistema",
"settings.ai.systemPromptDescription": "Definisci le istruzioni di sistema inviate al modello.",
"settings.ai.systemPromptPlaceholder": "Scrivi qui il tuo prompt di sistema…",
"settings.ai.savePrompt": "Salva prompt",
"settings.ai.resetPrompt": "Reimposta prompt",
"settings.ai.refreshModelCatalog": "Aggiorna catalogo modelli",
"settings.ai.refreshing": "Aggiornamento…",
"settings.ai.modelInfoMaxOutput": "Output max.",
"settings.ai.modelInfoContext": "Contesto",
"settings.ai.modelInfoInputPrice": "Input",
"settings.ai.modelInfoOutputPrice": "Output",
"settings.ai.modelInfoTokens": "token",
"settings.ai.modelInfoPerMTok": "/MTok",
"settings.ai.mistralApiKeyLabel": "Chiave API Mistral",
"settings.ai.mistralApiKeyDescription": "La tua chiave API Mistral AI. Abilita i modelli Mistral come alternativa a OpenCode.",
"settings.ai.mistralApiKeyConfigured": "Chiave API Mistral configurata",
"settings.ai.changeMistralApiKey": "Cambia chiave API Mistral",
"settings.ai.titleModelLabel": "Modello di generazione titoli",
"settings.ai.titleModelDescription": "Modello utilizzato per generare automaticamente i titoli delle conversazioni.",
"settings.ai.imageAnalysisModelLabel": "Modello di analisi immagini",
"settings.ai.imageAnalysisModelDescription": "Modello utilizzato per l'analisi automatica delle immagini (titolo, testo alternativo, didascalia).",
"settings.ai.providerOpenCode": "OpenCode",
"settings.ai.providerMistral": "Mistral",
"settings.ai.providerOllama": "Ollama (Locale)",
"settings.ai.providerLmstudio": "LM Studio (Locale)",
"settings.ai.providerOther": "Altro",
"settings.ai.ollamaLabel": "Ollama (Modelli locali)",
"settings.ai.ollamaDescription": "Connettiti a un'istanza Ollama locale per utilizzare modelli IA locali.",
"settings.ai.ollamaEnable": "Attiva Ollama",
"settings.ai.ollamaCapabilitiesDescription": "Configura le capacità per ogni modello Ollama. Attiva gli strumenti per le chiamate a funzioni o la visione per l'analisi delle immagini.",
"settings.ai.ollamaCapModel": "Modello",
"settings.ai.ollamaCapTools": "Strumenti",
"settings.ai.ollamaCapVision": "Visione",
"chat.providerKeyMissing": "Il modello '{{model}}' richiede una chiave API {{provider}}. Configurala nelle Impostazioni.",
"settings.toast.modelCatalogRefreshed": "Catalogo aggiornato ({{count}} modelli)",
"settings.toast.modelCatalogUpToDate": "Il catalogo è già aggiornato",
"settings.toast.modelCatalogRefreshFailed": "Aggiornamento del catalogo non riuscito",
"settings.toast.ollamaEnabled": "Ollama attivato",
"settings.toast.ollamaDisabled": "Ollama disattivato",
"settings.ai.lmstudioLabel": "LM Studio (Modelli locali)",
"settings.ai.lmstudioDescription": "Connettiti a un'istanza LM Studio locale per utilizzare modelli IA locali.",
"settings.ai.lmstudioEnable": "Attiva LM Studio",
"settings.ai.lmstudioCapabilitiesDescription": "Configura le capacità per ogni modello LM Studio. Attiva gli strumenti per le chiamate a funzioni o la visione per l'analisi delle immagini.",
"settings.ai.lmstudioCapModel": "Modello",
"settings.ai.lmstudioCapTools": "Strumenti",
"settings.ai.lmstudioCapVision": "Visione",
"settings.toast.lmstudioEnabled": "LM Studio attivato",
"settings.toast.lmstudioDisabled": "LM Studio disattivato",
"settings.ai.offlineLabel": "Modalità aereo",
"settings.ai.offlineDescription": "Quando attivato, vengono utilizzati solo i modelli ospitati localmente (Ollama, LM Studio). I provider cloud sono disabilitati.",
"settings.ai.offlineEnable": "Attiva modalità aereo",
"settings.ai.offlineChatModel": "Modello chat offline",
"settings.ai.offlineChatModelDescription": "Modello utilizzato per le conversazioni in modalità aereo.",
"settings.ai.offlineTitleModel": "Modello titolo offline",
"settings.ai.offlineTitleModelDescription": "Modello utilizzato per la generazione dei titoli in modalità aereo.",
"settings.ai.offlineImageAnalysisModel": "Modello analisi immagini offline",
"settings.ai.offlineImageAnalysisModelDescription": "Modello utilizzato per l'analisi delle immagini in modalità aereo.",
"settings.ai.offlineNoLocalProviders": "Nessun provider locale attivato. Attiva prima Ollama o LM Studio.",
"settings.ai.offlineNoLocalModels": "Nessun modello locale disponibile",
"settings.toast.offlineEnabled": "Modalità aereo attivata",
"settings.toast.offlineDisabled": "Modalità aereo disattivata",
"settings.publishing.sshHostDescription": "Hostname o IP del server SSH.",
"settings.publishing.sshUsernameDescription": "Nome utente SSH.",
"settings.publishing.sshRemotePathDescription": "La directory di destinazione sul server remoto in cui verrà pubblicato il tuo blog.",
"settings.publishing.sshModeLabel": "Modalità di trasferimento",
"settings.publishing.sshModeDescription": "Seleziona il metodo di trasferimento file per la pubblicazione tramite SSH.",
"settings.publishing.sshMode.scp": "SCP",
"settings.publishing.sshMode.rsync": "rsync",
"settings.publishing.sshKeyAuthNotice": "L'autenticazione con chiave SSH deve essere configurata sul tuo sistema prima di utilizzare questo metodo di pubblicazione. Assicurati che la tua chiave pubblica sia aggiunta al file authorized_keys del server remoto.",
"settings.data.description": "Gestisci e ricostruisci i dati locali.",
"settings.data.rebuildPostsLabel": "Ricostruisci indice articoli",
"settings.data.rebuildPostsDescription": "Analizza tutti gli articoli e aggiorna lindice dati.",
"settings.data.rebuildPostsAction": "Ricostruisci",
"settings.data.rebuildMediaLabel": "Ricostruisci database media",
"settings.data.rebuildMediaDescription": "Rianalizza tutti i file media e i metadati sidecar. Rigenera le voci mancanti.",
"settings.data.rebuildMediaAction": "Ricostruisci media",
"settings.data.rebuildScriptsLabel": "Ricostruisci database script",
"settings.data.rebuildScriptsDescription": "Rianalizza tutti gli script Python e ricostruisce lindice dei metadati degli script.",
"settings.data.rebuildScriptsAction": "Ricostruisci script",
"settings.data.rebuildTemplatesLabel": "Ricostruisci database modelli",
"settings.data.rebuildTemplatesDescription": "Scansiona tutti i modelli Liquid e ricostruisci l'indice dei metadati.",
"settings.data.rebuildTemplatesAction": "Ricostruisci modelli",
"settings.data.rebuildLinksLabel": "Ricostruisci collegamenti post",
"settings.data.rebuildLinksDescription": "Rianalizza tutti i post e ricostruisce il grafo interno dei collegamenti tra post.",
"settings.data.rebuildLinksAction": "Ricostruisci collegamenti",
"settings.data.regenerateThumbnailsLabel": "Rigenera miniature",
"settings.data.regenerateThumbnailsDescription": "Genera le miniature mancanti per tutte le immagini. Utile dopo limportazione esterna dei media.",
"settings.data.regenerateThumbnailsAction": "Genera miniature",
"settings.data.fileSystemDescription": "Accedi ai file e alle cartelle dati del progetto.",
"settings.data.openDataFolderLabel": "Apri cartella dati",
"settings.data.openDataFolderDescription": "Apri la cartella dati del progetto contenente post, media e file del database.",
"settings.data.openFolderAction": "Apri cartella",
"sidebar.chat.header": "Chat",
"sidebar.chat.newChat": "Nuova chat",
"sidebar.chat.apiKeyNeeded": "Serve una chiave API per usare la chat.",
"sidebar.chat.noConversations": "Nessuna conversazione",
"sidebar.chat.startNew": "Inizia una nuova conversazione",
"sidebar.chat.deleteConversation": "Elimina conversazione",
"sidebar.chat.createFailed": "Creazione conversazione non riuscita: {error}",
"sidebar.chat.deleteFailed": "Eliminazione conversazione non riuscita: {error}",
"sidebar.chat.yesterday": "Ieri",
"sidebar.import.header": "Importazione",
"sidebar.import.newDefinition": "Nuova definizione",
"sidebar.scripts.header": "SCRIPTS",
"sidebar.scripts.newScript": "Nuovo script",
"sidebar.scripts.none": "Nessuno script",
"sidebar.scripts.createScript": "Crea uno script",
"sidebar.scripts.createFailed": "Impossibile creare lo script",
"sidebar.scripts.deleteScript": "Elimina script",
"sidebar.scripts.deleteFailed": "Impossibile eliminare lo script",
"sidebar.templates.header": "MODELLI",
"sidebar.templates.newTemplate": "Nuovo modello",
"sidebar.templates.none": "Nessun modello",
"sidebar.templates.createTemplate": "Crea un modello",
"sidebar.templates.createFailed": "Impossibile creare il modello",
"sidebar.templates.deleteTemplate": "Elimina modello",
"sidebar.templates.deleteFailed": "Impossibile eliminare il modello",
"sidebar.templates.deleteConfirmWithRefs": "Questo modello è referenziato da {postCount} articolo/i e {tagCount} tag. Eliminare comunque? I riferimenti verranno rimossi.",
"sidebar.import.none": "Nessuna definizione di importazione",
"sidebar.import.createDefinition": "Crea definizione",
"sidebar.import.deleteDefinition": "Elimina definizione",
"sidebar.import.createFailed": "Creazione definizione non riuscita: {error}",
"sidebar.import.deleteFailed": "Eliminazione definizione non riuscita: {error}",
"editor.error.saveTitle": "Salvataggio non riuscito",
"editor.error.saveMessage": "Impossibile salvare larticolo: {error}",
"editor.error.publishTitle": "Pubblicazione non riuscita",
"editor.error.publishMessage": "Impossibile pubblicare larticolo: {error}",
"editor.error.discardTitle": "Annullamento non riuscito",
"editor.error.deleteTitle": "Eliminazione non riuscita",
"editor.error.operationMessage": "Operazione non riuscita: {error}",
"editor.error.deletePostMessage": "Impossibile eliminare larticolo: {error}",
"editor.error.fetchPostReferencesMessage": "Impossibile recuperare i riferimenti dellarticolo: {error}",
"editor.confirm.discardChanges": "Scartare le modifiche non salvate?",
"editor.confirm.deleteDraft": "Eliminare questa bozza?",
"editor.toast.published": "Articolo pubblicato",
"editor.toast.reverted": "Modifiche annullate",
"editor.toast.draftDeleted": "Bozza eliminata",
"editor.toast.postDeleted": "Articolo eliminato",
"editor.media.notFound": "Media non trovato",
"editor.media.error.analyzeImage": "Impossibile analizzare limmagine: {error}",
"editor.media.error.updateTitle": "Aggiornamento non riuscito",
"editor.media.error.updateMessage": "Impossibile aggiornare il media: {error}",
"editor.media.error.replaceTitle": "Sostituzione non riuscita",
"editor.media.error.replaceMessage": "Impossibile sostituire il file media: {error}",
"editor.media.error.deleteMessage": "Impossibile eliminare il media: {error}",
"editor.media.error.fetchReferencesMessage": "Impossibile recuperare i riferimenti del media: {error}",
"editor.media.toast.aiApplied": "Suggerimenti IA applicati",
"editor.media.toast.linkedToPost": "Media collegato allarticolo",
"editor.media.toast.linkFailed": "Collegamento del media non riuscito: {error}",
"editor.media.toast.unlinkedFromPost": "Media scollegato dallarticolo",
"editor.media.toast.unlinkFailed": "Scollegamento del media non riuscito: {error}",
"editor.media.toast.updated": "Media aggiornato",
"editor.media.toast.fileReplaced": "File media sostituito",
"editor.media.toast.deleted": "Media eliminato",
"editor.media.quickActions.title": "Azioni rapide",
"editor.media.quickActions.analyzing": "🔎 Analisi in corso…",
"editor.media.quickActions.button": "✨ Analizza con IA",
"editor.media.quickActions.aiTitle": "Titolo suggerito dallIA",
"editor.media.quickActions.aiDescription": "Genera automaticamente titolo, testo alternativo e didascalia.",
"editor.media.replaceFile": "Sostituisci file",
"editor.media.field.fileName": "Nome file",
"editor.media.field.type": "Tipo",
"editor.media.field.size": "Dimensione",
"editor.media.field.dimensions": "Dimensioni",
"editor.media.field.title": "Titolo",
"editor.media.field.altText": "Testo alternativo",
"editor.media.field.caption": "Didascalia",
"editor.media.field.tags": "Tag",
"editor.media.field.author": "Autore",
"editor.media.placeholder.title": "Inserisci un titolo",
"editor.media.placeholder.altText": "Descrivi limmagine per laccessibilità",
"editor.media.placeholder.caption": "Aggiungi una didascalia",
"editor.media.placeholder.tags": "Aggiungi tag",
"editor.media.placeholder.author": "Nome autore",
"editor.media.linkedPosts": "Articoli collegati",
"editor.media.linkToPostTitle": "Collega a un articolo",
"editor.media.linkAction": "Collega",
"editor.media.searchPosts": "Cerca articoli",
"editor.media.noMatchingPosts": "Nessun articolo corrisponde a “{query}”",
"editor.media.noPostsToLink": "Nessun articolo disponibile da collegare",
"editor.media.morePosts": "{count} altri articoli",
"editor.media.notLinked": "Non collegato",
"editor.media.openPost": "Apri articolo",
"editor.media.unlinkFromPost": "Scollega dallarticolo",
"postSearch.placeholder": "Cerca articoli…",
"postSearch.searching": "Ricerca in corso…",
"postSearch.typeMore": "Digita più caratteri per cercare",
"postSearch.noResults": "Nessun risultato per “{query}”",
"postSearch.hint": "Cerca per titolo, slug o contenuto",
"statusBar.posts": "Articoli",
"statusBar.media": "Media",
"statusBar.more": "+{count} in più",
"statusBar.tokens": "Token: {input} ingr. / {output} usc. ({cached} in cache)",
"statusBar.theme": "Tema: {theme}",
"statusBar.ui": "UI",
"statusBar.uiLanguage": "Lingua interfaccia",
"statusBar.offlineMode": "Modalità aereo",
"statusBar.offlineModeActive": "Modalità aereo (attiva)",
"statusBar.offlineModeTooltip": "Clicca per attivare/disattivare la modalità aereo",
"windowTitleBar.toggleSidebar": "Mostra/Nascondi barra laterale",
"windowTitleBar.hideSidebar": "Nascondi barra laterale",
"windowTitleBar.showSidebar": "Mostra barra laterale",
"windowTitleBar.togglePanel": "Mostra/Nascondi pannello",
"windowTitleBar.hidePanel": "Nascondi pannello",
"windowTitleBar.showPanel": "Mostra pannello",
"windowTitleBar.toggleAssistantSidebar": "Mostra/Nascondi barra assistente",
"windowTitleBar.hideAssistantSidebar": "Nascondi barra assistente (Ctrl+\\)",
"windowTitleBar.showAssistantSidebar": "Mostra barra assistente (Ctrl+\\)",
"assistantSidebar.title": "Assistente IA",
"assistantSidebar.description": "Inizia con un prompt mirato arricchito dal contesto editor corrente.",
"assistantSidebar.context.label": "Contesto attuale",
"assistantSidebar.context.none": "Nessun contesto editor attivo",
"assistantSidebar.prompt.placeholder": "Chiedi allassistente di analizzare o interrogare il lavoro corrente…",
"assistantSidebar.button.start": "Avvia con contesto",
"assistantSidebar.button.starting": "Avvio…",
"assistantSidebar.conversationTitle": "Sessione assistente",
"assistantSidebar.error.startFailed": "Impossibile avviare la sessione assistente",
"assistantSidebar.error.actionFailed": "Impossibile eseguire lazione dellassistente",
"tagInput.alreadyAdded": "Il tag “{tag}” è già stato aggiunto",
"tagInput.remove": "Rimuovi",
"tagInput.createdTag": "Tag “{tag}” creato",
"tagInput.createdCategory": "Categoria “{name}” creata",
"tagInput.createTag": "Crea tag “{tag}”",
"tagInput.createCategory": "Crea categoria “{name}”",
"importAnalysis.loadingDefinition": "Caricamento definizione di importazione…",
"importAnalysis.namePlaceholder": "Nome definizione di importazione",
"importAnalysis.headerDescription": "Analizza un file WXR prima dellimportazione.",
"importAnalysis.uploadsFolder": "Cartella uploads",
"importAnalysis.noFolderSelected": "Nessuna cartella selezionata",
"importAnalysis.wxrFile": "File WXR",
"importAnalysis.selectFileToAnalyze": "Seleziona un file da analizzare",
"importAnalysis.analyzing": "Analisi…",
"importAnalysis.selectAndAnalyze": "Seleziona e analizza",
"importAnalysis.analyzingWxr": "Analisi del file WXR…",
"importAnalysis.emptyState": "Seleziona un file WXR e avvia lanalisi.",
"importAnalysis.importing": "Importazione in corso…",
"importAnalysis.importComplete": "Importazione completata: {count}",
"importAnalysis.importFailed": "Importazione non riuscita: {error}",
"importAnalysis.untitledImport": "Importazione senza titolo",
"importAnalysis.executionStarting": "Avvio...",
"importAnalysis.unknownError": "Errore sconosciuto",
"importAnalysis.readyToImport": "Pronto per importare:",
"importAnalysis.tagsCategories": "tag/categorie",
"importAnalysis.posts": "articoli",
"importAnalysis.media": "media",
"importAnalysis.pages": "pagine",
"importAnalysis.nothingToImport": "Niente da importare",
"importAnalysis.importItems": "Importa {count} elementi",
"importAnalysis.postSlugConflicts": "Conflitti slug articoli",
"importAnalysis.pageSlugConflicts": "Conflitti slug pagine",
"importAnalysis.postsWithCount": "Articoli ({count})",
"importAnalysis.otherWithCount": "Altro ({count})",
"importAnalysis.pagesWithCount": "Pagine ({count})",
"importAnalysis.mediaWithCount": "Media ({count})",
"importAnalysis.site": "Sito",
"importAnalysis.untitled": "Senza titolo",
"importAnalysis.url": "URL",
"importAnalysis.language": "Lingua",
"importAnalysis.file": "File",
"importAnalysis.notAvailable": "N/D",
"importAnalysis.new": "nuovo",
"importAnalysis.update": "aggiornamento",
"importAnalysis.conflict": "conflitto",
"importAnalysis.duplicate": "duplicato",
"importAnalysis.missing": "mancante",
"importAnalysis.categories": "Categorie",
"importAnalysis.existing": "esistente",
"importAnalysis.mapped": "mappato",
"importAnalysis.tags": "Tag",
"importAnalysis.dateDistribution": "Distribuzione per data",
"importAnalysis.postsPages": "Articoli/Pagine",
"importAnalysis.total": "totale",
"importAnalysis.wordpressId": "ID WordPress",
"importAnalysis.type": "Tipo",
"importAnalysis.author": "Autore",
"importAnalysis.unknown": "Sconosciuto",
"importAnalysis.published": "Pubblicato",
"importAnalysis.excerpt": "Estratto",
"importAnalysis.content": "Contenuto",
"importAnalysis.loading": "Caricamento...",
"importAnalysis.mimeType": "Tipo MIME",
"importAnalysis.uploaded": "Caricato",
"importAnalysis.parentPostId": "ID articolo padre",
"importAnalysis.description": "Descrizione",
"importAnalysis.slug": "Slug",
"importAnalysis.newEntryWxr": "Nuova voce (WXR)",
"importAnalysis.existingEntry": "Voce esistente",
"importAnalysis.resolution": "Risoluzione",
"importAnalysis.ignore": "Ignora",
"importAnalysis.overwrite": "Sovrascrivi",
"importAnalysis.importNewSlug": "Importa (nuovo slug)",
"importAnalysis.status": "Stato",
"importAnalysis.title": "Titolo",
"importAnalysis.wpStatus": "Stato WP",
"importAnalysis.existingMatch": "Corrispondenza esistente",
"importAnalysis.none": "--",
"importAnalysis.filename": "Nome file",
"importAnalysis.path": "Percorso",
"importAnalysis.taxonomyTitle": "Categorie & Tag",
"importAnalysis.mappedCount": "{count} mappati",
"importAnalysis.analyzeWith": "Analizza con...",
"importAnalysis.aiMappingHint": "LIA suggerirà mappature da elementi nuovi a quelli esistenti per evitare duplicati",
"importAnalysis.mapToPlaceholder": "Mappa a...",
"importAnalysis.mappingTooltip": "Clicca per {action} la mappatura",
"importAnalysis.mappingActionEdit": "modificare",
"importAnalysis.mappingActionAdd": "aggiungere",
"importAnalysis.clearMapping": "Cancella mappatura",
"importAnalysis.macrosWithCount": "Macro ({count})",
"importAnalysis.unmappedCount": "{count} non mappati",
"importAnalysis.macroStatusMapped": "Mappato",
"importAnalysis.macroStatusUnknown": "Sconosciuto",
"importAnalysis.macroUses": "{count} utilizzi",
"importAnalysis.usedIn": "Usato in: {items}{more}",
"importAnalysis.moreSuffix": ", +{count} altri",
"importAnalysis.noParameters": "(nessun parametro)",
"sidebar.nav.mcp": "Server MCP",
"settings.mcp.title": "Server MCP",
"settings.mcp.description": "Configura il server Model Context Protocol che permette agli agenti di programmazione IA di interagire con il tuo blog.",
"settings.mcp.statusLabel": "Stato del server",
"settings.mcp.statusDescription": "Stato attuale del server MCP.",
"settings.mcp.portRunning": "In esecuzione sulla porta {port}",
"settings.mcp.portStopped": "Non in esecuzione",
"settings.mcp.agentsTitle": "Configurazione agenti",
"settings.mcp.agentsDescription": "Aggiungi il server MCP bDS alla configurazione del tuo agente di programmazione. Le impostazioni esistenti vengono preservate.",
"settings.mcp.addToAgent": "Aggiungi a {agent}",
"settings.mcp.removeFromAgent": "Rimuovi da {agent}",
"settings.mcp.alreadyConfigured": "Configurato",
"settings.toast.mcpConfigSuccess": "Server MCP bDS aggiunto alla configurazione di {agent}",
"settings.toast.mcpConfigRemoveSuccess": "Server MCP bDS rimosso dalla configurazione di {agent}",
"settings.toast.mcpConfigFailed": "Configurazione di {agent} non riuscita: {error}",
"settings.toast.mcpConfigRemoveFailed": "Rimozione da {agent} non riuscita: {error}",
"settings.toast.mcpConfigPath": "Configurazione scritta in {path}"
}