feat: move session sharing and collab rooms into a plugin (B12)

This commit is contained in:
LukeGus committed 2026-09-23 23:42:46 -05:00
1 parent 791d8656a1
commit a276f6898c
207 files changed
+35771 -11072

No files matched your search

+2 -134
View File
@@ -667,7 +667,6 @@
"done_cli_link": "Apri la documentazione della CLI"
},
"nav": {
"collab": "Riunioni",
"home": "Home",
"terminal": "Terminale",
"localTerminal": "Terminale locale",
@@ -1036,8 +1035,6 @@
"enableAutoTmuxDesc": "Mantieni la tua shell e tutto ciò che è in esecuzione al suo interno attivi anche in caso di disconnessioni e riavvii del browser, eseguendoli all'interno di tmux (tmux deve essere installato sull'host).",
"enableSessionLogging": "Registrazione sessione",
"enableSessionLoggingDesc": "Registra l'output della sessione del terminale per la revisione successiva",
"allowSessionSharing": "Consenti la condivisione della sessione",
"allowSessionSharingDesc": "Consenti la condivisione delle sessioni live su questo host tramite link o con altri utenti",
"localEchoLabel": "Eco locale",
"localEchoDesc": "Prevedi localmente le sequenze di tasti sicure e stampabili anche con connessioni lente. Le richieste di password e gli input di controllo non vengono mai ripetuti.",
"localEchoDefault": "Utilizza le impostazioni globali",
@@ -1571,137 +1568,11 @@
"join": "Giuntura",
"sharedSessionLabel": "{{hostName}} (condiviso)"
},
"collab": {
"createRoom": "Nuova stanza",
"roomName": "Nome della stanza",
"persistentRoom": "Stanza persistente",
"persistentRoomHint": "Le stanze persistenti rimangono elencate anche dopo la fine della riunione e possono essere riutilizzate.",
"noRooms": "Non ci sono ancora stanze. Creane una per avviare una riunione.",
"openRoom": "Aprire",
"endRoom": "Fine della riunione",
"leaveRoom": "Partire",
"deleteMember": "Rimuovere",
"removeMember": "Rimuovi {{name}}",
"removeMemberTitle": "Rimuovere questo membro?",
"removeMemberDescription": "{{name}} perderà immediatamente l'accesso a questa stanza. Qualsiasi visualizzatore SSH attivo verrà disconnesso.",
"invite": "Invitare",
"inviteTitle": "Invita i membri",
"members": "Membri",
"membersPanel": "Membri della stanza e richieste di controllo",
"membersWithCount": "Membri ({{count}})",
"online": "online",
"offline": "offline",
"you": "(Voi)",
"hostBadge": "Ospite",
"presenterBadge": "Presentazione",
"present": "Presente",
"presentTitle": "Sali sul palco",
"presentHost": "Ospite",
"searchHosts": "Host di ricerca",
"noHostsFound": "Nessun host disponibile trovato.",
"presentProtocol": "Protocollo",
"stopPresenting": "Smetti di presentare",
"takeOver": "Rilevare",
"takeOverConfirmTitle": "Sostituire la presentazione attuale?",
"takeOverDescription": "{{name}} sta presentando ora. Prendere il controllo disconnetterà tutti da quel palco.",
"emptyStage": "Nessuno sta presentando. Salite sul palco per condividere una sessione.",
"stageLoading": "Collegamento al palco...",
"stageEnded": "La presentazione è terminata",
"roomEnded": "La riunione è terminata",
"presenterLabel": "{{name}} sta presentando",
"guestLink": "Link ospite",
"guestLinkOn": "Il link per gli ospiti è attivo. Chiunque abbia il link può assistere alla diretta.",
"guestLinkOff": "Il link per gli ospiti è disattivato.",
"copyLink": "Copia il link",
"rotateLink": "Ruota il collegamento",
"disableLink": "Disabilita il collegamento",
"rotateLinkConfirmTitle": "Ruotare il link per gli ospiti?",
"rotateLinkDescription": "Il collegamento attuale smetterà di funzionare immediatamente. Gli ospiti SSH connessi verranno disconnessi.",
"disableLinkConfirmTitle": "Disabilitare il link per gli ospiti?",
"disableLinkDescription": "Gli utenti che tentano di connettersi tramite SSH in modo anonimo verranno disconnessi immediatamente e il collegamento corrente smetterà di funzionare.",
"linkCopied": "Link copiato",
"roles": "Ruoli",
"users": "Utenti",
"searchUsers": "Utenti di ricerca",
"endConfirmTitle": "Chiudere questa riunione?",
"endDescription": "{{name}} terminerà per tutti e non potrà essere riaperto.",
"endPersistentDescription": "La presentazione attiva in {{name}} verrà interrotta. La sala rimane disponibile per un altro utilizzo.",
"deleteRoom": "Eliminare la stanza",
"deleteConfirmTitle": "Eliminare questa stanza?",
"deleteDescription": "{{name}} verrà eliminato definitivamente per tutti e non sarà possibile annullare l'operazione.",
"invitedTo": "Sei stato invitato a \"{{name}}\"",
"guest": {
"title": "Incontro",
"waiting": "In attesa del presentatore...",
"linkInvalid": "Questo link per gli ospiti non è valido oppure la riunione è terminata."
},
"reopenFromPanel": "La scheda di questa riunione è scaduta. Riapri la sala riunioni dal pannello Riunioni.",
"requestControl": "Controllo della richiesta",
"cancelControlRequest": "Annulla richiesta",
"controlQueue": "Richieste di controllo",
"noControlRequests": "Nessuna richiesta in sospeso.",
"grantControlTo": "Assegna il controllo a {{name}}",
"dismissControlRequest": "Ignora la richiesta di controllo di {{name}}",
"releaseControl": "Controllo del rilascio",
"grantControl": "Dare il controllo",
"revokeControl": "Riprendi il controllo",
"controlRequestedBy": "{{name}} ha chiesto il controllo",
"grant": "Concessione",
"controlBadge": "In controllo",
"youArePresenting": "Stai presentando in un'altra scheda. Interrompi la presentazione per cedere la parola.",
"created": "Stanza creata",
"invited": "Membri invitati",
"roomTab": "Incontro"
},
"sessionSharing": {
"guestView": {
"loading": "Connessione alla sessione condivisa in corso...",
"linkInvalid": "Questo link di condivisione non è valido, è scaduto o è stato revocato.",
"rateLimited": "Troppi tentativi, riprova tra poco.",
"sessionEnded": "Questa sessione è terminata",
"readOnlyBadge": "Solo visualizzazione",
"ownerLabel": "Proprietario dell'host"
},
"modalTitle": "Sessione di condivisione",
"shareButton": "Condividere",
"notReadyToShare": "La sessione non è ancora pronta per la condivisione.",
"modeTab": {
"link": "Collegamento",
"user": "Utente"
},
"linkModeDescription": "Chiunque abbia questo link può partecipare, non è necessario creare un account.",
"userModeDescription": "Condividi la sessione con un utente specifico che ha già accesso a questo host. Se non ha ancora accesso, condividi prima l'host con lui oppure usa un link. Una volta condivisa, la sessione apparirà nella sua scheda Connessioni.",
"permissionLevel": {
"label": "Livello di autorizzazione",
"readOnly": "Sola lettura",
"readOnlyDescription": "È possibile seguire la sessione in diretta, ma non è possibile digitare o interagire.",
"readWrite": "lettura-scrittura",
"readWriteDescription": "Può digitare e interagire con la sessione proprio come il proprietario."
},
"expiryLabel": "Scadenza del collegamento",
"createLinkButton": "Crea collegamento",
"createShareButton": "Condividi con l'utente",
"searchUsersPlaceholder": "Cerca utenti...",
"noUsersFound": "Nessun utente trovato",
"linkCreated": "Link di condivisione creato",
"linkCopied": "Link copiato negli appunti",
"copyLink": "Copia il link",
"shareCreated": "Sessione condivisa. Sarà visibile nella scheda Connessioni.",
"shareFailed": "Impossibile creare la condivisione",
"userLacksHostAccess": "Quell'utente non ha ancora accesso a questo host. Condividi prima l'host con lui, oppure usa un link.",
"activeShares": "Condivisioni attive",
"noActiveShares": "Nessuna azione attiva in questa sessione.",
"revoke": "Revocare",
"revokeConfirmTitle": "Revocare questa condivisione?",
"revokeConfirmDescription": "Chiunque utilizzi questa condivisione perderà immediatamente l'accesso.",
"revoked": "Azione revocata.",
"revokeFailed": "Impossibile revocare la quota",
"joinCount": "{{count}} unisciti",
"joinCount_other": "{{count}} si unisce",
"expiresAt": "Scade il {{date}}",
"linkShareBadge": "Collegamento",
"userShareBadge": "Utente: {{username}}",
"loadSharesFailed": "Impossibile caricare le azioni attive"
"readWrite": "lettura-scrittura"
}
},
"terminal": {
"connect": "Connetti all'host",
@@ -2239,7 +2110,6 @@
"analyticsEnabledDesc": "Invia un conteggio giornaliero anonimo di utenti, host e utilizzo delle funzionalità per contribuire al miglioramento di Termix. Non vengono mai inclusi dati personali o dettagli di connessione.",
"analyticsEnabledLockedDesc": "Questa impostazione è bloccata dalla variabile d'ambiente ENABLE_TELEMETRY e non può essere modificata qui.",
"updateAnalyticsFailed": "Impossibile aggiornare le impostazioni di analisi",
"sessionSharingGloballyEnabled": "Consenti la condivisione della sessione",
"auditForwardingTitle": "Inoltra a SIEM",
"auditForwardingDesc": "Invia una copia di ogni voce di audit a un raccoglitore esterno in formato NDJSON. I log locali rimangono la fonte di verità.",
"auditForwardingEnvNotice": "Una variabile d'ambiente configura anche l'inoltro delle richieste; l'URL salvato in questa variabile ha la precedenza.",
@@ -2247,8 +2117,6 @@
"auditForwardingTokenStored": "Token al portatore (conservato)",
"auditForwardingSaved": "Impostazioni di inoltro del controllo salvate",
"auditForwardingSaveError": "Impossibile salvare le impostazioni di inoltro del controllo.",
"sessionSharingGloballyEnabledDesc": "Consente la condivisione di sessioni live di terminale, RDP, VNC e Telnet a livello di istanza. Quando disabilitata, questa opzione sovrascrive tutte le impostazioni di condivisione per singolo host.",
"updateSessionSharingFailed": "Impossibile aggiornare le impostazioni di condivisione della sessione",
"sessionTimeout": "Timeout sessione",
"hours": "ore",
"sessionTimeoutRange": "Min 1h · Max 720h",