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": "Откройте документацию по командной строке."
},
"nav": {
"collab": "Встречи",
"home": "Главная",
"terminal": "Терминал",
"localTerminal": "Локальный терминал",
@@ -1036,8 +1035,6 @@
"enableAutoTmuxDesc": "Поддерживайте работоспособность вашей оболочки и всего, что в ней работает, даже при разрыве соединения и перезапуске браузера, запустив tmux (tmux должен быть установлен на хосте).",
"enableSessionLogging": "Логирование сессии",
"enableSessionLoggingDesc": "Записывать вывод терминальной сессии для последующего просмотра",
"allowSessionSharing": "Разрешить совместное использование сеанса",
"allowSessionSharingDesc": "Разрешите делиться записями онлайн-сессий на этом хостинге по ссылке или с другими пользователями.",
"localEchoLabel": "Локальное эхо",
"localEchoDesc": "Предсказывает безопасные нажатия клавиш для печати локально даже при медленном соединении. Запросы паролей и управляющий ввод никогда не отображаются.",
"localEchoDefault": "Использовать глобальные настройки",
@@ -1571,137 +1568,11 @@
"join": "Присоединиться",
"sharedSessionLabel": "{{hostName}} (совместно)"
},
"collab": {
"createRoom": "Новая комната",
"roomName": "Название комнаты",
"persistentRoom": "Постоянное помещение",
"persistentRoomHint": "Список свободных комнат сохраняется и после окончания встречи, и их можно использовать повторно.",
"noRooms": "Комнат пока нет. Создайте комнату, чтобы начать встречу.",
"openRoom": "Открыть",
"endRoom": "Завершение встречи",
"leaveRoom": "Оставлять",
"deleteMember": "Удалять",
"removeMember": "Удалить {{name}}",
"removeMemberTitle": "Удалить этого участника?",
"removeMemberDescription": "{{name}} немедленно потеряет доступ к этой комнате. Любой активный SSH-просмотрщик будет отключен.",
"invite": "Приглашать",
"inviteTitle": "Пригласить участников",
"members": "Члены",
"membersPanel": "Участники комнаты и запросы на управление",
"membersWithCount": "Участники ({{count}})",
"online": "онлайн",
"offline": "офлайн",
"you": "(ты)",
"hostBadge": "Хозяин",
"presenterBadge": "Презентация",
"present": "Подарок",
"presentTitle": "Выходите на сцену",
"presentHost": "Хозяин",
"searchHosts": "Поиск хостов",
"noHostsFound": "Доступных хостов не найдено.",
"presentProtocol": "Протокол",
"stopPresenting": "Прекратите презентацию",
"takeOver": "Перенимать",
"takeOverConfirmTitle": "Заменить текущую презентацию?",
"takeOverDescription": "{{name}} сейчас выступает. Перехват инициативы отключит всех от этой сцены.",
"emptyStage": "Никто не выступает с презентацией. Выходите на сцену, чтобы поделиться своим опытом.",
"stageLoading": "Подключение к сцене...",
"stageEnded": "Презентация завершилась.",
"roomEnded": "Встреча завершена.",
"presenterLabel": "{{name}} представляет",
"guestLink": "Гостевая ссылка",
"guestLinkOn": "Гостевая ссылка включена. Любой, у кого есть ссылка, может посмотреть выступление.",
"guestLinkOff": "Гостевая ссылка отключена.",
"copyLink": "Скопировать ссылку",
"rotateLink": "Повернуть ссылку",
"disableLink": "Отключить ссылку",
"rotateLinkConfirmTitle": "Повернуть гостевую ссылку?",
"rotateLinkDescription": "Текущее соединение немедленно перестанет работать. Подключенные через SSH гостевые системы будут отключены.",
"disableLinkConfirmTitle": "Отключить гостевую ссылку?",
"disableLinkDescription": "Анонимные пользователи SSH-сервера будут немедленно отключены, и текущая связь перестанет работать.",
"linkCopied": "Ссылка скопирована",
"roles": "Роли",
"users": "Пользователи",
"searchUsers": "Поиск пользователей",
"endConfirmTitle": "Закончить это совещание?",
"endDescription": "{{name}} завершится для всех и не может быть возобновлено.",
"endPersistentDescription": "Активная презентация в {{name}} будет остановлена. Комната остается доступной для повторного использования.",
"deleteRoom": "Удалить комнату",
"deleteConfirmTitle": "Удалить эту комнату?",
"deleteDescription": "{{name}} будет безвозвратно удалено для всех и не может быть отменено.",
"invitedTo": "Вас пригласили на \"{{name}}\"",
"guest": {
"title": "Встреча",
"waiting": "Ожидание выступления докладчика...",
"linkInvalid": "Эта гостевая ссылка недействительна, или встреча завершилась."
},
"reopenFromPanel": "Срок действия этой вкладки «Встречи» истек. Откройте комнату заново на панели «Встречи».",
"requestControl": "Управление запросами",
"cancelControlRequest": "Отменить запрос",
"controlQueue": "Запросы на управление",
"noControlRequests": "Нет ожидающих обработки запросов.",
"grantControlTo": "Передайте управление {{name}}",
"dismissControlRequest": "Отклонить запрос на управление от {{name}}",
"releaseControl": "Управление освобождением",
"grantControl": "Передайте контроль",
"revokeControl": "Верните себе контроль.",
"controlRequestedBy": "{{name}} запросил управление",
"grant": "Грант",
"controlBadge": "Под контролем",
"youArePresenting": "Вы ведёте презентацию в другой вкладке. Прекратите презентацию, чтобы передать слово другому пользователю.",
"created": "Комната создана",
"invited": "Приглашены члены",
"roomTab": "Встреча"
},
"sessionSharing": {
"guestView": {
"loading": "Подключение к общей сессии...",
"linkInvalid": "Данная ссылка для общего доступа недействительна, истек срок ее действия или она была аннулирована.",
"rateLimited": "Слишком много попыток, пожалуйста, попробуйте еще раз чуть позже.",
"sessionEnded": "Данная сессия завершена.",
"readOnlyBadge": "Только для просмотра",
"ownerLabel": "Владелец хостинга"
},
"modalTitle": "Совместное использование сессии",
"shareButton": "Делиться",
"notReadyToShare": "Сессия пока не готова к публикации.",
"modeTab": {
"link": "Связь",
"user": "Пользователь"
},
"linkModeDescription": "Присоединиться может любой, у кого есть эта ссылка, регистрация не требуется.",
"userModeDescription": "Предоставьте доступ конкретному пользователю, у которого уже есть доступ к этому хосту. Если у него еще нет доступа, сначала предоставьте ему доступ к хосту или используйте ссылку. После предоставления доступа сессия отобразится на вкладке «Подключения» этого пользователя.",
"permissionLevel": {
"label": "Уровень доступа",
"readOnly": "Только для чтения",
"readOnlyDescription": "Можно наблюдать за сессией в прямом эфире, но нельзя печатать или взаимодействовать с ней.",
"readWrite": "Чтение-запись",
"readWriteDescription": "Может печатать и взаимодействовать с сессией так же, как и её владелец."
},
"expiryLabel": "Срок действия ссылки истекает",
"createLinkButton": "Создать ссылку",
"createShareButton": "Поделиться с пользователем",
"searchUsersPlaceholder": "Поиск пользователей...",
"noUsersFound": "Пользователи не найдены",
"linkCreated": "Ссылка для обмена создана",
"linkCopied": "Ссылка скопирована в буфер обмена",
"copyLink": "Скопировать ссылку",
"shareCreated": "Сессия была проведена совместно. Она отобразится на вкладке «Подключения».",
"shareFailed": "Не удалось создать общий ресурс.",
"userLacksHostAccess": "У этого пользователя пока нет доступа к данному хосту. Сначала предоставьте ему доступ к хосту или используйте ссылку.",
"activeShares": "Активные акции",
"noActiveShares": "В текущей торговой сессии нет активных акций.",
"revoke": "Отменить",
"revokeConfirmTitle": "Отозвать эту публикацию?",
"revokeConfirmDescription": "Любой, кто воспользуется этой ссылкой, немедленно потеряет к ней доступ.",
"revoked": "Акция аннулирована",
"revokeFailed": "Не удалось отозвать акцию.",
"joinCount": "{{count}} присоединиться",
"joinCount_other": "{{count}} присоединяется",
"expiresAt": "Срок действия истекает {{date}}",
"linkShareBadge": "Связь",
"userShareBadge": "Пользователь: {{username}}",
"loadSharesFailed": "Не удалось загрузить активные акции."
"readWrite": "Чтение-запись"
}
},
"terminal": {
"connect": "Подключиться к хосту",
@@ -2239,7 +2110,6 @@
"analyticsEnabledDesc": "Ежедневно отправляет анонимный подсчет пользователей, хостов и использования функций, чтобы помочь улучшить Termix. Никакие личные данные или сведения о подключении никогда не включаются.",
"analyticsEnabledLockedDesc": "Этот параметр заблокирован переменной среды ENABLE_TELEMETRY и не может быть изменен здесь.",
"updateAnalyticsFailed": "Не удалось обновить настройки аналитики.",
"sessionSharingGloballyEnabled": "Разрешить совместное использование сеанса",
"auditForwardingTitle": "Переслать в SIEM",
"auditForwardingDesc": "Отправляйте копию каждой записи аудита внешнему сборщику данных в формате NDJSON. Локальные журналы остаются источником достоверной информации.",
"auditForwardingEnvNotice": "Переменная среды также настраивает переадресацию; URL-адрес, сохраненный здесь, имеет приоритет.",
@@ -2247,8 +2117,6 @@
"auditForwardingTokenStored": "Токен носителя (сохраненный)",
"auditForwardingSaved": "Сохранены настройки пересылки аудита.",
"auditForwardingSaveError": "Не удалось сохранить настройки пересылки аудита.",
"sessionSharingGloballyEnabledDesc": "Разрешить общий доступ к сеансам Live Terminal, RDP, VNC и Telnet для всего экземпляра. При отключении этой функции отменяет все настройки общего доступа для отдельных хостов.",
"updateSessionSharingFailed": "Не удалось обновить настройки совместного доступа к сессии.",
"sessionTimeout": "Тайм-аут сессии",
"hours": "часов",
"sessionTimeoutRange": "Мин. 1 ч · Макс. 720 ч",