@ragnoryok1/dsh-client-locale-ru 0.2.11 → 0.2.13

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 CHANGED
@@ -12839,6 +12839,1516 @@ window.__ModuleLoader__.load({
12839
12839
  "whereBundles": "dsh.profile.bundles",
12840
12840
  "whereDependencies": "зависимости манифеста",
12841
12841
  "whereNodeModules": "node_modules"
12842
+ },
12843
+ "agency": {
12844
+ "btn.refresh": "Обновить",
12845
+ "button.title": "Призвать эксперта",
12846
+ "custom.avatar": "Аватар",
12847
+ "custom.base": "Встроенный",
12848
+ "custom.cancel": "Отмена",
12849
+ "custom.conflict": "Другое окно изменило эти настройки. Ваш черновик всё ещё в этой форме. Прочитайте последнее сохранённое содержимое и сравните перед сохранением.",
12850
+ "custom.continueAsNew": "Продолжить как новый эксперт",
12851
+ "custom.copy": "Создать пользовательскую копию",
12852
+ "custom.delete": "Удалить эксперта",
12853
+ "custom.deleted": "Эксперт удалён безвозвратно.",
12854
+ "custom.deleteHint": "Содержимое эксперта будет удалено безвозвратно и не подлежит восстановлению. Предыдущие сообщения сохранятся.",
12855
+ "custom.deleteTitle": "Удалить пользовательского эксперта",
12856
+ "custom.description": "Краткое описание",
12857
+ "custom.descriptionPlaceholder": "В чём специализируется этот эксперт?",
12858
+ "custom.discard": "Отменить изменения",
12859
+ "custom.discardDesc": "Несохранённые изменения будут потеряны.",
12860
+ "custom.discardTitle": "Отменить несохранённые изменения?",
12861
+ "custom.division": "Категория",
12862
+ "custom.edit": "Изменить эксперта",
12863
+ "custom.emptyHint": "Превратите свой опыт и методы в эксперта, которого можно призвать.",
12864
+ "custom.emptyTitle": "Создайте первого эксперта",
12865
+ "custom.enableHint": "После включения выберите этого эксперта через @. Перезапуск не требуется.",
12866
+ "custom.intro": "Определите обязанности и подход этого эксперта.",
12867
+ "custom.invalid": "Проверьте обязательные поля и их длины.",
12868
+ "custom.keep": "Продолжить редактирование",
12869
+ "custom.keepDraft": "Оставить мой черновик",
12870
+ "custom.latestContent": "Текущее сохранённое содержимое",
12871
+ "custom.name": "Название эксперта",
12872
+ "custom.nameConflict": "Конфликт названий",
12873
+ "custom.nameConflictHint": "Конфликтующих экспертов нельзя призвать. Переименуйте или удалите пользовательского эксперта; при конфликтах со встроенным каталогом обновите внешний каталог.",
12874
+ "custom.namePlaceholder": "Например: консультант по аренде бизнеса",
12875
+ "custom.new": "Новый эксперт",
12876
+ "custom.prompt": "Промпт эксперта",
12877
+ "custom.promptPlaceholder": "Опишите обязанности, методы и ожидаемый результат…",
12878
+ "custom.required": "Обязательно",
12879
+ "custom.reviewDeleted": "Этот эксперт был удалён. Оставьте черновик и продолжите как новый эксперт.",
12880
+ "custom.reviewHint": "После выбора продолжите редактирование, затем нажмите «Сохранить», чтобы записать изменения. Оставленный черновик заменит последнее сохранённое содержимое содержимым этой формы.",
12881
+ "custom.reviewLatest": "Прочитать последнее содержимое",
12882
+ "custom.reviewNew": "Последний каталог загружен. Ваш черновик нового эксперта не изменился.",
12883
+ "custom.save": "Сохранить",
12884
+ "custom.saveChanges": "Сохранить изменения",
12885
+ "custom.saved": "Сохранено. Включённые эксперты теперь доступны через @ и кнопку «Эксперты».",
12886
+ "custom.saveEnable": "Сохранить и включить",
12887
+ "custom.saving": "Сохранение…",
12888
+ "custom.source": "Пользовательский",
12889
+ "custom.template": "Использовать шаблон",
12890
+ "custom.templateText": "Вы — профильный консультант.\n\nОбязанности\nОпределите свою область и решаемые задачи.\n\nПодход\nСначала разберитесь в контексте и целях. Задавайте вопросы, если не хватает данных.\n\nРезультат\nДайте выводы, подтверждения и конкретные следующие шаги. Не выдумывайте факты.",
12891
+ "custom.unavailable": "Эксперт из этого черновика отключён, удалён или имеет конфликт названий. Уберите ссылку на эксперта и выберите снова либо проверьте его состояние в настройках; чтобы разрешить конфликт названий, переименуйте эксперта.",
12892
+ "custom.useLatest": "Загрузить последнее содержимое",
12893
+ "discovery.conflict": "Конфликт названий",
12894
+ "discovery.empty": "Включённых экспертов пока нет. Введите ключевое слово, чтобы найти.",
12895
+ "discovery.enabledInsertFailed": "Эксперт включён, но его ссылку не удалось вставить. Попробуйте выбрать его снова.",
12896
+ "discovery.enableSelect": "Включить и выбрать",
12897
+ "discovery.exampleFailed": "Эксперт выбран, но пример не удалось вставить. Введите вашу задачу.",
12898
+ "discovery.noResults": "Подходящих экспертов нет. Попробуйте другое ключевое слово.",
12899
+ "discovery.refine": "Показаны 8 самых подходящих экспертов. Добавьте ключевые слова, чтобы сузить результаты.",
12900
+ "discovery.search": "Поиск по названиям, областям и ключевым словам",
12901
+ "discovery.working": "Выполняется…",
12902
+ "division.game-development": "Разработка игр",
12903
+ "division.paid-media": "Платное продвижение",
12904
+ "division.project-management": "Управление проектами",
12905
+ "division.spatial-computing": "Пространственные вычисления",
12906
+ "division.supply-chain": "Цепочка поставок",
12907
+ "error.conflict": "Настройки были изменены в другом окне.",
12908
+ "error.conflict.refreshed": "Настройки были изменены в другом окне и обновлены.",
12909
+ "error.conflict.refreshFailed": "Настройки были изменены в другом окне, но обновить их не удалось. Обновите вручную.",
12910
+ "error.insertFailed": "Ссылку на эксперта не удалось вставить. Попробуйте ещё раз.",
12911
+ "settings.disabled": "Отключено",
12912
+ "settings.empty": "Подходящих экспертов нет. Попробуйте другое ключевое слово или переключитесь на «{all}».",
12913
+ "settings.empty.reset": "Сбросить фильтры",
12914
+ "settings.enabled": "Включено",
12915
+ "settings.feedback": "Проблемы",
12916
+ "settings.filter.allCategories": "Все категории",
12917
+ "settings.filter.allSources": "Все источники",
12918
+ "settings.filter.allStatuses": "Все статусы",
12919
+ "settings.filter.category": "Категория",
12920
+ "settings.filter.source": "Источник",
12921
+ "settings.filter.status": "Статус",
12922
+ "settings.loading": "Загрузка экспертов…",
12923
+ "settings.nav": "Эксперты",
12924
+ "settings.promptClose": "Закрыть",
12925
+ "settings.promptTitle": "Промпт для {name}",
12926
+ "settings.search": "Поиск",
12927
+ "settings.search.clear": "Очистить поиск",
12928
+ "settings.search.placeholder": "Поиск экспертов, ролей или областей",
12929
+ "settings.title": "Эксперты",
12930
+ "settings.viewProject": "GitHub",
12931
+ "settings.viewPrompt": "Просмотр",
12932
+ "settings.viewPromptTitle": "Просмотр промпта",
12933
+ "summary.enabledPrefix": "Включено",
12934
+ "summary.total.one": "эксперт",
12935
+ "summary.total.other": "экспертов",
12936
+ "summary.total.many": "экспертов",
12937
+ "summary.total.few": "эксперта"
12938
+ },
12939
+ "dsh-context": {
12940
+ "agents.billed": "Оплачено: {n}",
12941
+ "agents.chip.count": "Агентов: {n}",
12942
+ "agents.chip.running": "В работе: {n}",
12943
+ "agents.chip.tokens": "Токенов в контексте: {n}",
12944
+ "agents.continuable": "можно продолжить",
12945
+ "agents.legend.free": "свободное окно",
12946
+ "agents.more": "Ещё не показано: {n}",
12947
+ "agents.oneshot": "одноразовый",
12948
+ "agents.running": "выполняется",
12949
+ "agents.self": "текущий",
12950
+ "agents.solo": "Субагентов пока нет — когда агент передаёт работу инструменту субагентов, сеть развернётся здесь",
12951
+ "agents.steps": "Шагов: {n}",
12952
+ "agents.sub": "Живой контекст этого агента и его субагентов · нажмите на узел, чтобы открыть его сессию",
12953
+ "agents.subSelect": "Живой контекст этого агента и его субагентов · нажмите на узел, чтобы выделить его",
12954
+ "agents.title": "Сеть агентов",
12955
+ "attach.file": "Файл",
12956
+ "attach.fileTokensTip": "Оценка: модель получает дескриптор с именем файла, его размером и дайджестом — но не его содержимое — поэтому стоимость почти не зависит от размера файла",
12957
+ "attach.hint": "Нажмите, чтобы посмотреть",
12958
+ "attach.image": "Изображение",
12959
+ "attach.imageTokensTip": "Оценка стоимости в токенах по официальной формуле пересчёта размера изображений DeepSeek (не более 384 токенов на изображение)",
12960
+ "attach.loading": "…",
12961
+ "attach.other": "Прочее содержимое",
12962
+ "attach.raw": "Исходник",
12963
+ "attach.sent": "Отправлено",
12964
+ "attach.size": "Размер",
12965
+ "attach.title": "Вложения",
12966
+ "attach.token": "Токен",
12967
+ "attach.type": "Тип",
12968
+ "attach.unavailable": "Предпросмотр недоступен",
12969
+ "balance.tip.granted": "Выданный баланс",
12970
+ "balance.tip.toppedUp": "Пополненный баланс",
12971
+ "balance.title": "Баланс DeepSeek",
12972
+ "block.answer": "Ответ",
12973
+ "block.content": "Содержимое",
12974
+ "block.line": "1 стр.",
12975
+ "block.lines": "Строк: {n}",
12976
+ "block.result": "Результат",
12977
+ "block.summary": "Сводка",
12978
+ "block.thinking": "Рассуждение",
12979
+ "brief.input": "Ввод",
12980
+ "brief.inputTip": "Что поступило после предыдущего ответа и до отправки этого запроса — обычно результаты предыдущих вызовов инструментов; в начале раунда нового ничего нет",
12981
+ "brief.locate": "Показать в обозревателе контекста",
12982
+ "brief.more": "+{n}",
12983
+ "brief.noInputs": "(ничего нового)",
12984
+ "brief.reply": "Ответ",
12985
+ "brief.replyTip": "Что модель вернула на этом шаге (текстовый ответ или вызовы инструментов) — результаты сделанных здесь вызовов появятся в строке «Ввод» следующей полосы",
12986
+ "brief.turn": "Пользователь",
12987
+ "brief.turnTip": "Сообщение пользователя, открывшее этот раунд — каждый шаг раунда к нему возвращается",
12988
+ "browser.approx": "Некоторые удалённые сообщения этого шага выходят за пределы хранения — приведённый ниже состав приблизителен",
12989
+ "browser.base.step": "предыдущий шаг",
12990
+ "browser.base.tip": "База сравнения: предыдущий шаг или последний шаг предыдущего раунда — если предшественника нет, изменением считается всё",
12991
+ "browser.base.turn": "предыдущий раунд",
12992
+ "browser.dna": "Режим «ДНК»",
12993
+ "browser.dnaTip": "По одной полосе на каждый элемент в порядке, в каком модель читает контекст — системный промпт, схемы инструментов, затем сообщения по хронологии; список ниже идёт в этом порядке снизу вверх, а новейшее сообщение — сверху. Наведите курсор, чтобы увидеть подробности, нажмите, чтобы открыть его строку",
12994
+ "browser.headerMetaOnly": "Эта среда не может загружать содержимое заголовка по требованию; доступны только оценки токенов",
12995
+ "browser.items": "Элементов: {n}",
12996
+ "browser.kind.answer": "Ответ",
12997
+ "browser.kind.think": "Размышление",
12998
+ "browser.kind.tool": "Инструменты",
12999
+ "browser.kindTip": "Фильтруйте ответы по типу содержимого: размышления, вызовы инструментов или текст ответа",
13000
+ "browser.live": "Живой (следующий запрос)",
13001
+ "browser.liveNow": "Живой · следующий запрос",
13002
+ "browser.loadFailed": "Не удалось загрузить — нажмите, чтобы повторить",
13003
+ "browser.loading": "Загружается полное содержимое из истории прошлых сессий…",
13004
+ "browser.mapAria": "Переключить карту блоков",
13005
+ "browser.mapEmpty": "Нечего отображать — контекст этого шага пуст",
13006
+ "browser.mapOthers": "Ещё: {n}",
13007
+ "browser.mapTip": "Карта блоков: области масштабированы по числу токенов, однотипные элементы собраны в один блок (например, все результаты bash вместе); наведите курсор, чтобы увидеть числа, нажмите на блок, чтобы открыть его строки ниже",
13008
+ "browser.missingLive": "… ранних сообщений: {n} — они тоже входят в контекст (за пределами показанного окна)",
13009
+ "browser.noContent": "Полное содержимое находится за пределами загруженного окна сообщений (загрузите более старую историю в чате, чтобы посмотреть)",
13010
+ "browser.noEpoch": "Содержимое заголовка этого шага (системный промпт / схемы инструментов) выходит за пределы хранения",
13011
+ "browser.noHeader": "Отдано более старой сборкой плагина: только оценки токенов, без содержимого",
13012
+ "browser.noSystem": "В заголовке этого запроса не было системного промпта",
13013
+ "browser.notInLog": "Этого элемента больше нет в журнале сессии (возможно, он был свёрнут или очищен)",
13014
+ "browser.rowNoMatch": "Нет строк, подходящих под текущий фильтр",
13015
+ "browser.search.assistant": "Фильтр по ответу, вызовам или размышлениям…",
13016
+ "browser.search.flat": "Фильтр элементов контекста…",
13017
+ "browser.search.inject": "Фильтр внедрённого контекста…",
13018
+ "browser.search.skill": "Фильтр навыков…",
13019
+ "browser.search.tool": "Фильтр по инструменту или аргументам…",
13020
+ "browser.search.user": "Фильтр по тексту сообщения…",
13021
+ "browser.stepAt": "Р{t} Ш{s}",
13022
+ "browser.stepAtTip": "Впервые перенесён запросом «Раунд {t} · Шаг {s}»",
13023
+ "browser.stepPendingTip": "Ожидается в запросе «Раунд {t} · Шаг {s}» (ещё не отправлен)",
13024
+ "browser.title": "Обозреватель контекста",
13025
+ "call.exit": "выход {n}",
13026
+ "call.fail": "Сбой",
13027
+ "call.ok": "ОК",
13028
+ "cat.assistant": "Сообщения ассистента",
13029
+ "cat.inject": "Внедрённый контекст",
13030
+ "cat.skill": "Внедрения навыков",
13031
+ "cat.system": "Системный промпт",
13032
+ "cat.tool": "Результаты инструментов",
13033
+ "cat.tools": "Схемы инструментов",
13034
+ "cat.user": "Сообщения пользователя",
13035
+ "cmd.close": "Закрыть",
13036
+ "cmd.desc": "Посмотреть состав текущего контекста, изучить содержимое по шагам",
13037
+ "cmd.label": "Контекст",
13038
+ "cmd.section": "Контекст",
13039
+ "detail.actual": "Фактически: {n}",
13040
+ "detail.cache": "Кэш: {n}%",
13041
+ "detail.estTotal": "Оценка ≈ {n}",
13042
+ "detail.lastStep": "Последний шаг",
13043
+ "detail.loadFailed": "Не удалось загрузить историю — нажмите, чтобы повторить",
13044
+ "detail.loading": "Загрузка истории…",
13045
+ "detail.output": "Вывод: {n}",
13046
+ "detail.step": "Раунд {t} · Шаг {s} из {n}",
13047
+ "detail.turn": "Раунд {t} · шагов: {n}",
13048
+ "error": "Не удалось прочитать данные контекста: ",
13049
+ "error.retry": "Повтор",
13050
+ "ev.compaction": "Контекст свёрнут (сводка вместо сообщений: {n})",
13051
+ "ev.mode.plan.off": "Режим планирования выключен",
13052
+ "ev.mode.plan.on": "Режим планирования включён",
13053
+ "ev.model": "Модель переключена: {a} → {b}",
13054
+ "ev.prune": "Вывод инструментов обрезан",
13055
+ "ev.skill": "Навык внедрён ({name})",
13056
+ "events.at": "Р{t} Ш{s}",
13057
+ "events.empty": "Событий контекста пока нет (свёртка, внедрения, переключения моделей появятся здесь)",
13058
+ "events.range": "Р{t} Ш{a}→{b}",
13059
+ "events.rangeTo": "Р{a} Ш{as} → Р{b} Ш{bs}",
13060
+ "events.title": "События контекста",
13061
+ "files.chipTip": "Файлов: {files} · операций: {ops}",
13062
+ "files.deltaTip": "Суммарное изменение строк, оценённое по аргументам вызовов редактирования и записи: + добавлено / − удалено",
13063
+ "files.empty": "В этом диапазоне нет чтений, записей или поисков файлов",
13064
+ "files.errs": "Ошибок: {n}",
13065
+ "files.files": "Файлов: {n}",
13066
+ "files.form.dir": "Каталог",
13067
+ "files.form.image": "Изображение",
13068
+ "files.form.text": "Файл",
13069
+ "files.glyph.archive": "Архив",
13070
+ "files.glyph.assets": "Ресурсы",
13071
+ "files.glyph.build": "Результат сборки",
13072
+ "files.glyph.config": "Конфигурация",
13073
+ "files.glyph.data": "Данные / манифест",
13074
+ "files.glyph.database": "База данных",
13075
+ "files.glyph.deps": "Зависимости",
13076
+ "files.glyph.docker": "Docker",
13077
+ "files.glyph.docs": "Документация",
13078
+ "files.glyph.document": "Документ",
13079
+ "files.glyph.font": "Шрифт",
13080
+ "files.glyph.hidden": "Скрытый каталог метаданных",
13081
+ "files.glyph.ignore": "Правила игнорирования",
13082
+ "files.glyph.lang.c": "C",
13083
+ "files.glyph.lang.cpp": "C++",
13084
+ "files.glyph.lang.csharp": "C#",
13085
+ "files.glyph.lang.dart": "Dart",
13086
+ "files.glyph.lang.go": "Go",
13087
+ "files.glyph.lang.html": "HTML",
13088
+ "files.glyph.lang.java": "Java",
13089
+ "files.glyph.lang.js": "JavaScript",
13090
+ "files.glyph.lang.kotlin": "Kotlin",
13091
+ "files.glyph.lang.lua": "Lua",
13092
+ "files.glyph.lang.php": "PHP",
13093
+ "files.glyph.lang.ruby": "Ruby",
13094
+ "files.glyph.lang.rust": "Rust",
13095
+ "files.glyph.lang.scala": "Scala",
13096
+ "files.glyph.lang.svelte": "Svelte",
13097
+ "files.glyph.lang.swift": "Swift",
13098
+ "files.glyph.lang.ts": "TypeScript",
13099
+ "files.glyph.lang.vue": "Vue",
13100
+ "files.glyph.license": "Лицензия",
13101
+ "files.glyph.lock": "Файл блокировки",
13102
+ "files.glyph.log": "Журнал",
13103
+ "files.glyph.markdown": "Документ разметки",
13104
+ "files.glyph.media": "Медиа",
13105
+ "files.glyph.notebook": "Ноутбук",
13106
+ "files.glyph.python": "Python",
13107
+ "files.glyph.root": "Корень рабочей области",
13108
+ "files.glyph.scripts": "Скрипты",
13109
+ "files.glyph.sheet": "Таблица",
13110
+ "files.glyph.shell": "Оболочка",
13111
+ "files.glyph.style": "Стили",
13112
+ "files.glyph.tests": "Тесты",
13113
+ "files.hits": "Совпадений: {n}",
13114
+ "files.kind.all": "Все",
13115
+ "files.kind.image": "Изображения",
13116
+ "files.kind.read": "Чтение",
13117
+ "files.kind.search": "Поиск",
13118
+ "files.kind.write": "Запись",
13119
+ "files.locate": "Показать эту операцию в обозревателе контекста",
13120
+ "files.noMatch": "Нет файлов, подходящих под текущие фильтры",
13121
+ "files.open": "Открыть в своей системе",
13122
+ "files.preview": "Предпросмотр в боковой панели",
13123
+ "files.readEst": "Прочитано строк, оценено по аргументу ограничения",
13124
+ "files.readTip": "Прочитаны строки {a}–{b}",
13125
+ "files.scopeLatest": "До последнего · следует выбору на графике динамики",
13126
+ "files.search": "Фильтр по пути…",
13127
+ "files.sort.count": "Самые активные",
13128
+ "files.sort.latest": "Последние",
13129
+ "files.sort.name": "По имени",
13130
+ "files.sort.path": "По пути",
13131
+ "files.sortTip": "Сортируйте файлы по числу операций (выбранного типа, если активна плашка типа), по недавней активности, по пути или по имени файла",
13132
+ "files.title": "Работа с файлами",
13133
+ "fleet.board.noTeam": "Режим команды выключен в этой сессии",
13134
+ "fleet.board.others": "Другие агенты",
13135
+ "fleet.board.solo": "Пока нечего показывать — переданные субагенты появятся здесь",
13136
+ "fleet.board.title": "Агенты группы",
13137
+ "fleet.collapse": "Свернуть",
13138
+ "fleet.comms.all": "Все агенты",
13139
+ "fleet.comms.empty": "Межагентных сообщений не найдено",
13140
+ "fleet.comms.filter": "Фильтр по агенту",
13141
+ "fleet.comms.noMatch": "У этого агента нет сообщений",
13142
+ "fleet.comms.rescan": "Пересканировать",
13143
+ "fleet.comms.rows": "Сообщений: {n}",
13144
+ "fleet.comms.scan": "Сканирование сессий на наличие сообщений: {n}",
13145
+ "fleet.comms.scanning": "Сканирование {done}/{total}…",
13146
+ "fleet.comms.stale": "новая активность",
13147
+ "fleet.comms.sub": "Межагентные сообщения · журналы сессий сканируются по запросу",
13148
+ "fleet.comms.title": "Сообщения агентов",
13149
+ "fleet.comms.truncated": "Показаны только фрагменты (ограничения маршрута)",
13150
+ "fleet.config": "Конфигурация",
13151
+ "fleet.detailLoading": "Чтение журнала сессии…",
13152
+ "fleet.expand": "Развернуть",
13153
+ "fleet.filter.all": "Все",
13154
+ "fleet.filter.done": "Завершены",
13155
+ "fleet.filter.idle": "Простаивают",
13156
+ "fleet.filter.running": "Выполняются",
13157
+ "fleet.kind.mailbox": "почтовый ящик",
13158
+ "fleet.kind.relay": "ретрансляция",
13159
+ "fleet.kind.settled": "завершён",
13160
+ "fleet.list.empty": "Нет подходящих агентов",
13161
+ "fleet.list.filter": "Фильтр по статусу",
13162
+ "fleet.list.search": "Поиск по имени…",
13163
+ "fleet.list.sort": "Сортировка",
13164
+ "fleet.memberInactive": "неактивен",
13165
+ "fleet.members.noTasks": "нет активных задач",
13166
+ "fleet.members.reply": "Последний ответ:",
13167
+ "fleet.members.tasks": "Активных задач: {n}",
13168
+ "fleet.members.tasksTip": "Показывать в общих задачах только этого участника",
13169
+ "fleet.members.title": "Участники команды",
13170
+ "fleet.membership": "Состав команды",
13171
+ "fleet.messages": "Сообщения",
13172
+ "fleet.open": "Открыть сессию",
13173
+ "fleet.openSidebar": "Открыть в боковой панели",
13174
+ "fleet.phase.failed": "сбой",
13175
+ "fleet.phase.provisioning": "подготовка",
13176
+ "fleet.prompt": "Промпт делегирования",
13177
+ "fleet.role.lead": "ведущий",
13178
+ "fleet.role.teammate": "участник",
13179
+ "fleet.settled.declined": "отклонил задачу",
13180
+ "fleet.settled.failed": "не завершил из-за сбоя",
13181
+ "fleet.settled.finished": "завершил; ждёт дальнейших указаний",
13182
+ "fleet.settled.finishedFinal": "завершил (одноразовый; без продолжений)",
13183
+ "fleet.settled.outOfRoom": "исчерпал контекст",
13184
+ "fleet.settled.stopped": "остановился до завершения",
13185
+ "fleet.sort.duration": "Длительность",
13186
+ "fleet.sort.recent": "Недавно активные",
13187
+ "fleet.sort.spawn": "Порядок запуска",
13188
+ "fleet.sort.steps": "Шаги",
13189
+ "fleet.sort.tokens": "Токены контекста",
13190
+ "fleet.summary.cost": "оценка всего: {n}",
13191
+ "fleet.summary.done": "Завершено: {n}",
13192
+ "fleet.summary.subs": "Субагенты",
13193
+ "fleet.summary.tasks": "Задачи",
13194
+ "fleet.task.completed": "завершена",
13195
+ "fleet.task.in_progress": "в работе",
13196
+ "fleet.task.pending": "ожидает",
13197
+ "fleet.taskBlocked": "заблокирована",
13198
+ "fleet.taskCol.completed": "Готово",
13199
+ "fleet.taskCol.in_progress": "В работе",
13200
+ "fleet.taskCol.pending": "Ожидает",
13201
+ "fleet.taskReady": "готова",
13202
+ "fleet.tasks.agent": "Агент",
13203
+ "fleet.tasks.dependsOn": "зависит от",
13204
+ "fleet.tasks.depTip": "зависит от {id} · нажмите, чтобы выделить цепочку",
13205
+ "fleet.tasks.desc": "Описание задачи",
13206
+ "fleet.tasks.filter": "Фильтр задач",
13207
+ "fleet.tasks.focusTip": "Найти в общих задачах",
13208
+ "fleet.tasks.noMatch": "Подходящих задач нет",
13209
+ "fleet.tasks.noTeam": "Задач пока нет — командные задачи и делегирование субагентам попадают сюда",
13210
+ "fleet.tasks.ownerTip": "Выделить этого участника",
13211
+ "fleet.tasks.reply": "Итоговый ответ",
13212
+ "fleet.tasks.replyExcerpt": "только фрагменты — полный текст недоступен",
13213
+ "fleet.tasks.replyFull": "загрузка полного текста…",
13214
+ "fleet.tasks.search": "Поиск задач…",
13215
+ "fleet.tasks.sub": "командные задачи и делегирование субагентам",
13216
+ "fleet.tasks.title": "Задачи",
13217
+ "fleet.taskScopes": "Области записи:",
13218
+ "fleet.taskUnowned": "без владельца",
13219
+ "fleet.team.empty": "Задач пока нет — создайте их в беседе",
13220
+ "fleet.team.failureShort": "записи отклонены",
13221
+ "fleet.teamChip": "команда · участников: {m} · задач: {n}",
13222
+ "fleet.unpin": "Открепить",
13223
+ "footer": "Количество токенов: «Оценка» использует ту же эвристику фиксированной плотности, что и встроенный счётчик токенов в DeepSeek Harness (~4 символа ≈ 1 токен); «Фактически» — это расход, сообщённый провайдером.",
13224
+ "form.catalog": "Обновление каталога",
13225
+ "form.context": "Внедрение контекста",
13226
+ "form.instructions": "Инструкции",
13227
+ "form.notice": "Уведомление",
13228
+ "form.recall": "Вспомнить",
13229
+ "form.relay": "Ретрансляция агента",
13230
+ "form.snapshot": "Снимок состояния",
13231
+ "gate.body": "dsh-context поддерживает DeepSeek Harness v{minimum} или новее.",
13232
+ "gate.current": "Текущая",
13233
+ "gate.minimum": "Минимальная требуемая",
13234
+ "gate.ok": "Понятно",
13235
+ "gate.orNewer": "или новее",
13236
+ "gate.title": "Обновите DeepSeek Harness",
13237
+ "gran.delta": "Дельта",
13238
+ "gran.modeHint": "Итого: суммарный состав; Дельта: изменение относительно предыдущего запроса",
13239
+ "gran.step": "Шаг",
13240
+ "gran.total": "Итого",
13241
+ "gran.turn": "Раунд",
13242
+ "jump.title": "Посмотреть этот раунд в режиме «Контекст»",
13243
+ "kind.compaction": "Свёртка",
13244
+ "kind.inject": "Внедрение",
13245
+ "kind.mode": "Режим",
13246
+ "kind.model": "Переключение",
13247
+ "kind.prune": "Обрезка",
13248
+ "loading": "Чтение журнала сессии…",
13249
+ "node.calls": "Вызовы ",
13250
+ "node.empty": "(пустой ответ)",
13251
+ "node.failed": "Не удалось выполнить инструмент",
13252
+ "node.nonText": "(сообщение без текста)",
13253
+ "node.skillTag": "Навык · {name}",
13254
+ "node.snapshot": "Снимок: ",
13255
+ "node.toolResult": "Результат инструмента",
13256
+ "ov.card.archived": "В архиве",
13257
+ "ov.card.archivedTip": "Архивные сессии нельзя открыть. Верните сессию из архива, чтобы посмотреть её.",
13258
+ "ov.card.lastUser": "Последнее сообщение",
13259
+ "ov.card.teamCost": "Общая оценка стоимости",
13260
+ "ov.card.teamUsage": "Всего токенов",
13261
+ "ov.card.turns": "Раундов: {n} · шагов: {s}",
13262
+ "ov.cover.active": "Скрыть архивные",
13263
+ "ov.cover.all": "Все (показать архивные)",
13264
+ "ov.cover.archived": "Только архивные",
13265
+ "ov.cover.label": "Фильтр сессий",
13266
+ "ov.current": "текущая",
13267
+ "ov.date.clear": "Очистить",
13268
+ "ov.date.from": "Дата начала",
13269
+ "ov.date.hint": "Нажмите на дату начала",
13270
+ "ov.date.hintEnd": "Теперь щёлкните дату окончания",
13271
+ "ov.date.label": "Диапазон дат",
13272
+ "ov.date.next": "Следующий месяц",
13273
+ "ov.date.open": "Выберите свой диапазон дат",
13274
+ "ov.date.pick": "Выберите дату",
13275
+ "ov.date.prev": "Предыдущий месяц",
13276
+ "ov.date.to": "Дата окончания",
13277
+ "ov.date.wd.0": "Вс",
13278
+ "ov.date.wd.1": "Пн",
13279
+ "ov.date.wd.2": "Вт",
13280
+ "ov.date.wd.3": "Ср",
13281
+ "ov.date.wd.4": "Чт",
13282
+ "ov.date.wd.5": "Пт",
13283
+ "ov.date.wd.6": "Сб",
13284
+ "ov.group.label": "Группа",
13285
+ "ov.group.ungrouped": "Без группы",
13286
+ "ov.heat.empty": "Активности пока нет — дневная статистика появляется, когда сессии начинают обращаться к модели",
13287
+ "ov.heat.less": "Меньше",
13288
+ "ov.heat.metric": "Показатель",
13289
+ "ov.heat.metric.sessions": "Сессии",
13290
+ "ov.heat.metric.steps": "Шаги",
13291
+ "ov.heat.mon.01": "Янв",
13292
+ "ov.heat.mon.02": "Фев",
13293
+ "ov.heat.mon.03": "Мар",
13294
+ "ov.heat.mon.04": "Апр",
13295
+ "ov.heat.mon.05": "Май",
13296
+ "ov.heat.mon.06": "Июн",
13297
+ "ov.heat.mon.07": "Июл",
13298
+ "ov.heat.mon.08": "Авг",
13299
+ "ov.heat.mon.09": "Сен",
13300
+ "ov.heat.mon.10": "Окт",
13301
+ "ov.heat.mon.11": "Ноя",
13302
+ "ov.heat.mon.12": "Дек",
13303
+ "ov.heat.more": "Ещё",
13304
+ "ov.heat.sessions": "Активных сессий: {n}",
13305
+ "ov.heat.steps": "Шагов: {n}",
13306
+ "ov.heat.sub": "Фильтр по дате",
13307
+ "ov.heat.title": "Активность",
13308
+ "ov.heat.wd.1": "Пн",
13309
+ "ov.heat.wd.3": "Ср",
13310
+ "ov.heat.wd.5": "Пт",
13311
+ "ov.kpi.allSessions": "Сессии",
13312
+ "ov.kpi.archived": "Архивные сессии",
13313
+ "ov.kpi.inclArchived": "включая архивные: {n}",
13314
+ "ov.kpi.ofTotal": "Всего: {n}",
13315
+ "ov.kpi.pricedSub": "Сессий с рассчитанной ценой: {n} из {total}",
13316
+ "ov.kpi.sessions": "Активные сессии",
13317
+ "ov.kpi.sessionsSub": "Всего сессий: {n}",
13318
+ "ov.kpi.tokens": "Использовано токенов",
13319
+ "ov.kpi.toolSub": "Запусков инструментов: {dur}",
13320
+ "ov.kpi.wallSub": "Вызовов модели: {n}",
13321
+ "ov.list.dayClear": "Сбросить фильтр по дню",
13322
+ "ov.list.dayFilter": "активны в {day}",
13323
+ "ov.list.empty": "Сессий пока нет — профиль контекста каждой сессии появляется здесь после её запуска",
13324
+ "ov.list.next": "Следующая страница",
13325
+ "ov.list.noData": "Данных о контексте пока нет — статистика появляется, когда сессия начинает обращаться к модели",
13326
+ "ov.list.noMatch": "Ни одна сессия не соответствует текущим фильтрам",
13327
+ "ov.list.page": "Страница {n} из {total}",
13328
+ "ov.list.pager": "Постраничный просмотр сессий",
13329
+ "ov.list.prev": "Предыдущая страница",
13330
+ "ov.list.search": "Поиск по названию / пути / последнему сообщению…",
13331
+ "ov.list.skillClear": "Сбросить фильтр по навыку",
13332
+ "ov.list.sort.context": "Текущий контекст",
13333
+ "ov.list.sort.recent": "Последнее обновление",
13334
+ "ov.list.sort.tokens": "Всего токенов",
13335
+ "ov.list.sortLabel": "Сортировка",
13336
+ "ov.list.title": "Сессии",
13337
+ "ov.range.30d": "Последние 30 дней",
13338
+ "ov.range.7d": "Последние 7 дней",
13339
+ "ov.range.all": "Все",
13340
+ "ov.range.label": "Диапазон",
13341
+ "ov.range.today": "Сегодня",
13342
+ "ov.running": "Выполняется",
13343
+ "ov.skills.clickFilter": "Щёлкните, чтобы отфильтровать сессии, где он загружался",
13344
+ "ov.skills.clickRelease": "Щёлкните ещё раз, чтобы снять фильтр",
13345
+ "ov.skills.copied": "Скопировано",
13346
+ "ov.skills.copyPath": "Щёлкните, чтобы скопировать путь",
13347
+ "ov.skills.empty": "В этом диапазоне навыки не загружались — загруженные навыки появляются здесь со счётчиками и временем последней загрузки",
13348
+ "ov.skills.k.last": "Последняя",
13349
+ "ov.skills.k.path": "Путь",
13350
+ "ov.skills.k.source": "Источник",
13351
+ "ov.skills.k.usage": "Использование",
13352
+ "ov.skills.loads": "Загрузок: {n}",
13353
+ "ov.skills.more": "Ещё навыков: {n}",
13354
+ "ov.skills.noMatch": "Ни один навык не соответствует текущему фильтру",
13355
+ "ov.skills.search": "Поиск навыков…",
13356
+ "ov.skills.sessions": "Сессий: {n}",
13357
+ "ov.skills.sort.loads": "Загрузки",
13358
+ "ov.skills.sort.recent": "Недавние",
13359
+ "ov.skills.sortLabel": "Сортировка навыков",
13360
+ "ov.skills.src.bundled": "Встроенные",
13361
+ "ov.skills.src.project": "Проект",
13362
+ "ov.skills.src.user": "Пользователь",
13363
+ "ov.skills.summary": "Навыков: {skills} · загрузок: {loads}",
13364
+ "ov.stats.empty": "В этом диапазоне нет оплачиваемых токенов",
13365
+ "ov.time.d": "{n} д назад",
13366
+ "ov.time.h": "{n} ч назад",
13367
+ "ov.time.m": "{n} мин назад",
13368
+ "ov.time.now": "только что",
13369
+ "ov.title": "Аналитика контекста",
13370
+ "ov.unavailable": "Список сессий недоступен",
13371
+ "ov.usage.cost": "Стоимость (только для моделей с ценами)",
13372
+ "ov.usage.costTip": "Стоимость",
13373
+ "ov.usage.empty": "За последние 7 дней использования нет — дневные токены и стоимость появляются, когда сессии начинают обращаться к модели",
13374
+ "ov.usage.title": "Последние 7 дней",
13375
+ "ov.usage.tokens": "Токены",
13376
+ "overview.estimate": "токенов (оценка)",
13377
+ "overview.free": "Свободная часть окна",
13378
+ "overview.ofUsed": "из занятого контекста",
13379
+ "overview.ofWindow": "из окна",
13380
+ "overview.reserveHeadroom": "Запас до сжатия",
13381
+ "overview.reserveHeadroomBuffer": "Буфер, остающийся свободным перед резервом под вывод",
13382
+ "overview.reserveHeadroomTip": "Автосжатие сработает при {p}% окна",
13383
+ "overview.reserveOutput": "Резерв под вывод LLM",
13384
+ "overview.reserveOutputTip": "Максимальное число выходных токенов модели",
13385
+ "overview.reserveTrigger": "Порог автосжатия",
13386
+ "overview.reserveTriggerTip": "Сжатие срабатывает, когда число занятых токенов достигает этой отметки",
13387
+ "overview.title": "Текущий контекст",
13388
+ "overview.used": "занято контекста",
13389
+ "placement.all": "Все",
13390
+ "placement.sidebar": "Боковая панель",
13391
+ "placement.tab": "Вкладка",
13392
+ "plugin.github": "GitHub",
13393
+ "plugin.hint": "Лучший плагин контекста для DSH ⭐",
13394
+ "plugin.name": "Плагин",
13395
+ "plugin.settings": "Настройки плагина",
13396
+ "plugin.settingsOpen": "Открыть настройки плагина",
13397
+ "plugin.title": "Сведения о плагине",
13398
+ "rich.copied": "Скопировано",
13399
+ "rich.copy": "Копировать исходный текст",
13400
+ "rich.find": "Найти в тексте",
13401
+ "rich.findClose": "Закрыть поиск",
13402
+ "rich.findNext": "Следующее совпадение",
13403
+ "rich.findPlaceholder": "Найти…",
13404
+ "rich.findPrev": "Предыдущее совпадение",
13405
+ "rich.json": "JSON",
13406
+ "rich.json.collapse": "Свернуть",
13407
+ "rich.json.copied": "Скопировано",
13408
+ "rich.json.copyCompactJson": "Копировать компактный JSON",
13409
+ "rich.json.copyFailed": "Не удалось скопировать",
13410
+ "rich.json.copyJson": "Копировать JSON",
13411
+ "rich.json.copyOptions": "{action}; правый клик — варианты копирования",
13412
+ "rich.json.copyPath": "Копировать путь свойства",
13413
+ "rich.json.copyPrettyJson": "Копировать форматированный JSON",
13414
+ "rich.json.copyValue": "Копировать значение",
13415
+ "rich.json.expand": "Развернуть",
13416
+ "rich.json.label": "Содержимое JSON",
13417
+ "rich.md": "Markdown",
13418
+ "rich.md.copied": "Скопировано",
13419
+ "rich.md.copy": "Копировать",
13420
+ "rich.md.footnotes": "Сноски",
13421
+ "rich.raw": "Исходный",
13422
+ "rich.toJson": "Показать в виде дерева JSON",
13423
+ "rich.toMd": "Показать в виде Markdown",
13424
+ "rich.toRaw": "Показать исходный текст",
13425
+ "settings.deltaBase": "Обзор контекста · база сравнения",
13426
+ "settings.durationCurve": "График динамики · кривая длительности",
13427
+ "settings.fileSort": "Активность файлов · сортировка",
13428
+ "settings.fleetTab": "Вкладка «Парк»",
13429
+ "settings.gran": "График динамики · детализация",
13430
+ "settings.group.entry": "Запись и видимость",
13431
+ "settings.group.prompt": "Системный промпт",
13432
+ "settings.group.view": "Параметры отображения",
13433
+ "settings.insightsEntry": "Запись «Аналитика контекста»",
13434
+ "settings.mode": "График динамики · отображение",
13435
+ "settings.placement": "Размещение",
13436
+ "settings.promptHint": "Добавляется в самое начало или в самый конец системного промпта каждой сессии, для всех агентов (включая субагентов); правки вступят в силу со следующего раунда",
13437
+ "settings.promptPlaceholder": "Оставьте пустым, чтобы отключить",
13438
+ "settings.promptPrefix": "Префикс",
13439
+ "settings.promptSuffix": "Суффикс",
13440
+ "settings.readOnly": "Настройки в этом окружении доступны только для чтения",
13441
+ "settings.toolSort": "Схемы инструментов · сортировка",
13442
+ "showHide.hide": "Скрыть",
13443
+ "showHide.show": "Показать",
13444
+ "sidebar.guideDescription": "Изучайте состав контекста, статистику и его изменения.",
13445
+ "stats.answers": "Ответы",
13446
+ "stats.answersJump": "Отфильтровать ответы в обзоре контекста",
13447
+ "stats.billedTip": "Использование токенов — это оплачиваемый итог: ввод без кэша, чтение из кэша, запись в кэш и вывод.",
13448
+ "stats.cacheHit": "Попадание в кэш",
13449
+ "stats.cacheHitTip": "Совокупная доля чтения из кэша в оплачиваемом вводе за всю сессию.",
13450
+ "stats.cost": "Стоимость",
13451
+ "stats.costHit": "Ввод из кэша",
13452
+ "stats.costMiss": "Ввод без кэша",
13453
+ "stats.costOut": "Вывод",
13454
+ "stats.costPriceBy": "Цена по списку models.dev для {p} · {m}.",
13455
+ "stats.costPriceHead": "Ставки за 1 млн токенов:",
13456
+ "stats.costTip": "Оценка стоимости этого агента и всех дочерних сессий субагентов — только для справки.",
13457
+ "stats.costTipCny": "Отображение в CNY пересчитывается по курсу 1 CNY = 0,15 USD.",
13458
+ "stats.costTipDeepseek": "DeepSeek берёт полную цену в пиковые окна (по будням 09:00–12:00 и 14:00–18:00 по пекинскому времени), в остальные часы — половину.",
13459
+ "stats.costUnavailable": "Цены на модели недоступны (повтор выполняется автоматически) — стоимость пока нельзя оценить.",
13460
+ "stats.costWrite": "Запись в кэш",
13461
+ "stats.currentAgent": "Текущий агент",
13462
+ "stats.events": "События контекста",
13463
+ "stats.filesJump": "Отфильтровать этот вид в активности файлов",
13464
+ "stats.humanInputs": "Ввод пользователя",
13465
+ "stats.humanInputsJump": "Открыть сообщения пользователя в обзоре контекста",
13466
+ "stats.humanInputsTip": "Сообщения пользователя и ответы на вопросы в текущей сессии.",
13467
+ "stats.io": "Ввод / вывод",
13468
+ "stats.session": "Текущая сессия",
13469
+ "stats.skills": "Загрузки навыков",
13470
+ "stats.skillsJump": "Открыть внедрения навыков в обзоре контекста",
13471
+ "stats.steps": "Шаги",
13472
+ "stats.subCostTip": "Сумма оценок собственной накопленной стоимости каждой дочерней сессии субагента — по всем уровням поддерева (одна база); текущий агент не включён.",
13473
+ "stats.teamSubs": "Субагентов × {n}",
13474
+ "stats.title": "Статистика контекста",
13475
+ "stats.toolCalls": "Вызовы инструментов",
13476
+ "stats.toolsMore": "+{n} ещё",
13477
+ "stats.turns": "Раунды",
13478
+ "tab.context": "Контекст",
13479
+ "tab.fleet": "Парк",
13480
+ "timing.blockTimes": "Блоков: {n}",
13481
+ "timing.callTimes": "Вызовов: {n}",
13482
+ "timing.empty": "Данных о времени пока нет — длительности появляются по ходу беседы",
13483
+ "timing.gen": "Генерация LLM",
13484
+ "timing.other": "Прочее",
13485
+ "timing.reasoning": "Размышления",
13486
+ "timing.strip": "Полоса времени сессии: отрезки уложены в порядке появления, ширина — доля активного времени; отметки стоят в нуле, на квартилях и на всём интервале",
13487
+ "timing.text": "Ответы",
13488
+ "timing.title": "Статистика времени",
13489
+ "timing.toolArgs": "Аргументы инструментов",
13490
+ "timing.tools": "Запуски инструментов",
13491
+ "timing.toolTimes": "Запусков: {n}",
13492
+ "timing.total": "Активное время",
13493
+ "timing.tps": "TPS {tps} ток/с",
13494
+ "timing.tpsTip": "Скорость вывода (TPS): сумма декодированных выходных токенов, делённая на суммарное время декодирования — та же пара, что и в статистике сессий DeepSeek Harness.",
13495
+ "timing.ttft": "TTFT",
13496
+ "tip.cat": "{cat} ≈ {n}",
13497
+ "tip.delta": "Δ {n}",
13498
+ "tip.duration": "Длительность {n}",
13499
+ "tip.step": "Раунд {t} · шаг {s} из {n}",
13500
+ "tip.total": "Всего ≈ {n}",
13501
+ "tip.turn": "Раунд {t} · шагов: {n}",
13502
+ "tip.turn1": "Раунд {t} · 1 шаг",
13503
+ "tokens.output": "Вывод",
13504
+ "tokens.outputNote": "включая размышления",
13505
+ "tokens.title": "Статистика токенов",
13506
+ "tokens.total": "Всего",
13507
+ "tool.desc": "Описание",
13508
+ "tool.hitsTip": "Сколько раз этот инструмент вызывался и отвечал в контексте показанного шага",
13509
+ "tool.jsonHide": "Свернуть",
13510
+ "tool.jsonToggle": "Показать исходный JSON",
13511
+ "tool.noMatch": "Ни один инструмент не соответствует текущему фильтру",
13512
+ "tool.params": "Параметры",
13513
+ "tool.paramsEmpty": "(без параметров)",
13514
+ "tool.plugin": "Плагин, зарегистрировавший этот инструмент (для справки)",
13515
+ "tool.search": "Фильтр по названию, описанию или параметрам…",
13516
+ "tool.sort.count": "По числу вызовов",
13517
+ "tool.sort.name": "По названию",
13518
+ "tool.sort.size": "По размеру",
13519
+ "tool.sortTip": "Сортировать инструменты по числу вызовов в показанном шаге (по умолчанию), по размеру в токенах или по названию",
13520
+ "tool.unknown": "Неизвестный плагин",
13521
+ "tool.unknownTitle": "Инструмент был зарегистрирован до загрузки плагина контекста или его плагин уже выгружен, поэтому определить провайдера не удалось",
13522
+ "trend.adaptive": "Адаптивный",
13523
+ "trend.adaptiveHint": "Масштабировать высоту столбцов под видимый диапазон, следуя за прокруткой",
13524
+ "trend.dna": "Режим ДНК",
13525
+ "trend.dnaItem": "{label}: {n}",
13526
+ "trend.dnaTip": "Рисовать каждый столбец как отпечаток контекста этого запроса — по одной полосе на каждый элемент в том порядке, в котором их читает модель; в режиме Delta каждая полоса показывает изменение элемента относительно предыдущего столбца. Наведите курсор, чтобы увидеть элемент, щёлкните, чтобы раскрыть его в обзоре контекста, а каждый столбец подсвечивает весь срок жизни одного и того же элемента",
13527
+ "trend.duration": "Длительность",
13528
+ "trend.durationTip": "Наложить активное время каждого шага (от начала до конца шага — вызовы модели и инструментов, без ожидания ваших решений и ответов) в виде кривой поверх столбцов; значения читаются по оси квартилей справа от графика; детализация по раундам складывает шаги раунда",
13529
+ "trend.empty": "Отправьте сообщение — и здесь появится состав контекста каждого запроса к модели",
13530
+ "trend.overview": "Обзор",
13531
+ "trend.overviewTip": "Уместить каждый сохранённый шаг или раунд по видимой ширине панели: без горизонтальной прокрутки и без догрузки; флажки отмечают квартили и весь интервал. Наведите курсор, чтобы прочитать, щёлкните, чтобы закрепить; режим взаимоисключающий с режимом ДНК и адаптивным режимом",
13532
+ "trend.title": "Динамика контекста",
13533
+ "update.label": "Обновление",
13534
+ "update.tip": "Доступно обновление {version} — щёлкните, чтобы прочитать список изменений"
13535
+ },
13536
+ "dsh-key-limits": {
13537
+ "accountOrder": "Порядок отображения учётных записей",
13538
+ "activeBadge": " активен",
13539
+ "activeNone": "—",
13540
+ "activeNoSession": "сессия",
13541
+ "activeOnTop": "Активная учётная запись всегда сверху",
13542
+ "activeSessionEyebrow": "ЛИМИТ АКТИВНОЙ СЕССИИ",
13543
+ "add": "Добавить",
13544
+ "addKey": "Добавить ключ",
13545
+ "allSub": "Все ключи",
13546
+ "allTitle": "Лимиты подписки",
13547
+ "balance": "Баланс",
13548
+ "balanceUsd": "Баланс ($)",
13549
+ "burnRate": "Скорость расхода",
13550
+ "burnRateIdle": "простой",
13551
+ "cancel": "Отмена",
13552
+ "checkFailed": "Проверка не удалась",
13553
+ "checkingUpdates": "Проверка…",
13554
+ "checkUpdateFailed": "Не удалось проверить обновления",
13555
+ "close": "Закрыть",
13556
+ "composerBar": "Панель поля ввода",
13557
+ "dangerRemaining": "осталось",
13558
+ "dangerToast": "Квота активной учётной записи на исходе",
13559
+ "dataPath": "Данные: ~/.dsh/storages/dsh-key-limits/",
13560
+ "delete": "Удалить",
13561
+ "deleteConfirm": "Удалить ключ «",
13562
+ "dock": "Закрепить в углу",
13563
+ "dockedMode": "Режим закрепления",
13564
+ "emptySettingsHint": "Добавьте ключи провайдеров и токены в настройках плагина, чтобы отслеживать квоты и балансы в реальном времени.",
13565
+ "enterPassphrase": "Введите пароль шифрования",
13566
+ "errTitle": "Лимиты ключей: ошибка интерфейса",
13567
+ "exhaustedCount": "исчерпано",
13568
+ "exportBackup": "Экспорт резервной копии",
13569
+ "exportSuccess": "Резервная копия экспортирована",
13570
+ "exportWarningUnresolved": "Примечание: некоторые учётные данные не удалось получить, они экспортированы пустыми",
13571
+ "extra": "Дополнительно",
13572
+ "field_extra": "Дополнительно",
13573
+ "field_secret": "Секрет / ключ",
13574
+ "fillFields": "Заполните: ",
13575
+ "floatChip": "Плавающая плашка",
13576
+ "floatTitle": "Лимиты ключей — нажатие: все, перетаскивание: перемещение",
13577
+ "healthyCount": "в норме",
13578
+ "hotkeyHint": "Alt+K для переключения",
13579
+ "hoursLeft": "осталось",
13580
+ "hubEyebrow": "ЛИМИТЫ КЛЮЧЕЙ И ПОДПИСОК",
13581
+ "importBackup": "Импорт резервной копии",
13582
+ "importError": "Ошибка импорта: ",
13583
+ "importSuccess": "Импортировано ключей: ",
13584
+ "importWarningUiSettingsFailed": "Примечание: подписки восстановлены, но настройки интерфейса не удалось обновить",
13585
+ "labelOptional": "Метка (необязательно)",
13586
+ "loading": "Загрузка…",
13587
+ "manualUpdateCmd": "Ручное обновление: pnpm update @goodandready/dsh-key-limits",
13588
+ "minRemaining": "Мин. квота",
13589
+ "moveDown": "Переместить вниз",
13590
+ "moveUp": "Переместить вверх",
13591
+ "noQuota": "Нет данных о квоте",
13592
+ "noSubs": "Ключей пока нет",
13593
+ "oneTitle": "Лимиты активных ключей",
13594
+ "pctLeft": " осталось",
13595
+ "pickDash": "— выберите —",
13596
+ "pickProvider": "Выберите провайдера",
13597
+ "poolHealth": "Состояние пула",
13598
+ "prov_field_anthropic_secret": "API-ключ",
13599
+ "prov_field_cline_secret": "API-ключ",
13600
+ "prov_field_commandcode_secret": "API-ключ",
13601
+ "prov_field_deepseek_secret": "API-ключ",
13602
+ "prov_field_gemini_secret": "API-ключ",
13603
+ "prov_field_glm_secret": "API-ключ",
13604
+ "prov_field_groq_secret": "API-ключ",
13605
+ "prov_field_kimi_secret": "API-ключ",
13606
+ "prov_field_minimax_secret": "API-ключ",
13607
+ "prov_field_ollama_extra": "Cookie сессии",
13608
+ "prov_field_ollama_secret": "API-ключ",
13609
+ "prov_field_opencode_go_extra": "ID рабочей области или URL",
13610
+ "prov_field_opencode_go_secret": "Cookie сессии (значение авторизации)",
13611
+ "prov_field_openrouter_secret": "API-ключ",
13612
+ "prov_field_qwen_extra": "sec_token (необязательно)",
13613
+ "prov_field_qwen_secret": "Cookie сессии",
13614
+ "prov_field_siliconflow_secret": "API-ключ",
13615
+ "prov_hint_anthropic": "Ключ API Anthropic Console (sk-ant-…). Проверяет ключ и следит за лимитами запросов.",
13616
+ "prov_hint_cline": "Ключ API типа Bearer с cline.bot. Квоты: 5 ч / неделя / месяц (usage-limits).",
13617
+ "prov_hint_commandcode": "Ключ API Command Code (user_… или COMMANDCODE_API_KEY). Квоты: 5 ч / недельное окно.",
13618
+ "prov_hint_deepseek": "Ключ API — остаток баланса в $ (GET api.deepseek.com/user/balance; CNY переводится в USD).",
13619
+ "prov_hint_gemini": "Ключ API Google Gemini из Google AI Studio (AIzaSy…).",
13620
+ "prov_hint_glm": "Ключ API из личной учётной записи на z.ai (передаётся в заголовке Authorization без Bearer).",
13621
+ "prov_hint_groq": "Ключ API Groq (gsk_…). Показывает активные окна лимитов запросов и остаток токенов.",
13622
+ "prov_hint_kimi": "Ключ API Kimi for Coding (sk-kimi-…). JWT/cookie пока не поддерживается.",
13623
+ "prov_hint_minimax": "Ключ API MiniMax Coding Plan (sk-cp-…).",
13624
+ "prov_hint_ollama": "Ключ API Ollama Cloud + cookie сессии с ollama.com. Ключ используется для POST /api/me, cookie — для статистики расхода на /settings.",
13625
+ "prov_hint_opencode_go": "DevTools -> Application -> Cookies на opencode.ai: значение cookie auth. Рабочая область — это ID или полный URL до /go.",
13626
+ "prov_hint_openrouter": "Ключ API OpenRouter — показывает баланс в $ (кредиты — расход).",
13627
+ "prov_hint_qwen": "Cookie из curl -b или Request Headers -> cookie на home.qwencloud.com/analytics/token-plan/individual",
13628
+ "prov_hint_siliconflow": "Ключ API SiliconFlow (SiliconCloud) (sk-…). Показывает баланс в ¥ и $.",
13629
+ "prov_label_anthropic": "Anthropic",
13630
+ "prov_label_cline": "Cline",
13631
+ "prov_label_commandcode": "Command Code",
13632
+ "prov_label_deepseek": "DeepSeek",
13633
+ "prov_label_gemini": "Google Gemini",
13634
+ "prov_label_glm": "GLM (Z.ai)",
13635
+ "prov_label_groq": "Groq",
13636
+ "prov_label_kimi": "Kimi for Coding",
13637
+ "prov_label_minimax": "MiniMax",
13638
+ "prov_label_ollama": "Ollama Cloud",
13639
+ "prov_label_opencode_go": "OpenCode GO",
13640
+ "prov_label_openrouter": "OpenRouter",
13641
+ "prov_label_qwen": "Qwen Cloud",
13642
+ "prov_label_siliconflow": "SiliconFlow",
13643
+ "refresh": "Обновить",
13644
+ "refreshAll": "Обновить все",
13645
+ "refreshed": "Обновлено",
13646
+ "refreshHours": "Часы обновления",
13647
+ "refreshing": "Обновление…",
13648
+ "refreshTimeout": "Истекло время ожидания обновления",
13649
+ "remaining": "осталось",
13650
+ "resetsIn": "Сброс через ",
13651
+ "restartRequired": " (требуется перезапуск)",
13652
+ "retry": "Повторить",
13653
+ "save": "Сохранить",
13654
+ "saved": "Сохранено",
13655
+ "saveError": "ошибка сохранения",
13656
+ "secret": "Секрет / ключ",
13657
+ "stale": "устарело",
13658
+ "storageDir": "Каталог хранилища",
13659
+ "storageDirRestartNote": "(только чтение в интерфейсе, настраивается в конфигурации профиля, требуется перезапуск)",
13660
+ "subtitle": "Ключи API и квоты подписки",
13661
+ "tabAll": "Все",
13662
+ "tabBalances": "Балансы",
13663
+ "tabQuotas": "Квоты",
13664
+ "title": "Лимиты ключей",
13665
+ "totalAccounts": "Всего учётных записей",
13666
+ "uiHint": "Плавающая плашка и панель поля ввода — cordis ui.*",
13667
+ "undock": "Открепить от угла",
13668
+ "updateAvailable": "Доступно обновление: ",
13669
+ "updated": "Обновлено ",
13670
+ "updateFailed": "Ошибка обновления: ",
13671
+ "updateNow": "Обновить сейчас",
13672
+ "updateSuccess": "Обновлено до ",
13673
+ "updating": "Обновление…",
13674
+ "upToDate": "Всё обновлено",
13675
+ "usageTrend": "Динамика расхода за 24 ч",
13676
+ "warningCount": "с предупреждением"
13677
+ },
13678
+ "dsh-skill-hub": {
13679
+ "badge.source.bundled": "в поставке",
13680
+ "badge.source.custom": "свой",
13681
+ "badge.source.project-agents": "проект .agents/skills",
13682
+ "badge.source.project-dsh": "проект .dsh/skills",
13683
+ "badge.source.runtime": "во время работы",
13684
+ "badge.source.user-agents": "пользователь .agents/skills",
13685
+ "badge.source.user-dsh": "пользователь .dsh/skills",
13686
+ "delete.confirm": "Переместить в корзину",
13687
+ "delete.confirmText": "Переместить «{name}» в корзину? Его можно восстановить в любой момент.",
13688
+ "delete.confirmTitle": "Переместить в корзину?",
13689
+ "detail.addedAt": "Добавлен",
13690
+ "detail.back": "Назад к списку",
13691
+ "detail.copied": "Скопировано",
13692
+ "detail.copyMention": "Скопировать упоминание",
13693
+ "detail.copyPath": "Скопировать путь",
13694
+ "detail.groups": "Группы",
13695
+ "detail.loading": "Загружаем тело навыка…",
13696
+ "detail.path": "Путь",
13697
+ "detail.provider": "Провайдер",
13698
+ "detail.updatedAt": "Обновлён",
13699
+ "detail.uses": "Вызовы",
13700
+ "detail.whenToUse": "Когда применять",
13701
+ "diag.fix": "Исправить",
13702
+ "diag.fixConfirm": "Переписать метаданные этого файла автоисправлением? Сначала сделайте резервную копию: {path}",
13703
+ "diag.fixed": "Исправлено",
13704
+ "diag.fixing": "Исправляем…",
13705
+ "drag.reorder": "Перетащите, чтобы изменить порядок",
13706
+ "edit.done": "Готово",
13707
+ "edit.hint": "Показать действия удаления и изменения порядка",
13708
+ "edit.start": "Изменить",
13709
+ "entry.label": "Навыки",
13710
+ "err.dismiss": "Закрыть",
13711
+ "filter.allSources": "Все источники",
13712
+ "filter.clear": "Сбросить фильтры",
13713
+ "filter.filteredSuffix": " · отфильтровано",
13714
+ "filter.invocation": "Вызов",
13715
+ "filter.invocationAll": "Все",
13716
+ "filter.modelOnly": "Модель",
13717
+ "filter.private": "Личные",
13718
+ "filter.shortened": "Кратких описаний: {count}, наведите, чтобы увидеть полный текст",
13719
+ "filter.showing": "Показано: {shown}/{total}, включено{filtered}",
13720
+ "filter.source": "Источник",
13721
+ "filter.title": "Фильтр",
13722
+ "filter.userOnly": "Пользователь",
13723
+ "form.busy": "Создаём…",
13724
+ "form.cancel": "Отмена",
13725
+ "form.capabilityHint": "Выбор возможности: повторяемый метод → навык; внешняя система → MCP; долгосрочные знания → база знаний.",
13726
+ "form.desc": "Описание (одно предложение, по которому модель выбирает навык)",
13727
+ "form.descPlaceholder": "Одна строка о том, что он делает (со словами-триггерами) — агенты сами активируют навык по ней",
13728
+ "form.error": "Не удалось создать: ",
13729
+ "form.name": "Имя навыка (kebab-case, например code-review)",
13730
+ "form.root": "Корневой каталог",
13731
+ "form.submit": "Создать",
13732
+ "form.success": "Создан: ",
13733
+ "groups.closeAll": "Закрыть все",
13734
+ "groups.collapseAll": "Свернуть все",
13735
+ "groups.conflictText": "Эти навыки включены и в других группах; их закрытие повлияет на те группы:",
13736
+ "groups.conflictTitle": "Закрыть эту группу?",
13737
+ "groups.delete": "Удалить сцену",
13738
+ "groups.edit": "Изменить",
13739
+ "groups.empty": "Сцен пока нет. Создайте первую и начните раскладывать навыки по категориям.",
13740
+ "groups.expandAll": "Развернуть все",
13741
+ "groups.keepOn": "Оставить включённым",
13742
+ "groups.membersHint": "Отметьте навыки, которые нужно добавить в эту сцену (включая отключённые).",
13743
+ "groups.merge": "Объединить",
13744
+ "groups.namePlaceholder": "Имя сцены",
13745
+ "groups.new": "Новая сцена",
13746
+ "groups.noCollections": "Групп по источникам пока нет. Импортируйте навыки из магазина, чтобы сгруппировать их по источнику.",
13747
+ "groups.noWritable": "В этой группе нет доступных для записи навыков (навыки только для чтения нельзя переключить из центра навыков)",
13748
+ "groups.personal": "Личные",
13749
+ "groups.project": "Проект",
13750
+ "groups.rename": "Сохранить имя",
13751
+ "groups.saveMembers": "Сохранить состав",
13752
+ "groups.subdivide": "Разделить",
13753
+ "legend.hint": "Не больше одной точки на навык; нет точки — навык нельзя вызвать.",
13754
+ "legend.model": "Вызывается моделью — агенты могут вызвать сами",
13755
+ "legend.user": "Вызывается пользователем — только явным вызовом",
13756
+ "market.add": "Добавить",
13757
+ "market.addPlaceholder": "владелец/репозиторий или https://github.com/…",
13758
+ "market.addSource": "Добавить источник",
13759
+ "market.branchConfirm": "Подтвердить",
13760
+ "market.branchHint": "В этом репозитории нет релизов. Выберите ветку для отслеживания (по умолчанию main/master):",
13761
+ "market.branchTitle": "Выберите ветку",
13762
+ "market.catalog.anthropics": "Официальная коллекция навыков Anthropic (Claude Skills)",
13763
+ "market.catalog.mattpocock": "Коллекция навыков Matt Pocock",
13764
+ "market.catalog.openDesign": "Коллекция навыков по дизайну (design-templates)",
13765
+ "market.catalog.superpowers": "Коллекция навыков сообщества Superpowers",
13766
+ "market.catalogHint": "Подборка репозиториев навыков — добавьте один, чтобы сканировать и устанавливать, с постоянной проверкой обновлений.",
13767
+ "market.checkAll": "Проверить все",
13768
+ "market.checking": "Проверяем…",
13769
+ "market.checkUpdate": "Проверить обновления",
13770
+ "market.deletedUpstream": "Удалено в источнике: {count}",
13771
+ "market.deleteSource": "Убрать источник",
13772
+ "market.downloadsHint": "Загрузок файлов релиза: {count}",
13773
+ "market.installed": "Установлено: {count}",
13774
+ "market.newRelease": "Новый релиз v{version}",
13775
+ "market.noSources": "Источников магазина пока нет. Добавьте один из встроенного каталога ниже или укажите репозиторий GitHub.",
13776
+ "market.removeHint": "Удаление источника не влияет на установленные навыки.",
13777
+ "market.scan": "Сканировать",
13778
+ "market.scanning": "Сканируем…",
13779
+ "market.starsHint": "Звёзд на GitHub: {count}",
13780
+ "market.syncCancel": "Пропустить",
13781
+ "market.syncHint": "Синхронизировать с последней версией в источнике и показать локальные навыки, которые можно обновить",
13782
+ "market.syncing": "Синхронизируем…",
13783
+ "market.syncNone": "Локальных навыков из этого репозитория пока нет.",
13784
+ "market.syncText": "Источник магазина приведён к {ref}. Обновить эти локальные навыки?",
13785
+ "market.syncTitle": "Обновить локальные навыки",
13786
+ "market.title": "Магазин",
13787
+ "market.unpinned": "без привязки",
13788
+ "market.updatable": "Можно обновить: {count}",
13789
+ "market.update": "Обновить",
13790
+ "market.updateAll": "Обновить все",
13791
+ "market.updateAllConfirmText": "Навыки этих источников, которые можно обновить, будут заменены их последними версиями из источника:",
13792
+ "market.updateAllConfirmTitle": "Обновить все навыки?",
13793
+ "market.updateAllDone": "Обновлено источников: {count}",
13794
+ "market.updateAllItem": "{repo} (навыков: {count})",
13795
+ "market.updateCount": "Обновить ({count})",
13796
+ "market.updated": "Есть обновления",
13797
+ "market.upToDate": "Актуально",
13798
+ "market.versionBranches": "Ветки",
13799
+ "market.versionConfirm": "Переключить на {ref}",
13800
+ "market.versionCurrent": "сейчас: {ref}",
13801
+ "market.versionCustom": "Своя (тег / ветка / коммит)",
13802
+ "market.versionHint": "Нажмите, чтобы сменить отслеживаемую версию",
13803
+ "market.versionReleases": "Релизы",
13804
+ "market.versionText": "Выберите версию {repo} для отслеживания; затем просканируйте и синхронизируйте установленные навыки",
13805
+ "market.versionTitle": "Смена отслеживаемой версии",
13806
+ "panel.count": "Навыков всего: {count}",
13807
+ "panel.diagnostics": "Диагностика обнаружения",
13808
+ "panel.disabled": "Отключено",
13809
+ "panel.disabledCount": "Отключено: {count}",
13810
+ "panel.empty": "Подходящих навыков нет.",
13811
+ "panel.emptyAll": "Навыки ещё не установлены. Создайте первый.",
13812
+ "panel.incomplete": "(каталог может быть неполным)",
13813
+ "panel.loading": "Загружаем…",
13814
+ "panel.new": "Новый навык",
13815
+ "panel.search": "Поиск навыков…",
13816
+ "panel.title": "Центр навыков",
13817
+ "panel.workspaceClear": "Очистить рабочую область",
13818
+ "panel.workspaceHint": "Укажите путь к проекту, чтобы показывать ещё и навыки этой рабочей области — .dsh/skills и .agents/skills (только для чтения); очистите поле и нажмите Enter, чтобы вернуться к виду пользовательского уровня.",
13819
+ "panel.workspacePlaceholder": "Путь рабочей области (Enter — применить)",
13820
+ "reorder.down": "Переместить вниз",
13821
+ "reorder.up": "Переместить вверх",
13822
+ "repo.allRoots": "Все: {count}",
13823
+ "repo.cancel": "Отмена",
13824
+ "repo.cancelled": "Отменено · сохранено {imported}/{total}, временные файлы убраны",
13825
+ "repo.clearAll": "Очистить",
13826
+ "repo.close": "Закрыть",
13827
+ "repo.empty": "Навыков для импорта не найдено.",
13828
+ "repo.existing": "Уже есть",
13829
+ "repo.failed": "Ошибок: {count}",
13830
+ "repo.files": "Файлов: {count} · {size}",
13831
+ "repo.import": "Импортировать выбранные ({count})",
13832
+ "repo.imported": "Импортировано: {count}",
13833
+ "repo.importing": "Импортируем…",
13834
+ "repo.importingCurrent": "Импорт: {name} ({done}/{total})",
13835
+ "repo.loadMore": "Загрузить ещё {step} (осталось {remaining})",
13836
+ "repo.noMatch": "Подходящих навыков нет",
13837
+ "repo.ready": "Найдено навыков для импорта: {count}",
13838
+ "repo.replaced": "Отключённых заполнителей заменено: {count} — старый каталог перемещён в корзину",
13839
+ "repo.root.designTemplates": "Шаблоны",
13840
+ "repo.root.generic": "{root}",
13841
+ "repo.root.self": "Корень репозитория",
13842
+ "repo.root.skills": "Навыки",
13843
+ "repo.scanTitle": "Результат сканирования",
13844
+ "repo.searchPlaceholder": "Поиск по имени навыка…",
13845
+ "repo.selectAllN": "Выбрать все: {count}",
13846
+ "repo.selection": "Выбрано: {selected}/{total} · {size} · показано: {shown}/{filtered} (отфильтровано)",
13847
+ "repo.selectVisible": "Выбрать видимые",
13848
+ "repo.skillProgress": "Навыков: {done}/{total}",
13849
+ "repo.skippedExisting": "Пропущено существующих: {count}",
13850
+ "repo.truncated": "⚠ Репозиторий слишком большой, показана только часть навыков (GitHub обрезал данные)",
13851
+ "row.delete": "Переместить в корзину",
13852
+ "row.disable": "Отключить",
13853
+ "row.duplicate": "дубликат",
13854
+ "row.duplicateHint": "Это имя дают несколько источников; показан источник с наивысшим приоритетом",
13855
+ "row.enable": "Включить",
13856
+ "row.open": "Подробнее о навыке «{name}» (Enter)",
13857
+ "row.readonly": "только для чтения",
13858
+ "settings.announceToAgent": "Сообщать агенту",
13859
+ "settings.announceToAgentHint": "Добавляет раздел в системный промпт, чтобы агенты знали, как сотрудничать, когда пользователи говорят об управлении навыками.",
13860
+ "settings.collapse": "Скрыть настройки",
13861
+ "settings.description": "Управление локальным каталогом навыков dsh: просмотр, группировка, синхронизация и создание заготовок навыков.",
13862
+ "settings.discard": "Сбросить",
13863
+ "settings.dotModelColor": "Цвет точки «вызывается моделью»",
13864
+ "settings.dotModelColorHint": "Цвет синей точки «вызов моделью» на панели навыков, в чате и в меню (например, #0055aa).",
13865
+ "settings.dotUserColor": "Цвет точки «вызывается пользователем»",
13866
+ "settings.dotUserColorHint": "Цвет зелёной точки «только пользователь» на панели навыков, в чате и в меню (например, #000a00).",
13867
+ "settings.enabled": "Включить плагин",
13868
+ "settings.enabledHint": "Отключает маршруты центра навыков, пункты меню и объявление.",
13869
+ "settings.expand": "Показать настройки",
13870
+ "settings.githubToken": "Токен GitHub",
13871
+ "settings.githubTokenHint": "Магазин и источники используют API GitHub: 60 запросов в час без токена, 5000 в час с токеном. Токен с тонкими правами не требует разрешений. Он хранится открытым текстом в локальных настройках и доступен только через доверительный контур /api в dsh (локальный адрес / адрес привязки / --trusted-host); пустое значение означает анонимный доступ (или переменную GITHUB_TOKEN).",
13872
+ "settings.githubTokenPlaceholder": "ghp_… / github_pat_… (пусто — анонимный доступ)",
13873
+ "settings.inherit": "Наследовать",
13874
+ "settings.notExposed": "В этой сборке нет пространства имён настроек.",
13875
+ "settings.overridden": "Переопределено",
13876
+ "settings.readOnly": "В этой сборке настройки доступны только для чтения.",
13877
+ "settings.reset": "Сбросить к значениям по умолчанию",
13878
+ "settings.save": "Сохранить",
13879
+ "settings.saveFailed": "Сборка не приняла эти значения; их оставили для исправления.",
13880
+ "settings.saving": "Сохраняем…",
13881
+ "settings.showGroupSummary": "Показывать сводки по группам",
13882
+ "settings.showGroupSummaryHint": "Показывать сводку: число вызовов и время последнего использования после названий групп.",
13883
+ "settings.showUseCount": "Показывать число вызовов",
13884
+ "settings.showUseCountHint": "Показывать янтарное число вызовов рядом с именем каждого навыка.",
13885
+ "settings.showUseTime": "Показывать время последнего использования",
13886
+ "settings.showUseTimeHint": "Показывать относительное время последнего использования в строке с именем (например, «3 д назад»).",
13887
+ "settings.statsScanMinutes": "Интервал автостатистики (минуты)",
13888
+ "settings.statsScanMinutesHint": "Как часто выполняется фоновое сканирование журнала сессии (минимум 1); тяжёлые сканирования увеличивают интервал автоматически.",
13889
+ "settings.statsWindowDays": "Окно статистики (дни)",
13890
+ "settings.statsWindowDaysHint": "Учитывать только использование за последние N дней (по умолчанию 14); 0 — вся история. Изменения применяются сразу.",
13891
+ "settings.title": "Центр навыков",
13892
+ "settings.unsaved": "Не сохранено",
13893
+ "sort.added": "По дате добавления",
13894
+ "sort.name": "По имени",
13895
+ "sort.uses": "По числу вызовов",
13896
+ "source.check": "Проверить обновления",
13897
+ "source.checkHint": "Нажмите, чтобы проверить обновления в источнике",
13898
+ "source.checking": "Проверяем…",
13899
+ "source.clearTrash": "Очистить корзину",
13900
+ "source.clearTrashConfirm": "Удалить безвозвратно",
13901
+ "source.clearTrashConfirmText": "Навыки в корзине будут удалены безвозвратно, восстановить их нельзя.",
13902
+ "source.clearTrashConfirmTitle": "Очистить корзину?",
13903
+ "source.commit": "Синхронизированный коммит",
13904
+ "source.deleteConfirmText": "Эти навыки удалили в источнике; их локальные каталоги переместятся в корзину (с возможностью восстановления):",
13905
+ "source.deleteConfirmTitle": "Следовать удалению в источнике?",
13906
+ "source.deleted": "Удалено в источнике: {count}",
13907
+ "source.deleteGroup": "Удалить группу",
13908
+ "source.deleteGroupHint": "Удалить все навыки в этой группе: {count}",
13909
+ "source.deleteGroupText": "Все навыки ({count}) группы «{name}» будут перемещены в корзину (с возможностью восстановления); навыки только для чтения будут пропущены:",
13910
+ "source.deleteGroupTitle": "Удалить группу?",
13911
+ "source.error": "Проверка не удалась",
13912
+ "source.followDelete": "Следовать удалению",
13913
+ "source.private": "Личный навык (не привязан к источнику; проверки обновлений нет)",
13914
+ "source.restore": "Восстановить",
13915
+ "source.sync": "Синхронизировать",
13916
+ "source.syncConfirmText": "Локальные изменения этих навыков будут перезаписаны последней версией из источника:",
13917
+ "source.syncConfirmTitle": "Синхронизировать навыки?",
13918
+ "source.syncing": "Синхронизируем…",
13919
+ "source.throttled": "Проверено недавно",
13920
+ "source.trash": "Корзина",
13921
+ "source.unverified": "источник ещё не проверен",
13922
+ "source.updated": "Обновлений: {count}",
13923
+ "source.upToDate": "Актуально",
13924
+ "time.daysAgo": "{value} дн. назад",
13925
+ "time.hoursAgo": "{value} ч назад",
13926
+ "time.justNow": "только что",
13927
+ "time.minutesAgo": "{value} мин назад",
13928
+ "time.weeksAgo": "недель: {value} назад",
13929
+ "update.available": "Доступно обновление: v{version} (текущая v{current})",
13930
+ "update.check": "Проверить обновления",
13931
+ "update.checking": "Проверяем…",
13932
+ "update.error": "Не удалось проверить обновление: {error}",
13933
+ "update.newVersion": "Новая версия v{version}",
13934
+ "update.unavailable": "Релиза нет",
13935
+ "update.upToDate": "Актуально: v{version}",
13936
+ "view.flat": "Список",
13937
+ "view.grouped": "По группам",
13938
+ "view.market": "Магазин",
13939
+ "view.scenes": "Сцены",
13940
+ "view.sources": "Источники"
13941
+ },
13942
+ "dsh-usage-stats": {
13943
+ "dates.tipFull": "{date} · токенов: {total} · запросов: {calls}",
13944
+ "days.detailEmpty": "В этот день использования не было",
13945
+ "days.detailModels": "По моделям",
13946
+ "days.detailSessions": "По сессиям",
13947
+ "deepseek.balancesEmpty": "Нет данных о балансе",
13948
+ "deepseek.grantedBalance": "Начислено",
13949
+ "deepseek.label": "Баланс DeepSeek",
13950
+ "deepseek.notAvailable": "Баланс недоступен",
13951
+ "deepseek.refresh": "Обновить баланс",
13952
+ "deepseek.short.label": "Баланс",
13953
+ "deepseek.title": "Баланс DeepSeek",
13954
+ "deepseek.toppedUpBalance": "Пополнено",
13955
+ "detail.close": "Закрыть разбивку",
13956
+ "detail.failed": "Не удалось загрузить разбивку",
13957
+ "detail.link": "Подробности",
13958
+ "detail.retry": "Повторить",
13959
+ "detail.view": "Показать разбивку",
13960
+ "events": "событий",
13961
+ "footer.cacheHitRate": "Доля попаданий в кэш",
13962
+ "footer.railAria": "Сегодня токенов: {tokens} — открыть статистику использования",
13963
+ "footer.railEmpty": "Нет данных",
13964
+ "footer.railHeader": "Сегодня:",
13965
+ "footer.todayLabel": "Сегодня",
13966
+ "go.label": "Квота Go",
13967
+ "go.monthly": "Этот месяц",
13968
+ "go.planName": "OpenCode Go",
13969
+ "go.refresh": "Обновить квоту",
13970
+ "go.resetsAt": "Сброс {time}",
13971
+ "go.rolling": "Скользящий лимит 5 ч",
13972
+ "go.short.monthly": "Мес",
13973
+ "go.short.rolling": "5 ч",
13974
+ "go.short.weekly": "Нед",
13975
+ "go.title": "Квота OpenCode Go",
13976
+ "go.weekly": "Эта неделя",
13977
+ "heat.legendLess": "Меньше",
13978
+ "heat.legendMore": "Больше",
13979
+ "heat.total": "токенов: {tokens} · запросов: {calls}",
13980
+ "hint.autoRetry": "Будет повторено автоматически",
13981
+ "hint.noSubscription": "Подписки нет",
13982
+ "hint.notConfigured": "Ключ API не настроен",
13983
+ "hint.queryFailed": "Ошибка запроса",
13984
+ "hint.setInCredentials": "Задайте в DSH Credentials",
13985
+ "modelRange.14d": "14 д",
13986
+ "modelRange.180d": "180 д",
13987
+ "modelRange.30d": "30 д",
13988
+ "modelRange.365d": "1 г",
13989
+ "modelRange.7d": "7 д",
13990
+ "modelRange.90d": "90 д",
13991
+ "modelRange.all": "Все",
13992
+ "models.detailDates": "По датам",
13993
+ "models.detailEmpty": "В выбранном диапазоне эта модель не использовалась",
13994
+ "models.detailSessions": "По сессиям",
13995
+ "models.mergedSources": "Объединено: {n}",
13996
+ "models.mergedSourcesHint": "В этой строке учтено использование от",
13997
+ "month.1": "Янв",
13998
+ "month.10": "Окт",
13999
+ "month.11": "Ноя",
14000
+ "month.12": "Дек",
14001
+ "month.2": "Фев",
14002
+ "month.3": "Мар",
14003
+ "month.4": "Апр",
14004
+ "month.5": "Май",
14005
+ "month.6": "Июн",
14006
+ "month.7": "Июл",
14007
+ "month.8": "Авг",
14008
+ "month.9": "Сен",
14009
+ "pagination.label": "Постраничная навигация",
14010
+ "pagination.next": "Далее",
14011
+ "pagination.page": "Страница {current} из {total}",
14012
+ "pagination.prev": "Назад",
14013
+ "panel.close": "Закрыть статистику использования",
14014
+ "panel.models": "По моделям",
14015
+ "panel.summary.callsSuffix": "",
14016
+ "panel.summary.sessions": "Сессии",
14017
+ "panel.summary.totalTokens": "Всего",
14018
+ "panel.title": "Статистика использования",
14019
+ "panel.trend": "Динамика по дням",
14020
+ "range.14d": "14 д",
14021
+ "range.180d": "180 д",
14022
+ "range.30d": "30 д",
14023
+ "range.365d": "1 г",
14024
+ "range.7d": "7 д",
14025
+ "range.90d": "90 д",
14026
+ "range.all": "Все",
14027
+ "sessionId.badgeAria": "ID сессии: {id}",
14028
+ "sessionId.copied": "Скопировано",
14029
+ "sessionId.copy": "Скопировать ID сессии",
14030
+ "sessions.childrenCount": "Субагентов: {n}",
14031
+ "sessions.collapseChildren": "Скрыть субагентов",
14032
+ "sessions.detailDates": "По датам",
14033
+ "sessions.detailEmpty": "Для этой сессии использования нет",
14034
+ "sessions.detailModels": "По моделям",
14035
+ "sessions.expandChildren": "Показать субагентов: {n}",
14036
+ "settings.clear": "Очистить реестр",
14037
+ "settings.clearAction": "Очистить реестр",
14038
+ "settings.clearCancel": "Отмена",
14039
+ "settings.clearConfirm": "Подтвердить очистку",
14040
+ "settings.clearConfirmAck": "Я понимаю, что это очистит все данные об использовании без перестроения",
14041
+ "settings.clearConfirmDesc": "Очищает все данные реестра и обнуляет статистику без повторного сканирования истории. Это действие нельзя отменить; им пользуются, чтобы начать подсчёт заново. Продолжить?",
14042
+ "settings.clearConfirmTitle": "Очистить реестр?",
14043
+ "settings.cleared": "Очищено",
14044
+ "settings.clearHint": "Очистить все данные реестра (события и метаданные сессий) и обнулить статистику без повторного сканирования истории",
14045
+ "settings.clearing": "Очистка…",
14046
+ "settings.configCancel": "Отмена",
14047
+ "settings.configConfirm": "Подтвердить импорт",
14048
+ "settings.configCopied": "Скопировано",
14049
+ "settings.configCopy": "Копировать",
14050
+ "settings.configCopyFailed": "Не удалось скопировать — выделите всё в поле выше и скопируйте вручную",
14051
+ "settings.configErrorBase64": "Строку конфигурации не удалось разобрать; проверьте, что скопирована целиком — без переносов строк и посторонних символов",
14052
+ "settings.configErrorEmpty": "Пока ничего не вставлено — сначала вставьте строку конфигурации",
14053
+ "settings.configErrorFormat": "Это не строка конфигурации этого плагина; проверьте, откуда она взялась",
14054
+ "settings.configErrorPayload": "Содержимое строки конфигурации повреждено, восстановить из неё настройки нельзя",
14055
+ "settings.configErrorVersion": "Версия строки конфигурации не соответствует этому плагину, поэтому импортировать её нельзя",
14056
+ "settings.configExport": "Экспортировать строку конфигурации",
14057
+ "settings.configExportedAt": "Экспортировано {time}",
14058
+ "settings.configExportHint": "Кодирует текущие настройки в одну строку текста, которую можно скопировать на другое устройство или развёртывание; в ней нет ни учётных данных, ни данных об использовании",
14059
+ "settings.configGenerate": "Создать строку",
14060
+ "settings.configImport": "Импортировать строку конфигурации",
14061
+ "settings.configImported": "Строка конфигурации импортирована",
14062
+ "settings.configImportHint": "После вставки строки конфигурации и подтверждения текущие настройки полностью заменяются настройками из этой строки",
14063
+ "settings.configParse": "Импортировать",
14064
+ "settings.configPastePlaceholder": "Вставьте сюда строку конфигурации",
14065
+ "settings.configPreview": "Это перезапишет настройки: {count}, из них {fields} отличаются от текущих значений",
14066
+ "settings.configPreviewSame": "Совпадает с текущими настройками — импортировать нечего",
14067
+ "settings.configReadonlyHint": "Конфигурация на сервере сейчас доступна только для чтения, поэтому импорт недоступен; экспорт по-прежнему работает",
14068
+ "settings.configStringExport": "Экспортированная строка конфигурации",
14069
+ "settings.configStringImport": "Строка конфигурации для импорта",
14070
+ "settings.configTransfer": "Перенос конфигурации",
14071
+ "settings.intervalMinHint": "Не менее {min} мин",
14072
+ "settings.ledgerBusyHint": "Идёт сканирование журналов сессий; очистка и перестроение недоступны до его завершения",
14073
+ "settings.ledgerOps": "Операции с реестром",
14074
+ "settings.modelRedirects": "Перенаправление статистики по моделям",
14075
+ "settings.modelRedirectsAdd": "Добавить правило",
14076
+ "settings.modelRedirectsDuplicate": "Для этого источника уже есть правило; применяется только самое верхнее",
14077
+ "settings.modelRedirectsEmpty": "Перенаправлений пока нет — вкладка «Модели» считает каждого провайдера и каждую модель отдельно",
14078
+ "settings.modelRedirectsHint": "Считать использование одного провайдера или модели под другим провайдером или моделью; это влияет на вкладку «Модели» и таблицы по моделям в деталях по датам и сессиям, а реестр хранит исходные данные",
14079
+ "settings.modelRedirectsIncomplete": "Вступит в силу, когда будут заполнены все четыре поля",
14080
+ "settings.modelRedirectsMax": "Правил: не более {max}",
14081
+ "settings.monitorColEnable": "Следить",
14082
+ "settings.monitorColInterval": "Интервал",
14083
+ "settings.monitorColItem": "Пункт",
14084
+ "settings.monitorColSidebar": "В боковой панели",
14085
+ "settings.monitorEnabledCount": "включено {on} из {total}",
14086
+ "settings.monitorGroup": "Мониторинг квоты",
14087
+ "settings.monitorHint": "Отключение мониторинга прекращает опрос этой конечной точки. «Показывать в боковой панели» влияет только на нижние метки; панель всегда показывает данные.",
14088
+ "settings.monitorSubDeepSeek": "Баланс учётной записи",
14089
+ "settings.monitorSubGo": "Скользящий лимит 5 ч / недельный лимит / месячный лимит",
14090
+ "settings.monitorSubZai": "Скользящий лимит 5 ч / недельный лимит / веб-поиск",
14091
+ "settings.rebuild": "Перестроить реестр",
14092
+ "settings.rebuildAction": "Перестроить реестр",
14093
+ "settings.rebuildCancel": "Отмена",
14094
+ "settings.rebuildConfirm": "Перестроить",
14095
+ "settings.rebuildConfirmAck": "Я понимаю, что это очистит и перестроит все данные об использовании",
14096
+ "settings.rebuildConfirmDesc": "Очищает поток событий и метаданные сессий, затем пересканирует все журналы сессий за всё время, чтобы перестроить реестр и статистику. Это действие нельзя отменить. Продолжить?",
14097
+ "settings.rebuildConfirmTitle": "Перестроить реестр?",
14098
+ "settings.rebuildHint": "Очистить поток событий и метаданные сессий, затем пересканировать все журналы сессий, чтобы перестроить реестр и статистику",
14099
+ "settings.rebuilding": "Перестроение…",
14100
+ "settings.rebuilt": "Перестроено",
14101
+ "settings.redirectFrom": "Откуда",
14102
+ "settings.redirectModel": "Модель",
14103
+ "settings.redirectPick": "Выберите из списка или введите значение",
14104
+ "settings.redirectProvider": "Провайдер",
14105
+ "settings.redirectRemove": "Удалить это правило",
14106
+ "settings.redirectTo": "Куда",
14107
+ "settings.sessionGroup": "Сессия",
14108
+ "settings.showSessionId": "Показывать ID сессии рядом с её заголовком",
14109
+ "settings.showSessionIdHint": "Когда выключено, справа от заголовка сессии не показывается метка с ID сессии",
14110
+ "settings.storageReadonly": "Конфигурация профиля на сервере сейчас доступна только для чтения; изменения не сохранятся",
14111
+ "settings.storageUnavailable": "Это подключение не может прочитать конфигурацию профиля на сервере; изменения действуют только до закрытия этой страницы",
14112
+ "settings.unitMinutes": "мин",
14113
+ "state.loading": "Загрузка…",
14114
+ "state.missingSessions": "Сессий не прочитано: {n}",
14115
+ "state.noKey": "Нет ключа API",
14116
+ "state.noPlan": "Подписки нет",
14117
+ "state.noUsage": "Данных об использовании пока нет",
14118
+ "state.scanning": "Сканирование…",
14119
+ "state.unavailable": "Данные недоступны, повторяем…",
14120
+ "tab.dates": "Даты",
14121
+ "tab.models": "Модели",
14122
+ "tab.overview": "Обзор",
14123
+ "tab.sessions": "Сессии",
14124
+ "tab.settings": "Настройки",
14125
+ "table.avgPerCall": "На запрос",
14126
+ "table.cacheRead": "Кэш",
14127
+ "table.calls": "Запросы",
14128
+ "table.hitRate": "Доля попаданий",
14129
+ "table.input": "Ввод",
14130
+ "table.lastActive": "Последняя активность",
14131
+ "table.model": "Модель / Провайдер",
14132
+ "table.output": "Вывод",
14133
+ "table.session": "Сессия",
14134
+ "table.share": "Доля",
14135
+ "table.total": "Всего",
14136
+ "time.today": "Сегодня",
14137
+ "time.yesterday": "Вчера",
14138
+ "updatedAt": "Обновлено",
14139
+ "zai.label": "Квота Z.ai",
14140
+ "zai.noData": "Нет данных о квоте",
14141
+ "zai.planName": "GLM Coding Plan",
14142
+ "zai.refresh": "Обновить квоту",
14143
+ "zai.resetsAt": "Сброс {time}",
14144
+ "zai.session": "Скользящий лимит 5 ч",
14145
+ "zai.short.label": "Z.ai",
14146
+ "zai.short.session": "5 ч",
14147
+ "zai.short.webSearches": "П",
14148
+ "zai.short.weekly": "Нед",
14149
+ "zai.title": "Квота Z.ai",
14150
+ "zai.webSearches": "Веб-поиск",
14151
+ "zai.webSearchesCount": "Поисков: {used} / {limit}",
14152
+ "zai.weekly": "Эта неделя"
14153
+ },
14154
+ "plugin-store": {
14155
+ "dialog.close": "Закрыть магазин плагинов",
14156
+ "header.open": "Открыть магазин плагинов",
14157
+ "header.title": "Магазин плагинов DSH",
14158
+ "settings.tab": "Магазин плагинов",
14159
+ "store.analyzeFailed": "Передача в AGENT недоступна",
14160
+ "store.analyzeHint": "Отправьте эту ошибку в новую сессию AGENT для диагностики.",
14161
+ "store.analyzeSent": "Отправлено в AGENT",
14162
+ "store.analyzeWithAgent": "Попросить AGENT проанализировать",
14163
+ "store.analyzing": "Создание сессии AGENT…",
14164
+ "store.cancel": "Отмена",
14165
+ "store.category": "Категория",
14166
+ "store.categoryAll": "Все категории",
14167
+ "store.confirmInstall": "Установить плагин",
14168
+ "store.confirmRemove": "Удалить плагин",
14169
+ "store.confirmUpdate": "Обновить плагин",
14170
+ "store.copied": "Ссылка для установки скопирована",
14171
+ "store.copyInstall": "Скопировать ссылку для установки",
14172
+ "store.disclaimer": "Наличие в списке не подтверждает установку, совместимость, безопасность или качество.",
14173
+ "store.done": "Готово",
14174
+ "store.empty": "Нет проектов, подходящих под эти фильтры",
14175
+ "store.install": "Установить",
14176
+ "store.installed": "Установлен",
14177
+ "store.installedLoadFailed": "Список установленных плагинов недоступен",
14178
+ "store.installedOnly": "Только установленные",
14179
+ "store.installFailed": "Установка не удалась",
14180
+ "store.installing": "Установка…",
14181
+ "store.installSuccess": "Установка завершена. Перезапустите DSH Web, чтобы активировать плагин.",
14182
+ "store.loadFailed": "Не удалось загрузить каталог",
14183
+ "store.loading": "Загрузка каталога плагинов…",
14184
+ "store.loadMore": "Показать ещё",
14185
+ "store.openDetails": "Открыть сведения о магазине",
14186
+ "store.refresh": "Обновить каталог",
14187
+ "store.refreshFailed": "Не удалось обновить каталог; показаны последние успешно загруженные данные",
14188
+ "store.remove": "Удалить плагин",
14189
+ "store.removeDetail": "Изменяется только зависимость в текущем профиле. Перезапустите DSH Web, прежде чем удаление вступит в силу.",
14190
+ "store.removeFailed": "Удаление не удалось",
14191
+ "store.removeLead": "Плагин будет удалён из текущего профиля DSH Web.",
14192
+ "store.removeSuccess": "Удаление завершено. Перезапустите DSH Web, чтобы применить изменение.",
14193
+ "store.removeTitle": "Удалить плагин",
14194
+ "store.removing": "Удаление…",
14195
+ "store.results": "Проектов: {visible} / {total}",
14196
+ "store.retry": "Повторить",
14197
+ "store.riskAcknowledge": "Я понимаю риск и хочу установить этот сторонний плагин",
14198
+ "store.riskDetail": "Наличие плагина в каталоге не заменяет проверку безопасности, совместимости и качества. Установленный код работает с правами процесса DSH, а DSH Web нужно перезапустить, чтобы плагин вступил в силу.",
14199
+ "store.riskLead": "Сторонний код из репозитория будет установлен в текущий профиль DSH Web.",
14200
+ "store.riskTitle": "Подтверждение риска стороннего плагина",
14201
+ "store.search": "Поиск по названию, владельцу, описанию или теме",
14202
+ "store.sort": "Сортировка",
14203
+ "store.sortName": "Название",
14204
+ "store.sortRecommended": "Рекомендуемые",
14205
+ "store.sortStars": "Звёзды",
14206
+ "store.sortUpdated": "Недавно обновлённые",
14207
+ "store.stars": "Звёзд: {count}",
14208
+ "store.topicListed": "Указана тема",
14209
+ "store.update": "Обновить",
14210
+ "store.updateAvailable": "Доступно обновление",
14211
+ "store.updated": "Каталог обновлён {date}",
14212
+ "store.updateRiskDetail": "Обновление заменит версию плагина в этом профиле. Перезапустите DSH Web, прежде чем оно вступит в силу.",
14213
+ "store.updateRiskLead": "Более новая редакция стороннего репозитория будет установлена в текущий профиль DSH Web.",
14214
+ "store.updateRiskTitle": "Подтверждение обновления стороннего плагина",
14215
+ "store.updateSuccess": "Обновление завершено. Перезапустите DSH Web, чтобы активировать плагин.",
14216
+ "store.updating": "Обновление…",
14217
+ "store.validation.check-failed": "Проверка структуры не пройдена",
14218
+ "store.validation.check-pending": "Проверка структуры в ожидании",
14219
+ "store.validation.check-running": "Проверка структуры",
14220
+ "store.validation.expired": "Требуется повторная проверка",
14221
+ "store.validation.inconclusive": "Требуется просмотр",
14222
+ "store.validation.not-applicable": "Вне проверки плагинов",
14223
+ "store.validation.recorded": "Запись о проверке доступна",
14224
+ "store.validation.sandbox-failed": "Проверка в песочнице не пройдена",
14225
+ "store.validation.sandbox-pending": "Проверка в песочнице в ожидании",
14226
+ "store.validation.sandbox-running": "Идёт проверка в песочнице",
14227
+ "store.validation.security-review": "Проверка безопасности",
14228
+ "store.validation.unrecognized": "Требуется распознавание",
14229
+ "store.validation.verified": "Проверено",
14230
+ "store.verified": "Проверен",
14231
+ "store.verifiedOnly": "Только проверенные"
14232
+ },
14233
+ "skills-manager": {
14234
+ "error.repo.capacity": "Отслеживание источников превышает 16 МБ. Сначала удалите ненужные записи корзины или устаревшие идентификаторы. Активные копии установки сохраняются.",
14235
+ "error.repo.conflict": "Навык с таким именем уже существует или установка не удалась. Локальные файлы не перезаписаны.",
14236
+ "error.repo.enableState": "Скопированный навык удалён, потому что не удалось сохранить его состояние включения. Восстановите доступ на запись на диск и установите навык снова.",
14237
+ "error.repo.installState": "Файлы навыка сохранены, но отслеживание источника записать не удалось. Восстановите доступ на запись на диск и снова откройте «Репозитории», чтобы проверить файлы и восстановить запись.",
14238
+ "error.repo.invalid": "Недопустимый адрес, путь или содержимое репозитория. Проверьте введённые данные и размер репозитория.",
14239
+ "error.repo.modified": "Обнаружены локальные правки. Просмотрите их и подтвердите замену с созданием резервной копии.",
14240
+ "error.repo.network": "Запрос к репозиторию не удался. Проверьте подключение или повторите попытку позже. Предыдущий каталог сохранён.",
14241
+ "error.repo.state": "Состояние репозитория повреждено или недоступно для чтения. Сохраните файл и восстановите его перед повторной попыткой.",
14242
+ "error.repo.tooLarge": "Архив репозитория превышает 32 МБ. Выберите репозиторий поменьше; фильтр по подкаталогу не уменьшает объём загрузки.",
14243
+ "repo.add": "Добавить репозиторий",
14244
+ "repo.added": "Добавлен",
14245
+ "repo.all": "Все репозитории",
14246
+ "repo.available": "Доступен",
14247
+ "repo.cancel": "Отмена",
14248
+ "repo.catalog.downloads": "загрузок",
14249
+ "repo.catalog.empty": "ClawHub не вернул подходящих навыков.",
14250
+ "repo.catalog.installRefreshWarning": "Установлено и включено, но список не удалось обновить. Снова откройте «Обзор навыков»; не устанавливайте повторно.",
14251
+ "repo.catalog.installs": "установок",
14252
+ "repo.catalog.loadError": "Не удалось загрузить рейтинг ClawHub. Проверьте подключение и повторите попытку.",
14253
+ "repo.catalog.loading": "Загрузка рейтинга ClawHub…",
14254
+ "repo.catalog.loadingMore": "Загрузка ещё…",
14255
+ "repo.catalog.loadMore": "Загрузить ещё 10",
14256
+ "repo.catalog.reassociate": "Выберите назначение и переустановите, чтобы перепривязать",
14257
+ "repo.catalog.retry": "Повторить",
14258
+ "repo.catalog.searchClawhub": "Поиск навыков ClawHub",
14259
+ "repo.catalog.searchEmpty": "Подходящих навыков ClawHub не найдено.",
14260
+ "repo.catalog.searchError": "Поиск в ClawHub не удался. Повторите попытку.",
14261
+ "repo.catalog.searchLoading": "Поиск в ClawHub…",
14262
+ "repo.catalog.searchSkillsh": "Поиск на skills.sh",
14263
+ "repo.catalog.skillshEmpty": "Подходящих навыков skills.sh не найдено.",
14264
+ "repo.catalog.skillshError": "Поиск на skills.sh не удался. Повторите попытку.",
14265
+ "repo.catalog.skillshLoading": "Поиск на skills.sh…",
14266
+ "repo.catalog.stars": "звёзд",
14267
+ "repo.catalog.states": "Все статусы",
14268
+ "repo.catalog.uninstalled": "Не установлен",
14269
+ "repo.catalog.uninstallRefreshWarning": "Перемещено в корзину, но список не удалось обновить. Обновите список навыков или снова откройте «Настройки»; не удаляйте повторно.",
14270
+ "repo.catalog.unknownHint": "У некоторых старых установок из каталога неизвестно расположение. Найдите навык и выберите назначение, чтобы переустановить и перепривязать его.",
14271
+ "repo.catalog.unknownLocation": "Расположение неизвестно",
14272
+ "repo.close": "Закрыть",
14273
+ "repo.commit": "Версия снимка",
14274
+ "repo.confirmRollback": "Создать резервную копию и восстановить",
14275
+ "repo.confirmUninstall": "Переместить в корзину",
14276
+ "repo.confirmUpdate": "Создать резервную копию и обновить",
14277
+ "repo.conflict": "Конфликт имён",
14278
+ "repo.defaultBranch": "Оставьте пустым для ветки по умолчанию",
14279
+ "repo.defaultBranchLabel": "ветка по умолчанию",
14280
+ "repo.destinationUnavailable": "Исходный проект не зарегистрирован или недоступен. Зарегистрируйте его снова на боковой панели и обновите страницу, чтобы управлять этой копией.",
14281
+ "repo.detail": "Подробности",
14282
+ "repo.detailLoading": "Загрузка инструкций навыка…",
14283
+ "repo.directory": "Подкаталог навыка (необязательно)",
14284
+ "repo.directoryHint": "Например: skills. Оставьте пустым, чтобы просканировать репозиторий.",
14285
+ "repo.empty": "Репозиториев пока нет. Добавьте публичный репозиторий GitHub, чтобы начать.",
14286
+ "repo.footer": "Обновление проверяет репозитории и обновления навыков, не заменяя локальные файлы. Исторические резервные копии не удаляются автоматически и занимают дополнительное место на диске.",
14287
+ "repo.hint": "Находите навыки в подключённых репозиториях GitHub или в общественных реестрах навыков и устанавливайте их в пользовательские навыки DSH, в «Общий агент» или в .dsh/skills зарегистрированного проекта.",
14288
+ "repo.install": "Установить",
14289
+ "repo.installDestination": "Назначение установки",
14290
+ "repo.installed": "Установлен",
14291
+ "repo.installElsewhere": "Установить в другое место",
14292
+ "repo.installHint": "Навыки могут содержать скрипты. Прочитайте инструкции и убедитесь, что доверяете источнику, перед установкой. Ресурсы копируются; скрипты не выполняются.",
14293
+ "repo.installing": "Установка…",
14294
+ "repo.installLocationsHint": "В пользовательских каталогах доступны навыки DSH или «Общий агент»; зарегистрированные проекты пишут только в .dsh/skills. Выбор показывает реальные пути. Отсутствующие каталоги создаются после подтверждения. Небезопасные пути выбрать нельзя.",
14295
+ "repo.installProgress": "Чтение и проверка файлов навыка. Подождите…",
14296
+ "repo.installSuccess": "Установлено и включено. Вызывайте его из меню слэш-команд.",
14297
+ "repo.invalid": "Недопустимый формат",
14298
+ "repo.loading": "Выполняется…",
14299
+ "repo.local": "Локальный",
14300
+ "repo.manage": "Управление репозиториями",
14301
+ "repo.manageUpdate": "Управление обновлениями",
14302
+ "repo.modified": "Обнаружены локальные правки. Замена перезапишет текущие файлы и сохранит полную резервную копию для восстановления.",
14303
+ "repo.modifiedFile": "Изменён",
14304
+ "repo.noChanges": "Изменений файлов нет.",
14305
+ "repo.noSkills": "Подходящих навыков нет. Обновите репозиторий или измените фильтры.",
14306
+ "repo.notScanned": "Ещё не просканирован",
14307
+ "repo.overwrite": "Сохранить резервную копию локальных правок и заменить",
14308
+ "repo.ref": "Ветка или метка (необязательно)",
14309
+ "repo.refresh": "Обновить и проверить обновления",
14310
+ "repo.refreshed": "Проверка и обновление завершены",
14311
+ "repo.refreshing": "Проверка обновлений…",
14312
+ "repo.remove": "Удалить репозиторий",
14313
+ "repo.removeConfirm": "Подтвердить удаление",
14314
+ "repo.removed": "Удалён",
14315
+ "repo.removeHint": "Это удалит только подписку. Установленные навыки сохранятся.",
14316
+ "repo.review": "Просмотреть обновление",
14317
+ "repo.rollback": "Восстановить предыдущую версию",
14318
+ "repo.rollbackSuccess": "Предыдущая версия восстановлена.",
14319
+ "repo.rootAgents": "Общий агент",
14320
+ "repo.rootDsh": "Навыки DSH",
14321
+ "repo.rootDshHint": "Только для DSH. В пути используется ваш текущий DSH_HOME.",
14322
+ "repo.rootExternalHint": "Другие агенты, которые используют этот каталог, тоже смогут читать этот навык.",
14323
+ "repo.save": "Добавить и просканировать",
14324
+ "repo.scope.project": "Проект",
14325
+ "repo.scope.user": "Глобально",
14326
+ "repo.search": "Поиск навыков репозитория",
14327
+ "repo.sort.installs": "Установок: от большего к меньшему",
14328
+ "repo.sort.name": "Название по алфавиту",
14329
+ "repo.source": "Установлен из",
14330
+ "repo.source.agents": "Общий агент",
14331
+ "repo.source.dsh": "DSH",
14332
+ "repo.states": "Все статусы",
14333
+ "repo.subsource.catalogNote": "Рейтинг загрузок ClawHub × до 100; сортировка затрагивает только показанные элементы",
14334
+ "repo.subsource.clawhub": "ClawHub",
14335
+ "repo.subsource.github": "Репозитории GitHub",
14336
+ "repo.subsource.popular": "Топ-100 по загрузкам",
14337
+ "repo.subsource.skillsh": "skills.sh",
14338
+ "repo.success": "Завершено",
14339
+ "repo.uninstall": "Удалить",
14340
+ "repo.uninstallExternalWarning": "Удаление этого навыка затрагивает и других агентов, использующих выбранный каталог.",
14341
+ "repo.uninstallHint": "В корзину переместится только отслеживаемая установленная копия этого репозитория вместе с локальными правками. Позже её можно восстановить из корзины.",
14342
+ "repo.uninstalling": "Удаление…",
14343
+ "repo.uninstallProgress": "Перемещение установленного навыка в корзину. Подождите…",
14344
+ "repo.uninstallSuccess": "Навык перемещён в корзину. Его можно восстановить из корзины.",
14345
+ "repo.update": "Доступно обновление",
14346
+ "repo.updated": "Последнее обновление",
14347
+ "repo.updateProgress": "Проверка, резервное копирование и замена файлов. Подождите…",
14348
+ "repo.updateSuccess": "Обновлено. Предыдущая версия сохранена в резервной копии.",
14349
+ "repo.updating": "Обновление…",
14350
+ "repo.url": "Адрес репозитория",
14351
+ "scope.repositories": "Обзор навыков"
12842
14352
  }
12843
14353
  };
