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": "Відкрийте документацію CLI"
},
"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": "Дозволити спільний доступ до сеансів терміналу, RDP, VNC та Telnet для всього екземпляра. Перевизначає кожен перемикач спільного доступу для кожного хоста, якщо його вимкнено.",
"updateSessionSharingFailed": "Не вдалося оновити налаштування спільного доступу до сеансу",
"sessionTimeout": "Час очікування сеансу",
"hours": "години",
"sessionTimeoutRange": "Мін. 1 год · Макс. 720 год",