feat: move snippets, keybinding actions and macros out of core into plugins

This commit is contained in:
LukeGus committed 2026-09-29 11:39:14 -05:00
1 parent d9bba10612
commit e0c30a4e6f
262 files changed
+9091 -10744

No files matched your search

+1 -229
View File
@@ -409,7 +409,6 @@
"sidebarSettings": "Impostazioni della barra laterale...",
"hosts": "Host",
"snippets": "Frammenti",
"macros": "Macro",
"hostManager": "Gestione host",
"credentials": "Credenziali",
"connections": "Connessioni",
@@ -869,7 +868,6 @@
"groupTags": "Tag e pin",
"groupTunnels": "Gallerie",
"groupJumpHosts": "Ospiti di Jump",
"groupQuickActions": "Azioni rapide",
"groupFeatureFlags": "Flag di funzionalità",
"groupAdvanced": "Configurazione avanzata",
"preview": "Anteprima",
@@ -1068,9 +1066,6 @@
"addCredentialDesc": "Archivia chiavi SSH o password",
"tmuxMonitor": "Monitor Tmux",
"tmuxMonitorDesc": "Monitora le sessioni tmux sui tuoi host",
"snippets": "Frammenti",
"runSnippetDesc": "Esegui nella scheda del terminale attiva",
"noSnippetsFound": "Nessun frammento trovato corrispondente a \"{{search}}\"",
"recentActivity": "Attività recenti",
"serversAndHosts": "Server e host",
"noHostsFound": "Nessun host trovato corrispondente a \"{{search}}\"",
@@ -1864,119 +1859,6 @@
"hotkeysPrevTab": "Scheda precedente",
"hotkeysJumpTab": "Vai alla scheda"
},
"snippets": {
"title": "Snippet",
"createSnippetTitle": "Crea snippet",
"createSnippetDescription": "Crea un nuovo snippet di comando per un'esecuzione rapida",
"nameLabel": "Nome",
"namePlaceholder": "es. Riavvia Nginx",
"descriptionLabel": "Descrizione",
"descriptionPlaceholder": "Descrizione opzionale",
"optional": "Opzionale",
"folderLabel": "Cartella",
"noFolder": "Nessuna cartella (Senza categoria)",
"commandLabel": "Comando",
"commandPlaceholder": "es. sudo systemctl restart nginx",
"typeLabel": "Tipo",
"typeCommand": "Comando",
"typeNote": "Nota",
"noteLabel": "Nota",
"notePlaceholder": "ad esempio, un messaggio di promemoria o un avviso riutilizzabile",
"cancel": "Annulla",
"createSnippetButton": "Crea snippet",
"createFolderTitle": "Crea cartella",
"createFolderDescription": "Organizza i tuoi snippet in cartelle",
"folderNameLabel": "Nome cartella",
"folderNamePlaceholder": "es. Comandi di sistema, Script Docker",
"folderColorLabel": "Colore cartella",
"folderIconLabel": "Icona cartella",
"previewLabel": "Anteprima",
"folderNameFallback": "Nome cartella",
"createFolderButton": "Crea cartella",
"targetTerminals": "Terminali di destinazione",
"selectAll": "Tutti",
"selectNone": "Nessuno",
"noTerminalTabsOpen": "Nessuna scheda terminale aperta",
"searchPlaceholder": "Cerca snippet...",
"newSnippet": "Nuovo snippet",
"newFolder": "Nuova cartella",
"run": "Esegui",
"noSnippetsInFolder": "Nessuno snippet in questa cartella",
"uncategorized": "Senza categoria",
"editSnippetTitle": "Modifica snippet",
"editSnippetDescription": "Aggiorna questo snippet di comando",
"saveSnippetButton": "Salva modifiche",
"createSuccess": "Snippet creato con successo",
"createFailed": "Impossibile creare lo snippet",
"updateSuccess": "Snippet aggiornato con successo",
"updateFailed": "Impossibile aggiornare lo snippet",
"deleteFailed": "Impossibile eliminare lo snippet",
"folderCreateSuccess": "Cartella creata con successo",
"folderCreateFailed": "Impossibile creare la cartella",
"editFolderTitle": "Modifica cartella",
"editFolderDescription": "Rinomina o modifica l'aspetto di questa cartella",
"saveFolderButton": "Salva modifiche",
"editFolder": "Modifica cartella",
"deleteFolder": "Elimina cartella",
"folderDeleteSuccess": "Cartella \"{{name}}\" eliminata",
"folderDeleteFailed": "Impossibile eliminare la cartella",
"folderEditSuccess": "Cartella aggiornata con successo",
"folderEditFailed": "Impossibile aggiornare la cartella",
"confirmRunMessage": "Eseguire \"{{name}}\"?",
"confirmRunButton": "Esegui",
"runSuccess": "Eseguito \"{{name}}\" su {{count}} terminali",
"pasteSuccess": "Incollato \"{{name}}\" nel/nei terminale/i {{count}}",
"pasteToTerminal": "Impasto",
"copySuccess": "Copiato \"{{name}}\" negli appunti",
"shareTitle": "Condividi snippet",
"shareUser": "Utente",
"shareRole": "Ruolo",
"selectUser": "Seleziona un utente...",
"selectRole": "Seleziona un ruolo...",
"shareSuccess": "Snippet condiviso con successo",
"shareFailed": "Condivisione snippet non riuscita",
"revokeSuccess": "Accesso revocato",
"revokeFailed": "Revoca accesso non riuscita",
"currentAccess": "Accesso corrente",
"shareLoadError": "Caricamento dati di condivisione non riuscito",
"loading": "Caricamento...",
"close": "Chiudi",
"reorderFailed": "Salvataggio ordine snippet non riuscito",
"importExport": "Importa / Esporta",
"exportBtn": "Esporta JSON",
"importBtn": "Importa JSON",
"exportSuccess": "Snippet esportati con successo",
"exportFailed": "Esportazione snippet non riuscita",
"importTitle": "Importa snippet",
"importDescription": "Importa snippet e cartelle da un file JSON esportato da Termix",
"importDropOrClick": "Trascina qui un file JSON o clicca per cercare",
"importSelectedFile": "Selezionato: {{name}}",
"importOverwrite": "Sovrascrivi snippet esistenti con stesso nome e cartella",
"importStartBtn": "Importa",
"importSuccess": "Importazione completata: {{snippets}} snippet aggiunti, {{updated}} aggiornati, {{skipped}} saltati, {{folders}} cartelle aggiunte",
"importFailed": "Importazione snippet non riuscita",
"importInvalidFile": "File non valido: previsto un oggetto JSON con array di snippet o cartelle",
"targetHostsLabel": "Host di destinazione",
"targetHostsHint": "Assegna host per eseguire questo snippet direttamente senza un terminale aperto.",
"noHostsAvailable": "Nessun host configurato",
"clearTargetHosts": "Cancella tutto",
"hasTargetHosts": "Ha host di destinazione",
"runOnTargets": "Esegui sugli host",
"directRunSuccess": "Eseguito \"{{name}}\" su {{count}} host",
"directRunPartialFail": "\"{{name}}\" non riuscito su uno o più host",
"executionResultTitle": "Risultati esecuzione: {{name}}",
"executionResultDescription": "Output dell'esecuzione dello snippet su ciascun host di destinazione.",
"executionSuccess": "Successo",
"executionFailed": "Fallito",
"expandAll": "Espandi tutte le cartelle",
"collapseAll": "Comprimi tutte le cartelle",
"settings": "Impostazioni dello snippet",
"variablesHint": "Variabili: $HOST, $USER, $PORT, $NAME, ${INPUT_1:Etichetta}",
"variablesDialogTitle": "Esegui \"{{name}}\"",
"variablesDialogDescription": "Inserisci i valori richiesti da questo frammento di codice prima di eseguirlo.",
"variablesPreviewLabel": "Anteprima",
"variablesConfirmButton": "Correre"
},
"keybindings": {
"title": "Scorciatoie da tastiera",
"description": "Personalizza le scorciatoie da tastiera per copiare, incollare e controllare il terminale, oppure associa dei tasti per inviare testo o eseguire un frammento di codice.",
@@ -2000,26 +1882,11 @@
"pressKeysPlaceholder": "Fare clic e premere i tasti",
"recording": "Premere i tasti...",
"comboRequiredError": "Premere prima una combinazione di tasti",
"textRequiredError": "Inserisci il testo da inviare",
"controlCodeRequiredError": "Inserisci una sola lettera come codice di controllo",
"snippetRequiredError": "Seleziona un frammento",
"conflictWarning": "Questa combinazione è già associata a {{combo}}. Il salvataggio farà scattare entrambi.",
"actionLabel": "Azione",
"actionCopy": "Copia selezione",
"actionPaste": "Impasto",
"actionSendControlCode": "Invia il segnale Ctrl+lettera",
"actionSendText": "Invia testo",
"actionRunSnippet": "Esegui il frammento di codice esistente",
"actionNextTab": "Passa alla scheda successiva",
"actionPreviousTab": "Passa alla scheda precedente",
"actionOpenCommandPalette": "Apri la ricerca rapida",
"controlCodeLabel": "Lettera",
"textLabel": "Testo da inviare",
"appendEnterLabel": "Premi Invio dopo aver inviato",
"snippetLabel": "Frammento",
"selectSnippetPlaceholder": "Seleziona un frammento",
"orphanedSnippetWarning": "frammento non trovato",
"clipboardPermissionNote": "In alcuni browser potrebbe essere richiesta l'autorizzazione per l'apposizione degli appunti al primo utilizzo."
"actionOpenCommandPalette": "Apri la ricerca rapida"
},
"userProfile": {
"donateTitle": "Mantieni Termix vivo",
@@ -2240,100 +2107,5 @@
"ntfyTopicRequired": "Argomento obbligatorio",
"ntfyToken": "Token di accesso (facoltativo)",
"channelSaveFailed": "Salvataggio del canale non riuscito"
},
"macros": {
"title": "Macro",
"description": "Esegui una serie di comandi salvati in un terminale e reagisci a ciò che il server ti invia in risposta.",
"target": "Bersaglio",
"noTerminal": "Nessun terminale aperto",
"empty": "Ancora nessuna macro",
"emptyHint": "Crea una macro per automatizzare un flusso di lavoro da terminale, come l'accesso, il riavvio di un servizio o la risposta a richieste.",
"create": "Nuova macro",
"back": "Torna alle macro",
"name": "Nome",
"namePlaceholder": "Riavvia il server web",
"nameRequired": "Assegna un nome alla macro prima di salvarla.",
"descriptionLabel": "Descrizione",
"descriptionPlaceholder": "Cosa fa questa macro (facoltativo)",
"unsaved": "Modifiche non salvate",
"save": "Salva",
"saved": "Macro salvata",
"saveFailed": "Impossibile salvare la macro",
"delete": "Eliminare",
"deleteTitle": "Eliminare questa macro?",
"deleteBody": "\"{{name}}\" verrà eliminato definitivamente. Questa operazione non può essere annullata.",
"deleted": "Macro eliminato",
"cancel": "Cancellare",
"run": "Correre",
"stop": "Fermare",
"running": "Corsa...",
"completed": "Macro terminato",
"failed": "Il fallimento di Macro",
"loadFailed": "Impossibile caricare le macro",
"needTerminal": "Aprire e collegare prima un terminale",
"noSteps": "Questa macro non ha ancora passaggi. Aggiungine uno qui sotto.",
"addStep": "Aggiungi passaggio",
"stepNumber": "Passo {{number}}",
"removeStep": "Rimuovere il passaggio",
"confirmRunTitle": "Eseguire questa macro?",
"confirmRunBody": "\"{{name}}\" invierà comandi a {{host}}.",
"confirmRunAction": "Esegui macro",
"stepTypes": {
"send": {
"label": "inviare comando",
"help": "Digita il testo nel terminale, proprio come se lo avessi digitato tu."
},
"wait": {
"label": "Attendi l'output",
"help": "Si mette in pausa finché il server non stampa il testo che hai specificato, ad esempio una richiesta di password."
},
"delay": {
"label": "Pausa",
"help": "Attende un intervallo di tempo fisso prima di procedere al passo successivo."
},
"if": {
"label": "Se l'output contiene",
"help": "Controlla tutto ciò che il server ha stampato finora, quindi esegue uno dei due rami."
},
"repeat": {
"label": "Ripetere",
"help": "Esegue i passaggi al suo interno un numero prestabilito di volte."
}
},
"send": {
"text": "Comando o testo",
"textPlaceholder": "systemctl restart nginx",
"pressEnter": "Premi Invio dopo aver inviato",
"pressEnterHelp": "Disattiva questa opzione per digitare del testo senza inviarlo."
},
"wait": {
"pattern": "Attendi che l'output contenga",
"patternPlaceholder": "password:",
"timeout": "Rinunciare dopo",
"onTimeout": "Se non appare mai",
"stop": "Interrompi la macro",
"continue": "Continua comunque"
},
"delay": {
"duration": "Attendi"
},
"ifStep": {
"pattern": "Se l'output contiene",
"patternPlaceholder": "Attivo: attivo (in corsa)",
"then": "Poi fai questo",
"else": "Altrimenti fai così",
"emptyBranch": "Nessun gradino"
},
"repeat": {
"count": "Numero di volte",
"times": "volte"
},
"match": {
"useRegex": "Corrispondenza con un'espressione regolare",
"useRegexHelp": "Lasciare vuoto questo elemento per far sì che il testo corrisponda esattamente a come è stato scritto.",
"invalidRegex": "Non è un'espressione regolare valida, verrà interpretata come testo semplice."
},
"seconds": "secondi",
"secondsShort": "{{count}}s"
}
}