12844
14354
  //#endregion
@@ -13213,6 +14723,50 @@ window.__ModuleLoader__.load({
13213
14723
  }
13214
14724
  };
13215
14725
  //#endregion
14726
+ //#region src/client/plugin-names-ru.json
14727
+ var pairs = {
14728
+ "AI Image Studio": "Студия ИИ-изображений",
14729
+ "Approval Gate": "Шлюз подтверждений",
14730
+ "Context Lens": "Линза контекста",
14731
+ "Cost Meter": "Счётчик расходов",
14732
+ "Ensemble model orchestration: parallel candidate proposals + judge synthesis via /moa <prompt>.": "Оркестрация ансамбля агентов: параллельные предложения кандидатов и синтез судьи по команде /moa <запрос>.",
14733
+ "GitHub ops": "Работа с GitHub",
14734
+ "Gitea or Forgejo tools and credentials.": "Инструменты и учётные данные Gitea или Forgejo.",
14735
+ "Goal Mode & Autonomous Loop": "Режим цели и автономный цикл",
14736
+ "Grok X Search & Intelligence Suite": "Grok X Search и набор инструментов аналитики",
14737
+ "Interactive in-browser canvas for real-time preview of HTML (with Tailwind CSS & Lucide icons), React components, SVGs, and diagrams with workspace file discovery, session switcher, props controls, visual diffs, device matrix, AI mock data, 1-click Vite project packager, and Better Sidebar integration.": "Интерактивный холст прямо в браузере для предпросмотра в реальном времени: HTML (с Tailwind CSS и иконками Lucide), компоненты React, SVG и схемы, а также поиск файлов рабочей области, переключатель сессий, управление свойствами, визуальные различия, матрица устройств, фиктивные данные от ИИ, сборка проекта Vite в один клик и интеграция с Better Sidebar.",
14738
+ "Issue Reporter": "Отчёты о проблемах",
14739
+ "Kanban": "Канбан",
14740
+ "Key Limits": "Лимиты ключей",
14741
+ "Key Rotation": "Ротация ключей",
14742
+ "Live Canvas Preview": "Предпросмотр живого холста",
14743
+ "Messenger gateway": "Шлюз мессенджеров",
14744
+ "Mixture of Agents (MoA)": "Ансамбль агентов (MoA)",
14745
+ "Model synchronization": "Синхронизация моделей",
14746
+ "Per-provider API key rotation. For each provider, list its API keys (env names, stored in DSH credentials). The plugin routes a model through that provideru2019s keys in order and switches to the next on a quota/rate-limit failure.": "Ротация ключей API по провайдерам. Для каждого провайдера перечислите его ключи API (имена переменных окружения, хранящиеся в учётных данных DSH). Плагин направляет модель по ключам этого провайдера по порядку и переключается на следующий при отказе по квоте или лимиту запросов.",
14747
+ "Plugin Market": "Магазин плагинов",
14748
+ "Refresh model catalogs for API-key providers. A dry-run is the default; applying changes is explicit.": "Обновить каталоги моделей для провайдеров с API-ключом. По умолчанию выполняется пробный прогон; изменения применяются явно.",
14749
+ "Remote Workspace": "Удалённая рабочая область",
14750
+ "Remote access": "Удалённый доступ",
14751
+ "Restart guard": "Сторож перезапуска",
14752
+ "Server Monitor": "Монитор серверов",
14753
+ "Shadow Security Auditor": "Теневой аудитор безопасности",
14754
+ "Skill switches": "Переключатели навыков",
14755
+ "Speech": "Речь",
14756
+ "Subscriptions": "Подписки",
14757
+ "Telegram bot: text, voice, photos, documents, and interactive asks.": "Бот Telegram: текст, голос, фотографии, документы и интерактивные вопросы.",
14758
+ "Time Machine & Checkpoints": "Машина времени и точки отката",
14759
+ "Toggle personal directive": "Переключение личной директивы",
14760
+ "Turn a DSH plugin problem into a reviewable issue with automated diagnostics and previews.": "Оформите проблему с плагином DSH как задачу для проверки — с автоматической диагностикой и предпросмотром.",
14761
+ "Univer Preview": "Просмотр Univer",
14762
+ "Usage Guard": "Сторож расхода",
14763
+ "Verified restart: the boot is checked, the verdict comes back to the session that asked, and the work resumes.": "Проверенный перезапуск: запуск проверяется, вердикт возвращается в сессию, которая его запросила, и работа продолжается.",
14764
+ "Vision": "Зрение",
14765
+ "Voice": "Голос",
14766
+ "Web Gateway": "Веб-шлюз",
14767
+ "Web Plugins": "Веб-плагины"
14768
+ };
14769
+ //#endregion
13216
14770
  //#region src/client/typography.ts
