@goodandready/dsh-russian-lang 0.1.32 → 0.2.0
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 +60 -20
- package/lib/pure.js +15 -9
- package/package.json +2 -2
- package/ru-plugins/03-dshmarket.json +431 -257
- package/ru-plugins/04-context-doctor.json +63 -35
- package/ru-plugins/07-better-sidebar.json +355 -241
- package/ru-plugins/13-agent-teams.json +193 -0
- package/ru-plugins/14-ollama-cloud.json +72 -0
- package/ru-plugins/15-commandcode.json +112 -0
- package/ru-plugins/16-usage-stats.json +126 -0
- package/ru-plugins/17-dsh-context.json +253 -0
- package/ru-plugins/18-opencode-palette.json +31 -0
- package/ru-plugins/19-univer-office.json +57 -0
- package/ru-plugins/20-skill-explorer.json +57 -0
- package/ru-plugins/21-auto-collapse.json +16 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
{
|
|
2
|
+
"agentTeams": {
|
|
3
|
+
"action.openActivityPanel": "Открыть панель активности",
|
|
4
|
+
"activity.badgeAria": "Активность и история команд агентов, {count} записей команд",
|
|
5
|
+
"activity.collapse": "Свернуть панель активности",
|
|
6
|
+
"activity.dockRight": "Закрепить справа",
|
|
7
|
+
"activity.empty": "Нет активности команды",
|
|
8
|
+
"activity.float": "Переключиться на плавающую панель",
|
|
9
|
+
"activity.panelAria": "Панель активности команд агентов",
|
|
10
|
+
"activity.panelButton": "Панель активности",
|
|
11
|
+
"activity.title": "Активность команд агентов",
|
|
12
|
+
"archive.discardedLabel": "План отменен · Архивная история",
|
|
13
|
+
"archive.label": "Завершено · Архивная история",
|
|
14
|
+
"assignment.discarded": "План отклонён",
|
|
15
|
+
"assignment.empty": "Нет задач",
|
|
16
|
+
"assignment.label": "Капитан назначен",
|
|
17
|
+
"assignment.staged": "Запланировано",
|
|
18
|
+
"captain.name": "Капитан",
|
|
19
|
+
"captain.role": "Разделить · Делегировать · Синтезировать",
|
|
20
|
+
"captain.state.awaitingFeedback": "Ожидание отзыва",
|
|
21
|
+
"captain.state.collected": "Все полученные отчеты",
|
|
22
|
+
"captain.state.discarded": "Отменено",
|
|
23
|
+
"captain.state.settled": "Завершено",
|
|
24
|
+
"captain.state.staged": "Ожидает одобрения",
|
|
25
|
+
"captain.state.takeover": "Работаю над {tasks}",
|
|
26
|
+
"captain.state.waiting": "Ожидание отчетов",
|
|
27
|
+
"captain.state.working": "{count} активных",
|
|
28
|
+
"captain.summary": "Назначено {tasks} задач {members} участникам",
|
|
29
|
+
"captain.summary.awaitingFeedback": "Черновой вариант сохранен; ожидаем ваших указаний по доработке в чате",
|
|
30
|
+
"captain.summary.discarded": "План отклонён: {members} участников не созданы и {tasks} задач не выполнены",
|
|
31
|
+
"captain.summary.staged": "Запланировано {tasks} задач и {members} участников; ожидают утверждения",
|
|
32
|
+
"captain.summary.withTakeover": "Назначено {tasks} участникам · Капитан владеет {captainTasks}",
|
|
33
|
+
"card.memberCount": "{count} участников",
|
|
34
|
+
"delegation.aria": "Карта делегирования капитана",
|
|
35
|
+
"dependency.aria": "Цепочка зависимостей задач",
|
|
36
|
+
"dependency.hint.chain": "Наведите для подсветки зависимостей · Нажмите, чтобы закрепить",
|
|
37
|
+
"dependency.hint.parallel": "Нет зависимостей · Нажмите для подробностей",
|
|
38
|
+
"dependency.hint.pinned": "{taskId} закреплена · Esc для сброса",
|
|
39
|
+
"dependency.parallel": "Параллельные задачи",
|
|
40
|
+
"dependency.title": "Зависимости задач",
|
|
41
|
+
"format.listSeparator": ",",
|
|
42
|
+
"member.model": "{model}",
|
|
43
|
+
"member.state.delivered": "Доставлено",
|
|
44
|
+
"member.state.failed": "Имеются сбои",
|
|
45
|
+
"member.state.left": "Покинул команду",
|
|
46
|
+
"member.state.notCreated": "Не создано",
|
|
47
|
+
"member.state.pending": "Ожидание",
|
|
48
|
+
"member.state.removed": "Удалено",
|
|
49
|
+
"member.state.staged": "В плане (не создан)",
|
|
50
|
+
"member.state.stopped": "Остановлено",
|
|
51
|
+
"member.state.unassigned": "Ожидание назначения",
|
|
52
|
+
"member.state.waiting": "Ожидание",
|
|
53
|
+
"member.state.working": "Работает",
|
|
54
|
+
"member.status.delivered": "Задачи выполнены",
|
|
55
|
+
"member.status.discarded": "План отклонён; участник не был создан",
|
|
56
|
+
"member.status.executing": "Работа над {taskId}",
|
|
57
|
+
"member.status.executingModel": "Работа над {taskId} · {model}",
|
|
58
|
+
"member.status.idle": "Готовы продолжить",
|
|
59
|
+
"member.status.settled": "Вся назначенная работа выполнена",
|
|
60
|
+
"member.status.staged": "Будет создан после одобрения",
|
|
61
|
+
"member.status.stopped": "Команда остановлена; требуется явное возобновление",
|
|
62
|
+
"member.status.unknown": "Статус неизвестен",
|
|
63
|
+
"member.status.waitingAssignment": "Ожидание назначения работы от капитана",
|
|
64
|
+
"member.status.waitingOn": "Ожидание {taskId} · {assignee}",
|
|
65
|
+
"member.status.waitingPrerequisite": "Ожидание выполнения предварительных условий",
|
|
66
|
+
"member.status.working": "Работа над назначенными задачами",
|
|
67
|
+
"members.collapse": "Свернуть",
|
|
68
|
+
"members.empty": "Пока нет участников; ожидаем, пока капитан соберёт команду",
|
|
69
|
+
"members.expand": "Развернуть",
|
|
70
|
+
"members.toggle": "Участники {count}",
|
|
71
|
+
"plan.addTask": "Добавить задачу",
|
|
72
|
+
"plan.adding": "Добавление…",
|
|
73
|
+
"plan.approve": "Одобрить и запустить",
|
|
74
|
+
"plan.approveConfirm": "Подтвердить запуск",
|
|
75
|
+
"plan.approveConfirmTitle": "Подтвердить запуск команды",
|
|
76
|
+
"plan.approveHint": "Одобрение создаёт {members} участников и планирует {tasks} задачи.",
|
|
77
|
+
"plan.approveTitle": "План готов?",
|
|
78
|
+
"plan.approveWarning": "Маршруты участников и зависимости нельзя редактировать здесь после запуска.",
|
|
79
|
+
"plan.approving": "Создание участников…",
|
|
80
|
+
"plan.badge": "Ожидание подтверждения",
|
|
81
|
+
"plan.cancel": "Отмена",
|
|
82
|
+
"plan.continue": "Вернуться в чат и исправить",
|
|
83
|
+
"plan.dependencies.count": "{count} зависимостей",
|
|
84
|
+
"plan.dependencies.none": "Нет зависимостей",
|
|
85
|
+
"plan.description": "Участники не были созданы, и задачи не были назначены. Отредактируйте черновик здесь или вернитесь в чат и сообщите Капитану, что нужно изменить.",
|
|
86
|
+
"plan.discard": "Отменить этот план",
|
|
87
|
+
"plan.discardConfirm": "Отменить план",
|
|
88
|
+
"plan.discardConfirmTitle": "Отменить этот план?",
|
|
89
|
+
"plan.discardWarning": "План будет завершён и заархивирован. Участники не были созданы, и задачи выполняться не будут.",
|
|
90
|
+
"plan.discarding": "Отмена…",
|
|
91
|
+
"plan.failed": "Операция не удалась: {message}",
|
|
92
|
+
"plan.feedbackHint": "Капитан спросит в чате. После вашего ответа он пересмотрит этот черновик и снова будет ждать одобрения.",
|
|
93
|
+
"plan.feedbackTitle": "Ожидание ваших указаний по исправлению",
|
|
94
|
+
"plan.flow.aria": "Процесс запуска команды",
|
|
95
|
+
"plan.flow.review": "Просмотреть план",
|
|
96
|
+
"plan.flow.run": "Начать работу",
|
|
97
|
+
"plan.flow.spawn": "Создать участников",
|
|
98
|
+
"plan.member.model": "Модель",
|
|
99
|
+
"plan.member.prompt": "Роль подсказки",
|
|
100
|
+
"plan.member.provider": "Провайдер",
|
|
101
|
+
"plan.member.reasoning": "Усилие на рассуждение",
|
|
102
|
+
"plan.member.reasoningHint": "Оставьте пустым для значения по умолчанию; принимает low, medium, high, xhigh и другие.",
|
|
103
|
+
"plan.member.role": "Роль",
|
|
104
|
+
"plan.member.roleFallback": "Роль не установлена",
|
|
105
|
+
"plan.members.count": "{count} участников",
|
|
106
|
+
"plan.members.empty": "Пока нет запланированных участников",
|
|
107
|
+
"plan.members.title": "Участники и маршруты моделей",
|
|
108
|
+
"plan.model.back": "Назад",
|
|
109
|
+
"plan.model.choose": "Выберите модель",
|
|
110
|
+
"plan.model.currentUnavailable": "{provider}/{model} (нет в текущем каталоге)",
|
|
111
|
+
"plan.model.defaultReasoning": "Усилия по умолчанию при рассуждении",
|
|
112
|
+
"plan.model.empty": "Нет доступных моделей",
|
|
113
|
+
"plan.model.loading": "Загрузка моделей…",
|
|
114
|
+
"plan.model.modelDefault": "Модель по умолчанию ({effort})",
|
|
115
|
+
"plan.model.partialFailure": "{count} каталогов провайдеров не удалось загрузить",
|
|
116
|
+
"plan.model.providerDefault": "Провайдер по умолчанию",
|
|
117
|
+
"plan.model.retry": "Повторить",
|
|
118
|
+
"plan.model.route": "Маршрут: {provider}/{model}",
|
|
119
|
+
"plan.model.triggerAria": "Выберите модель участника, текущая {model}, уровень усилий для рассуждений {effort}",
|
|
120
|
+
"plan.newTask": "Новая тема задачи",
|
|
121
|
+
"plan.newTaskLabel": "Добавить запланированную задачу",
|
|
122
|
+
"plan.pendingEdits": "Сохраните текущие изменения перед запуском команды.",
|
|
123
|
+
"plan.readySummary": "{members} участников · {tasks} задач · {links} зависимостей",
|
|
124
|
+
"plan.remove": "Удалить",
|
|
125
|
+
"plan.removeConfirm": "Подтвердите удаление",
|
|
126
|
+
"plan.removeWarning": "Удаление {task} приведет к пересчету зависимостей ниже по цепочке.",
|
|
127
|
+
"plan.removed": "Задача удалена",
|
|
128
|
+
"plan.returnToChat": "Вернуться в чат",
|
|
129
|
+
"plan.save": "Сохранить",
|
|
130
|
+
"plan.saved": "План сохранён",
|
|
131
|
+
"plan.saving": "Сохранение…",
|
|
132
|
+
"plan.task.assignee": "Исполнитель",
|
|
133
|
+
"plan.task.dependencies": "ID задач зависимостей (через запятую)",
|
|
134
|
+
"plan.task.dependenciesHint": "Например, task-1, task-2; циклы отклонены",
|
|
135
|
+
"plan.task.description": "Описание задачи",
|
|
136
|
+
"plan.task.subject": "Тема задачи",
|
|
137
|
+
"plan.task.unassigned": "Общий пул задач",
|
|
138
|
+
"plan.taskAdded": "Задача добавлена",
|
|
139
|
+
"plan.tasks.count": "{count} задач · {links} зависимостей",
|
|
140
|
+
"plan.tasks.empty": "Нет запланированных задач",
|
|
141
|
+
"plan.tasks.title": "Задачи и зависимости",
|
|
142
|
+
"plan.title": "Проверка плана перед запуском",
|
|
143
|
+
"plan.unsaved": "Не сохранено",
|
|
144
|
+
"progress.aria": "Общий прогресс команды",
|
|
145
|
+
"progress.blocked": "■ Ожидание {count}",
|
|
146
|
+
"progress.delivered": "■ Доставлено {count}",
|
|
147
|
+
"progress.running": "■ В процессе {count}",
|
|
148
|
+
"progress.title": "Общий прогресс",
|
|
149
|
+
"task.assignee.unclaimed": "Невостребованные",
|
|
150
|
+
"task.detail.completed": "Завершено и доставлено",
|
|
151
|
+
"task.detail.noDownstream": "Нет последующих задач",
|
|
152
|
+
"task.detail.noPrerequisite": "Нет требований; готовы начать",
|
|
153
|
+
"task.detail.notRun": "План отменён; задача не была выполнена",
|
|
154
|
+
"task.detail.ready": "Предварительные условия выполнены; можно начинать",
|
|
155
|
+
"task.detail.unlocks": "Разблокирует {tasks} после завершения",
|
|
156
|
+
"task.detail.waitingOn": "Ожидание {tasks}",
|
|
157
|
+
"task.model": "Модель: {model}",
|
|
158
|
+
"task.runningAria": "Выполняется",
|
|
159
|
+
"task.status.cancelled": "Отменено",
|
|
160
|
+
"task.status.claimed": "Заявлено",
|
|
161
|
+
"task.status.completed": "Завершено",
|
|
162
|
+
"task.status.failed": "Не удалось",
|
|
163
|
+
"task.status.inProgress": "Выполняется",
|
|
164
|
+
"task.status.notRun": "Не запущено",
|
|
165
|
+
"task.status.pending": "Невостребованные",
|
|
166
|
+
"task.summary.allDelivered": "Все {count} задачи доставлены",
|
|
167
|
+
"task.summary.blocked": "{tasks} ожидают выполнения предварительных условий",
|
|
168
|
+
"task.summary.blockedAndRunning": "{tasks}{more} ожидают выполнения предварительных условий; другая работа уже начата",
|
|
169
|
+
"task.summary.discarded": "{count} запланированных задач отменено; ни одна не выполнена",
|
|
170
|
+
"task.summary.ended": "Итог: {completed} доставлено · {cancelled} отменено · {failed} не удалось",
|
|
171
|
+
"task.summary.failedSettled": "{count} ошибок; автоматический цикл остановлен",
|
|
172
|
+
"task.summary.more": "и ещё {count}",
|
|
173
|
+
"task.summary.ready": "{tasks} готовы к началу",
|
|
174
|
+
"task.summary.running": "{tasks} в процессе выполнения",
|
|
175
|
+
"task.summary.staged": "{count} запланированных задач ожидают утверждения",
|
|
176
|
+
"task.summary.waitingBreakdown": "Ожидание, пока капитан распределит работу",
|
|
177
|
+
"task.summary.waitingSchedule": "Ожидание следующего цикла планирования",
|
|
178
|
+
"team.discarded": "Отклонено",
|
|
179
|
+
"team.ended": "Завершено",
|
|
180
|
+
"team.stats.completed": "{completed}/{total} завершено",
|
|
181
|
+
"team.stats.members": "{count} участников",
|
|
182
|
+
"team.stats.messages": "{count} сообщений",
|
|
183
|
+
"team.stop": "Остановить команду",
|
|
184
|
+
"team.stopCancel": "Продолжать работу",
|
|
185
|
+
"team.stopConfirm": "Остановить команду",
|
|
186
|
+
"team.stopDescription": "Это отменяет {tasks} незавершённых задач и останавливает {members} работающих участников. Завершённые результаты сохраняются.",
|
|
187
|
+
"team.stopFailed": "Не удалось остановить команду: {message}",
|
|
188
|
+
"team.stopRequestFailed": "Сервер не смог остановить эту команду. Попробуйте снова.",
|
|
189
|
+
"team.stopTitle": "Остановить “{team}”?",
|
|
190
|
+
"team.stopped": "Остановлено",
|
|
191
|
+
"team.stopping": "Остановка…"
|
|
192
|
+
}
|
|
193
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"settings.ollama-cloud": {
|
|
3
|
+
"addModel": "Добавить модель вручную",
|
|
4
|
+
"apiKey": "API-ключ",
|
|
5
|
+
"apiKeyConfigured": "Настроено — введите новое значение для замены",
|
|
6
|
+
"apiKeyPending": "Введён новый ключ — теперь он используется для обнаружения; Сохранить для хранения",
|
|
7
|
+
"apiKeyPlaceholder": "Введите API-ключ",
|
|
8
|
+
"apiKeyUnset": "API-ключ не настроен",
|
|
9
|
+
"applySelected": "Применить выбранное",
|
|
10
|
+
"baseURL": "URL API",
|
|
11
|
+
"cancel": "Отмена",
|
|
12
|
+
"close": "Закрыть",
|
|
13
|
+
"collapse": "Свернуть настройки",
|
|
14
|
+
"connection": "Подключение",
|
|
15
|
+
"customized": "Пользовательский каталог",
|
|
16
|
+
"defaultEffort": "Стандартное мышление",
|
|
17
|
+
"description": "Родной API-ключ Ollama Cloud, конечная точка и каталог моделей.",
|
|
18
|
+
"discard": "Отменить",
|
|
19
|
+
"dragModel": "Перетащите для изменения порядка",
|
|
20
|
+
"expand": "Развернуть настройки",
|
|
21
|
+
"fetchEmpty": "Конечная точка не вернула ни одной модели.",
|
|
22
|
+
"fetchModels": "Получить доступные модели",
|
|
23
|
+
"fetchingModels": "Получение моделей…",
|
|
24
|
+
"inherited": "Использование составленного каталога",
|
|
25
|
+
"invalidApiKey": "API-ключ не может состоять только из пробелов.",
|
|
26
|
+
"invalidBaseURL": "Введите URL API HTTP или HTTPS.",
|
|
27
|
+
"invalidModel": "Каждая модель должна иметь уникальный ID и допустимые положительные значения мощностей.",
|
|
28
|
+
"loading": "Загрузка настроек плагина…",
|
|
29
|
+
"modelContext": "Контекстное окно",
|
|
30
|
+
"modelDetails": "Подробности",
|
|
31
|
+
"modelId": "ID модели",
|
|
32
|
+
"modelName": "Отображаемое имя",
|
|
33
|
+
"modelOutput": "Максимальная мощность",
|
|
34
|
+
"models": "Каталог моделей",
|
|
35
|
+
"pickerDescription": "Выберите модели, которые нужно оставить в этом каталоге.",
|
|
36
|
+
"pickerLoading": "Получение метаданных модели…",
|
|
37
|
+
"pickerTitle": "Выбрать каталог моделей",
|
|
38
|
+
"readOnly": "Настройки этого профиля доступны только для чтения.",
|
|
39
|
+
"remoteAccess": "Удалённые браузеры не могут изменять настройки плагинов: API конфигурации Harness работает только через локальный интерфейс. Откройте страницу на самом хосте или пробросьте её (ssh -L 3080:127.0.0.1:3080 user@host, затем откройте http://127.0.0.1:3080). Сохранённые там настройки продолжают работать в удалённых сеансах.",
|
|
40
|
+
"remove": "Удалить",
|
|
41
|
+
"requestFailed": "Не удалось выполнить запрос.",
|
|
42
|
+
"save": "Сохранить",
|
|
43
|
+
"saved": "Сохранено",
|
|
44
|
+
"saving": "Сохранение…",
|
|
45
|
+
"summaryModels": "{count} моделей",
|
|
46
|
+
"summaryOff": "Не настроено",
|
|
47
|
+
"summaryOn": "Настроено",
|
|
48
|
+
"thinking": "Рассуждение",
|
|
49
|
+
"title": "Ollama Облако",
|
|
50
|
+
"tools": "Инструменты",
|
|
51
|
+
"unavailable": "Этот профиль не предоставляет доступ к настройкам Ollama Cloud.",
|
|
52
|
+
"unsaved": "Несохранённые изменения",
|
|
53
|
+
"usage": "Использование облака",
|
|
54
|
+
"usageLoading": "Чтение использования…",
|
|
55
|
+
"usageModels": "Модели, использованные на этой неделе",
|
|
56
|
+
"usageNeedsRestart": "Использование отображается после перезагрузки этого плагина на работающем хосте (перезапустите dsh).",
|
|
57
|
+
"usageRefresh": "Обновить",
|
|
58
|
+
"usageRefreshFailed": "Не удалось обновить",
|
|
59
|
+
"usageRequests": "запросы",
|
|
60
|
+
"usageResetAt": "Сбросится через {time}",
|
|
61
|
+
"usageResetAtDays": "Лимиты использования сбросятся {date} (осталось {count} дней)",
|
|
62
|
+
"usageResetEveryDays": "Сбрасывается каждые {count} дней",
|
|
63
|
+
"usageResetEveryHours": "Сбрасывается каждые {count} часов",
|
|
64
|
+
"usageSession": "Использование сессии",
|
|
65
|
+
"usageUnreachable": "Не удалось получить данные об использовании Ollama Cloud. Проверьте подключение к сети и URL API.",
|
|
66
|
+
"usageUnsupported": "Этот эндпоинт не передаёт данные об использовании облака.",
|
|
67
|
+
"usageUpdatedAt": "Обновлено {time}",
|
|
68
|
+
"usageUsed": "Использовано",
|
|
69
|
+
"usageWeekly": "Еженедельное использование",
|
|
70
|
+
"vision": "Зрение"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
{
|
|
2
|
+
"settings.commandcode": {
|
|
3
|
+
"accountAdd": "Добавить аккаунт",
|
|
4
|
+
"accountDefault": "Основной аккаунт",
|
|
5
|
+
"accountKey": "API-ключ",
|
|
6
|
+
"accountKeyHint": "API-ключ этого аккаунта. Если оставить поле пустым, сохранённый ключ останется без изменений.",
|
|
7
|
+
"accountLabel": "Название аккаунта",
|
|
8
|
+
"accountRemove": "Удалить",
|
|
9
|
+
"accountsHint": "Когда активный аккаунт достигает лимита использования (429) или его ключ недействителен (401), запросы переключаются на следующий аккаунт; когда все аккаунты исчерпаны, ошибка указывает ближайшее время сброса окна.",
|
|
10
|
+
"accountsTitle": "Смена аккаунта",
|
|
11
|
+
"activeAccount": "Активный аккаунт",
|
|
12
|
+
"activeAccountAuto": "Авто (первый доступный аккаунт)",
|
|
13
|
+
"activeAccountHint": "Закрепите предпочтительный аккаунт; применяется к следующему запросу после сохранения. Если выбранный аккаунт исчерпан, запросы будут перенаправлены на другой доступный аккаунт.",
|
|
14
|
+
"advancedInvalid": "Число в расширенных настройках не готово к сохранению; раскройте, чтобы исправить.",
|
|
15
|
+
"advancedOverriddenMany": "{count} настроено",
|
|
16
|
+
"advancedOverriddenOne": "1 настроенный",
|
|
17
|
+
"advancedSettings": "Дополнительно",
|
|
18
|
+
"advancedSettingsHint": "Редко используемые параметры: базовый URL API, рабочая директория, тайм-ауты и фильтрация моделей.",
|
|
19
|
+
"apiBase": "Базовый URL API",
|
|
20
|
+
"apiBaseHint": "По умолчанию используется https://api.commandcode.ai; обычно оставляйте как есть.",
|
|
21
|
+
"apiKey": "API-ключ",
|
|
22
|
+
"apiKeyHint": "Создайте его в консоли commandcode.ai. Если оставить это поле пустым, сохранённый ключ останется без изменений.",
|
|
23
|
+
"apiKeyLocked": "Ключ предоставлен только для чтения",
|
|
24
|
+
"apiKeySet": "Настроено",
|
|
25
|
+
"apiKeyUnset": "Не настроено",
|
|
26
|
+
"cancel": "Отмена",
|
|
27
|
+
"cardConfiguredHint": "API-ключ готов. Чтобы заменить его, добавить ротацию аккаунтов, проверить использование или изменить базовый API, откройте страницу \"Command Code\" в Настройках.",
|
|
28
|
+
"cardLoadingHint": "Загрузка конфигурации командного кода…",
|
|
29
|
+
"cardRegistrationHint": "Эта карта предоставлена плагином Command Code; для отображения всех элементов управления требуется более новая версия DeepSeek Harness.",
|
|
30
|
+
"cardRouteActive": "Активный",
|
|
31
|
+
"cardTitle": "Подключение командного кода",
|
|
32
|
+
"discard": "Отменить",
|
|
33
|
+
"filterModelsByPlan": "Скрыть модели вне тарифного плана",
|
|
34
|
+
"filterModelsByPlanHint": "Если включено, в выборе моделей отображаются только те, что входят в вашу подписку; при наличии баланса кредитов по запросу показывается полный каталог.",
|
|
35
|
+
"hide": "Скрыть",
|
|
36
|
+
"intro": "Настройте подключение к Command Code Provider. API-ключ сохраняется только в локальной службе учетных данных и никогда не отображается; остальные поля записываются в пользовательские настройки и вступают в силу при следующем запросе.",
|
|
37
|
+
"invalidNumber": "Недопустимый номер",
|
|
38
|
+
"loginButton": "Войдите в Command Code",
|
|
39
|
+
"loginCancel": "Отменить вход",
|
|
40
|
+
"loginCancelled": "Вход отменён.",
|
|
41
|
+
"loginDenied": "Доступ запрещён. Попробуйте снова или вставьте ключ вручную.",
|
|
42
|
+
"loginFailedGeneric": "Не удалось войти; попробуйте снова или вставьте ключ вручную.",
|
|
43
|
+
"loginHintIdle": "Не хотите создавать ключ вручную? Войдите в систему, и ваш браузер откроет страницу авторизации commandcode.ai; одобренный ключ сохранится в локальном сервисе учетных данных и будет применяться к следующему запросу.",
|
|
44
|
+
"loginInvalidKey": "Доставленный ключ не прошел проверку (401). Попробуйте снова или вставьте его вручную.",
|
|
45
|
+
"loginNetwork": "Не удалось подключиться к сервису Command Code для проверки ключа; проверьте подключение к сети и повторите попытку.",
|
|
46
|
+
"loginOpenLink": "Откройте страницу авторизации ↗",
|
|
47
|
+
"loginStarting": "Запуск локального серверного обработчика callback…",
|
|
48
|
+
"loginStoreFailed": "Не удалось сохранить ключ в локальной службе учетных данных; вставьте его вручную.",
|
|
49
|
+
"loginSuccess": "Вошли как",
|
|
50
|
+
"loginTimeout": "Истекло время ожидания ответа авторизации; попробуйте снова.",
|
|
51
|
+
"loginTitle": "Войти, чтобы получить ключ",
|
|
52
|
+
"loginUnavailable": "Вход в систему недоступен в этой среде; вставьте {API key} вместо этого.",
|
|
53
|
+
"loginWaiting": "Ожидание авторизации в вашем браузере…",
|
|
54
|
+
"nav": "Код команды",
|
|
55
|
+
"numberTooLarge": "Превышено допустимое максимальное значение (2147483647 мс)",
|
|
56
|
+
"numberTooSmall": "Должно быть не менее 1 (мс)",
|
|
57
|
+
"overridden": "Переопределено",
|
|
58
|
+
"readOnly": "Настройки доступны только для чтения.",
|
|
59
|
+
"requestTimeoutMs": "Таймаут запроса (мс)",
|
|
60
|
+
"requestTimeoutMsHint": "Время ожидания первого байта ответа; по умолчанию 60000.",
|
|
61
|
+
"reset": "Сбросить",
|
|
62
|
+
"save": "Сохранить",
|
|
63
|
+
"saveFailed": "Не удалось сохранить, попробуйте снова.",
|
|
64
|
+
"saved": "Сохранено ✓",
|
|
65
|
+
"saving": "Сохранение",
|
|
66
|
+
"show": "Показать",
|
|
67
|
+
"streamIdleTimeoutMs": "Таймаут простоя потока (мс)",
|
|
68
|
+
"streamIdleTimeoutMsHint": "Как долго зависший поток считается мёртвым; по умолчанию 300000 (намеренно щедро — модели с долгим обдумыванием могут молчать минутами).",
|
|
69
|
+
"title": "Код команды",
|
|
70
|
+
"unsaved": "Не сохранено",
|
|
71
|
+
"updateAvailable": "доступно обновление",
|
|
72
|
+
"updateHint": "Доступна новая версия; нажмите для просмотра заметок о выпуске. Уведомление исчезнет после обновления плагина.",
|
|
73
|
+
"usageActive": "Активно",
|
|
74
|
+
"usageCooldown": "Охлаждение",
|
|
75
|
+
"usageCost": "Потратить",
|
|
76
|
+
"usageError": "Не удалось получить данные об использовании",
|
|
77
|
+
"usageExceeded": "Превышено",
|
|
78
|
+
"usageFailed": "не удалось",
|
|
79
|
+
"usageFiveHour": "5-часовое окно",
|
|
80
|
+
"usageFree": "Бесплатно",
|
|
81
|
+
"usageInvalidKey": "Неверный ключ",
|
|
82
|
+
"usageKeyClear": "Очистить сохранённый ключ",
|
|
83
|
+
"usageKeyClearStaged": "Будет очищено при сохранении",
|
|
84
|
+
"usageKeyInvalid": "Неверный или просроченный API-ключ",
|
|
85
|
+
"usageKeyInvalidHint": "Сервер отклоняет все запросы (401). Проверьте ключ, настроенный для этого аккаунта, или создайте новый в консоли commandcode.ai.",
|
|
86
|
+
"usageLoading": "Получение данных об использовании аккаунта…",
|
|
87
|
+
"usageMonthly": "Ежемесячно",
|
|
88
|
+
"usageNetworkError": "Не удалось подключиться к сервису Command Code",
|
|
89
|
+
"usageNetworkHint": "На сервер не поступило ни одного запроса. Проверьте подключение к сети или настройку базового API.",
|
|
90
|
+
"usageNoKey": "Настройте API-ключ, чтобы увидеть здесь данные об использовании и состоянии кредитов этого аккаунта.",
|
|
91
|
+
"usagePartial": "Некоторые данные конечной точки недоступны",
|
|
92
|
+
"usagePeriodEnd": "Период заканчивается",
|
|
93
|
+
"usagePurchased": "Куплено",
|
|
94
|
+
"usageRefresh": "Обновить",
|
|
95
|
+
"usageRefreshing": "Обновление…",
|
|
96
|
+
"usageRequests": "Запросы",
|
|
97
|
+
"usageReset": "Сбросить",
|
|
98
|
+
"usageServiceUnavailable": "Сервис Command Code временно недоступен",
|
|
99
|
+
"usageServiceUnavailableHint": "Сервер вернул ошибки (5xx); попробуйте обновить позже.",
|
|
100
|
+
"usageSuccessRate": "Уровень успеха",
|
|
101
|
+
"usageTitle": "Использование аккаунта",
|
|
102
|
+
"usageTokens": "Токены",
|
|
103
|
+
"usageTokensIn": "в",
|
|
104
|
+
"usageTokensOut": "выход",
|
|
105
|
+
"usageUnconfigured": "Для этого аккаунта ещё не настроен API-ключ.",
|
|
106
|
+
"usageUndoKeyClear": "Отменить очистку",
|
|
107
|
+
"usageUpdated": "Обновлено",
|
|
108
|
+
"usageWeekly": "Еженедельное окно",
|
|
109
|
+
"workingDir": "Рабочая директория",
|
|
110
|
+
"workingDirHint": "Необязательно. Оставьте пустым, чтобы использовать текущий рабочий каталог процесса (указан в поле); укажите путь только для фиксации конкретного расположения."
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
{
|
|
2
|
+
"usageStats": {
|
|
3
|
+
"account.balanceMode": "Баланс API",
|
|
4
|
+
"account.blocked": "Запрос к учетной записи был заблокирован локальной политикой безопасности. Проверьте настройки HTTPS, same-origin и private-network.",
|
|
5
|
+
"account.health.age": "Возраст данных",
|
|
6
|
+
"account.health.lastAttempt": "Последняя попытка",
|
|
7
|
+
"account.health.lastSuccess": "Последний успех",
|
|
8
|
+
"account.health.provenance": "Источник",
|
|
9
|
+
"account.invalidResponse": "Провайдер вернул нераспознанные данные о квоте.",
|
|
10
|
+
"account.loading": "Загрузка провайдеров…",
|
|
11
|
+
"account.provenance.configured": "Настроено",
|
|
12
|
+
"account.provenance.experimental": "Экспериментальный",
|
|
13
|
+
"account.provenance.official": "Официальный API",
|
|
14
|
+
"account.provenance.provider": "API провайдера",
|
|
15
|
+
"account.provenance.unknown": "Неизвестно",
|
|
16
|
+
"account.provider": "Текущий провайдер",
|
|
17
|
+
"account.reason.allAddressesUnreachable": "Ни один из проверенных сетевых адресов не доступен.",
|
|
18
|
+
"account.reason.blockedNetwork": "Запрос на учетную запись был заблокирован политикой локальной сети.",
|
|
19
|
+
"account.reason.dnsResolutionFailed": "Имя хоста провайдера не удалось разрешить.",
|
|
20
|
+
"account.reason.noValidatedAddress": "Не было доступно ни одного проверенного адреса провайдера.",
|
|
21
|
+
"account.reason.rateLimited": "Провайдер ограничил проверку аккаунтов по частоте запросов.",
|
|
22
|
+
"account.reason.sub2apiBalanceShapeUnrecognized": "Конечная точка баланса Sub2API вернула данные в нераспознанном формате.",
|
|
23
|
+
"account.reason.timeout": "Запрос аккаунта завершился по тайм-ауту.",
|
|
24
|
+
"account.reason.unauthorized": "Учетные данные аккаунта были отклонены.",
|
|
25
|
+
"account.reason.unknown": "Проверка учетной записи завершилась неудачей без безопасного диагностического сообщения.",
|
|
26
|
+
"account.reason.upstreamInvalidJson": "Вверх по течению возвращен нечитаемый JSON",
|
|
27
|
+
"account.reason.upstreamInvalidResponse": "Восходящий поток вернул нераспознанный ответ.",
|
|
28
|
+
"account.reason.upstreamNotJson": "Ответ вышестоящего сервера не был в формате JSON",
|
|
29
|
+
"account.reason.upstreamTooLarge": "Ответ от вышестоящего сервера превысил допустимый размер.",
|
|
30
|
+
"account.status.blocked": "Заблокировано",
|
|
31
|
+
"account.status.invalidResponse": "Неверный ответ",
|
|
32
|
+
"account.status.loading": "Загрузка",
|
|
33
|
+
"account.status.stale": "Устаревшие данные",
|
|
34
|
+
"account.status.unknown": "Неизвестно",
|
|
35
|
+
"account.status.unsupported": "Баланс не поддерживается",
|
|
36
|
+
"account.title": "Аккаунт провайдера",
|
|
37
|
+
"action.close": "Закрыть",
|
|
38
|
+
"action.nextMonth": "Следующий месяц",
|
|
39
|
+
"action.prevMonth": "Предыдущий месяц",
|
|
40
|
+
"action.refresh": "Обновить",
|
|
41
|
+
"action.retry": "Повторить",
|
|
42
|
+
"action.today": "Сегодня",
|
|
43
|
+
"balance.available": "доступно",
|
|
44
|
+
"balance.error": "Не удалось получить баланс: {message}",
|
|
45
|
+
"balance.granted": "Предоставлено",
|
|
46
|
+
"balance.loading": "Получение баланса…",
|
|
47
|
+
"balance.noCredential": "{ref} не настроен (отредактируйте ~/.dsh/.credentials.yaml)",
|
|
48
|
+
"balance.noSchemeTag": "нет баланса API",
|
|
49
|
+
"balance.provider": "Провайдер",
|
|
50
|
+
"balance.remaining": "Доступный баланс",
|
|
51
|
+
"balance.title": "Баланс счета",
|
|
52
|
+
"balance.toppedUp": "Пополнено",
|
|
53
|
+
"balance.total": "Общий баланс",
|
|
54
|
+
"balance.unavailable": "недоступно",
|
|
55
|
+
"balance.unsupported": "У этого провайдера нет публичного интерфейса для проверки баланса.",
|
|
56
|
+
"balance.used": "Использовано",
|
|
57
|
+
"budget.level.critical": "Превышение бюджета",
|
|
58
|
+
"budget.level.normal": "Обычный",
|
|
59
|
+
"budget.level.unknown": "Неполная стоимость",
|
|
60
|
+
"budget.level.warning": "Близко к бюджету",
|
|
61
|
+
"budget.period.daily": "Оценка за сегодня",
|
|
62
|
+
"budget.period.monthly": "Ожидаемый за этот месяц",
|
|
63
|
+
"budget.summary": "{period}: {spent} / {limit} · {level}",
|
|
64
|
+
"duration.daysHours": "{days}д {hours}ч",
|
|
65
|
+
"duration.hoursMinutes": "{hours}ч {minutes}м",
|
|
66
|
+
"duration.minutes": "{minutes}м",
|
|
67
|
+
"export.dailyCsv": "Ежедневный CSV",
|
|
68
|
+
"export.json": "Полный JSON",
|
|
69
|
+
"export.sessionsCsv": "Сессии CSV",
|
|
70
|
+
"export.title": "Экспорт без секретов",
|
|
71
|
+
"month.names": "Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек",
|
|
72
|
+
"month.year": "{month} {year}",
|
|
73
|
+
"orcarouter.addError": "Не удалось добавить OrcaRouter. Пожалуйста, попробуйте ещё раз.",
|
|
74
|
+
"orcarouter.choiceSuffix": "(Спонсированная интеграция)",
|
|
75
|
+
"panel.badge": "Использование/Баланс",
|
|
76
|
+
"panel.title": "Расход и баланс",
|
|
77
|
+
"panel.updatedAt": "Обновлено в {time}",
|
|
78
|
+
"subscription.error": "Не удалось использовать подписку: {message}",
|
|
79
|
+
"subscription.loading": "Получение данных об использовании подписки…",
|
|
80
|
+
"subscription.notConfigured": "Настройте {refs} для отображения текущего использования подписки.",
|
|
81
|
+
"subscription.planUnknown": "План подписки",
|
|
82
|
+
"subscription.rateLimited": "Провайдер ограничивает частоту проверок; попробуйте позже.",
|
|
83
|
+
"subscription.resetDue": "Сброс квоты",
|
|
84
|
+
"subscription.resets": "Сбросится через {time}",
|
|
85
|
+
"subscription.status.notConfigured": "Не настроено",
|
|
86
|
+
"subscription.status.ok": "В прямом эфире",
|
|
87
|
+
"subscription.status.rateLimited": "Ограничение по частоте запросов",
|
|
88
|
+
"subscription.status.unauthorized": "Войдите снова",
|
|
89
|
+
"subscription.status.unavailable": "Недоступно",
|
|
90
|
+
"subscription.title": "Использование подписки",
|
|
91
|
+
"subscription.unauthorized": "Учетные данные истекли; обновите их и повторите попытку.",
|
|
92
|
+
"subscription.unavailable": "Провайдер не вернул распознаваемых окон квот.",
|
|
93
|
+
"subscription.used": "{value}% использовано",
|
|
94
|
+
"subscription.window.daily": "Ежедневное окно",
|
|
95
|
+
"subscription.window.mcp": "Ежемесячная квота MCP",
|
|
96
|
+
"subscription.window.monthly": "Ежемесячное окно",
|
|
97
|
+
"subscription.window.quota": "Общая квота",
|
|
98
|
+
"subscription.window.session": "5-часовое окно",
|
|
99
|
+
"subscription.window.weekly": "Еженедельное окно",
|
|
100
|
+
"usage.back": "Назад",
|
|
101
|
+
"usage.cacheRead": "Чтение кэша",
|
|
102
|
+
"usage.error": "Агрегация использования не удалась: {message}",
|
|
103
|
+
"usage.heatmap": "Ежедневное использование в этом месяце",
|
|
104
|
+
"usage.hit.today": "Сегодняшний процент попаданий в кэш",
|
|
105
|
+
"usage.hitRate": "Кэш-попадание",
|
|
106
|
+
"usage.input": "Ввод",
|
|
107
|
+
"usage.legendLess": "Меньше",
|
|
108
|
+
"usage.legendMore": "Ещё",
|
|
109
|
+
"usage.loading": "Агрегирование использования…",
|
|
110
|
+
"usage.month": "В этом месяце",
|
|
111
|
+
"usage.noModels": "Нет данных по моделям за этот день.",
|
|
112
|
+
"usage.output": "Вывод",
|
|
113
|
+
"usage.recent": "Последние 14 дней",
|
|
114
|
+
"usage.title": "Использование токенов",
|
|
115
|
+
"usage.today": "Сегодня",
|
|
116
|
+
"usage.total": "За всё время",
|
|
117
|
+
"usage.unknownModel": "Неизвестная модель",
|
|
118
|
+
"weekday.fri": "Ф",
|
|
119
|
+
"weekday.mon": "М",
|
|
120
|
+
"weekday.sat": "С",
|
|
121
|
+
"weekday.sun": "С",
|
|
122
|
+
"weekday.thu": "Т",
|
|
123
|
+
"weekday.tue": "Т",
|
|
124
|
+
"weekday.wed": "В"
|
|
125
|
+
}
|
|
126
|
+
}
|