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": "Abra a documentação da CLI."
},
"nav": {
"collab": "Reuniões",
"home": "Lar",
"terminal": "terminal",
"localTerminal": "Terminal local",
@@ -1036,8 +1035,6 @@
"enableAutoTmuxDesc": "Mantenha seu shell e tudo o que estiver sendo executado nele em funcionamento mesmo após desconexões e reinicializações do navegador, executando o comando dentro do tmux (o tmux precisa estar instalado no host).",
"enableSessionLogging": "Registro de sessão",
"enableSessionLoggingDesc": "Registre a saída da sessão do terminal para revisão posterior.",
"allowSessionSharing": "Permitir compartilhamento de sessão",
"allowSessionSharingDesc": "Permitir que as sessões ao vivo neste servidor sejam compartilhadas por meio de link ou com outros usuários.",
"localEchoLabel": "Eco Local",
"localEchoDesc": "Preveja sequências de teclas seguras e imprimíveis localmente em conexões lentas. Os prompts de senha e as entradas de controle nunca são repetidos.",
"localEchoDefault": "Usar configuração global",
@@ -1571,137 +1568,11 @@
"join": "Juntar",
"sharedSessionLabel": "{{hostName}} (compartilhado)"
},
"collab": {
"createRoom": "Quarto novo",
"roomName": "Nome do quarto",
"persistentRoom": "Sala persistente",
"persistentRoomHint": "As salas permanentes permanecem listadas após o término da reunião e podem ser reutilizadas.",
"noRooms": "Ainda não há salas. Crie uma para iniciar uma reunião.",
"openRoom": "Abrir",
"endRoom": "Encerramento da reunião",
"leaveRoom": "Deixar",
"deleteMember": "Remover",
"removeMember": "Remover {{name}}",
"removeMemberTitle": "Remover este membro?",
"removeMemberDescription": "{{name}} perderá o acesso a esta sala imediatamente. Qualquer visualizador SSH ativo será desconectado.",
"invite": "Convidar",
"inviteTitle": "Convide membros",
"members": "Membros",
"membersPanel": "Membros da sala e solicitações de controle",
"membersWithCount": "Membros ({{count}})",
"online": "on-line",
"offline": "offline",
"you": "(você)",
"hostBadge": "Hospedar",
"presenterBadge": "Apresentando",
"present": "Presente",
"presentTitle": "Suba ao palco",
"presentHost": "Hospedar",
"searchHosts": "Pesquisar anfitriões",
"noHostsFound": "Nenhum host disponível encontrado.",
"presentProtocol": "Protocolo",
"stopPresenting": "Pare de apresentar",
"takeOver": "Assumir",
"takeOverConfirmTitle": "Substituir a apresentação atual?",
"takeOverDescription": "{{name}} está apresentando agora. Assumir o controle desconectará todos desse palco.",
"emptyStage": "Ninguém está apresentando. Suba ao palco para compartilhar uma sessão.",
"stageLoading": "Conectando-se ao palco...",
"stageEnded": "A apresentação terminou.",
"roomEnded": "Esta reunião terminou.",
"presenterLabel": "{{name}} está apresentando",
"guestLink": "Link para convidado",
"guestLinkOn": "O link para convidados está ativado. Qualquer pessoa com o link pode assistir à apresentação.",
"guestLinkOff": "O link para visitantes está desativado.",
"copyLink": "Copiar link",
"rotateLink": "Rotacionar link",
"disableLink": "Desativar link",
"rotateLinkConfirmTitle": "Girar o link do convidado?",
"rotateLinkDescription": "A conexão atual deixará de funcionar imediatamente. Os dispositivos convidados SSH conectados serão desconectados.",
"disableLinkConfirmTitle": "Desativar o link de convidado?",
"disableLinkDescription": "Os visualizadores SSH anônimos serão desconectados imediatamente e a conexão atual deixará de funcionar.",
"linkCopied": "Link copiado",
"roles": "Funções",
"users": "Usuários",
"searchUsers": "Usuários da pesquisa",
"endConfirmTitle": "Encerrar esta reunião?",
"endDescription": "{{name}} será encerrado para todos e não poderá ser reaberto.",
"endPersistentDescription": "A apresentação ativa em {{name}} será interrompida. A sala permanece disponível para reutilização.",
"deleteRoom": "Excluir sala",
"deleteConfirmTitle": "Apagar esta sala?",
"deleteDescription": "{{name}} será excluído permanentemente para todos e não poderá ser desfeito.",
"invitedTo": "Você foi convidado para \"{{name}}\"",
"guest": {
"title": "Reunião",
"waiting": "Aguardando o apresentador...",
"linkInvalid": "Este link de convidado é inválido ou a reunião já terminou."
},
"reopenFromPanel": "Esta aba da reunião expirou. Reabra a sala no painel Reuniões.",
"requestControl": "Controle de solicitação",
"cancelControlRequest": "Cancelar solicitação",
"controlQueue": "Solicitações de controle",
"noControlRequests": "Não há solicitações pendentes.",
"grantControlTo": "Dê o controle para {{name}}",
"dismissControlRequest": "Rejeitar solicitação de controle de {{name}}",
"releaseControl": "Liberar controle",
"grantControl": "Dê o controle",
"revokeControl": "Retome o controle",
"controlRequestedBy": "{{name}} solicitou o controle",
"grant": "Conceder",
"controlBadge": "No controle",
"youArePresenting": "Você está apresentando em outra aba. Pare de apresentar para passar a palavra.",
"created": "Quarto criado",
"invited": "Membros convidados",
"roomTab": "Reunião"
},
"sessionSharing": {
"guestView": {
"loading": "Conectando à sessão compartilhada...",
"linkInvalid": "Este link de compartilhamento é inválido, expirou ou foi revogado.",
"rateLimited": "Muitas tentativas foram feitas, tente novamente em breve.",
"sessionEnded": "Esta sessão terminou.",
"readOnlyBadge": "Somente visualização",
"ownerLabel": "Proprietário do anfitrião"
},
"modalTitle": "Sessão de compartilhamento",
"shareButton": "Compartilhar",
"notReadyToShare": "A sessão ainda não está pronta para ser compartilhada.",
"modeTab": {
"link": "Link",
"user": "Usuário"
},
"linkModeDescription": "Qualquer pessoa com este link pode participar, sem necessidade de criar uma conta.",
"userModeDescription": "Compartilhe com um usuário específico que já tenha acesso a este host. Caso ele ainda não tenha acesso, compartilhe o host com ele primeiro ou use um link. Após o compartilhamento, a sessão aparecerá na aba Conexões do usuário.",
"permissionLevel": {
"label": "Nível de permissão",
"readOnly": "Somente leitura",
"readOnlyDescription": "É possível assistir à sessão ao vivo, mas não é possível digitar ou interagir.",
"readWrite": "Ler e escrever",
"readWriteDescription": "Pode digitar e interagir com a sessão da mesma forma que o proprietário."
},
"expiryLabel": "Expiração do link",
"createLinkButton": "Criar link",
"createShareButton": "Compartilhar com o usuário",
"searchUsersPlaceholder": "Pesquisar usuários...",
"noUsersFound": "Nenhum usuário encontrado",
"linkCreated": "Compartilhar link criado",
"linkCopied": "Link copiado para a área de transferência",
"copyLink": "Copiar link",
"shareCreated": "Sessão compartilhada. Ela aparecerá na aba Conexões deles.",
"shareFailed": "Falha ao criar compartilhamento",
"userLacksHostAccess": "Esse usuário ainda não tem acesso a este host. Compartilhe o host com ele primeiro ou use um link.",
"activeShares": "Ações ativas",
"noActiveShares": "Nenhuma ação ativa nesta sessão.",
"revoke": "Revogar",
"revokeConfirmTitle": "Revogar essa participação?",
"revokeConfirmDescription": "Qualquer pessoa que usar este compartilhamento perderá o acesso imediatamente.",
"revoked": "Ações revogadas",
"revokeFailed": "Falha ao revogar a participação",
"joinCount": "{{count}} junte-se",
"joinCount_other": "{{count}} entra",
"expiresAt": "Expira em {{date}}",
"linkShareBadge": "Link",
"userShareBadge": "Usuário: {{username}}",
"loadSharesFailed": "Falha ao carregar compartilhamentos ativos"
"readWrite": "Ler e escrever"
}
},
"terminal": {
"connect": "Conectar ao host",
@@ -2239,7 +2110,6 @@
"analyticsEnabledDesc": "Envia uma contagem diária anônima de usuários, hosts e uso de recursos para ajudar a melhorar o Termix. Nenhum dado pessoal ou detalhe de conexão é incluído.",
"analyticsEnabledLockedDesc": "Essa configuração está bloqueada pela variável de ambiente ENABLE_TELEMETRY e não pode ser alterada aqui.",
"updateAnalyticsFailed": "Falha ao atualizar as configurações de análise",
"sessionSharingGloballyEnabled": "Permitir compartilhamento de sessão",
"auditForwardingTitle": "Encaminhar para SIEM",
"auditForwardingDesc": "Envie uma cópia de cada entrada de auditoria para um coletor externo no formato NDJSON. Os registros locais permanecem como a fonte da verdade.",
"auditForwardingEnvNotice": "Uma variável de ambiente também configura o encaminhamento; a URL salva aqui tem precedência.",
@@ -2247,8 +2117,6 @@
"auditForwardingTokenStored": "Token de portador (armazenado)",
"auditForwardingSaved": "Configurações de encaminhamento de auditoria salvas",
"auditForwardingSaveError": "Falha ao salvar as configurações de encaminhamento de auditoria",
"sessionSharingGloballyEnabledDesc": "Permite que sessões de terminal ao vivo, RDP, VNC e Telnet sejam compartilhadas em toda a instância. Substitui todas as configurações de compartilhamento por host quando desativada.",
"updateSessionSharingFailed": "Falha ao atualizar as configurações de compartilhamento de sessão.",
"sessionTimeout": "Tempo limite da sessão",
"hours": "horas",
"sessionTimeoutRange": "Mínimo 1h · Máximo 720h",