13217
14771
  /**
13218
14772
  * Russian screen typography for translated strings.
@@ -13341,6 +14895,12 @@ window.__ModuleLoader__.load({
13341
14895
  *
13342
14896
  * The pass follows the active language like the typography pass: the names are Russian,
13343
14897
  * so an English interface must keep its English names.
14898
+ *
14899
+ * Two sources of names. `descriptor-ru.json` holds the plugins of the harness itself,
14900
+ * whose descriptions the harness publishes. `plugin-names-ru.json` holds the
14901
+ * third-party plugins whose dictionaries this pack carries: the English text comes
14902
+ * from the plugin's own publication and the Russian from the same dictionary, so the
14903
+ * pair is the plugin's own wording and not a guess.
13344
14904
  */
13345
14905
  /**
13346
14906
  * The texts the pass replaces, longest English first: a shorter name that is a prefix
@@ -13357,6 +14917,14 @@ window.__ModuleLoader__.load({
13357
14917
  russian
13358
14918
  });
13359
14919
  }
14920
+ const pairs$1 = pairs ?? {};
14921
+ for (const [english, russian] of Object.entries(pairs$1)) {
14922
+ if (english === russian) continue;
14923
+ texts.push({
14924
+ english,
14925
+ russian
14926
+ });
14927
+ }
13360
14928
  return texts.sort((left, right) => right.english.length - left.english.length);
13361
14929
  }
13362
14930
  /** Every text the pass knows, by its English form. */