feat(i18n): 覆盖支持扩展到 19 语言(de/fr/pt/ko/ar/hi/id/tr/vi/th/ru/it/nl/sv/pl/zh-HK/zh-TW/zh-MO)

This commit is contained in:
HuanLinOTO
2026-08-23 14:57:48 +08:00
parent 16a809594c
commit 7f8f95a59b
20 changed files with 6224 additions and 2 deletions
+343
View File
@@ -0,0 +1,343 @@
/**
* Russian (ru) dictionary for the better-sidebar plugin.
*
* Translated from the Simplified-Chinese (zh) source-of-truth dictionary in
* `./locales.ts`. Placeholders like `{name}` / `{path}` / `{dir}` are
* preserved verbatim; technical terms (Git, SSH, HTTP, URL, Markdown, PDF,
* VS Code, Tab, cherry-pick, etc.) are kept in English where idiomatic in
* Russian product UI.
*
* Tone: formal «Вы». Key set is type-checked against `zh` via the import in
* `locales.ts` (`Record<keyof typeof zh, string>`).
*/
export const ru: Record<string, string> = {
files: 'Файлы',
explorer: 'Проводник',
git: 'Контроль версий',
terminal: 'Терминал',
editor: 'Редактор',
editorExplorer: 'Способ открытия файлов',
editorExplorerDesc: 'Управление способом открытия файлов',
editorExplorerMerged: 'Объединённый',
editorExplorerMergedDesc: 'Файлы переключаются в том же окне; новые окна открываются с развёрнутым деревом',
editorExplorerSplit: 'Раздельный',
editorExplorerSplitDesc: 'Окно без пути — отдельный проводник (только дерево); каждый файл открывается в новом окне (с деревом, по умолчанию свёрнутым)',
editorTreeToggle: 'Панель дерева файлов',
editorPathPlaceholder: 'Введите путь к файлу (относительно каталога сессии или абсолютный), Enter, чтобы открыть',
editorSearchPlaceholder: 'Поиск по имени файла…',
editorSearchNoResults: 'Нет совпадающих файлов',
editorSearchTruncated: 'Слишком много результатов — показана часть совпадений',
editorEmptyHint: 'Выберите файл из дерева справа или введите путь выше, чтобы начать предпросмотр',
openFileNewTab: 'Открыть в новой вкладке',
openFileSide: 'Открыть сбоку',
openWithMenu: 'Открыть в приложении',
openWithSshSuffix: ' (SSH)',
pinOpenWith: 'Закрепить в меню',
unpinOpenWith: 'Открепить',
openWithExplorer: 'Проводник',
openWithVscode: 'VS Code',
openWithCursor: 'Cursor',
openWithZed: 'Zed',
openWithSettingsSshTitle: 'Удалённый хост SSH',
openWithSettingsSshDesc: 'Пусто = локальная рабочая область; при указании user@host или псевдонима SSH способы открытия семейства VSCode переключаются на протокол vscode-remote/ssh-remote, а проводник / Zed / сторонние редакторы вне семейства VSCode скрываются из меню',
openWithSettingsSshPlaceholder: 'user@host или псевдоним SSH',
openWithSettingsCustomTitle: 'Собственные редакторы',
openWithSettingsCustomDesc: 'Имя + шаблон URL (плейсхолдер {path}) + признак семейства VSCode; в режиме SSH только редакторы семейства VSCode могут открывать удалённые пути',
openWithSettingsAdd: 'Добавить',
openWithSettingsName: 'Имя',
openWithSettingsTemplate: 'напр. cursor://file/{path}',
openWithSettingsFamily: 'Семейство VSCode',
openWithSettingsFamilyDesc: 'Этот редактор использует URL-протокол VSCode (поддерживает удалённое открытие по SSH)',
openWithSettingsRemove: 'Удалить',
openWithSettingsInvalidHint: 'Редакторы без имени или с шаблоном без {path} / scheme:// не появятся в меню',
newTab: 'Новая вкладка',
openExplorer: 'Проводник',
brokenSymlink: 'Сломанная символическая ссылка',
openGit: 'Панель Git',
newTerminal: 'Новый терминал',
terminalLimit: 'Достигнут лимит терминалов (3)',
close: 'Закрыть',
closeOtherTabs: 'Закрыть остальные вкладки',
closeLeftTabs: 'Закрыть вкладки слева',
closeRightTabs: 'Закрыть вкладки справа',
collapse: 'Свернуть боковую панель',
expand: 'Развернуть боковую панель',
collapseBottomPanel: 'Свернуть нижнюю панель',
expandBottomPanel: 'Развернуть нижнюю панель',
terminalError: 'Сбой подключения терминала',
terminalConnectFailed: 'Терминал не смог подключиться после нескольких попыток',
terminalRetry: 'Повторить',
terminalDepsFailed: 'Не удалось загрузить зависимость терминала node-pty',
terminalDepsHint: 'Выполните приведённую ниже команду в терминале или cmd на машине DSH, затем нажмите «Повторить» (node-pty остаётся синхронизированным с версией ядра DSH):',
terminalDepsProfile: ' (обнаружен profile: {profile})',
preview: 'Предпросмотр',
edit: 'Изменить',
mermaidError: 'Сбой рендеринга Mermaid',
mermaidZoomIn: 'Приблизить',
mermaidZoomOut: 'Отдалить',
mermaidZoomReset: 'Сбросить',
mermaidZoomHint: 'Колесо — масштаб · перетаскивание — панорама · Esc — закрыть',
refresh: 'Обновить',
save: 'Сохранить',
saved: 'Сохранено',
unsaved: 'Не сохранено',
saveFailed: 'Не удалось сохранить',
truncation: 'Файл слишком велик — показаны первые 512 КБ',
binary: 'Бинарный файл — предпросмотр недоступен',
loading: 'Загрузка…',
error: 'Ошибка загрузки',
retry: 'Повторить',
splitLeft: 'Разделить влево',
splitRight: 'Разделить вправо',
splitUp: 'Разделить вверх',
splitDown: 'Разделить вниз',
notRepo: 'Этот каталог не является git-репозиторием',
noChanges: 'Нет изменений',
stage: 'Индексировать',
unstage: 'Убрать из индекса',
stageAll: 'Индексировать всё',
unstageAll: 'Убрать всё из индекса',
commitPlaceholder: 'Сообщение коммита (Ctrl+Enter)',
commit: 'Закоммитить',
commitError: 'Сбой коммита',
branch: 'Ветка',
checkoutError: 'Сбой переключения ветки',
history: 'История',
changes: 'Изменения',
staged: 'В индексе',
unstaged: 'Не в индексе',
cancel: 'Отмена',
diffEmpty: 'Нет текстовых отличий',
diffLoadError: 'Не удалось загрузить diff',
diffBinary: 'Бинарный',
diffAdded: 'Добавлен',
diffDeleted: 'Удалён',
diffRenamed: 'Переименован',
diffExpand: 'Показать оставшиеся {count} строк',
diffCollapse: 'Свернуть',
discard: 'Отменить изменения',
discardTitle: 'Отменить изменения',
discardDesc: 'Изменения «{path}» в рабочем дереве будут отброшены (восстановить нельзя).',
viewCommitDiff: 'Просмотреть diff коммита',
copyShortHash: 'Копировать короткий хеш',
copyFullHash: 'Копировать полный хеш',
copySubject: 'Копировать сообщение',
revertCommit: 'Отменить коммит',
revertTitle: 'Отменить коммит',
revertDesc: 'В текущей ветке будет создан новый коммит, отменяющий «{subject}».',
cherryPickCommit: 'Cherry-pick коммита',
cherryPickTitle: 'Cherry-pick коммита',
cherryPickDesc: 'Изменения «{subject}» будут применены к текущей ветке.',
timeJustNow: 'только что',
timeMinutesAgo: '{n} мин назад',
timeHoursAgo: '{n} ч назад',
timeYesterday: 'вчера',
loadMore: 'Загрузить ещё',
historyLoadError: 'Не удалось загрузить ещё историю',
produced: 'Результаты',
producedOpen: 'Открыть в боковой панели',
disconnected: 'Терминал отключён, переподключение…',
exited: 'Процесс терминала завершился',
noSession: 'Выберите сессию, чтобы использовать боковую панель',
pluginNotLoaded: 'Плагин не загружен — вкладка недоступна:',
hiddenFiles: 'Скрытые файлы',
parent: 'Родительский каталог',
copied: 'Скопировано',
copy: 'Копировать',
newFile: 'Новый файл',
openEditor: 'Открыть редактор',
gitDetail: 'Просмотр изменений',
referenceFile: '@файл',
addToConversation: 'Добавить в диалог',
copyRelative: 'Копировать относительный путь',
copyAbsolute: 'Копировать абсолютный путь',
download: 'Скачать',
uploadFiles: 'Загрузить файлы',
uploadFolder: 'Загрузить папку',
uploadHere: 'Загрузить сюда',
uploadDropHint: 'Перетащите файлы/папки сюда, чтобы загрузить',
uploadDropChat: 'Перетащите в чат, чтобы добавить изображения в диалог',
uploadTo: 'Загрузить в {dir}',
uploadingTo: 'Загрузка в {dir}…',
uploadProgress: 'Загрузка {done}/{total}: {name}',
uploadDone: 'Загружено файлов: {count}',
uploadFailed: 'Сбой загрузки: {error}',
uploadFailedUnknown: 'Неизвестная ошибка',
uploadTooLarge: 'Файл слишком велик — превышен лимит загрузки',
uploadCancelled: 'Загрузка отменена',
settingsNav: 'Боковая карточка',
settingsIntro: 'Управление содержимым и поведением боковой карточки по умолчанию',
settingsPopupDesc: 'Настройка параметров «{feature}»',
settingsDone: 'Готово',
settingsOpenTitle: 'Открывать по умолчанию для новых сессий',
settingsOpenDesc: 'Автоматически разворачивать боковую карточку для новых сессий; у существующих сессий сохраняется их собственная раскладка',
settingsWidthTitle: 'Доля ширины по умолчанию',
settingsWidthDesc: 'Доля боковой карточки в ширине окна для новых сессий, в процентах (20–60)',
settingsWidthSuffix: '%',
settingsOpenPathTitle: 'Открывать файлы чата в боковой панели',
settingsOpenPathDesc: 'При щелчке по ссылке на файл в чате (строки инструментов, списки результатов, упоминания) файл открывается в редакторе боковой панели, а не в системном приложении по умолчанию',
settingsTitleBarTitle: 'Режим совместимости заголовка',
settingsTitleBarDesc: 'Выберите схему совместимости заголовка: автоопределение (по умолчанию, консервативно) / официальный Web DSH / известные десктоп-оболочки / своя схема (смещение + пользовательский CSS)',
settingsTitleBarStripTitle: 'Величина смещения',
settingsTitleBarStripDesc: 'Высота полосы заголовка: на сколько пикселей сдвигаются вниз кнопки и содержимое боковой панели (0–120, по умолчанию 40; действует при собственной схеме)',
settingsSchemeAutoTitle: 'Автоопределение',
settingsSchemeAutoDesc: 'Консервативно: отступ применяется только при доступности стандартного Window Controls Overlay API (по реальной высоте заголовка); в веб-среде изменения не вносятся',
settingsSchemeWebTitle: 'Официальный Web DSH',
settingsSchemeWebDesc: 'Явно объявляется официальный веб-интерфейс: адаптация не выполняется (даже стандартная геометрия WCO не применяется)',
settingsSchemeCustomTitle: 'Своя схема',
settingsSchemeCustomDesc: 'Полный контроль: внедряется пользовательский CSS (может перекрывать встроенные стили) и задаётся величина смещения заголовка',
settingsSchemeDetectedSuffix: 'обнаружено',
settingsCustomCssTitle: 'Пользовательский CSS',
settingsCustomCssDesc: 'Стили, добавляемые в конец страницы (при равном приоритете побеждает более поздний; для перезаписи инлайновых переменных из JS используйте !important)',
settingsCustomCssPlaceholder: '/* напр.: зарезервировать 36px для оболочки с собственным заголовком */\nhtml[data-dsh-title-bar-height="36"] {\n --dsh-title-bar-strip: 36px !important;\n}',
settingsSaveFailed: 'Не удалось сохранить',
settingsConflict: 'Настройки были изменены в другом окне — повторите',
binaryNoPreview: 'Этот тип файла не поддерживает предпросмотр',
downloadToView: 'Скачать для просмотра',
settingsSubagentTitle: 'Автоматически разворачивать страницу «Задачи» при появлении субагента',
settingsSubagentDesc: 'При появлении нового субагента в текущей сессии боковая панель автоматически разворачивается и открывается страница «Задачи»; при отключении нужно открывать вручную',
settingsJobsTitle: 'Автоматически разворачивать страницу «Фоновые задачи» при новой задаче',
settingsJobsDesc: 'При появлении новой фоновой задачи в текущей сессии боковая панель автоматически разворачивается и открывается страница «Фоновые задачи» (срабатывает на каждую новую задачу); при отключении нужно открывать вручную',
settingsToolsTitle: 'Внедрить терминальные инструменты для модели',
settingsToolsDesc: 'Если включено, модель может через 8 инструментов (terminal_create и др.) создавать терминалы боковой панели и управлять ими (по умолчанию выключено)',
settingsBottomTerminalTitle: 'Автооткрытие терминала при первом разворачивании нижней панели',
settingsBottomTerminalDesc: 'При первом разворачивании нижней панели в сессии попытаться автоматически открыть новую вкладку терминала в ней (лимит терминалов всё равно применяется; по умолчанию включено)',
settingsFontFamilyTitle: 'Шрифт терминала',
settingsFontFamilyDesc: 'Семейство шрифта терминала (CSS font-family, напр. "JetBrains Mono", monospace; пусто — моноширинный шрифт темы)',
settingsFontFamilyPlaceholder: '"JetBrains Mono", monospace',
settingsFontSizeTitle: 'Размер шрифта терминала',
settingsFontSizeDesc: 'Размер шрифта терминала в px (9–32, по умолчанию 13)',
settingsFontSizeSuffix: 'px',
settingsShellTitle: 'Путь к shell',
settingsShellDesc: 'Shell для терминалов UI и модели (абсолютный путь или имя исполняемого файла). Пусто — сохраняется прежний порядок: config.shell из yaml → $SHELL / login shell / powershell.exe в Windows. Применяется к терминалам, открываемым позже',
settingsShellPlaceholder: 'напр. /bin/zsh (пусто = авто)',
settingsShellArgsTitle: 'Аргументы shell',
settingsShellArgsDesc: 'Явные аргументы запуска shell, разделённые пробелами; при непустом значении полностью заменяют аргументы по умолчанию (тот же контракт, что у shellArgs из yaml)',
settingsShellArgsPlaceholder: 'напр. -l (пусто = по умолчанию)',
settingsTabsTitle: 'Содержимое боковой панели',
settingsViewersTitle: 'Просмотрщики файлов',
settingsGeneralTitle: 'Общие',
settingsPopup: 'Настройки функции',
settingsViewerCatchAll: 'Универсальный: любой файл',
viewerImage: 'Изображение',
viewerPdf: 'PDF',
viewerMarkdown: 'Markdown',
viewerCode: 'Код',
viewerBinary: 'Бинарная загрузка',
viewerHtml: 'HTML',
browser: 'Браузер',
browserPlaceholder: 'Введите URL, например example.com',
browserGo: 'Перейти',
browserBack: 'Назад',
browserForward: 'Вперёд',
browserStart: 'Введите URL для начала просмотра (режим песочницы)',
browserBlockedScheme: 'Заблокировано: разрешены только ссылки http/https',
browserBlockedLoopback: 'Заблокировано: локальные и внутренние адреса недоступны для просмотра здесь',
browserInvalid: 'Неверный URL',
browserNoSandboxWarning: 'Песочница выключена: текущая страница работает с полными привилегиями интерфейса (можно включить заново в настройках)',
htmlNoSandboxWarning: 'Песочница выключена: этот HTML работает с полными привилегиями интерфейса и может читать файлы сессии и внутренние API (можно включить заново в настройках)',
sandboxStatusOn: 'Режим песочницы: включён · страницы не имеют доступа к данным интерфейса и локальным файлам; вход и сторонние cookie могут не работать',
sandboxUnlock: 'Временно отключить (небезопасно)',
sandboxRestore: 'Восстановить песочницу',
settingsHtmlDefaultUnsafeTitle: 'Открывать HTML-предпросмотр без песочницы по умолчанию (небезопасно)',
settingsHtmlDefaultUnsafeDesc: 'Если включено, каждый новый HTML-предпросмотр стартует без песочницы (тот же источник, что у интерфейса — может читать файлы сессии и внутренние API); в строке состояния можно временно включить песочницу',
settingsHtmlSandboxTitle: 'Отключить песочницу HTML-предпросмотра (небезопасно)',
settingsHtmlSandboxDesc: 'При отключении предпросматриваемый HTML работает в том же источнике, что интерфейс: может читать файлы сессии, локальное хранилище и вызывать внутренние API. Включайте только для полностью доверенных файлов',
settingsBrowserSandboxTitle: 'Отключить песочницу браузера (небезопасно)',
settingsBrowserSandboxDesc: 'При отключении любой посещаемый сайт работает в том же источнике, что интерфейс: может читать данные сессии и выдавать себя за ваш вход. Включайте только для полностью доверенных сайтов',
settingsBrowserLinksTitle: 'Открывать внешние ссылки чата в боковой панели',
settingsBrowserLinksDesc: 'Если включено, щелчок по внешней ссылке в чате или интерфейсе открывает её в боковой панели, а не в новом окне; HTTP и HTTPS управляются отдельно переключателями ниже; Ctrl/Cmd+щелчок всегда пропускает',
settingsBrowserHttpTitle: 'Открывать HTTP-страницы в боковой панели',
settingsBrowserHttpDesc: 'Если включено, щелчок по HTTP-ссылке в чате или интерфейсе открывает её в боковой панели (страницы плагинов с urlTarget имеют приоритет); Ctrl/Cmd+щелчок всегда пропускает',
settingsBrowserHttpsTitle: 'Открывать HTTPS-страницы в боковой панели',
settingsBrowserHttpsDesc: 'Если включено, щелчок по HTTPS-ссылке в чате или интерфейсе открывает её в боковой панели. По умолчанию выключено: большинство HTTPS-сайтов отказываются встраиваться, поэтому системный браузер работает плавнее',
browserOpenExternal: 'Открыть в браузере',
browserEmbedBlocked: '{host} отказал во встраивании',
browserEmbedBlockedDesc: 'Сайт запрещает отображение внутри других страниц (X-Frame-Options / frame-ancestors), поэтому его нельзя загрузить в боковой панели. Откройте его напрямую в браузере',
browserEmbedAnyway: 'Загрузить всё равно',
subagent: 'Задачи',
openSubagent: 'Задачи',
subagentMainAgent: 'Главный агент',
subagentEmpty: 'Нет субагентов',
subagentEmptyDesc: 'Субагенты, порождённые главным агентом, появятся здесь',
subagentRunning: 'Выполняется',
subagentInactive: 'Простаивает',
subagentModeOneShot: 'Одноразовый',
subagentModeContinuable: 'Продолжаемый',
subagentCount: '{count} субагентов',
subagentCountRunning: '{count} субагентов · {running} выполняется',
subagentDiagCorrupt: 'Повреждён',
subagentDiagUnsupported: 'Не поддерживается',
subagentDiagUnavailable: 'Недоступен',
subagentThinking: 'Размышляет…',
sideChat: 'Боковой чат (бета)',
sideChatNew: 'Новый поток',
sideChatUntitled: 'Новый поток',
sideChatEmpty: 'Нет боковых диалогов',
sideChatEmptyDesc: 'Каждый боковой диалог — отдельная вкладка в полосе; наследует контекст текущей сессии и не попадает в основной диалог',
sideChatCreating: 'Создание бокового диалога…',
sideChatRetry: 'Повторить',
sideChatThreads: 'Сменить поток / новый',
sideChatSave: 'Сохранить как новую сессию',
sideChatSaveTitle: 'Повысить поток до сессии верхнего уровня в основном списке сессий',
sideChatSaved: 'Сохранено как новая сессия',
sideChatNoTurn: 'Сохранение доступно после первого завершённого хода',
sideChatPendingDrop: 'Последний незавершённый уточняющий вопрос не попадёт в сохранённую сессию',
sideChatFirstPlaceholder: 'Задайте первый вопрос — контекст уже унаследован…',
sideChatComposerPlaceholder: 'Уточняющий вопрос…',
sideChatThinking: 'Углубляется…',
sideChatThink: 'Размышления',
sideChatInjection: 'Контекст внедрён',
sideChatSend: 'Отправить',
sideChatCancel: 'Остановить',
sideChatCancelTitle: 'Прервать текущий ход (очередь сохраняется)',
sideChatClose: 'Закрыть поток',
sideChatCloseTitle: 'Освободить агента потока (история сохраняется)',
sideChatError: 'Ошибка бокового чата: {message}',
jobs: 'Фоновые задачи',
jobsCount: '{count} фоновых задач',
jobsCountRunning: '{count} фоновых задач · {running} выполняется',
jobStatusRunning: 'Выполняется',
jobStatusStopping: 'Останавливается',
jobStatusCompleted: 'Завершено',
jobStatusKilled: 'Уничтожен',
jobStatusFailed: 'Сбой',
jobDurationSeconds: '{seconds} с',
jobDurationMinutes: '{minutes}м {seconds}с',
jobDurationHours: '{hours}ч {minutes}м',
jobViewOutput: 'Показать вывод',
jobHideOutput: 'Скрыть вывод',
jobNoOutput: 'Пока нет вывода',
jobNotReadYet: 'Ожидание, пока модель прочитает вывод этой задачи (после выполнения job_output вывод появится здесь)',
jobOutputTruncated: 'Вывод обрезан',
jobOutputError: 'Не удалось прочитать вывод',
jobKill: 'Завершить',
jobKillConfirm: 'Нажмите ещё раз, чтобы подтвердить завершение',
jobKillError: 'Не удалось завершить',
addPluginsTabCard: 'Добавить плагины вкладок',
addPluginsTabCardDesc: 'Зарегистрировать новую страницу боковой панели',
addPluginsViewerCard: 'Добавить плагины предпросмотра',
addPluginsViewerCardDesc: 'Зарегистрировать предпросмотр типа файлов',
addPluginsTabDesc: 'Страницы боковой панели (вкладки) расширяются плагинами. Плагины регистрируются через службу ctx.betterSidebar; щелчок по «Установить» копирует команду — вставьте её в терминал, где находится профиль DSH, и выполните.',
addPluginsViewerDesc: 'Просмотрщики файлов расширяются плагинами. Плагины регистрируются через службу ctx.betterSidebar; щелчок по «Установить» копирует команду — вставьте её в терминал, где находится профиль DSH, и выполните.',
addPluginsBrowseMore: 'Найти больше плагинов на GitHub (topic: dsh-better-sidebar)',
addPluginsSearch: 'Поиск по имени или описанию плагина…',
addPluginsNoMatch: 'Нет совпадающих плагинов',
addPluginsRecommended: 'Рекомендуемые плагины',
addPluginsEmpty: 'Пока плагины не собраны — опубликуйте свой под топиком на GitHub',
openPlugin: 'Открыть',
copyInstall: 'Копировать команду установки',
pluginOfficeDesc: 'Предпросмотр Office (.docx / .xlsx / .pptx) для редактора better-sidebar; тяжёлые библиотеки рендеринга Office вынесены из основного пакета и устанавливаются по требованию',
pluginFlowglassDesc: 'Живой граф потока сессии: три дорожки для пользователя, ассистента и вызовов инструментов, с параллельными группами, ветками субагентов, послойным раскрытием и статусом в реальном времени; регистрирует собственную вкладку «Flowglass» при установленном better-sidebar и сохраняет отдельный лоток как запас',
pluginGitForgeDesc: 'Вкладка «Git Forge»: библиотека аккаунтов GitHub/Gitea и других Forge + попроектные разрешения + жёсткая блокировка push; токены хранятся только в локальных секретах и не попадают в контекст модели; даёт инструмент GitForge (только чтение) и HTTPS credential helper для агента',
pluginGitRemotesDesc: 'Вкладка Git Remotes: просмотр веток/апстрима/ahead-behind, fetch (с возможностью prune), ff-only pull и push только после подтверждения во вкладке. Не заменяет встроенную вкладку Git (индексирование/коммит), не предоставляет force-push и инструмент авто-push для модели',
pluginSentinelDesc: 'Система пробуждения агента по условиям: сенсоры файлов/процессов/портов/HTTP/команд/webhook будят спящие сессии при срабатывании; регистрирует вкладку «Sentinel» с глобальной таблицей наблюдений сервера',
pluginSidebarQaDesc: 'Вкладка «выделить и спросить» на базе better-sidebar: выделение текста в диалоге → вопрос в правой панели → отдельная сессия уточняющих вопросов в той же рабочей области (❓вопросы·тема): быстрая модель без размышлений сжимает контекст основного диалога и внедряет его вместе с цитатой, не прерывая основной диалог; уточняющие вопросы вкладываются, продолжаются и архивируются',
pluginSshTunnelDesc: 'Вкладка «SSH-туннель»: список хостов нескольких машин + попроектные разрешения + локальное хранение ключей; инструмент модели SSHManager (exec/SFTP/стратегии сессий); центральный интерактивный терминал и двухпанельный SFTP',
pluginTurnReviewDesc: 'Человеческий шлюз Approve / Request changes для diff «только что завершённого хода»: рассматривается только предыдущий ход, без форка сессии; файлы группируются по основная сессия/субагент/без атрибуции, отметка возврата по файлам + необязательный комментарий; щелчок по файлу сначала показывает diff между снимком начала хода и текущим состоянием. Это не /rewind',
pluginVideoPreviewDesc: 'Встроенный предпросмотр видеофайлов (.mp4/.webm/.mov/.mkv/.avi и др.) в редакторе better-sidebar; обслуживается выделенным хост-маршрутом /video с поддержкой HTTP Range (206) — перемотка работает, а файлы не ограничены mediaLimit в 20 МБ',
pluginDocsPanelDesc: '«Глобальные документы» в боковой панели DSH: глобальные Markdown-заметки, доступные из любой рабочей области — список для чтения, навигация по плавающему оглавлению, открытие в Chrome / VS Code, копирование кода; каталог настраивается (по умолчанию ~/.dsh/docs)',
}