@goodandready/dsh-russian-lang 0.1.33 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.js +38 -7
- package/package.json +1 -1
- package/ru-plugins/03-dshmarket.json +96 -1
- package/ru-plugins/07-better-sidebar.json +55 -1
- package/ru-plugins/11-skill-hub.json +31 -1
- package/ru-plugins/12-skills-manager.json +21 -2
- package/ru-plugins/15-commandcode.json +62 -1
- package/ru-plugins/17-dsh-context.json +28 -1
- package/ru-plugins/18-opencode-palette.json +31 -0
- package/ru-plugins/19-univer-office.json +57 -0
- package/ru-plugins/20-skill-explorer.json +57 -0
- package/ru-plugins/21-auto-collapse.json +16 -0
- package/ru-plugins/22-subagent-director.json +142 -0
- package/ru-plugins/23-moa.json +43 -0
- package/ru-plugins/24-personal-directive.json +9 -0
- package/ru-plugins/25-hooks.json +11 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goodandready/dsh-russian-lang",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Russian localization for the DeepSeek Harness web UI: adds Русский as the third option in the native Settings - General - Language menu. Translates the full core surface (100% coverage of DSH 0.1.1-rc.2) plus 16 community plugin namespaces - 51 namespaces, 2899 strings (about 64% hand-reviewed, the rest machine-drafted and tracked as status: draft), with Russian plural forms, count-key plurals, a typography pass (guillemets, em dash, nbsp), a wrong-layout input hint and browser spellcheck. The locale runtime snapshot is extended at runtime on unpatched cores; no files in the DSH installation are modified. The choice is persisted through the plugin-owned russian-lang namespace.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -427,6 +427,101 @@
|
|
|
427
427
|
"themePreviewMissing": "Предпросмотр недоступен",
|
|
428
428
|
"themeResultCount": "{0} темы",
|
|
429
429
|
"toastToggledOff": "теперь выключено — перестало работать сразу",
|
|
430
|
-
"toastToggledOn": "включён"
|
|
430
|
+
"toastToggledOn": "включён",
|
|
431
|
+
"setCardDesc": "Просмотр версии и настроек магазина плагинов.",
|
|
432
|
+
"setSelfUpToDate": "Установлена последняя версия",
|
|
433
|
+
"setSelfUpdateReady": "Доступна новая версия:",
|
|
434
|
+
"setSelfUpdateHint": "При обновлении скачивается новая версия; она вступит в силу после перезапуска.",
|
|
435
|
+
"setSelfUpdate": "Обновить",
|
|
436
|
+
"setSelfUpdatedHint": "Загружено. Перезапустите DeepSeek Harness, чтобы изменения вступили в силу — клиент обновится сразу, сервер после перезапуска.",
|
|
437
|
+
"setGithubProxy": "Ускорение GitHub",
|
|
438
|
+
"setGithubProxyAutoHint": "Автоматически выбирает рабочий маршрут и переключается только при сбое.",
|
|
439
|
+
"setGithubProxyCustom": "Пользовательский",
|
|
440
|
+
"setGithubProxyCustomHint": "Сначала пробует ваш маршрут, затем переключается на GitHub напрямую.",
|
|
441
|
+
"setGithubProxyManagedHint": "Управляется переменной DSHM_GITHUB_PROXY и не может быть изменено здесь.",
|
|
442
|
+
"setGithubProxyEdit": "Изменить",
|
|
443
|
+
"setGithubProxyAuto": "Вернуть автовыбор",
|
|
444
|
+
"setGithubProxyInput": "Префикс HTTPS-ускорения",
|
|
445
|
+
"setGithubProxySave": "Сохранить",
|
|
446
|
+
"setSelfRemove": "Удалить магазин плагинов",
|
|
447
|
+
"setSelfRemoveHint": "Удалить магазин из этого профиля. Ваши остальные плагины затронуты не будут.",
|
|
448
|
+
"setSelfConfirm": "Удалить магазин плагинов? Повторная установка возможна только через командную строку.",
|
|
449
|
+
"setSelfPurge": "Также очистить собственные данные магазина",
|
|
450
|
+
"setSelfPurgeOn": "Будут удалены: списки отключений магазина, пользовательские группы и записи отключений в файле патча профиля — отключённые плагины снова запустятся. Пароли и токены не затрагиваются (магазин не сохраняет их на диске).",
|
|
451
|
+
"setSelfPurgeOff": "Сохранить данные магазина. Обратите внимание: отключённые плагины останутся выключенными, и после удаления магазина вернуть их через интерфейс будет невозможно.",
|
|
452
|
+
"setSelfRemoveConfirm": "Удалить",
|
|
453
|
+
"setSelfCancel": "Отмена",
|
|
454
|
+
"setSelfWorking": "Удаление…",
|
|
455
|
+
"setSelfRemoved": "Удалено",
|
|
456
|
+
"setSelfRemovedHint": "Перезапустите DeepSeek Harness для завершения очистки.",
|
|
457
|
+
"setSelfFailed": "Сбой операции",
|
|
458
|
+
"versionHint": "Версия магазина плагинов — укажите её при сообщении об ошибке",
|
|
459
|
+
"searchFavoritesPh": "Поиск в избранном…",
|
|
460
|
+
"favoriteAdd": "Добавить в избранное",
|
|
461
|
+
"favoriteRemove": "Удалить из избранного",
|
|
462
|
+
"favoritesEmpty": "В избранном пока ничего нет. Добавляйте плагины в разделах Обзор или Темы.",
|
|
463
|
+
"favoritesResultCount": "Избранное: {0}",
|
|
464
|
+
"favoritesPluginsSection": "Плагины ({0})",
|
|
465
|
+
"favoritesThemesSection": "Темы ({0})",
|
|
466
|
+
"favoritesStaleEmpty": "Сохранённые записи больше не найдены в каталоге.",
|
|
467
|
+
"favoritesStaleNote": "Записей из избранного нет в каталоге: {0}",
|
|
468
|
+
"favoritesClearStale": "Удалить устаревшее избранное",
|
|
469
|
+
"favoritesClearingStale": "Удаление…",
|
|
470
|
+
"tabFavorites": "Избранное",
|
|
471
|
+
"restartHintDebugged": "Процесс DSH запущен под отладчиком. Перезапустите его из IDE или терминала — магазин не может принудительно завершить отлаживаемый хост из интерфейса.",
|
|
472
|
+
"favoriteFailed": "Не удалось обновить избранное. Попробуйте снова.",
|
|
473
|
+
"favoriteUnavailable": "Избранное недоступно. Обновите страницу или перезапустите dsh web.",
|
|
474
|
+
"favoriteBusy": "Выполняется операция с плагином. Изменение добавлено в очередь — подождите немного.",
|
|
475
|
+
"compatRiskBannerNoRollback": "Обнаружен риск несовместимости — откройте Диагностику перед перезапуском.",
|
|
476
|
+
"rollbackUnavailable": "Автоматический откат недоступен, так как не удалось проверить точный исходный источник.",
|
|
477
|
+
"migrateNpm": "Использовать версию из npm",
|
|
478
|
+
"migrateTitle": "Использовать версию из npm?",
|
|
479
|
+
"migrateDescription": "Это изменит источник установки плагина, а не только его версию.",
|
|
480
|
+
"migrateCurrentSource": "Текущий источник",
|
|
481
|
+
"migrateTargetSource": "Новый источник npm",
|
|
482
|
+
"migrateWarning": "Пакет npm может поддерживаться другим издателем. Продолжайте, только если доверяете этому сопоставлению каталога.",
|
|
483
|
+
"migrateContinue": "Подтвердить источник npm",
|
|
484
|
+
"migrateFail": "Сбой миграции источника",
|
|
485
|
+
"restoreOnline": "Использовать онлайн-версию",
|
|
486
|
+
"restoreNameOnlyHint": "В локальной копии не указан исходный репозиторий, поэтому сопоставление выполнено только по имени пакета. Убедитесь, что автор и репозиторий ниже соответствуют ожидаемым. Это заменит локальную версию и не может быть отменено.",
|
|
487
|
+
"restoreProceed": "Подтвердить восстановление",
|
|
488
|
+
"restoreNoCatalogTitle": "Восстановление невозможно",
|
|
489
|
+
"restoreNoMatch": "Плагин с таким именем есть в каталоге, но он не соответствует вашему локальному репозиторию. Удалите локальную копию или продолжите локальную разработку.",
|
|
490
|
+
"commentsLoginHint": "Вход в аккаунт откроется в новой вкладке. После авторизации на GitHub вернитесь сюда — комментарии обновятся.",
|
|
491
|
+
"filterHost": "Версия хоста",
|
|
492
|
+
"hostAll": "Показать все",
|
|
493
|
+
"hostCompatible": "Совместимо с текущим DSH {0}",
|
|
494
|
+
"hostDetecting": "Определение версии хоста…",
|
|
495
|
+
"hostUnknown": "Версия хоста неизвестна",
|
|
496
|
+
"hostFilterLoading": "Проверка требований хоста {0}/{1}; не объявленные плагины остаются видимыми",
|
|
497
|
+
"hostFilterActive": "Фильтр для DSH {0}; не объявленные плагины остаются видимыми",
|
|
498
|
+
"hostRequirement": "DSH {0}",
|
|
499
|
+
"hostRequirementLoading": "Чтение требований хоста…",
|
|
500
|
+
"hostRequirementUndeclared": "Требования к хосту не объявлены",
|
|
501
|
+
"hostRequirementUnavailable": "Требования к хосту неизвестны",
|
|
502
|
+
"ignoreUpdateNotice": "Игнорировать при этом запуске",
|
|
503
|
+
"ignoreAllUpdateNotices": "Игнорировать все при этом запуске",
|
|
504
|
+
"updateNoticeIgnored": "Напоминание скрыто для текущего сеанса",
|
|
505
|
+
"orderSection": "Порядок загрузки",
|
|
506
|
+
"orderUp": "↑",
|
|
507
|
+
"orderDown": "↓",
|
|
508
|
+
"orderApply": "Применить порядок",
|
|
509
|
+
"orderDrag": "Перетащите для изменения порядка",
|
|
510
|
+
"orderDragHint": "Перетаскивайте ⠿ для сортировки. Изменения сохраняются при нажатии «Применить порядок».",
|
|
511
|
+
"orderApplied": "✓ Применено — перезапустите для активации",
|
|
512
|
+
"orderSuggestApply": "Применить рекомендуемый порядок",
|
|
513
|
+
"orderSuggestHint": "Рекомендуемый порядок (автосортировка по правилам before/after):",
|
|
514
|
+
"orderAutoSort": "Автосортировка",
|
|
515
|
+
"orderAlreadyOptimal": "Текущий порядок уже оптимален и удовлетворяет всем зависимостям плагинов",
|
|
516
|
+
"orderTrialFail": "Ошибка статической валидации композиции: {0}",
|
|
517
|
+
"orderDiffHint": "Этот порядок изменит композицию: {0} переопределений, {1} изолированных, {2} дубликатов",
|
|
518
|
+
"orderReset": "Сбросить черновик",
|
|
519
|
+
"aiFix": "Исправление через AI",
|
|
520
|
+
"aiFixHint": "Передать отчёт диагностики в новую сессию Агента (скопировано в буфер обмена)",
|
|
521
|
+
"aiFixIntro": "Пожалуйста, помоги исправить проблемы с плагинами в DeepSeek Harness (профиль: {0}). Данные диагностики:",
|
|
522
|
+
"aiFixScope": "Если нет — вы процесс вне целевого харнесса: вы можете переупорядочить dsh.profile.bundles, отключить/включить плагины или скорректировать cordis.patch.yml. Официальные бандлы фиксированы; опишите план перед изменениями.",
|
|
523
|
+
"aiFixConservative": "Действуйте консервативно: исправляйте только явные ошибки (сбои запуска, дубликаты, несовпадения критических зависимостей). Не выполняйте лишних обновлений; объясняйте каждое действие и ждите подтверждения.",
|
|
524
|
+
"aiFixCopied": "Промпт для исправления скопирован — вставьте его в новую беседу с агентом",
|
|
525
|
+
"aiFixFail": "Буфер обмена недоступен — скопируйте диагностику вручную ниже"
|
|
431
526
|
}
|
|
432
527
|
}
|
|
@@ -351,6 +351,60 @@
|
|
|
351
351
|
"uploadTo": "Загрузить в {dir}",
|
|
352
352
|
"uploadTooLarge": "Файл слишком большой (превышен лимит загрузки)",
|
|
353
353
|
"uploadingTo": "Загрузка в {dir}…",
|
|
354
|
-
"worktree": "Рабочее дерево"
|
|
354
|
+
"worktree": "Рабочее дерево",
|
|
355
|
+
"changesSessionEmpty": "В этой сессии пока не было операций с файлами",
|
|
356
|
+
"changesRead": "Чтение",
|
|
357
|
+
"changesWrite": "Запись",
|
|
358
|
+
"changesEdit": "Правка",
|
|
359
|
+
"changesRunning": "выполняется",
|
|
360
|
+
"changesError": "ошибка",
|
|
361
|
+
"changesFold": "Строк: {count}… нажмите, чтобы развернуть",
|
|
362
|
+
"changesContext": "контекст",
|
|
363
|
+
"changesPriorUnknown": "Предыдущее содержимое вне окна загрузки; показано как полностью добавленное",
|
|
364
|
+
"changesGitLens": "Git",
|
|
365
|
+
"changesSessionLens": "Сессия",
|
|
366
|
+
"changesFilterAll": "Все",
|
|
367
|
+
"changesFilterEmpty": "Нет операций этого типа",
|
|
368
|
+
"changesOpenDiffTab": "Открыть во вкладке diff",
|
|
369
|
+
"changesClosePreview": "Закрыть просмотр",
|
|
370
|
+
"changesResizePreview": "Изменить размер",
|
|
371
|
+
"changesDiffOpenTitle": "Открывать diff как",
|
|
372
|
+
"changesDiffOpenDesc": "Где открывать diff при разворачивании во вкладку",
|
|
373
|
+
"changesDiffOpenFloat": "Свободное окно",
|
|
374
|
+
"changesDiffOpenFloatDesc": "Плавающее окно по центру экрана — перемещайте, меняйте размер, держите поверх",
|
|
375
|
+
"changesDiffOpenPane": "Панель",
|
|
376
|
+
"changesDiffOpenPaneDesc": "Закреплено под исходной панелью (в стиле сплита VS Code)",
|
|
377
|
+
"changesLoadError": "Записи файлов сессии сейчас недоступны",
|
|
378
|
+
"settingsFenceTitle": "Ограничение рабочей области (Fence)",
|
|
379
|
+
"settingsFenceDesc": "Если включено, файловые функции боковой панели ограничены рабочей областью сессии (по умолчанию); если выключено — доступен любой файл на хосте",
|
|
380
|
+
"fenceErrorReason": "Этот путь находится за пределами рабочей области сессии и заблокирован защитным экраном",
|
|
381
|
+
"fenceDisableAction": "Отключить ограничение рабочей области",
|
|
382
|
+
"sideChatTurnUsage": "Вход: {input} токенов · Выход: {output} токенов",
|
|
383
|
+
"sideChatBlockCollapse": "Свернуть",
|
|
384
|
+
"sideChatBlockCollapseAria": "Свернуть",
|
|
385
|
+
"sideChatBlockExpand": "Развернуть {hidden} строк",
|
|
386
|
+
"sideChatBlockExpandAria": "Развернуть ещё {hidden} строк",
|
|
387
|
+
"sideChatBlockSignal": "Завершено по сигналу: {signal}",
|
|
388
|
+
"sideChatBlockExitCode": "Код завершения {code}",
|
|
389
|
+
"sideChatBlockRunning": "Выполняется",
|
|
390
|
+
"sideChatBlockFailed": "Сбой",
|
|
391
|
+
"sideChatBlockDone": "Готово",
|
|
392
|
+
"sideChatBlockNoOutput": "(нет вывода)",
|
|
393
|
+
"sideChatBlockFiles": "Файлов: {count}",
|
|
394
|
+
"sideChatBlockWindow": "Показано {shown} из {total} строк",
|
|
395
|
+
"sideChatConnDisconnected": "Соединение разорвано",
|
|
396
|
+
"sideChatConnReconnect": "Переподключиться",
|
|
397
|
+
"sideChatConnConnecting": "Подключение…",
|
|
398
|
+
"sideChatConnRecovered": "Соединение восстановлено",
|
|
399
|
+
"sideChatConnReconnectAction": "Подключиться сейчас",
|
|
400
|
+
"sideChatConnRestartAction": "Перезапустить соединение",
|
|
401
|
+
"pluginMdExportDesc": "Добавляет кнопку «Экспорт» на панель Markdown в better-sidebar: рендерит текущий .md в автономный HTML или экспортирует в PDF",
|
|
402
|
+
"pluginGithubWorkbenchDesc": "Вкладка GitHub Workbench: дерево репозитория, Issues, PR и Actions с полной поддержкой управления",
|
|
403
|
+
"pluginServerDeckDesc": "Панель серверов: карточки хостов с мониторингом CPU/памяти/диска и встроенным терминалом xterm.js",
|
|
404
|
+
"pluginSidenoteDesc": "Боковой чат в стиле Codex + аннотации к выделенному тексту",
|
|
405
|
+
"pluginSuhuangScrollDesc": "Интеграция Suhuang Scroll Runtime с настройками DSH и better-sidebar для конфигурации моделей и тестов",
|
|
406
|
+
"pluginCodeNavDesc": "Навигатор по коду: подсветка синтаксиса, дерево символов (классы, методы, переменные) и поиск по файлу",
|
|
407
|
+
"pluginBetterOverleafDesc": "Вкладка Overleaf для better-sidebar: синхронизация проектов и предпросмотр файлов",
|
|
408
|
+
"pluginBilingualReaderDesc": "Чтение PDF-статей в боковой панели DSH с контекстным переводом через LLM"
|
|
355
409
|
}
|
|
356
410
|
}
|
|
@@ -222,6 +222,36 @@
|
|
|
222
222
|
"settings.readOnly": "Настройки этого развёртывания доступны только для чтения.",
|
|
223
223
|
"settings.notExposed": "Это развёртывание не предоставляет пространство настроек.",
|
|
224
224
|
"settings.collapse": "Скрыть настройки",
|
|
225
|
-
"settings.expand": "Показать настройки"
|
|
225
|
+
"settings.expand": "Показать настройки",
|
|
226
|
+
"market.versionTitle": "Переключить отслеживаемую версию",
|
|
227
|
+
"market.versionText": "Выберите версию для отслеживания репозитория {repo}; после этого обновите и синхронизируйте навыки",
|
|
228
|
+
"market.versionCurrent": "текущая {ref}",
|
|
229
|
+
"market.versionReleases": "Релизы",
|
|
230
|
+
"market.versionBranches": "Ветки",
|
|
231
|
+
"market.versionCustom": "Пользовательская (тег / ветка / коммит)",
|
|
232
|
+
"market.versionConfirm": "Переключить на {ref}",
|
|
233
|
+
"market.versionHint": "Нажмите для переключения отслеживаемой версии",
|
|
234
|
+
"market.unpinned": "не закреплено",
|
|
235
|
+
"repo.truncated": "⚠ Репозиторий слишком большой, показаны не все навыки (сокращено GitHub)",
|
|
236
|
+
"row.duplicate": "дубликат",
|
|
237
|
+
"row.duplicateHint": "Это имя предоставляется несколькими источниками; показан наиболее приоритетный",
|
|
238
|
+
"row.copy": "Копировать",
|
|
239
|
+
"row.copyMention": "Копировать $mention",
|
|
240
|
+
"row.copied": "Скопировано",
|
|
241
|
+
"row.copyPath": "Копировать путь",
|
|
242
|
+
"detail.copyMention": "Копировать $mention",
|
|
243
|
+
"detail.copyPath": "Копировать путь",
|
|
244
|
+
"detail.copied": "Скопировано",
|
|
245
|
+
"diag.fix": "Исправить",
|
|
246
|
+
"diag.fixing": "Исправление…",
|
|
247
|
+
"diag.fixed": "Исправлено",
|
|
248
|
+
"diag.fixConfirm": "Перезаписать frontmatter этого файла автоисправлением? Сначала создайте резервную копию: {path}",
|
|
249
|
+
"filter.invocation": "Тип вызова",
|
|
250
|
+
"filter.invocationAll": "Все",
|
|
251
|
+
"filter.modelOnly": "Модель",
|
|
252
|
+
"filter.userOnly": "Пользователь",
|
|
253
|
+
"filter.showing": "Показано {shown} из {total} (включено){filtered}",
|
|
254
|
+
"filter.filteredSuffix": " · отфильтровано",
|
|
255
|
+
"filter.shortened": "Кратких описаний: {count}, наведите для полного текста"
|
|
226
256
|
}
|
|
227
257
|
}
|
|
@@ -166,6 +166,25 @@
|
|
|
166
166
|
"root.codex": "Codex",
|
|
167
167
|
"root.claude": "Claude",
|
|
168
168
|
"root.gemini": "Gemini",
|
|
169
|
-
"root.opencode": "OpenCode"
|
|
169
|
+
"root.opencode": "OpenCode",
|
|
170
|
+
"link.project": "GitHub",
|
|
171
|
+
"link.feedback": "Обратная связь",
|
|
172
|
+
"summary.total.one": "{count} навык",
|
|
173
|
+
"summary.total.other": "{count} навыков",
|
|
174
|
+
"summary.enabled.one": "{count} включён",
|
|
175
|
+
"summary.enabled.other": "{count} включено",
|
|
176
|
+
"summary.disabled.one": "{count} отключён",
|
|
177
|
+
"summary.disabled.other": "{count} отключено",
|
|
178
|
+
"summary.issues.one": "{count} проблема",
|
|
179
|
+
"summary.issues.other": "{count} проблем",
|
|
180
|
+
"summary.group.one": "{count} навык",
|
|
181
|
+
"summary.group.other": "{count} навыков",
|
|
182
|
+
"upload.selected.one": "Выбран {count} файл · {size}",
|
|
183
|
+
"upload.selected.other": "Выбрано {count} файлов · {size}",
|
|
184
|
+
"trash.count.one": "{count} навык в корзине",
|
|
185
|
+
"trash.count.other": "{count} навыков в корзине",
|
|
186
|
+
"error.skill.notLoadable": "Структура навыка неполная, невозможно выполнить {action}: {name}",
|
|
187
|
+
"root.ccswitch": "CC Switch",
|
|
188
|
+
"root.cursor": "Cursor"
|
|
170
189
|
}
|
|
171
|
-
}
|
|
190
|
+
}
|
|
@@ -107,6 +107,67 @@
|
|
|
107
107
|
"usageUpdated": "Обновлено",
|
|
108
108
|
"usageWeekly": "Еженедельное окно",
|
|
109
109
|
"workingDir": "Рабочая директория",
|
|
110
|
-
"workingDirHint": "Необязательно. Оставьте пустым, чтобы использовать текущий рабочий каталог процесса (указан в поле); укажите путь только для фиксации конкретного расположения."
|
|
110
|
+
"workingDirHint": "Необязательно. Оставьте пустым, чтобы использовать текущий рабочий каталог процесса (указан в поле); укажите путь только для фиксации конкретного расположения.",
|
|
111
|
+
"accountTitle": "📊 {label}{badges}",
|
|
112
|
+
"accountSeparator": "────────────────────",
|
|
113
|
+
"activeBadge": " ✅ активен",
|
|
114
|
+
"invalidCredentialBadge": " ⛔ неверный ключ",
|
|
115
|
+
"cooldownBadge": " ⏳ охлаждение, сброс {when}",
|
|
116
|
+
"rateLimitBadge": " ⏳ лимит запросов (ожидание окна)",
|
|
117
|
+
"unconfigured": " (API-ключ не настроен)",
|
|
118
|
+
"blockedInvalidKey": "⛔ API-ключ недействителен или истёк — сервер отклонил запросы (401); проверьте ключ аккаунта",
|
|
119
|
+
"blockedServiceUnavailable": "⚠️ Сервис Command Code временно недоступен (5xx); повторите позже",
|
|
120
|
+
"blockedNetwork": "⚠️ Не удалось подключиться к Command Code — проверьте сеть или адрес API",
|
|
121
|
+
"planLine": " 📦 Тариф {name}{status}{period}",
|
|
122
|
+
"planPeriodSuffix": " · окончание периода: {date}",
|
|
123
|
+
"usageHeader": "── Запросы ──────────────────────────",
|
|
124
|
+
"requestsLine": " 💬 Запросы {n} / сбоев {f} успешность {r}%",
|
|
125
|
+
"costLine": " 💰 Расход {money} ({credits} кредитов)",
|
|
126
|
+
"tokensLine": " 🔤 Токены {in} вход / {out} выход",
|
|
127
|
+
"creditsHeader": "── Кредиты ──────────────────────────",
|
|
128
|
+
"monthlyLine": " 💳 В месяц {monthly} (куплено {purchased} / бесплатно {free})",
|
|
129
|
+
"barLine": " └ {bar} {pct}%",
|
|
130
|
+
"windowsHeader": "── Использование окна ───────────────",
|
|
131
|
+
"fiveHourLine": " ⏱ 5-часовое {used} / {cap}{warn}",
|
|
132
|
+
"weeklyLine": " 📅 Недельное {used} / {cap}{warn}",
|
|
133
|
+
"windowBarLine": " └ {bar} сброс {when}",
|
|
134
|
+
"exceededWarning": " ⚠️ превышен!",
|
|
135
|
+
"resetSuffix": "сброс {when}",
|
|
136
|
+
"partialFailures": "⚠️ Сбои на некоторых эндпоинтах: {list}",
|
|
137
|
+
"noData": "(нет данных — проверьте API-ключ)",
|
|
138
|
+
"errorText": "Не удалось получить статистику Command Code: {message}",
|
|
139
|
+
"imageGate": "В сессии уже есть изображения, а модель {model} не поддерживает изображения; выберите модель с поддержкой зрения или удалите изображения из сессии."
|
|
140
|
+
},
|
|
141
|
+
"commandcode": {
|
|
142
|
+
"title": "📊 Использование Command Code{account}",
|
|
143
|
+
"accountTitle": "📊 {label}{badges}",
|
|
144
|
+
"accountSeparator": "────────────────────",
|
|
145
|
+
"activeBadge": " ✅ активен",
|
|
146
|
+
"invalidCredentialBadge": " ⛔ неверный ключ",
|
|
147
|
+
"cooldownBadge": " ⏳ охлаждение, сброс {when}",
|
|
148
|
+
"rateLimitBadge": " ⏳ лимит запросов (ожидание окна)",
|
|
149
|
+
"unconfigured": " (API-ключ не настроен)",
|
|
150
|
+
"blockedInvalidKey": "⛔ API-ключ недействителен или истёк — сервер отклонил запросы (401); проверьте ключ аккаунта",
|
|
151
|
+
"blockedServiceUnavailable": "⚠️ Сервис Command Code временно недоступен (5xx); повторите позже",
|
|
152
|
+
"blockedNetwork": "⚠️ Не удалось подключиться к Command Code — проверьте сеть или адрес API",
|
|
153
|
+
"planLine": " 📦 Тариф {name}{status}{period}",
|
|
154
|
+
"planPeriodSuffix": " · окончание периода: {date}",
|
|
155
|
+
"usageHeader": "── Запросы ──────────────────────────",
|
|
156
|
+
"requestsLine": " 💬 Запросы {n} / сбоев {f} успешность {r}%",
|
|
157
|
+
"costLine": " 💰 Расход {money} ({credits} кредитов)",
|
|
158
|
+
"tokensLine": " 🔤 Токены {in} вход / {out} выход",
|
|
159
|
+
"creditsHeader": "── Кредиты ──────────────────────────",
|
|
160
|
+
"monthlyLine": " 💳 В месяц {monthly} (куплено {purchased} / бесплатно {free})",
|
|
161
|
+
"barLine": " └ {bar} {pct}%",
|
|
162
|
+
"windowsHeader": "── Использование окна ───────────────",
|
|
163
|
+
"fiveHourLine": " ⏱ 5-часовое {used} / {cap}{warn}",
|
|
164
|
+
"weeklyLine": " 📅 Недельное {used} / {cap}{warn}",
|
|
165
|
+
"windowBarLine": " └ {bar} сброс {when}",
|
|
166
|
+
"exceededWarning": " ⚠️ превышен!",
|
|
167
|
+
"resetSuffix": "сброс {when}",
|
|
168
|
+
"partialFailures": "⚠️ Сбои на некоторых эндпоинтах: {list}",
|
|
169
|
+
"noData": "(нет данных — проверьте API-ключ)",
|
|
170
|
+
"errorText": "Не удалось получить статистику Command Code: {message}",
|
|
171
|
+
"imageGate": "В сессии уже есть изображения, а модель {model} не поддерживает изображения; выберите модель с поддержкой зрения или удалите изображения из сессии."
|
|
111
172
|
}
|
|
112
173
|
}
|
|
@@ -248,6 +248,33 @@
|
|
|
248
248
|
"tool.unknownTitle": "Инструмент был зарегистрирован до загрузки контекстного плагина, или его плагин был выгружен, поэтому его провайдер не может быть определен",
|
|
249
249
|
"trend.empty": "Отправьте сообщение, и состав контекста каждого запроса модели появится здесь",
|
|
250
250
|
"trend.hint": "Наведите курсор для просмотра деталей, ✂ обозначает уплотнение/удаление, Шаг/Ход переключает детализацию",
|
|
251
|
-
"trend.title": "История контекста"
|
|
251
|
+
"trend.title": "История контекста",
|
|
252
|
+
"timing.title": "Статистика таймингов",
|
|
253
|
+
"timing.hint": "Распределение времени активности за всю сессию",
|
|
254
|
+
"timing.total": "Время активности",
|
|
255
|
+
"timing.ttft": "TTFT",
|
|
256
|
+
"timing.gen": "Генерация LLM",
|
|
257
|
+
"timing.tools": "Вызовы инструментов",
|
|
258
|
+
"timing.other": "Накладные расходы",
|
|
259
|
+
"timing.callTimes": "Вызовов: {n}",
|
|
260
|
+
"timing.toolTimes": "Запусков: {n}",
|
|
261
|
+
"timing.empty": "Данных о таймингах пока нет — они появятся в процессе беседы",
|
|
262
|
+
"tokens.title": "Статистика токенов",
|
|
263
|
+
"tokens.hint": "Суммарное использование по данным провайдера",
|
|
264
|
+
"tokens.cacheHit": "Попадание в кэш",
|
|
265
|
+
"tokens.cacheRead": "Вход из кэша",
|
|
266
|
+
"tokens.cacheWrite": "Запись в кэш",
|
|
267
|
+
"tokens.uncached": "Вход без кэша",
|
|
268
|
+
"tokens.output": "Выход",
|
|
269
|
+
"tokens.outputNote": "вкл. рассуждения",
|
|
270
|
+
"plugin.settings": "Настройки",
|
|
271
|
+
"plugin.settingsOpen": "Открыть в Настройках",
|
|
272
|
+
"jump.title": "Посмотреть этот шаг во вкладке Контекст",
|
|
273
|
+
"tip.turn1": "Шаг {t} · 1 действие",
|
|
274
|
+
"browser.headerMetaOnly": "Эта среда не может загрузить заголовки по запросу; только оценка токенов",
|
|
275
|
+
"browser.noSystem": "В заголовке этого запроса не было системного промпта",
|
|
276
|
+
"rich.md.copy": "Копировать",
|
|
277
|
+
"rich.md.copied": "Скопировано",
|
|
278
|
+
"rich.md.footnotes": "Сноски"
|
|
252
279
|
}
|
|
253
280
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"opencode-palette": {
|
|
3
|
+
"panelName": "Палитра Opencode",
|
|
4
|
+
"subtitle": "34 официальные темы opencode — переключение в один клик",
|
|
5
|
+
"enabled": "Включено",
|
|
6
|
+
"disabled": "Отключено",
|
|
7
|
+
"disableTitle": "Нажмите, чтобы отключить тему",
|
|
8
|
+
"enableTitle": "Нажмите, чтобы включить тему",
|
|
9
|
+
"typography": "Шрифт и размер",
|
|
10
|
+
"bodyStyle": "Стиль текста",
|
|
11
|
+
"mono": "Моноширинный (терминал)",
|
|
12
|
+
"sans": "Обычный (интерфейс)",
|
|
13
|
+
"fontSize": "Размер шрифта",
|
|
14
|
+
"codeFont": "Шрифт кода",
|
|
15
|
+
"fontPreview": "моно",
|
|
16
|
+
"themeSection": "Выбор темы",
|
|
17
|
+
"themeCount": "34 темы · по цветовым группам",
|
|
18
|
+
"search": "Поиск тем…",
|
|
19
|
+
"noMatch": "Подходящих тем не найдено",
|
|
20
|
+
"systemDefault": "Системная (по умолчанию)",
|
|
21
|
+
"group.warm": "Тёплые",
|
|
22
|
+
"group.yellow-green": "Жёлто-зелёные",
|
|
23
|
+
"group.teal": "Бирюзовые",
|
|
24
|
+
"group.cyan-blue": "Сине-голубые",
|
|
25
|
+
"group.cool-blue": "Холодные синие",
|
|
26
|
+
"group.violet": "Фиолетовые",
|
|
27
|
+
"group.neutral": "Нейтральные",
|
|
28
|
+
"group.transparent": "Прозрачные",
|
|
29
|
+
"group.special": "Особые"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"univer": {
|
|
3
|
+
"title": "Просмотр Univer",
|
|
4
|
+
"expand": "Развернуть просмотр",
|
|
5
|
+
"collapse": "Свернуть просмотр",
|
|
6
|
+
"refresh": "Обновить",
|
|
7
|
+
"gateway.running": "Univer Gateway запущен",
|
|
8
|
+
"gateway.stopped": "Univer Gateway остановлен — нажмите для запуска",
|
|
9
|
+
"gateway.starting": "Запуск Univer Gateway…",
|
|
10
|
+
"gateway.checking": "Проверка Univer Gateway…",
|
|
11
|
+
"gateway.failed": "Univer Gateway недоступен — нажмите для повтора",
|
|
12
|
+
"dock.live": "синхронизация",
|
|
13
|
+
"dock.draft": "Редактирование",
|
|
14
|
+
"dock.ready": "Готово",
|
|
15
|
+
"dock.mergeReady": "Готово к слиянию",
|
|
16
|
+
"dock.unit.added": "Д",
|
|
17
|
+
"dock.unit.modified": "И",
|
|
18
|
+
"dock.unit.deleted": "У",
|
|
19
|
+
"dock.unit.conflict": "Конфликт",
|
|
20
|
+
"dock.fold": "Свернуть",
|
|
21
|
+
"dock.expand": "Развернуть",
|
|
22
|
+
"dock.maximize": "На весь экран",
|
|
23
|
+
"dock.restore": "Восстановить размер",
|
|
24
|
+
"dock.close": "Закрыть",
|
|
25
|
+
"dock.gatewayDown": "Univer Gateway не запущен; интерактивный предпросмотр недоступен",
|
|
26
|
+
"dock.startGateway": "Запустить Gateway",
|
|
27
|
+
"dock.mergeTitle": "Предпросмотр слияния",
|
|
28
|
+
"dock.reviewTitle": "Идёт редактирование",
|
|
29
|
+
"dock.markReady": "Отправить на подтверждение",
|
|
30
|
+
"dock.merged": "Слито",
|
|
31
|
+
"dock.discarded": "Отклонено",
|
|
32
|
+
"dock.mergedTitle": "Изменения объединены",
|
|
33
|
+
"dock.discardedTitle": "Изменения отклонены",
|
|
34
|
+
"dock.fullscreen": "Полноэкранный просмотр",
|
|
35
|
+
"dock.exitFullscreen": "Выйти из полноэкранного режима",
|
|
36
|
+
"dock.currentVersion": "Текущая версия",
|
|
37
|
+
"dock.loading": "Загрузка…",
|
|
38
|
+
"dock.unavailable": "Недоступно",
|
|
39
|
+
"dock.notReady": "Отправьте это изменение на подтверждение перед слиянием или отклонением",
|
|
40
|
+
"dock.merge": "Объединить с текущей версией",
|
|
41
|
+
"dock.discard": "Отклонить",
|
|
42
|
+
"settings.title": "Univer Office",
|
|
43
|
+
"settings.description": "Управление интерактивным предпросмотром при редактировании документов.",
|
|
44
|
+
"settings.autoOpenLivePreview": "Автоматически открывать интерактивный предпросмотр",
|
|
45
|
+
"settings.autoOpenLivePreviewHint": "Показывать плавающее окно просмотра, когда агент редактирует документ. Карточки ревью в чате остаются доступны при отключении.",
|
|
46
|
+
"settings.expand": "Развернуть",
|
|
47
|
+
"settings.collapse": "Свернуть",
|
|
48
|
+
"settings.unsaved": "Не сохранено",
|
|
49
|
+
"settings.overridden": "Переопределено",
|
|
50
|
+
"settings.reset": "Сбросить по умолчанию",
|
|
51
|
+
"settings.readOnly": "Текущий документ настроек доступен только для чтения.",
|
|
52
|
+
"settings.discard": "Отменить изменения",
|
|
53
|
+
"settings.save": "Сохранить",
|
|
54
|
+
"settings.saving": "Сохранение…",
|
|
55
|
+
"settings.saveFailed": "Не удалось сохранить. Попробуйте снова."
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"dsh-skill-explorer": {
|
|
3
|
+
"entry.label": "Центр навыков",
|
|
4
|
+
"entry.tooltip": "Центр навыков: обзор и управление загруженными навыками",
|
|
5
|
+
"panel.title": "Центр навыков",
|
|
6
|
+
"tab.list": "Навыки",
|
|
7
|
+
"tab.create": "Создать",
|
|
8
|
+
"group.bundled": "Встроенные в систему",
|
|
9
|
+
"group.project-dsh": "Навыки проекта (.dsh/skills)",
|
|
10
|
+
"group.project-agents": "Навыки проекта (.agents/skills)",
|
|
11
|
+
"group.custom": "Пользовательские каталоги",
|
|
12
|
+
"group.user-dsh": "Глобальные навыки (~/.dsh/skills)",
|
|
13
|
+
"group.user-agents": "Глобальные навыки (~/.agents/skills)",
|
|
14
|
+
"group.runtime": "Зарегистрированные в рантайме",
|
|
15
|
+
"groupHint.bundled": "Глобальные навыки, поставляемые с DSH и его плагинами",
|
|
16
|
+
"groupHint.project-dsh": "Расположены в каталоге проекта, ограничены его рабочей областью",
|
|
17
|
+
"groupHint.project-agents": "Расположены в каталоге проекта, ограничены его рабочей областью",
|
|
18
|
+
"groupHint.custom": "Конфигурация customSkillDirs",
|
|
19
|
+
"groupHint.user-dsh": "Глобальные навыки (~/.dsh/skills), общие для всех проектов",
|
|
20
|
+
"groupHint.user-agents": "Глобальные навыки (~/.agents/skills), общие для всех проектов",
|
|
21
|
+
"groupHint.runtime": "Навыки, зарегистрированные плагинами во время работы",
|
|
22
|
+
"list.loading": "Загрузка…",
|
|
23
|
+
"list.loadFailed": "Не удалось загрузить: {error}",
|
|
24
|
+
"list.empty": "Навыки пока не загружены.",
|
|
25
|
+
"list.count": "{count}",
|
|
26
|
+
"list.when": "Условие: {when}",
|
|
27
|
+
"list.invokable": "Вызов: {marks}",
|
|
28
|
+
"list.invokableTooltip": "Модель может вызывать этот навык автоматически; ручные команды /skill остаются доступны",
|
|
29
|
+
"list.linked": "символическая ссылка",
|
|
30
|
+
"list.mark.model": "модель",
|
|
31
|
+
"list.mark.user": "пользователь",
|
|
32
|
+
"provider.filesystem": "Файловая система",
|
|
33
|
+
"provider.tooltip": "Источник навыка: {provider}",
|
|
34
|
+
"list.enabled": "Включено: доступно для вызова моделью (нажмите для отключения)",
|
|
35
|
+
"list.disabled": "Отключено: недоступно для вызова моделью (нажмите для включения)",
|
|
36
|
+
"list.toggleFailed": "Сбой операции: {error}",
|
|
37
|
+
"list.delete": "Удалить",
|
|
38
|
+
"list.deleteConfirm": "Удалить навык \"{name}\"? Он будет перемещён в .trash.",
|
|
39
|
+
"list.deleteFailed": "Не удалось удалить: {error}",
|
|
40
|
+
"create.root": "Расположение",
|
|
41
|
+
"create.root.user": "Глобальные навыки (~/.dsh/skills, доступны во всех проектах)",
|
|
42
|
+
"create.root.project": "Навыки проекта (каталог .dsh/skills текущего проекта)",
|
|
43
|
+
"create.name": "Имя навыка (kebab-case, совпадает с именем каталога)",
|
|
44
|
+
"create.namePlaceholder": "например, my-workflow",
|
|
45
|
+
"create.description": "Описание (как модель понимает, когда активировать навык)",
|
|
46
|
+
"create.whenToUse": "Когда применять (необязательно)",
|
|
47
|
+
"create.content": "Инструкции (тело SKILL.md, Markdown)",
|
|
48
|
+
"create.submit": "Создать навык",
|
|
49
|
+
"create.empty": "Имя, описание и содержимое навыка не могут быть пустыми",
|
|
50
|
+
"create.created": "Создано: {path}",
|
|
51
|
+
"create.failed": "Ошибка создания: {error}",
|
|
52
|
+
"create.note": "Навык активируется немедленно (автосканирование файловой системы). Его содержимое внедряется в контекст модели как инструкция — не указывайте конфиденциальные данные.",
|
|
53
|
+
"refresh": "Обновить",
|
|
54
|
+
"close": "Закрыть",
|
|
55
|
+
"cwd": "рабочая папка: {cwd}"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"dsh-auto-collapse": {
|
|
3
|
+
"collapse": "Свернуть процесс",
|
|
4
|
+
"expand": "Развернуть процесс",
|
|
5
|
+
"think": "Рассуждения",
|
|
6
|
+
"processed": "Обработано",
|
|
7
|
+
"collapseSettings": "Свернуть настройки",
|
|
8
|
+
"expandSettings": "Развернуть настройки",
|
|
9
|
+
"statusPrompt": "Промпт статуса",
|
|
10
|
+
"customStatusPrompt": "Свой промпт статуса",
|
|
11
|
+
"unwritten": "Не сохранено",
|
|
12
|
+
"overridden": "Переопределено",
|
|
13
|
+
"resetDefault": "По умолчанию",
|
|
14
|
+
"hint": "Если пусто, возвращается исходный промпт Deep diving..."
|
|
15
|
+
}
|
|
16
|
+
}
|