mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-29 22:55:24 +00:00
* fix(sso): send the PKCE verifier for GitHub login (#1534) * fix(remote-desktop): clip cursor overflow without disabling zoom (#1535) * test(remote-desktop): preserve sessions beyond one hour (#1536) * fix(hosts): expose controls for overflowing editor tabs (#1537) * fix(hosts): expose controls for overflowing editor tabs * test(hosts): mock resize observation in admin panel tests * fix(status): skip TCP probes while host sessions are active (#1538) * fix(database): batch session activity persistence (#1539) * docs(api): describe cookie and API key authentication (#1540) * fix(snippets): repair missing note column on SQLite upgrades (#1541) * fix(docker): retain stored SSH credential association (#1543) * fix(file-manager): render transfer toasts without plugin hooks (#1546) * feat(hosts): keep compact row actions inline (#1547) * fix(auth): allow retrying unavailable second-factor interfaces (#1549) * fix(auth): reject unresolved legacy identity provisioning (#1550) * fix(desktop): ship the plugin SDK inside Mac App Store builds (#1551) * fix(tmux): pass full session info to the terminal's session picker (#1552) The tmux.sessions service reduced detected sessions to bare names, but the picker reads session.name, so every entry rendered blank and selecting one sent an empty name, which created a new session instead of attaching. * fix(ssh): read force keyboard-interactive as a boolean when resolving hosts (#1553) The column holds the text "true"/"false", and the resolver passed it through as-is. The string "false" is truthy, so the password provider treated every saved host as forced keyboard-interactive and left the password out. Jump hops are built straight from the resolved host, so a password hop whose server doesn't offer keyboard-interactive failed with "All configured authentication methods failed". * fix(database): batch database saves for bulk host writes (#1554) * fix(database): yield to the event loop between database saves Each SQLite save serializes and encrypts the whole database into new buffers, which V8 only releases once the event loop turns. Boot migrations and bulk host import write plugin settings per host and per key in an awaited loop, so hundreds of full copies piled up and the container ran out of memory. * fix(database): save once per bulk host write instead of once per row On SQLite every repository write force-saves the whole database. Boot plugin data migrations, host defaults materialization and the bulk host routes write one row per host per setting, so they serialized and encrypted the full database hundreds of times in a row. DatabaseSaveTrigger.batched wraps a function so force saves made while it runs collapse into a single save when it finishes. Nested scopes fold into the outer one, and work that outlives its scope saves normally. * feat(hosts): add instance-wide predefined tag suggestions (#1548) * feat(hosts): add shared predefined tag suggestions * style(hosts): format tag catalog routes * test(database): advance fake timers past the save yield (#1555) * fix(i18n): complete Simplified Chinese core and plugin translations (#1542) * fix(i18n): complete Chinese onboarding and navigation labels * fix(i18n): translate remaining Chinese core and plugin interfaces * fix(i18n): translate host editor tab overflow controls * fix(i18n): use consistent Chinese fleet terminology * fix(i18n): localize hardcoded controls and plugin views * fix(i18n): translate built-in homepage widget catalog * test(homepage): follow translated timezone placeholder * fix(i18n): translate plugin-provided homepage widgets * fix(i18n): localize feature settings section titles * fix: 2.8 oidc accounts unable to sign in after upgrading (#1381) * fix: plugins losing the saved ssh login when copying a host (#1391) * fix: fleets, proxmox and automations not getting the host sudo password * fix: host imports running a defaults pass and metrics restart per host (#1384) * fix: high cpu from status probes and full database saves on every sample (#1300) * fix: user data export freezing the server (#1393) * fix: op:// secret references rejected as ssh keys on credentials (#1394) * fix: slow file deletes from the trash lookups on every delete (#1390) * fix: add openapi docs and error handling to host tag routes * test: compare download stream buffers directly so it stops timing out * chore: drop em dash from host row comment * chore: update release notes for 2.9.1 * fix: restore space to add host tags and redesign predefined tags editor * fix: host key silently accepted when the host is missing from the database (#1397) * fix: clearer host login failed status label and fix its translations (#1396) * chore: add host key and status label fixes to release notes * fix: sso and ldap provider dialogs overflowing the screen and using mismatched toggles * chore: increment ver * fix(audit): store plugin entries with no acting user as a null user_id (#1556) Plugin audit entries written outside a request used the literal "system" as user_id. That column references users.id, so the insert was refused (Postgres logs it as an FK violation) and the entry was silently dropped. Write null instead and keep "system" / plugin:<id> in username. * chore: add sso/ldap dialog and audit log fixes to release notes * fix: tunnels and host settings missing from shared hosts on desktop * fix: remote desktop logins missing from shared hosts on desktop * fix: simplify host status to online/offline and keep it live without a refresh * chore: sync Crowdin translations for 2.9.1 --------- Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com>
556 lines
30 KiB
JSON
556 lines
30 KiB
JSON
{
|
|
"nav": {
|
|
"files": "File",
|
|
"sftp": "SFTP",
|
|
"openFileManager": "Apri Gestione file"
|
|
},
|
|
"permissions": {
|
|
"use": {
|
|
"title": "Utilizzare il gestore file",
|
|
"description": "Sfoglia, modifica e trasferisci file tramite SFTP."
|
|
}
|
|
},
|
|
"settings": {
|
|
"host": {
|
|
"enable": {
|
|
"label": "Abilita File Manager",
|
|
"description": "È possibile visualizzare e modificare i file su questo host tramite SFTP."
|
|
},
|
|
"defaultPath": {
|
|
"label": "Percorso predefinito"
|
|
},
|
|
"scpLegacy": {
|
|
"label": "Modalità SCP legacy"
|
|
}
|
|
},
|
|
"user": {
|
|
"transferConcurrency": {
|
|
"label": "Trasferimenti simultanei di file",
|
|
"description": "Quanti file il gestore locale/remoto affiancato carica o scarica contemporaneamente. Riduci questo valore se il tuo server limita i canali SFTP."
|
|
},
|
|
"confirmBeforeTrash": {
|
|
"label": "Conferma prima di spostare i file nel cestino",
|
|
"description": "Chiedi conferma prima di spostare i file remoti nel cestino. Anche la cancellazione definitiva richiede conferma."
|
|
}
|
|
}
|
|
},
|
|
"hostCapability": {
|
|
"label": "Gestore file"
|
|
},
|
|
"fileManager": {
|
|
"noHostSelected": "Nessun host selezionato",
|
|
"initializingEditor": "Inizializzazione editor...",
|
|
"file": "File",
|
|
"folder": "Cartella",
|
|
"uploadFile": "Carica file",
|
|
"downloadFile": "Scarica",
|
|
"extractArchive": "Estrai archivio",
|
|
"extractingArchive": "Estrazione di {{name}}...",
|
|
"archiveExtractedSuccessfully": "{{name}} estratto con successo",
|
|
"extractFailed": "Estrazione non riuscita",
|
|
"compressFile": "Comprimi file",
|
|
"compressFiles": "Comprimi file",
|
|
"compressFilesDesc": "Comprimi {{count}} elementi in un archivio",
|
|
"archiveName": "Nome archivio",
|
|
"enterArchiveName": "Inserisci nome archivio...",
|
|
"compressionFormat": "Formato compressione",
|
|
"selectedFiles": "File selezionati",
|
|
"andMoreFiles": "e altri {{count}}...",
|
|
"compress": "Comprimi",
|
|
"compressingFiles": "Comprimendo {{count}} elementi in {{name}}...",
|
|
"filesCompressedSuccessfully": "{{name}} creato con successo",
|
|
"compressFailed": "Compressione non riuscita",
|
|
"edit": "Modifica",
|
|
"preview": "Anteprima",
|
|
"previous": "Precedente",
|
|
"next": "Successivo",
|
|
"pageXOfY": "Pagina {{current}} di {{total}}",
|
|
"zoomOut": "Riduci zoom",
|
|
"zoomIn": "Aumenta zoom",
|
|
"newFile": "Nuovo file",
|
|
"newFolder": "Nuova cartella",
|
|
"rename": "Rinomina",
|
|
"uploading": "Caricamento in corso...",
|
|
"uploadingFile": "Caricamento di {{name}}...",
|
|
"uploadingChunk": "Caricamento di {{name}}: {{percent}}% (parte {{chunk}} di {{total}})",
|
|
"fileName": "Nome file",
|
|
"folderName": "Nome cartella",
|
|
"fileUploadedSuccessfully": "File \"{{name}}\" caricato con successo",
|
|
"failedToUploadFile": "Caricamento file non riuscito",
|
|
"uploadingFolderFiles": "Caricamento del/dei file {{count}} in corso...",
|
|
"uploadedFolderFiles": "File caricati con successo {{count}}",
|
|
"uploadedFolderPartial": "Caricamento del/i file {{uploaded}} non riuscito/i {{failed}}",
|
|
"fileDownloadedSuccessfully": "File \"{{name}}\" scaricato con successo",
|
|
"failedToDownloadFile": "Scaricamento file non riuscito",
|
|
"fileCreatedSuccessfully": "File \"{{name}}\" creato con successo",
|
|
"folderCreatedSuccessfully": "Cartella \"{{name}}\" creata con successo",
|
|
"failedToCreateItem": "Creazione elemento non riuscita",
|
|
"operationFailed": "Operazione {{operation}} non riuscita per {{name}}: {{error}}",
|
|
"failedToResolveSymlink": "Risoluzione del collegamento simbolico non riuscita",
|
|
"itemsDeletedSuccessfully": "{{count}} elementi eliminati con successo",
|
|
"failedToDeleteItems": "Eliminazione elementi non riuscita",
|
|
"sudoPasswordRequired": "Password amministratore richiesta",
|
|
"enterSudoPassword": "Inserisci la password sudo per continuare l'operazione",
|
|
"sudoPassword": "Password sudo",
|
|
"sudoOperationFailed": "Operazione sudo non riuscita",
|
|
"sudoAuthFailed": "Autenticazione sudo non riuscita",
|
|
"dragFilesToUpload": "Trascina qui i file per caricarli",
|
|
"dropToUploadHere": "Trascina qui per caricare",
|
|
"dropToDownloadHere": "Scarica qui",
|
|
"localFiles": "Locale",
|
|
"showLocalFiles": "Mostra i file locali (vista divisa)",
|
|
"hideLocalFiles": "Nascondi i file locali",
|
|
"localHome": "Cartella Home",
|
|
"localPathPlaceholder": "Percorso della cartella locale",
|
|
"localShowHidden": "Mostra i file nascosti",
|
|
"localHideHidden": "Nascondi i file nascosti",
|
|
"localRevealInFileManager": "Mostra nel gestore file di sistema",
|
|
"localCannotOpenFolder": "Impossibile aprire la cartella",
|
|
"localItemCount": "{{count}} elementi",
|
|
"localSelectedCount": "{{count}} selezionati",
|
|
"back": "Indietro",
|
|
"forward": "Inoltrare",
|
|
"up": "Su",
|
|
"kind": "Tipo",
|
|
"localUploadingProgress": "Caricamento di {{current}} di {{total}}",
|
|
"localDownloadingProgress": "Download di {{current}} di {{total}}",
|
|
"localTransferInFlight": "{{count}} subito",
|
|
"localPreparingDownload": "Download in corso...",
|
|
"localTransferCancelled": "Trasferimento annullato",
|
|
"localNothingToTransfer": "Nulla da trasferire",
|
|
"localUploadComplete": "Caricato/i file {{count}}",
|
|
"localUploadFailed": "Caricamento non riuscito",
|
|
"localUploadPartial": "Caricamento del/i file {{done}} non riuscito/i {{failed}}",
|
|
"localDownloadComplete": "Scaricato il/i file {{count}}",
|
|
"localDownloadFailed": "Download non riuscito",
|
|
"localDownloadPartial": "Scaricamento del/dei file {{done}} , {{failed}} non riuscito",
|
|
"localReplaceExistingPrompt": "{{count}} L'elemento/gli elementi esistono già in questa cartella. Sostituirli?",
|
|
"localReplace": "Sostituisci",
|
|
"localSkipExisting": "Saltare",
|
|
"localSkippedExisting": "Saltato {{count}} elemento/i esistente/i",
|
|
"localUnsafeNamesSkipped": "Saltati {{count}} elementi i cui nomi non possono essere utilizzati su questo computer",
|
|
"localOpen": "Apri",
|
|
"localOpenFolder": "Apri la cartella",
|
|
"localUploadToRemote": "Carica sul server",
|
|
"localUploadToRemoteMany": "Carica {{count}} elementi sul server",
|
|
"localMoveToTrash": "Sposta nel Cestino",
|
|
"localMoveToTrashMany": "Sposta {{count}} elementi nel Cestino",
|
|
"localTrashConfirmSingle": "Spostare \"{{name}}\" nel Cestino?",
|
|
"localTrashConfirmFolder": "Spostare la cartella \"{{name}}\" e tutto il suo contenuto nel Cestino?",
|
|
"localTrashConfirmMany": "Spostare {{count}} elementi nel Cestino?",
|
|
"localTrashed": "Spostati {{count}} elementi nel Cestino",
|
|
"localTrashFailed": "Impossibile spostare nel Cestino",
|
|
"localRenameFailed": "Rinominare non riuscito",
|
|
"localCreateFailed": "Impossibile creare l'elemento",
|
|
"goToParentFolder": "Vai alla cartella principale",
|
|
"resizeSidebar": "Trascina per ridimensionare la barra laterale (doppio clic per ripristinare le dimensioni originali)",
|
|
"resizeLocalPane": "Trascina per ridimensionare il riquadro locale (doppio clic per ripristinare le dimensioni originali)",
|
|
"columns": "Colonne",
|
|
"columnsHint": "Fare clic con il pulsante destro del mouse per scegliere le colonne",
|
|
"emptyFolder": "Questa cartella è vuota",
|
|
"searchFiles": "Cerca file...",
|
|
"upload": "Carica",
|
|
"selectHostToStart": "Seleziona un host per avviare la gestione file",
|
|
"sshRequiredForFileManager": "Il gestore file richiede SSH. Questo host non ha SSH abilitato.",
|
|
"failedToConnect": "Connessione a SSH non riuscita",
|
|
"failedToLoadDirectory": "Caricamento directory non riuscito",
|
|
"noSSHConnection": "Nessuna connessione SSH disponibile",
|
|
"copy": "Copia",
|
|
"cut": "Taglia",
|
|
"paste": "Incolla",
|
|
"copyPath": "Copia percorso",
|
|
"copyPaths": "Copia percorsi",
|
|
"delete": "Elimina",
|
|
"properties": "Proprietà",
|
|
"refresh": "Aggiorna",
|
|
"downloadFiles": "Scarica {{count}} file nel browser",
|
|
"copyFiles": "Copia {{count}} elementi",
|
|
"cutFiles": "Taglia {{count}} elementi",
|
|
"deleteFiles": "Elimina {{count}} elementi",
|
|
"filesCopiedToClipboard": "{{count}} elementi copiati negli appunti",
|
|
"filesCutToClipboard": "{{count}} elementi tagliati negli appunti",
|
|
"pathCopiedToClipboard": "Percorso copiato negli appunti",
|
|
"pathsCopiedToClipboard": "{{count}} percorsi copiati negli appunti",
|
|
"failedToCopyPath": "Impossibile copiare il percorso negli appunti",
|
|
"copyFolderLink": "Copia collegamento alla cartella",
|
|
"copyCurrentFolderLink": "Copia collegamento alla cartella corrente",
|
|
"folderLinkCopied": "Collegamento alla cartella copiato negli appunti",
|
|
"failedToCopyFolderLink": "Impossibile copiare il collegamento alla cartella",
|
|
"movedItems": "Spostati {{count}} elementi",
|
|
"failedToDeleteItem": "Impossibile eliminare l'elemento",
|
|
"itemRenamedSuccessfully": "{{type}} rinominato con successo",
|
|
"failedToRenameItem": "Impossibile rinominare l'elemento",
|
|
"download": "Scarica",
|
|
"openExternalEditor": "Apri esternamente",
|
|
"chooseExternalEditor": "Scegli editor esterno",
|
|
"externalEditorSelected": "Editor esterno selezionato",
|
|
"externalEditorDesktopOnly": "L'editor esterno è disponibile solo nell'app desktop",
|
|
"externalEditorOpened": "Aperto nell'editor esterno. Salvando lì, le modifiche verranno caricate nuovamente sul server.",
|
|
"failedToOpenExternalEditor": "Impossibile aprire l'editor esterno",
|
|
"failedToSelectExternalEditor": "Impossibile selezionare l'editor esterno",
|
|
"permissions": "Permessi",
|
|
"size": "Dimensione",
|
|
"modified": "Modificato",
|
|
"path": "Percorso",
|
|
"confirmDelete": "Sei sicuro di voler eliminare {{name}}?",
|
|
"permissionDenied": "Permesso negato",
|
|
"serverError": "Errore del server",
|
|
"fileSavedSuccessfully": "File salvato con successo",
|
|
"failedToSaveFile": "Impossibile salvare il file",
|
|
"confirmDeleteSingleItem": "Sei sicuro di voler eliminare definitivamente \"{{name}}\"?",
|
|
"confirmDeleteMultipleItems": "Sei sicuro di voler eliminare definitivamente {{count}} elementi?",
|
|
"confirmDeleteMultipleItemsWithFolders": "Sei sicuro di voler eliminare definitivamente {{count}} elementi? Sono incluse cartelle e il loro contenuto.",
|
|
"confirmDeleteFolder": "Sei sicuro di voler eliminare definitivamente la cartella \"{{name}}\" e tutto il suo contenuto?",
|
|
"permanentDeleteWarning": "Questa azione non può essere annullata. Gli elementi verranno eliminati definitivamente dal server.",
|
|
"moveToTrashWarning": "L'articolo o gli articoli verranno spostati nel Cestino di Termix e potranno essere ripristinati prima della scadenza del periodo di conservazione.",
|
|
"itemsMovedToTrash": "{{count}} elemento/i spostato/i nel Cestino",
|
|
"trash": "Spazzatura",
|
|
"trashDescription": "Gli elementi eliminati vengono conservati per {{days}} giorni su questo host.",
|
|
"trashLoadFailed": "Impossibile caricare il Cestino",
|
|
"trashEmpty": "Il cestino è vuoto",
|
|
"trashRestore": "Ripristina",
|
|
"trashRestored": "Ripristinato {{name}}",
|
|
"trashRestoreFailed": "Impossibile ripristinare l'elemento. Il percorso originale potrebbe già esistere.",
|
|
"trashDeletePermanently": "Eliminare definitivamente",
|
|
"trashDeleteConfirm": "Eliminare definitivamente {{name}}? Questa operazione non può essere annullata.",
|
|
"trashPermanentlyDeleted": "Eliminato definitivamente {{name}}",
|
|
"trashDeleteFailed": "Impossibile eliminare definitivamente l'elemento",
|
|
"trashEmptyAction": "Svuotare il cestino",
|
|
"trashEmptyConfirm": "Eliminare definitivamente tutti gli elementi nel Cestino? Questa operazione non può essere annullata.",
|
|
"trashEmptied": "Cestino svuotato",
|
|
"trashRetention": "Pulizia automatica dopo (giorni)",
|
|
"trashRetentionSaved": "Gestione dei rifiuti aggiornata",
|
|
"trashRetentionFailed": "Impossibile aggiornare la conservazione dei rifiuti",
|
|
"trashUnavailableConfirm": "Questo elemento non può essere spostato nel Cestino, solitamente perché si trova su un altro file system o richiede privilegi elevati. Vuoi eliminarlo definitivamente?",
|
|
"recent": "Recenti",
|
|
"pinned": "Fissati",
|
|
"folderShortcuts": "Collegamenti alle cartelle",
|
|
"failedToReconnectSSH": "Impossibile riconnettersi alla sessione SSH",
|
|
"openTerminalHere": "Apri terminale qui",
|
|
"run": "Esegui",
|
|
"openTerminalInFolder": "Apri terminale in questa cartella",
|
|
"openTerminalInFileLocation": "Apri terminale nella posizione del file",
|
|
"runningFile": "In esecuzione - {{file}}",
|
|
"onlyRunExecutableFiles": "È possibile eseguire solo file eseguibili",
|
|
"directories": "Directory",
|
|
"removedFromRecentFiles": "Rimosso \"{{name}}\" dai file recenti",
|
|
"removeFailed": "Rimozione non riuscita",
|
|
"unpinnedSuccessfully": "Rimosso \"{{name}}\" dai preferiti con successo",
|
|
"unpinFailed": "Rimozione dai preferiti non riuscita",
|
|
"removedShortcut": "Rimosso collegamento \"{{name}}\"",
|
|
"removeShortcutFailed": "Rimozione collegamento non riuscita",
|
|
"clearedAllRecentFiles": "Cancellati tutti i file recenti",
|
|
"clearFailed": "Cancellazione non riuscita",
|
|
"removeFromRecentFiles": "Rimuovi dai file recenti",
|
|
"clearAllRecentFiles": "Cancella tutti i file recenti",
|
|
"unpinFile": "Rimuovi dai preferiti",
|
|
"removeShortcut": "Rimuovi collegamento",
|
|
"pinFile": "Aggiungi ai preferiti",
|
|
"addToShortcuts": "Aggiungi ai collegamenti",
|
|
"pasteFailed": "Incolla non riuscito",
|
|
"noUndoableActions": "Nessuna azione annullabile",
|
|
"undoCopySuccess": "Operazione di copia annullata: eliminati {{count}} file copiati",
|
|
"undoCopyFailedDelete": "Annullamento non riuscito: impossibile eliminare i file copiati",
|
|
"undoCopyFailedNoInfo": "Annullamento non riuscito: impossibile trovare informazioni sui file copiati",
|
|
"undoMoveSuccess": "Operazione di spostamento annullata: riportati {{count}} file nella posizione originale",
|
|
"undoMoveFailedMove": "Annullamento non riuscito: impossibile riportare i file indietro",
|
|
"undoMoveFailedNoInfo": "Annullamento non riuscito: impossibile trovare informazioni sui file spostati",
|
|
"undoDeleteNotSupported": "L'operazione di eliminazione non può essere annullata: i file sono stati eliminati permanentemente dal server",
|
|
"undoTypeNotSupported": "Tipo di operazione di annullamento non supportato",
|
|
"undoOperationFailed": "Operazione di annullamento non riuscita",
|
|
"unknownError": "Errore sconosciuto",
|
|
"confirm": "Conferma",
|
|
"find": "Trova...",
|
|
"replace": "Sostituisci",
|
|
"downloadInstead": "Scarica invece",
|
|
"keyboardShortcuts": "Scorciatoie da tastiera",
|
|
"searchAndReplace": "Cerca e sostituisci",
|
|
"editing": "Modifica",
|
|
"search": "Cerca",
|
|
"findNext": "Trova successivo",
|
|
"findPrevious": "Trova precedente",
|
|
"save": "Salva",
|
|
"selectAll": "Seleziona tutto",
|
|
"undo": "Annulla",
|
|
"redo": "Ripristina",
|
|
"moveLineUp": "Sposta riga su",
|
|
"moveLineDown": "Sposta riga giù",
|
|
"toggleComment": "Commenta/Decommenta",
|
|
"autoComplete": "Completamento automatico",
|
|
"imageLoadError": "Caricamento immagine non riuscito",
|
|
"startTyping": "Inizia a digitare...",
|
|
"unknownSize": "Dimensione sconosciuta",
|
|
"fileIsEmpty": "Il file è vuoto",
|
|
"largeFileWarning": "Avviso file di grandi dimensioni",
|
|
"largeFileWarningDesc": "Questo file ha una dimensione di {{size}}, che potrebbe causare problemi di prestazioni se aperto come testo.",
|
|
"fileNotFoundAndRemoved": "File \"{{name}}\" non trovato ed è stato rimosso dai file recenti/fissati",
|
|
"failedToLoadFile": "Caricamento del file non riuscito: {{error}}",
|
|
"serverErrorOccurred": "Si è verificato un errore del server. Riprova più tardi.",
|
|
"autoSaveFailed": "Salvataggio automatico non riuscito",
|
|
"fileAutoSaved": "File salvato automaticamente",
|
|
"moveFileFailed": "Spostamento di {{name}} non riuscito",
|
|
"moveOperationFailed": "Operazione di spostamento non riuscita",
|
|
"canOnlyCompareFiles": "È possibile confrontare solo due file",
|
|
"comparingFiles": "Confronto dei file: {{file1}} e {{file2}}",
|
|
"dragFailed": "Operazione di trascinamento non riuscita",
|
|
"filePinnedSuccessfully": "File \"{{name}}\" fissato con successo",
|
|
"pinFileFailed": "Fissaggio del file non riuscito",
|
|
"fileUnpinnedSuccessfully": "File \"{{name}}\" rimosso dai fissati con successo",
|
|
"unpinFileFailed": "Impossibile rimuovere il file fissato",
|
|
"shortcutAddedSuccessfully": "Collegamento alla cartella \"{{name}}\" aggiunto con successo",
|
|
"addShortcutFailed": "Impossibile aggiungere il collegamento",
|
|
"operationCompletedSuccessfully": "{{operation}} {{count}} elementi con successo",
|
|
"operationCompleted": "{{operation}} {{count}} elementi",
|
|
"downloadFileSuccess": "File {{name}} scaricato con successo",
|
|
"downloadFileFailed": "Download non riuscito",
|
|
"downloadingFile": "Download in corso {{name}}…",
|
|
"downloadProgressBytes": "{{transferred}} / {{total}}",
|
|
"moveTo": "Sposta in {{name}}",
|
|
"diffCompareWith": "Diff con {{name}}",
|
|
"dragOutsideToDownload": "Trascina fuori dalla finestra per scaricare ({{count}} file)",
|
|
"newFolderDefault": "NuovaCartella",
|
|
"newFileDefault": "NuovoFile.txt",
|
|
"successfullyMovedItems": "{{count}} elementi spostati con successo in {{target}}",
|
|
"move": "Sposta",
|
|
"searchInFile": "Cerca nel file (Ctrl+F)",
|
|
"showKeyboardShortcuts": "Mostra scorciatoie da tastiera",
|
|
"decreaseFontSize": "Riduci dimensione carattere",
|
|
"increaseFontSize": "Aumenta dimensione carattere",
|
|
"startWritingMarkdown": "Inizia a scrivere il tuo contenuto markdown...",
|
|
"loadingFileComparison": "Caricamento confronto file in corso...",
|
|
"reload": "Ricarica",
|
|
"compare": "Confronta",
|
|
"sideBySide": "Fianco a fianco",
|
|
"inline": "In linea",
|
|
"fileComparison": "Confronto file: {{file1}} vs {{file2}}",
|
|
"fileTooLarge": "File is too large (> 10MB) and cannot be opened as text for security reasons.",
|
|
"sshConnectionFailed": "Connessione SSH non riuscita. Controlla la connessione a {{name}} ({{ip}}:{{port}})",
|
|
"loadFileFailed": "Caricamento del file non riuscito: {{error}}",
|
|
"connecting": "Connessione in corso...",
|
|
"connectedSuccessfully": "Connesso con successo",
|
|
"totpVerificationFailed": "Verifica TOTP non riuscita",
|
|
"browserSignInFailed": "Accesso non riuscito. Riprova.",
|
|
"authenticationFailed": "Autenticazione non riuscita",
|
|
"incorrectPassphrase": "Frase di accesso non corretta. Riprova.",
|
|
"verificationCodePrompt": "Codice di verifica:",
|
|
"changePermissions": "Modifica permessi",
|
|
"currentPermissions": "Permessi attuali",
|
|
"owner": "Proprietario",
|
|
"group": "Gruppo",
|
|
"others": "Altri",
|
|
"read": "Lettura",
|
|
"write": "Scrittura",
|
|
"execute": "Esecuzione",
|
|
"permissionsChangedSuccessfully": "Permessi modificati con successo",
|
|
"failedToChangePermissions": "Modifica dei permessi non riuscita",
|
|
"name": "Nome",
|
|
"sortByName": "Nome",
|
|
"sortByDate": "Data di modifica",
|
|
"sortBySize": "Dimensione",
|
|
"ascending": "Crescente",
|
|
"descending": "Decrescente",
|
|
"root": "Radice",
|
|
"new": "Nuovo",
|
|
"sortBy": "Ordina per",
|
|
"items": "Elementi",
|
|
"selected": "Selezionati",
|
|
"editor": "Editor",
|
|
"octal": "Ottale",
|
|
"storage": "Storage",
|
|
"disk": "Disco",
|
|
"used": "Usato",
|
|
"of": "di",
|
|
"toggleSidebar": "Mostra/Nascondi barra laterale",
|
|
"compactLayout": "Utilizzare un layout compatto",
|
|
"comfortableLayout": "Utilizzare una disposizione comoda",
|
|
"cannotLoadPdf": "Impossibile caricare il PDF",
|
|
"pdfLoadError": "Si è verificato un errore durante il caricamento del file PDF.",
|
|
"loadingPdf": "Loading PDF viewer...",
|
|
"loadingPage": "Caricamento pagina in corso...",
|
|
"cancel": "Annulla",
|
|
"copiedItems_one": "Elemento copiato {{count}}",
|
|
"copiedItems_other": "Elementi copiati {{count}}",
|
|
"deleteCopiedFileFailed": "Impossibile eliminare la copia di {{name}}: {{error}}",
|
|
"dragMovedItems_one": "Elemento {{count}} spostato in {{target}}",
|
|
"dragMovedItems_other": "Spostati {{count}} elementi in {{target}}",
|
|
"moveBackFileFailed": "Impossibile spostare {{name}} indietro: {{error}}",
|
|
"terminal": "Terminale: {{host}} ({{path}})",
|
|
"dragToDesktop": "Trascinando {{name}} sul desktop",
|
|
"dragFilesToDesktop": "Trascinamento dei file {{count}} sul desktop",
|
|
"folderDragUnsupported": "Il trascinamento delle cartelle sul desktop non è ancora supportato.",
|
|
"saveToDesktopFailed": "Salvataggio non riuscito: {{error}}",
|
|
"dragFailedDetail": "Trascinamento non riuscito: {{error}}",
|
|
"videoUnsupported": "Il tuo browser non è in grado di riprodurre questo formato video.",
|
|
"downloadToPlay": "Scaricalo per riprodurlo altrove",
|
|
"cannotPreviewType": "Impossibile visualizzare l'anteprima di questo tipo di file",
|
|
"cannotPreviewTypeHint": "Questo tipo di file non ha un'anteprima. Scaricalo per aprirlo in un'altra applicazione.",
|
|
"loadingFile": "Loading file...",
|
|
"loadingImage": "Loading image...",
|
|
"loadingEditor": "Loading editor...",
|
|
"loadingPreview": "Loading preview...",
|
|
"loadingAudio": "Loading audio player...",
|
|
"emptyPreview": "Nothing to preview yet...",
|
|
"revert": "Revert",
|
|
"openAsText": "Open as Text",
|
|
"confirmOpenAsText": "Do you want to continue opening this file as text? This may slow down your browser."
|
|
},
|
|
"sftpTransfer": {
|
|
"title": "SFTP",
|
|
"description": "Trasferire file tra due host SSH.",
|
|
"sourceServer": "Server sorgente",
|
|
"destinationServer": "Server di destinazione",
|
|
"selectHost": "Seleziona l'host",
|
|
"noHostSelected": "Nessun host selezionato",
|
|
"move": "Sposta",
|
|
"copy": "Copia",
|
|
"upload": "Carica",
|
|
"itemsSelected": "{{count}} elemento selezionato",
|
|
"itemsSelected_other": "{{count}} elementi selezionati",
|
|
"ready": "Pronto",
|
|
"loadingHosts": "Caricamento host...",
|
|
"name": "Nome",
|
|
"modified": "Modificato",
|
|
"size": "Dimensione",
|
|
"noFiles": "Nessun file",
|
|
"open": "Apri",
|
|
"up": "Su",
|
|
"refresh": "Aggiorna",
|
|
"copyToTarget": "Copia nella directory di destinazione",
|
|
"rename": "Rinomina",
|
|
"delete": "Elimina",
|
|
"editPermissions": "Modifica autorizzazioni",
|
|
"createNewFolder": "Crea una nuova cartella",
|
|
"deleteSelectedItems": "Elimina gli elementi selezionati",
|
|
"deleteConfirm": "Eliminare l'elemento selezionato {{count}}?",
|
|
"deleteConfirm_other": "Eliminare gli elementi selezionati {{count}}?",
|
|
"cancel": "Annulla",
|
|
"save": "Salva",
|
|
"folderCreated": "Cartella creata",
|
|
"itemRenamed": "Elemento rinominato",
|
|
"actionFailed": "Azione non riuscita",
|
|
"itemsDeleted": "{{count}} elemento eliminato",
|
|
"itemsDeleted_other": "{{count}} elementi eliminati",
|
|
"deleteFailed": "Eliminazione non riuscita",
|
|
"permissionsUpdated": "Autorizzazioni aggiornate",
|
|
"noRemoteSessionConnected": "Nessuna sessione remota connessa",
|
|
"failedToListFiles": "Impossibile elencare i file",
|
|
"failedToRefresh": "Aggiornamento non riuscito",
|
|
"destinationInsideSource": "La destinazione non può trovarsi all'interno del percorso di origine selezionato.",
|
|
"sameHostNoOp": "La cartella di origine e quella di destinazione sono la stessa."
|
|
},
|
|
"hosts": {
|
|
"fileManager": "File Manager",
|
|
"fileManagerUrlCopied": "URL file manager copiato",
|
|
"copyFileManagerUrlAction": "Copia URL File Manager",
|
|
"docsLink": "Visualizza documentazione",
|
|
"hostNotFound": "Host non trovato",
|
|
"loadingHost": "Caricamento host..."
|
|
},
|
|
"onboarding": {
|
|
"feature_files": "Gestore file",
|
|
"feature_files_desc": "Esplora, carica, scarica e modifica file tramite SFTP senza uscire dall'applicazione."
|
|
},
|
|
"terminal": {
|
|
"runTitle": "Esecuzione {{command}} - {{host}}",
|
|
"terminalTitle": "Terminale - {{host}}",
|
|
"terminalWithPath": "Terminale - {{host}}:{{path}}"
|
|
},
|
|
"transfer": {
|
|
"browseFolders": "Sfoglia cartelle di destinazione",
|
|
"browsePathError": "Impossibile aprire questo percorso sull'host di destinazione.",
|
|
"browsePathWillBeCreated": "Questa cartella non esiste ancora. Verrà creata all'avvio del trasferimento.",
|
|
"cancel": "Annulla",
|
|
"cleanupDestFiles": "Pulisci destinazione",
|
|
"cleanupDestFilesError": "Pulizia fallita",
|
|
"cleanupDestFilesNothing": "Niente da pulire sulla destinazione",
|
|
"cleanupDestFilesPartial": "Alcuni file parziali non sono stati rimossi",
|
|
"cleanupDestFilesSuccess": "File parziali rimossi dalla destinazione",
|
|
"confirmCopy": "Copia",
|
|
"confirmMove": "Sposta",
|
|
"copyFolderToHost": "Copia cartella sull'host…",
|
|
"copyItemsToHost": "Copia {{count}} elementi su host…",
|
|
"copyToHost": "Copia su host…",
|
|
"destinationPath": "Percorso di destinazione",
|
|
"destMustBeDirectory": "La destinazione deve essere una directory per il trasferimento di più elementi",
|
|
"goUp": "Salire",
|
|
"hostAuthRequired": "Autenticazione richiesta. Apri prima il File Manager su questo host",
|
|
"hostConnecting": "Connessione in corso…",
|
|
"hostConnectionFailed": "Connessione non riuscita",
|
|
"hostDisconnected": "Non connesso",
|
|
"hostReady": "Pronto",
|
|
"itemsSummary": "{{count}} elementi",
|
|
"jumpHostLimitation": "Entrambi gli host devono essere raggiungibili dal server Termix. Il routing diretto host-to-host non è supportato.",
|
|
"methodAuto": "Auto",
|
|
"methodAutoHint": "Sceglie tar o SFTP per file in base al numero, dimensione e comprimibilità dei file. I file singoli usano sempre SFTP in streaming.",
|
|
"methodItemSftp": "SFTP per file",
|
|
"methodItemSftpHint": "Trasferisce ogni file singolarmente tramite SFTP. Funziona su tutti gli host, incluso Windows.",
|
|
"methodItemSftpLimitation": "Ogni file utilizza lo stesso flusso SFTP come una copia di file singolo, uno dopo l'altro. L'avanzamento è combinato su tutti i file, quindi la barra si muove lentamente durante i file di grandi dimensioni.",
|
|
"methodLabel": "Metodo di trasferimento",
|
|
"methodPreviewError": "Impossibile visualizzare l'anteprima del metodo di trasferimento. Il server sceglierà comunque un metodo all'avvio.",
|
|
"methodPreviewLoading": "Calcolo del metodo di trasferimento…",
|
|
"methodPreviewScanSummary": "{{fileCount}} file, {{totalSize}} in totale (scansionati sull'host sorgente).",
|
|
"methodPreviewWillUseItemSftp": "Userà: SFTP per file",
|
|
"methodPreviewWillUseTar": "Userà: Archivio Tar",
|
|
"methodReason": {
|
|
"user_item_sftp": "Hai scelto SFTP per-file.",
|
|
"user_tar": "Hai scelto archivio tar.",
|
|
"tar_unavailable": "Tar non è disponibile su uno o entrambi gli host, quindi verrà utilizzato SFTP per singolo file.",
|
|
"windows_host": "Poiché si tratta di un sistema host Windows, non viene utilizzato il comando tar.",
|
|
"auto_multi_large": "Automatico: più file, incluso un file di grandi dimensioni ({{largestSize}}) con dati comprimibili. Tar li raggruppa in un unico trasferimento.",
|
|
"auto_single_large_in_archive": "Automatico: un file di grandi dimensioni ({{largestSize}}) in questo set, quindi SFTP per file.",
|
|
"auto_many_incompressible": "Automatico: dati perlopiù incomprimibili, quindi SFTP file per file.",
|
|
"auto_many_files": "Auto: molti file ({{fileCount}}), tar riduce l'overhead per file.",
|
|
"auto_default": "Auto: SFTP per-file per questo set."
|
|
},
|
|
"methodTar": "Archivio Tar",
|
|
"methodTarHint": "Comprime sul sorgente, trasferisce un archivio, estrae sulla destinazione. Richiede tar su entrambi gli host Unix.",
|
|
"metricsCompress": "Compressione sul sorgente: {{duration}}",
|
|
"metricsExtract": "Estrazione sulla destinazione: {{duration}}",
|
|
"metricsPrepare": "Prepara destinazione: {{duration}}",
|
|
"metricsRouteBenchmark": "Sondaggio di percorso: diretto {{direct}}, relè {{relay}}",
|
|
"metricsSourceDelete": "Rimozione dal sorgente: {{duration}}",
|
|
"metricsTotal": "Totale: {{duration}}",
|
|
"metricsTransfer": "End-to-end: {{throughput}} ({{duration}})",
|
|
"metricsVerify": "SHA-256 verificato: {{duration}}",
|
|
"moveFolderToHost": "Sposta cartella sull'host…",
|
|
"moveItemsToHost": "Sposta {{count}} elementi sull'host…",
|
|
"moveToHost": "Sposta su host…",
|
|
"noHostsConnected": "Nessun altro host con File Manager disponibile.",
|
|
"noHostsConnectedHint": "Aggiungi un altro host SSH con File Manager abilitato nella Gestione Host.",
|
|
"parallelSegmentsHint": "I file di grandi dimensioni vengono suddivisi in blocchi da 256 MB. Più corsie utilizzano connessioni separate (come avviare più trasferimenti) per una maggiore velocità complessiva.",
|
|
"parallelSegmentsLabel": "Corsie di trasferimento parallele",
|
|
"parallelSegmentsOption": "{{count}} corsie",
|
|
"progressBenchmarking": "Selezione del percorso di trasferimento più veloce…",
|
|
"progressBytes": "{{transferred}} / {{total}}",
|
|
"progressCancel": "Annulla",
|
|
"progressCancelling": "Annullamento in corso…",
|
|
"progressCompressing": "Compressione sull'host sorgente…",
|
|
"progressExtracting": "Estrazione sulla destinazione…",
|
|
"progressItems": "{{current}} / {{total}} file",
|
|
"progressReconnecting": "Riconnessione…",
|
|
"progressStalled": "Bloccato",
|
|
"progressTotalSpeed": "{{speed}} totale ({{lanes}} corsie)",
|
|
"progressTransferring": "Trasferimento dati…",
|
|
"progressTransferringItems": "Trasferimento file ({{current}} di {{total}})…",
|
|
"progressVerifying": "Verifica dell'integrità del file…",
|
|
"recentDestinations": "Destinazioni recenti",
|
|
"resumedHint": "Riconnesso a un trasferimento attivo avviato in un'altra finestra.",
|
|
"retryTransfer": "Riprova",
|
|
"retryTransferError": "Riprova fallita",
|
|
"selectDestinationHost": "Seleziona host di destinazione",
|
|
"transferCancelled": "Trasferimento annullato",
|
|
"transferCancelledCopyHint": "Potrebbero rimanere file parziali sulla destinazione.",
|
|
"transferCancelledMoveHint": "Potrebbero rimanere file parziali sulla destinazione. I file sorgente non sono stati rimossi.",
|
|
"transferError": "Trasferimento non riuscito",
|
|
"transferFailedRetryHint": "I dati parziali sono stati conservati sulla destinazione. Il nuovo tentativo riprenderà quando la connessione sarà ripristinata.",
|
|
"transferPartialHint": "Impossibile trasferire: {{paths}}",
|
|
"transferSuccess": "Trasferimento completato",
|
|
"metricsHopSourceRead": "Sorgente → server: {{throughput}}",
|
|
"metricsHopDestSftpWrite": "Server → dest (SFTP): {{throughput}}",
|
|
"metricsHopDestLocalWrite": "Server → dest (locale): {{throughput}}"
|
|
},
|
|
"plugin": {
|
|
"name": "File Manager"
|
|
}
|
|
}
|