- Rename dsh-better-sidebar → dsh-apes-sidebar across 74 files (262 occurrences)
- Bump version 0.18.0 → 1.0.0 (package.json + dsh.plugin.json + SIDEBAR_SERVICE_VERSION)
- Add forkedFrom metadata to package.json (upstream pin: commit 9e1a034)
- Add fork notice banner to README.md (MIT attribution preserved)
- Keep original MIT copyright (c) 2026 dsh-external
- Full gate green: typecheck + build (6 bundles) + test (1241 passed / 9 skipped)
423 lines
45 KiB
TypeScript
423 lines
45 KiB
TypeScript
/**
|
||
* 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: 'Файлы',
|
||
changesSessionEmpty: 'В этой сессии пока нет файловых операций',
|
||
changesRead: 'Чтение',
|
||
changesWrite: 'Запись',
|
||
changesEdit: 'Изменение',
|
||
changesRunning: 'выполняется',
|
||
changesError: 'ошибка',
|
||
changesFold: '{count} строк… нажмите, чтобы развернуть',
|
||
changesContext: 'контекст',
|
||
changesPriorUnknown: 'Содержимое до изменения вне окна; показано как полностью добавленное',
|
||
explorer: 'Проводник',
|
||
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: 'Закрыть вкладки справа',
|
||
moveToFreeWindow: 'Переместить в свободное окно',
|
||
floatDropHint: 'Отпустите, чтобы открыть в свободном окне',
|
||
dockToSidebar: 'Вернуть на боковую панель',
|
||
pinTerminal: 'Закрепить терминал',
|
||
pinAgentTerminal: 'Закрепить терминал Agent',
|
||
pinToWorkspace: 'Закрепить в рабочей области',
|
||
pinToGlobal: 'Закрепить глобально',
|
||
unpinTerminal: 'Открепить',
|
||
pinnedTerminalTooltip: '{kind} · {scope} · {cwd}',
|
||
pinnedTerminalKindUi: 'Терминал интерфейса',
|
||
pinnedTerminalKindAgent: 'Терминал Agent',
|
||
pinnedTerminalScopeWorkspace: 'Закреплён в рабочей области',
|
||
pinnedTerminalScopeGlobal: 'Закреплён глобально',
|
||
pinnedRailLabel: 'Закреплённые терминалы',
|
||
closePinnedTerminal: 'Закрыть терминал',
|
||
collapse: 'Свернуть боковую панель',
|
||
expand: 'Развернуть боковую панель',
|
||
collapseBottomPanel: 'Свернуть нижнюю панель',
|
||
expandBottomPanel: 'Развернуть нижнюю панель',
|
||
terminalError: 'Сбой подключения терминала',
|
||
terminalConnectFailed: 'Терминал не смог подключиться после нескольких попыток',
|
||
terminalRetry: 'Повторить',
|
||
terminalDepsFailed: 'Не удалось загрузить зависимость терминала node-pty',
|
||
terminalDepsHint: 'Выполните приведённую ниже команду в терминале или cmd на машине DSH, затем нажмите «Повторить» (node-pty остаётся синхронизированным с версией ядра DSH):',
|
||
terminalDepsProfile: ' (обнаружен profile: {profile})',
|
||
preview: 'Предпросмотр',
|
||
toc: 'Оглавление',
|
||
edit: 'Изменить',
|
||
mermaidError: 'Сбой рендеринга Mermaid',
|
||
mermaidZoomIn: 'Приблизить',
|
||
mermaidZoomOut: 'Отдалить',
|
||
mermaidZoomReset: 'Сбросить',
|
||
mermaidZoomHint: 'Колесо — масштаб · перетаскивание — панорама · Esc — закрыть',
|
||
refresh: 'Обновить',
|
||
showInFolder: 'Показать в папке',
|
||
refreshUnsavedConfirm: 'Файл изменился на диске. Обновление отбросит несохранённые изменения. Продолжить?',
|
||
save: 'Сохранить',
|
||
saved: 'Сохранено',
|
||
unsaved: 'Не сохранено',
|
||
saveFailed: 'Не удалось сохранить',
|
||
truncation: 'Файл слишком велик — показаны первые 512 КБ',
|
||
binary: 'Бинарный файл — предпросмотр недоступен',
|
||
loading: 'Загрузка…',
|
||
error: 'Ошибка загрузки',
|
||
retry: 'Повторить',
|
||
splitLeft: 'Разделить влево',
|
||
splitRight: 'Разделить вправо',
|
||
splitUp: 'Разделить вверх',
|
||
splitDown: 'Разделить вниз',
|
||
notRepo: 'Этот каталог не является git-репозиторием',
|
||
noChanges: 'Нет изменений',
|
||
statusTruncated: 'Слишком много изменений; показаны только первые 2000 записей',
|
||
stage: 'Индексировать',
|
||
unstage: 'Убрать из индекса',
|
||
stageAll: 'Индексировать всё',
|
||
unstageAll: 'Убрать всё из индекса',
|
||
commitPlaceholder: 'Сообщение коммита (Ctrl+Enter)',
|
||
commit: 'Закоммитить',
|
||
commitError: 'Сбой коммита',
|
||
branch: 'Ветка',
|
||
worktree: 'Рабочее дерево',
|
||
checkoutError: 'Сбой переключения ветки',
|
||
history: 'История',
|
||
changes: 'Изменения файлов',
|
||
changesGitLens: 'Git',
|
||
changesSessionLens: 'Сессия',
|
||
changesFilterAll: 'Все',
|
||
changesFilterEmpty: 'Нет операций этого типа',
|
||
changesOpenDiffTab: 'Открыть в отдельной вкладке',
|
||
changesClosePreview: 'Закрыть просмотр',
|
||
changesResizePreview: 'Изменить высоту просмотра',
|
||
changesDiffOpenTitle: 'Diff открывается как',
|
||
changesDiffOpenDesc: 'Куда действие «открыть в отдельной вкладке» помещает diff',
|
||
changesDiffOpenFloat: 'Свободное окно',
|
||
changesDiffOpenFloatDesc: 'Плавающее окно по центру экрана — перетаскивание, масштаб, поверх всех',
|
||
changesDiffOpenPane: 'Панель',
|
||
changesDiffOpenPaneDesc: 'Прикреплено под исходной панелью (разделение diff в стиле VSCode)',
|
||
changesLoadError: 'Записи файлов сессии сейчас недоступны',
|
||
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: 'При щелчке по ссылке на файл в чате (строки инструментов, списки результатов, упоминания) файл открывается в редакторе боковой панели, а не в системном приложении по умолчанию',
|
||
settingsOpenToolsTitle: 'Внедрить инструмент открытия в боковой панели для модели',
|
||
settingsOpenToolsDesc: 'Если включено, модель может открывать файлы, папки и HTTP(S)-страницы в боковой панели с помощью инструмента sidebar_open (по умолчанию выключено)',
|
||
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 и др.) создавать терминалы боковой панели и управлять ими (по умолчанию выключено)',
|
||
settingsFenceTitle: 'Контроль путей рабочей области',
|
||
settingsFenceDesc: 'Включено — файловые функции боковой панели достигают только путей внутри рабочей области сессии (по умолчанию); выключено — доступны любые файлы хоста, а скрипты страницы получают тот же доступ всё это время',
|
||
fenceErrorReason: 'Этот путь вне рабочей области сессии и заблокирован контролем',
|
||
fenceDisableAction: 'Отключить контроль рабочей области',
|
||
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-сайтов отказываются встраиваться, поэтому системный браузер работает плавнее',
|
||
settingsBrowserLoopbackTitle: 'Разрешённые локальные адреса',
|
||
settingsBrowserLoopbackDesc: 'Разделённый запятыми список разрешённых loopback-адресов (напр. localhost:5174 или 127.0.0.1:8080), которые может посещать браузер боковой панели; пустое значение по умолчанию блокирует все локальные адреса. Песочница продолжает действовать — страницы не могут читать данные интерфейса',
|
||
settingsBrowserLoopbackPlaceholder: 'напр. localhost:5174, 127.0.0.1:8080',
|
||
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}',
|
||
sideChatTurnUsage: 'Вход {input} tok · Выход {output} tok',
|
||
sideChatBlockCollapse: 'Свернуть',
|
||
sideChatBlockCollapseAria: 'Свернуть',
|
||
sideChatBlockExpand: 'Развернуть {hidden} строк',
|
||
sideChatBlockExpandAria: 'Развернуть ещё {hidden} строк',
|
||
sideChatBlockSignal: 'Завершён сигналом: {signal}',
|
||
sideChatBlockExitCode: 'Код выхода {code}',
|
||
sideChatBlockRunning: 'Выполняется',
|
||
sideChatBlockFailed: 'Ошибка',
|
||
sideChatBlockDone: 'Готово',
|
||
sideChatBlockNoOutput: '(нет вывода)',
|
||
sideChatBlockFiles: 'Файлов: {count}',
|
||
sideChatBlockWindow: '{shown} из {total} строк',
|
||
sideChatConnDisconnected: 'Соединение потеряно',
|
||
sideChatConnReconnect: 'Переподключиться',
|
||
sideChatConnConnecting: 'Переподключение…',
|
||
sideChatConnRecovered: 'Соединение восстановлено',
|
||
sideChatConnReconnectAction: 'Переподключиться сейчас',
|
||
sideChatConnRestartAction: 'Перезапустить соединение',
|
||
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-apes-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 для агента',
|
||
pluginGithubWorkbenchDesc: 'Вкладка «GitHub Workbench»: дерево удалённого репозитория + Issues / Pull requests / Actions с полной поддержкой записи — создание Issue/PR, комментарии, редактирование, закрытие/повторное открытие, merge squash·merge·rebase (с сильным подтверждением), перезапуск/отмена CI; переключатель репозиториев автоматически показывает доступные репозитории и ищет по публичным; без better-sidebar используется отдельная правая панель',
|
||
pluginMdExportDesc: 'Добавляет кнопку «Экспорт» на панель инструментов Markdown в better-sidebar: одним кликом рендерит текущий .md в самостоятельный HTML (таблицы/блоки кода/Mermaid-диаграммы встроены, вёрстка следует теме предпросмотра) и сохраняет рядом с .md либо экспортирует в PDF через диалог печати',
|
||
pluginCodeNavDesc: 'Навигация по предпросмотру кода: определяет язык по типу файла и подсвечивает синтаксис, схема символов (фильтры классов/методов/переменных + переход в один клик) и поиск по файлу (подсветка всех совпадений, назад/вперёд, учёт регистра) — берёт на себя предпросмотр файлов кода в редакторе better-sidebar',
|
||
pluginSuhuangScrollDesc: 'Подключает локальный Suhuang Scroll Runtime к настройкам DSH и better-sidebar для настройки модели, проверки соединения и управления непрерывной проверкой; требуются Suhuang Scroll Runtime и dsh-apes-sidebar',
|
||
pluginBetterOverleafDesc: 'Вкладка Overleaf для better-sidebar: вход напрямую через CDP-браузер (поддержка стороннего Chromium), список/переключение проектов, локальные git-зеркала в <workspace>/overleaf/, двунаправленная синхронизация git с откатом к API только для чтения, просмотр файлов через рабочую панель сайдбара',
|
||
pluginGitRemotesDesc: 'Вкладка Git Remotes: просмотр веток/апстрима/ahead-behind, fetch (с возможностью prune), ff-only pull и push только после подтверждения во вкладке. Не заменяет встроенную вкладку Git (индексирование/коммит), не предоставляет force-push и инструмент авто-push для модели',
|
||
pluginSentinelDesc: 'Система пробуждения агента по условиям: сенсоры файлов/процессов/портов/HTTP/команд/webhook будят спящие сессии при срабатывании; регистрирует вкладку «Sentinel» с глобальной таблицей наблюдений сервера',
|
||
pluginServerDeckDesc: 'Панель карточек серверов: по карточке на хост с онлайн-статусом, ОС, аптаймом, загрузкой CPU/памяти/диска и задержкой; клик по карточке открывает интерактивный терминал xterm.js; импорт ~/.ssh/config в один клик (алиасы git-хостингов пропускаются). Регистрирует нативную вкладку «Серверы» при установленном better-sidebar, иначе сохраняется отдельная выдвижная панель',
|
||
pluginSidebarQaDesc: 'Вкладка «выделить и спросить» на базе better-sidebar: выделение текста в диалоге → вопрос в правой панели → отдельная сессия уточняющих вопросов в той же рабочей области (❓вопросы·тема): быстрая модель без размышлений сжимает контекст основного диалога и внедряет его вместе с цитатой, не прерывая основной диалог; уточняющие вопросы вкладываются, продолжаются и архивируются',
|
||
pluginSidenoteDesc: 'Боковой чат в стиле Codex + аннотации к выделенному: форк текущей сессии в постоянную боковую панель (архивируется и исчезает из списка сессий, несколько экземпляров, команда /side, переживает перезагрузку, модель следует за основной сессией); выделите текст assistant → значок с номером + редактор заметок → чип «N аннотаций», который уходит вместе со следующим сообщением, или спросите сразу в боковом чате',
|
||
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)',
|
||
pluginEgoBrowserDesc: 'Браузер агента для DeepSeek Harness: 32 инструмента ego_* управляют настоящим Chromium; встроенная вкладка «ego browser» в боковой панели показывает в реальном времени каждую страницу, которую посещает агент — кликайте, перетаскивайте и вводите текст, чтобы перехватить управление. Вкладка регистрируется автоматически при наличии better-sidebar, иначе используется плавающий пузырёк',
|
||
pluginBilingualReaderDesc: 'Читайте PDF в боковой панели DSH: нативный просмотр PDF, выделите текст для перевода с помощью LLM, используя контекст и полностью изолированно от основного разговора',
|
||
}
|