openpencil/packages/vue/src/i18n/locales/it/dialogs.json
Danila Poyarkov 6193b6da7e
feat(code): add live JSX and HTML/CSS editing (#525)
* feat(code): isolate Design JSX execution

- Transform JSX with the existing Sucrase dependency and execute it in a disposable opaque-origin iframe worker

- Block ambient network capabilities and enforce source, timeout, output, depth, and element limits

- Validate that only bounded plain structured data returns to the application

* feat(code): add editable Design JSX

- Add a lazy CodeMirror editor with JSX syntax support, completion, diagnostics, and bounded scrolling

- Convert validated sandbox output into trusted Design JSX helpers before rendering

- Apply or insert JSX as one undoable graph transaction while preserving dirty drafts

* feat(code): localize JSX editor actions

- Add translated-message fallbacks for editing, applying, inserting, and draft state

- Document the editable JSX workflow in the unreleased changelog

* fix(code): satisfy typed sandbox validation

- Keep the sandbox document terminator literal and preserve optional selection handling under type-aware lint

* test(code): resolve sandbox probes through app aliases

* fix(code): bound sandbox results before cloning

- Enforce string, array, object, depth, element, and byte limits inside the disposable worker

- Retain host-side validation as a second structured-data boundary

* fix(code): keep JSX and HTML editing modes separate

- Switch generated Tailwind output back to OpenPencil JSX before editing

- Close the JSX editor when opening HTML/CSS import and avoid stacking both editors

* feat(code): support authored Design JSX programs

- Allow local constants, function components, arrays, conditionals, fragments, and multiple roots

- Preserve replacement positions for multiple selected roots and reject mixed-parent or locked selections

- Cover multi-root undo, redo, and all-or-nothing rollback

* feat(code): add explicit JSX view mode

- Let authors leave CodeMirror without applying a draft

- Keep the editable surface and HTML/CSS importer mutually exclusive

* feat(code): diagnose unknown JSX vocabulary

- Warn on OpenPencil elements and properties that are absent from the canonical schema

- Surface diagnostics inline through CodeMirror lint markers

* test(code): accept WebKit isolation diagnostics

- Cover the sandbox architecture against Playwright WebKit

- Accept engine-specific wording while preserving the same unavailable-window assertion

* refactor(code): consolidate Design JSX vocabulary

- Drive renderer warnings, completion, and diagnostics from one supported-property schema

- Recognize locally declared components and add focused schema and transform tests

- Replace CodeMirror basicSetup with an explicit feature set and remove the umbrella package

* fix(code): support Design JSX variable helpers

* refactor(code): unify JSX sandbox validation

* fix(code): account for complete sandbox output

* fix(code): preserve locked JSX descendants

* fix(code): preserve JSX sibling order

* fix(code): recompute JSX parent layouts

* feat(code): add live code previews

* test(code): centralize graph assertions

* fix(code): harden live preview sessions

* docs: describe live code editing

* fix(code): update editor accessibility labels

* fix(code): use theme-aware error colors

* fix(dev): stop Vite disconnect error loops

* fix(code): clarify live preview status

* fix(ui): avoid tooltip attribute warnings

* test(code): assert semantic preview status

* refactor(code): remove obsolete editor messages

* fix(code): harden preview concurrency and isolation

* fix(code): cancel stale reset previews
2026-08-15 09:48:42 +03:00

292 lines
15 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.

{
"cancel": "Annulla",
"apply": "Applica",
"close": "Chiudi",
"recoverUnsavedWork": "Recupera il lavoro non salvato",
"recoverUnsavedWorkDescription": "OpenPencil ha trovato documenti di una sessione precedente.",
"restore": "Ripristina",
"discard": "Scarta",
"recoveryFailed": "Impossibile ripristinare questo documento.",
"rename": "Rinomina",
"renameLayers": "Rinomina {count} livelli",
"renamePreview": "Anteprima",
"renameMatch": "Corrispondenza",
"renameTo": "Rinomina in",
"renameCurrentName": "Nome attuale",
"renameNumberAscending": "Numero ↑",
"renameNumberDescending": "Numero ↓",
"renameStartAscendingFrom": "Inizia ordine crescente da",
"renameStopDescendingAt": "Termina ordine decrescente a",
"renameInvalidPattern": "Espressione regolare non valida",
"ok": "OK",
"copy": "Copia",
"copied": "Copiato",
"createCollection": "Crea raccolta",
"localVariables": "Variabili locali",
"noVariableCollections": "Nessuna raccolta di variabili",
"connectAIProvider": "Collega un provider AI per iniziare a chattare.",
"connect": "Connetti",
"testConnection": "Verifica connessione",
"testingConnection": "Verifica in corso…",
"connectionTestSuccess": "Connessione riuscita. Il modello è raggiungibile.",
"connectionTestMissingAPIKey": "Inserisci una chiave API prima della verifica.",
"connectionTestMissingBaseURL": "Inserisci un URL di base prima della verifica.",
"connectionTestMissingModel": "Inserisci un ID modello prima della verifica.",
"connectionTestInvalidBaseURL": "LURL di base non è valido. Usa un URL completo come https://api.example.com/v1.",
"connectionTestAuthFailed": "Autenticazione non riuscita. Controlla la chiave API.",
"connectionTestInsufficientCredit": "Laccount del provider non dispone di credito o quota sufficiente. Ricaricalo e riprova.",
"connectionTestModelNotFound": "Modello non trovato. Controlla lID modello.",
"connectionTestAPITypeMismatch": "Questo endpoint non sembra supportare il tipo di API selezionato. Prova Completions o Responses.",
"connectionTestBrowserNetworkFailed": "Impossibile raggiungere questo endpoint dal browser. Prova lapp desktop o usa un endpoint con CORS abilitato.",
"connectionTestNetworkFailed": "Impossibile raggiungere lendpoint. Controlla lURL e la connessione di rete.",
"connectionTestUnknownFailed": "Verifica della connessione non riuscita. Controlla le impostazioni del provider e riprova.",
"getAPIKey": "Ottieni una chiave API {provider} →",
"oneKeyManyModels": "Una chiave per oltre 100 modelli di tutti i provider.",
"describeChange": "Descrivi una modifica…",
"describeCreateOrChange": "Descrivi cosa vuoi creare o cambiare.",
"stopGenerating": "Interrompi generazione",
"sendMessage": "Invia messaggio",
"baseURLPlaceholder": "Base URL (es. http://localhost:11434/v1)",
"modelIDPlaceholder": "Model ID (es. llama-3.3-70b)",
"yourName": "Il tuo nome",
"enterYourName": "Inserisci il tuo nome",
"shareThisFile": "Condividi questo file",
"joinRoom": "Entra nella stanza",
"join": "Entra",
"roomLink": "Link della stanza",
"joinCollaboration": "Partecipa alla collaborazione",
"orJoinRoom": "o entra in una stanza",
"pasteRoomLinkOrId": "Incolla il link o l'ID della stanza",
"connected": "Connesso",
"search": "Cerca…",
"noResults": "Nessun risultato",
"share": "Condividi",
"appUpToDate": "OpenPencil è aggiornato",
"updateAvailableTitle": "Aggiorna OpenPencil",
"updateAvailable": "OpenPencil {version} è disponibile.",
"updateInstallPrompt": "Scaricare e installare ora? Lapp verrà riavviata dopo linstallazione dellaggiornamento.",
"downloadingUpdate": "Download di OpenPencil {version}",
"updateInstalledTitle": "Aggiornamento installato",
"updateInstalled": "OpenPencil {version} è stato installato{size}. Riavvio in corso.",
"updateCheckFailed": "Impossibile controllare gli aggiornamenti: {error}",
"updateUnavailable": "Gli aggiornamenti non sono ancora disponibili. Pubblica prima una release firmata con latest.json.",
"renameCollection": "Rinomina raccolta",
"deleteCollection": "Elimina raccolta",
"modes": "Modalita",
"addMode": "Aggiungi modalita",
"renameMode": "Rinomina modalita",
"duplicateMode": "Duplica modalita",
"deleteMode": "Elimina modalita",
"setDefaultMode": "Imposta come predefinita",
"aiProvider": "AI Provider",
"providerSettings": "Provider settings",
"openProviderSettings": "Apri impostazioni provider",
"settings": "Impostazioni",
"settingsDescription": "Gestisci integrazioni e preferenze dellapp.",
"settingsAIAndAgents": "IA e agenti",
"models": "Modelli",
"modelsDescription": "Configura modelli riutilizzabili e le connessioni ai provider.",
"mcpConnections": "Connessioni MCP",
"mcpConnectionsDescription": "Consenti agli agenti ACP di accedere a strumenti e servizi remoti attendibili.",
"addConnection": "Aggiungi connessione",
"addMCPConnection": "Aggiungi connessione MCP",
"editMCPConnection": "Modifica connessione MCP",
"mcpConnectionEditorDescription": "Configura un server Streamable HTTP e lautenticazione facoltativa.",
"connectionName": "Nome connessione",
"mcpServerURL": "URL server MCP",
"enableMCPConnection": "Abilita per gli agenti ACP",
"mcpBearerAuthentication": "Usa autenticazione Bearer",
"mcpBearerToken": "Token Bearer",
"mcpBearerTokenPlaceholder": "Inserisci il token Bearer",
"mcpBearerTokenRequired": "Inserisci un token Bearer prima di abilitare questa connessione.",
"deleteMCPConnection": "Elimina connessione",
"deleteMCPConnectionDescription": "Eliminare questa connessione MCP e il token Bearer salvato?",
"noMCPConnections": "Nessuna connessione MCP esterna configurata.",
"addModel": "Aggiungi modello",
"editModel": "Modifica modello",
"modelEditorDescription": "Provider, modello, credenziali e funzionalità.",
"modelName": "Nome",
"modelConfiguration": "Modello",
"connectionSettings": "Connessione",
"modelCapabilities": "Funzionalità",
"modelCapabilitiesDetected": "Rilevate dal modello selezionato.",
"modelCapabilitiesManual": "Dichiara la compatibilità di questo modello personalizzato.",
"modelCapabilityTools": "Chiamate agli strumenti",
"modelCapabilityVision": "Input immagini",
"modelCapabilityToolsShort": "Strumenti",
"modelCapabilityVisionShort": "Visione",
"selectDesignModel": "Seleziona modello di progettazione",
"modelNeedsCredential": "Chiave necessaria",
"modelAgentConnection": "Agente",
"saveModel": "Salva modello",
"deleteModel": "Elimina modello",
"deleteModelDescription": "Eliminare questo modello e le relative assegnazioni?",
"modelAssignments": "Assegnazioni",
"modelAssignmentsDescription": "Scegli quale modello gestisce ogni tipo di attività.",
"modelRoleDesign": "Agente di design",
"modelRoleReview": "Revisione",
"modelRoleFast": "Attività rapide",
"modelRoleVision": "Visione",
"modelRoleDesignDescription": "Chat IA e modifiche alla tela",
"modelRoleReviewDescription": "Revisioni esplicite di piani e design",
"modelRoleFastDescription": "Attività economiche in background",
"modelRoleVisionDescription": "Screenshot e riferimenti visivi",
"modelRoleUseDesign": "Come Design",
"noModel": "Nessuno",
"back": "Indietro",
"settingsMedia": "Media",
"vectorization": "Vettorializzazione immagini",
"vectorizationDescription": "Invia i livelli immagine a Recraft o fal.ai e restituisce vettori modificabili. Potrebbero essere applicati costi.",
"vectorizeProvider": "Servizio di vettorializzazione",
"settingsStorage": "Archiviazione cloud",
"storageWorkspace": "Area di archiviazione",
"openStorageWorkspace": "Apri area",
"newStoredDocument": "Nuovo documento",
"emptyStorageWorkspace": "Nessun documento archiviato.",
"loadingDocuments": "Caricamento documenti…",
"storageNotConfigured": "Configura larchiviazione prima di usare questarea.",
"copyStorageCors": "Copia JSON CORS",
"storageEndpoint": "Endpoint",
"storageBucket": "Bucket",
"storageRegion": "Regione",
"storageAccessKeyID": "ID chiave di accesso",
"storageSecretAccessKey": "Chiave di accesso segreta",
"save": "Salva",
"credentialStorage": "Credenziali: {backend}",
"credentialBackendNative": "portachiavi di sistema",
"credentialBackendBrowser": "archiviazione browser crittografata",
"credentialBackendMemory": "solo questa sessione",
"rememberCredentials": "Ricorda le credenziali in questo browser",
"done": "Done",
"apiKey": "API Key",
"apiType": "API Type",
"baseURL": "Base URL",
"modelID": "Model ID",
"customModelID": "ID modello personalizzato",
"customModel": "Modello personalizzato…",
"advancedModelSettings": "Impostazioni avanzate",
"outputLimit": "Limite di output",
"outputLimitAutomatic": "Raccomandazione automatica",
"reasoningEffort": "Impegno di ragionamento",
"reasoningEffortPlaceholder": "es. low, high, none",
"reasoningEffortDescription": "Valore facoltativo specifico del provider.",
"supported": "Supportato",
"unsupported": "Non supportato",
"tokens": "token",
"maxOutputTokens": "Token di output massimi",
"chatInsufficientCredit": "Laccount del provider non dispone di credito o quota sufficiente. Ricaricalo e riprova.",
"chatOutputLimit": "Il modello ha esaurito i token di output durante il ragionamento. Aumenta i token di output massimi o riduci lo sforzo di ragionamento.",
"chatRequestFailed": "La richiesta al modello non è riuscita. Controlla le impostazioni del provider e riprova.",
"clear": "Clear",
"keySavedReplace": "Key saved — enter new to replace",
"getAPIKeyGeneric": "Get API key →",
"pexelsAPIKey": "Pexels API Key (stock photos)",
"unsplashAccessKey": "Unsplash Access Key",
"stockPhotoToolOptional": "Optional — for stock_photo tool",
"pexelsAlternativeOptional": "Optional — alternative to Pexels",
"getPexelsAPIKey": "Get free Pexels API key →",
"getUnsplashAccessKey": "Get free Unsplash access key →",
"completions": "Completions",
"responses": "Responses",
"copiedExclamation": "Copiato!",
"copyMessage": "Copia messaggio",
"copyJSXReference": "Copia riferimento props JSX negli appunti",
"jsxUpToDate": "Up to date",
"newTab": "Nuova scheda",
"closeTab": "Chiudi {name}",
"showUI": "Mostra interfaccia ({shortcut})",
"fontSettings": "Impostazioni font",
"fontIssueFound": "Uno stile di font non è disponibile o è stato sostituito",
"fontIssuesFound": "{count} stili di font non sono disponibili o sono stati sostituiti",
"selectAffectedLayers": "Seleziona livelli",
"retryFonts": "Riprova i font",
"retryingFonts": "Nuovo tentativo…",
"expandFontIssues": "Mostra problemi dei font",
"collapseFontIssues": "Nascondi problemi dei font",
"noFontSubstitute": "nessun sostituto disponibile",
"affectedLayer": "1 livello interessato",
"affectedLayerCount": "{count} livelli interessati",
"fontSettingsDesktopDescription": "Accedi ai font di sistema, ai provider online, ai pacchetti di fallback e ai download nella cache.",
"fontSettingsBrowserDescription": "Consenti al browser di accedere ai font locali e gestisci i provider di font online.",
"localFonts": "Font locali",
"onlineFonts": "Font online",
"downloadedCache": "Cache scaricata",
"lastUpdated": "Ultimo aggiornamento",
"enabled": "Abilitato",
"disabled": "Disabilitato",
"denied": "Negato",
"unavailable": "Non disponibile",
"notRequested": "Non richiesto",
"never": "Mai",
"systemFontAccess": "Accesso ai font di sistema",
"systemFontsAvailable": "I font di sistema sono disponibili.",
"allowBrowserFontAccess": "Consenti laccesso ai font del browser quando mancano font di sistema.",
"allow": "Consenti",
"requesting": "Richiesta…",
"onlineFontProviders": "Provider di font online",
"downloadMissingWebFonts": "Scarica i font web mancanti tramite i provider abilitati.",
"webFontProvidersRequireDesktopApp": "I cataloghi dei provider di font online non sono disponibili nellapp web. Scarica lapp desktop per sfogliare e caricare i font dei provider.",
"clipboardImageUnavailableWeb": "Il design incollato contiene 1 immagine che non può essere caricata nellapp web. Usa lapp desktop per includerla.",
"clipboardImagesUnavailableWeb": "Il design incollato contiene {count} immagini che non possono essere caricate nellapp web. Usa lapp desktop per includerle.",
"clipboardImageFetchFailed": "Impossibile recuperare 1 immagine da Figma. Controlla che il file sorgente sia accessibile e riprova.",
"clipboardImagesFetchFailed": "Impossibile recuperare {count} immagini da Figma. Controlla che il file sorgente sia accessibile e riprova.",
"enable": "Abilita",
"disable": "Disabilita",
"fallbackPacks": "Pacchetti di fallback",
"downloadFallbackPacksDescription": "Scarica fallback CJK e arabi prima di aprire file che li richiedono.",
"download": "Scarica",
"downloading": "Download…",
"refresh": "Aggiorna",
"clearCache": "Svuota cache",
"localFontAccessEnabled": "Accesso ai font locali abilitato.",
"localFontAccessNotGranted": "Accesso ai font locali non concesso.",
"onlineFontProvidersEnabled": "Provider di font online abilitati.",
"onlineFontProvidersDisabled": "Provider di font online disabilitati.",
"fontProviderEnabled": "{provider} abilitato.",
"fontProviderDisabled": "{provider} disabilitato.",
"fallbackFontsDownloaded": "Font di fallback scaricati.",
"fallbackFontsDownloadFailed": "Impossibile scaricare i font di fallback.",
"downloadedFontCacheCleared": "Cache dei font scaricati svuotata.",
"downloadedFontCacheClearFailed": "Impossibile svuotare la cache dei font scaricati.",
"you": "Tu",
"youSuffix": "tu",
"followingPeerStop": "Segui {name} (clic per interrompere)",
"clickToFollowPeer": "Fai clic per seguire {name}",
"importLabel": "Importa",
"importHTMLCSS": "Importa HTML/CSS",
"importHTMLCSSDescription": "Incolla HTML con CSS facoltativo o CSS Tailwind compilato.",
"paste": "Incolla",
"importFailed": "Importazione non riuscita. Controlla lHTML e il CSS e riprova.",
"importReplacesDocument": "Limportazione sostituisce il documento corrente.",
"importing": "Importazione…",
"importToCanvas": "Importa nellarea di lavoro",
"inThisRoom": "In questa stanza",
"disconnect": "Disconnetti",
"toolFinished": "Fine",
"unknownTool": "Strumento sconosciuto",
"permissionRequest": "{tool} richiede lautorizzazione.",
"mobilePanelNavigation": "Navigazione pannello mobile",
"toolOptions": "Opzioni di {tool}",
"removeGradientStop": "Rimuovi punto sfumatura",
"notifications": "Notifiche",
"saveAsPrompt": "Salva con nome:",
"browserFileAPINotSupported": "Il browser non supporta lAPI dei file locali. I file verranno scaricati anziché salvati nella posizione corrente.",
"useChrome": "Usa Chrome",
"orEdgeForFullSupport": "o Edge per il supporto completo.",
"dismiss": "Chiudi",
"toolRunning": "Esecuzione…",
"toolError": "Errore",
"permissionRequestTitle": "Richiesta di autorizzazione",
"codeSource": "Code source",
"codeSourceDesignJSX": "Design JSX",
"codeSourceTailwindJSX": "Tailwind JSX",
"codeSourceHTMLCSS": "HTML/CSS",
"codeEditorDesignLabel": "Design JSX",
"codeEditorHTMLCSSLabel": "HTML and CSS",
"codeUpdating": "Updating…",
"codeUpdatedLive": "Updated live",
"codePreviewFailed": "Preview failed",
"codeGeneratedReadOnly": "Generated, read only",
"codeReset": "Reset"
}