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>
This commit is contained in:
@@ -32,8 +32,11 @@
|
||||
"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.uploadSiteNoCredentials": "Configurare prima le credenziali SSH nelle impostazioni.", "app.previewOpenFailed": "Impossibile aprire l’anteprima del post selezionato",
|
||||
"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 l’anteprima del post selezionato",
|
||||
"app.metadataDiff": "Diff Metadati",
|
||||
"app.importComplete": "Import completato: {posts} post, {media} file multimediali",
|
||||
"siteValidation.tabTitle": "Validazione sito",
|
||||
@@ -312,6 +315,7 @@
|
||||
"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.",
|
||||
@@ -740,6 +744,7 @@
|
||||
"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.",
|
||||
@@ -754,6 +759,28 @@
|
||||
"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.",
|
||||
@@ -889,6 +916,9 @@
|
||||
"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",
|
||||
@@ -1005,9 +1035,7 @@
|
||||
"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",
|
||||
|
||||
Reference in New Issue
Block a user