@nocobase/app-plugin-agents 2.0.0-beta.6 → 2.0.0-beta.7
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/CHANGELOG.md +36 -0
- package/README.md +4 -2
- package/dist/client/chat/controller.d.ts.map +1 -1
- package/dist/client/chat/controller.js +3 -2
- package/dist/client/chat/controller.js.map +1 -1
- package/dist/client/chat/notices.d.ts +12 -0
- package/dist/client/chat/notices.d.ts.map +1 -0
- package/dist/client/chat/notices.js +15 -0
- package/dist/client/chat/notices.js.map +1 -0
- package/dist/client/chat/submissions.d.ts +16 -0
- package/dist/client/chat/submissions.d.ts.map +1 -1
- package/dist/client/chat/submissions.js +22 -0
- package/dist/client/chat/submissions.js.map +1 -1
- package/dist/client/chat.d.ts +1 -0
- package/dist/client/chat.d.ts.map +1 -1
- package/dist/client/chat.js +1 -0
- package/dist/client/chat.js.map +1 -1
- package/dist/client/components/ui/alert-dialog.d.ts +3 -1
- package/dist/client/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/client/components/ui/alert-dialog.js +2 -2
- package/dist/client/components/ui/alert-dialog.js.map +1 -1
- package/dist/client/locales/de-DE.d.ts.map +1 -1
- package/dist/client/locales/de-DE.js +134 -109
- package/dist/client/locales/de-DE.js.map +1 -1
- package/dist/client/locales/en-US.d.ts +1 -0
- package/dist/client/locales/en-US.d.ts.map +1 -1
- package/dist/client/locales/en-US.js +3 -2
- package/dist/client/locales/en-US.js.map +1 -1
- package/dist/client/locales/es-ES.d.ts.map +1 -1
- package/dist/client/locales/es-ES.js +211 -186
- package/dist/client/locales/es-ES.js.map +1 -1
- package/dist/client/locales/fr-FR.d.ts.map +1 -1
- package/dist/client/locales/fr-FR.js +143 -118
- package/dist/client/locales/fr-FR.js.map +1 -1
- package/dist/client/locales/id-ID.d.ts.map +1 -1
- package/dist/client/locales/id-ID.js +132 -107
- package/dist/client/locales/id-ID.js.map +1 -1
- package/dist/client/locales/index.d.ts.map +1 -1
- package/dist/client/locales/index.js +2 -0
- package/dist/client/locales/index.js.map +1 -1
- package/dist/client/locales/ja-JP.d.ts.map +1 -1
- package/dist/client/locales/ja-JP.js +215 -190
- package/dist/client/locales/ja-JP.js.map +1 -1
- package/dist/client/locales/ko-KR.d.ts +5 -0
- package/dist/client/locales/ko-KR.d.ts.map +1 -0
- package/dist/client/locales/ko-KR.js +1311 -0
- package/dist/client/locales/ko-KR.js.map +1 -0
- package/dist/client/locales/pt-BR.d.ts.map +1 -1
- package/dist/client/locales/pt-BR.js +205 -180
- package/dist/client/locales/pt-BR.js.map +1 -1
- package/dist/client/locales/ru-RU.d.ts +5 -0
- package/dist/client/locales/ru-RU.d.ts.map +1 -0
- package/dist/client/locales/ru-RU.js +1341 -0
- package/dist/client/locales/ru-RU.js.map +1 -0
- package/dist/client/locales/runtimes.en-US.d.ts +1 -0
- package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
- package/dist/client/locales/runtimes.en-US.js +3 -2
- package/dist/client/locales/runtimes.en-US.js.map +1 -1
- package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -1
- package/dist/client/locales/runtimes.zh-CN.js +3 -2
- package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
- package/dist/client/locales/vi-VN.d.ts.map +1 -1
- package/dist/client/locales/vi-VN.js +171 -146
- package/dist/client/locales/vi-VN.js.map +1 -1
- package/dist/client/locales/zh-CN.d.ts.map +1 -1
- package/dist/client/locales/zh-CN.js +3 -2
- package/dist/client/locales/zh-CN.js.map +1 -1
- package/dist/client/locales/zh-TW.d.ts.map +1 -1
- package/dist/client/locales/zh-TW.js +148 -123
- package/dist/client/locales/zh-TW.js.map +1 -1
- package/dist/client/pages/runtimes/quota.d.ts +3 -2
- package/dist/client/pages/runtimes/quota.d.ts.map +1 -1
- package/dist/client/pages/runtimes/quota.js +8 -3
- package/dist/client/pages/runtimes/quota.js.map +1 -1
- package/dist/client/pages/runtimes/runner-tools.d.ts.map +1 -1
- package/dist/client/pages/runtimes/runner-tools.js +7 -16
- package/dist/client/pages/runtimes/runner-tools.js.map +1 -1
- package/dist/client/pages/usage/date-range-picker.d.ts.map +1 -1
- package/dist/client/pages/usage/date-range-picker.js +3 -1
- package/dist/client/pages/usage/date-range-picker.js.map +1 -1
- package/dist/database/migrations/.manifest.json +8 -0
- package/dist/database/migrations/202611070001_ag_run_runner_pin.d.ts +4 -0
- package/dist/database/migrations/202611070001_ag_run_runner_pin.d.ts.map +1 -0
- package/dist/database/migrations/202611070001_ag_run_runner_pin.js +17 -0
- package/dist/database/migrations/202611070001_ag_run_runner_pin.js.map +1 -0
- package/dist/database/migrations/202611080002_ag_run_failure_params.d.ts +4 -0
- package/dist/database/migrations/202611080002_ag_run_failure_params.d.ts.map +1 -0
- package/dist/database/migrations/202611080002_ag_run_failure_params.js +17 -0
- package/dist/database/migrations/202611080002_ag_run_failure_params.js.map +1 -0
- package/dist/package.json +1 -1
- package/dist/server/composition.d.ts +2 -0
- package/dist/server/composition.d.ts.map +1 -1
- package/dist/server/composition.js +1 -1
- package/dist/server/composition.js.map +1 -1
- package/dist/server/core/agents/agent.service.d.ts +2 -1
- package/dist/server/core/agents/agent.service.d.ts.map +1 -1
- package/dist/server/core/agents/agent.service.js.map +1 -1
- package/dist/server/core/agents/agent.store.d.ts +2 -2
- package/dist/server/core/agents/agent.store.d.ts.map +1 -1
- package/dist/server/core/agents/agent.store.js +8 -2
- package/dist/server/core/agents/agent.store.js.map +1 -1
- package/dist/server/core/brief/brief.d.ts +10 -5
- package/dist/server/core/brief/brief.d.ts.map +1 -1
- package/dist/server/core/brief/brief.js +36 -13
- package/dist/server/core/brief/brief.js.map +1 -1
- package/dist/server/core/brief/index.d.ts +1 -1
- package/dist/server/core/brief/index.d.ts.map +1 -1
- package/dist/server/core/brief/index.js +1 -1
- package/dist/server/core/brief/index.js.map +1 -1
- package/dist/server/core/runs/claim.d.ts +13 -3
- package/dist/server/core/runs/claim.d.ts.map +1 -1
- package/dist/server/core/runs/claim.js +203 -36
- package/dist/server/core/runs/claim.js.map +1 -1
- package/dist/server/core/runs/extensions.d.ts +4 -1
- package/dist/server/core/runs/extensions.d.ts.map +1 -1
- package/dist/server/core/runs/extensions.js +3 -1
- package/dist/server/core/runs/extensions.js.map +1 -1
- package/dist/server/core/runs/git-credentials.d.ts.map +1 -1
- package/dist/server/core/runs/git-credentials.js +24 -2
- package/dist/server/core/runs/git-credentials.js.map +1 -1
- package/dist/server/core/runs/identity.d.ts.map +1 -1
- package/dist/server/core/runs/identity.js +9 -0
- package/dist/server/core/runs/identity.js.map +1 -1
- package/dist/server/core/runs/lifecycle.d.ts.map +1 -1
- package/dist/server/core/runs/lifecycle.js +14 -0
- package/dist/server/core/runs/lifecycle.js.map +1 -1
- package/dist/server/core/runs/ports.d.ts +7 -0
- package/dist/server/core/runs/ports.d.ts.map +1 -1
- package/dist/server/core/runs/ports.js.map +1 -1
- package/dist/server/core/runs/preview.d.ts +1 -4
- package/dist/server/core/runs/preview.d.ts.map +1 -1
- package/dist/server/core/runs/preview.js +10 -5
- package/dist/server/core/runs/preview.js.map +1 -1
- package/dist/server/core/runs/quota-wait.d.ts +7 -0
- package/dist/server/core/runs/quota-wait.d.ts.map +1 -0
- package/dist/server/core/runs/quota-wait.js +56 -0
- package/dist/server/core/runs/quota-wait.js.map +1 -0
- package/dist/server/core/runs/run-data-purge.d.ts.map +1 -1
- package/dist/server/core/runs/run-data-purge.js +1 -0
- package/dist/server/core/runs/run-data-purge.js.map +1 -1
- package/dist/server/core/runs/run.service.d.ts +13 -0
- package/dist/server/core/runs/run.service.d.ts.map +1 -1
- package/dist/server/core/runs/run.service.js +84 -3
- package/dist/server/core/runs/run.service.js.map +1 -1
- package/dist/server/core/runs/run.store.d.ts +2 -0
- package/dist/server/core/runs/run.store.d.ts.map +1 -1
- package/dist/server/core/runs/run.store.js +3 -0
- package/dist/server/core/runs/run.store.js.map +1 -1
- package/dist/server/core/runs/sweeper.d.ts.map +1 -1
- package/dist/server/core/runs/sweeper.js +2 -0
- package/dist/server/core/runs/sweeper.js.map +1 -1
- package/dist/server/core/runs/transitions.d.ts +1 -0
- package/dist/server/core/runs/transitions.d.ts.map +1 -1
- package/dist/server/core/runs/transitions.js +15 -1
- package/dist/server/core/runs/transitions.js.map +1 -1
- package/dist/server/core/runs/workload.d.ts +1 -1
- package/dist/server/core/runs/workload.d.ts.map +1 -1
- package/dist/server/core/runs/workload.js +19 -4
- package/dist/server/core/runs/workload.js.map +1 -1
- package/dist/server/kernel/clock.d.ts +2 -0
- package/dist/server/kernel/clock.d.ts.map +1 -1
- package/dist/server/kernel/clock.js +14 -0
- package/dist/server/kernel/clock.js.map +1 -1
- package/dist/server/kernel/events.d.ts +4 -1
- package/dist/server/kernel/events.d.ts.map +1 -1
- package/dist/server/kernel/events.js.map +1 -1
- package/dist/server/locales/de-DE.js +3 -3
- package/dist/server/locales/de-DE.js.map +1 -1
- package/dist/server/locales/es-ES.js +6 -6
- package/dist/server/locales/es-ES.js.map +1 -1
- package/dist/server/locales/fr-FR.js +4 -4
- package/dist/server/locales/fr-FR.js.map +1 -1
- package/dist/server/locales/id-ID.js +5 -5
- package/dist/server/locales/id-ID.js.map +1 -1
- package/dist/server/locales/index.d.ts.map +1 -1
- package/dist/server/locales/index.js +2 -0
- package/dist/server/locales/index.js.map +1 -1
- package/dist/server/locales/ja-JP.d.ts.map +1 -1
- package/dist/server/locales/ja-JP.js +6 -6
- package/dist/server/locales/ja-JP.js.map +1 -1
- package/dist/server/locales/ko-KR.d.ts +5 -0
- package/dist/server/locales/ko-KR.d.ts.map +1 -0
- package/dist/server/locales/ko-KR.js +59 -0
- package/dist/server/locales/ko-KR.js.map +1 -0
- package/dist/server/locales/pt-BR.js +6 -6
- package/dist/server/locales/pt-BR.js.map +1 -1
- package/dist/server/locales/ru-RU.d.ts +5 -0
- package/dist/server/locales/ru-RU.d.ts.map +1 -0
- package/dist/server/locales/ru-RU.js +59 -0
- package/dist/server/locales/ru-RU.js.map +1 -0
- package/dist/server/locales/vi-VN.js +6 -6
- package/dist/server/locales/vi-VN.js.map +1 -1
- package/dist/server/locales/zh-TW.d.ts.map +1 -1
- package/dist/server/locales/zh-TW.js +6 -6
- package/dist/server/locales/zh-TW.js.map +1 -1
- package/dist/server/routes/admin.d.ts.map +1 -1
- package/dist/server/routes/admin.js +27 -1
- package/dist/server/routes/admin.js.map +1 -1
- package/dist/server/routes/runners/admin.d.ts.map +1 -1
- package/dist/server/routes/runners/admin.js +3 -3
- package/dist/server/routes/runners/admin.js.map +1 -1
- package/dist/server/routes/runners/runner.d.ts.map +1 -1
- package/dist/server/routes/runners/runner.js +13 -22
- package/dist/server/routes/runners/runner.js.map +1 -1
- package/dist/server/routes/schemas.d.ts +4 -0
- package/dist/server/routes/schemas.d.ts.map +1 -1
- package/dist/server/routes/schemas.js +17 -4
- package/dist/server/routes/schemas.js.map +1 -1
- package/dist/server/runners/runner.service.d.ts.map +1 -1
- package/dist/server/runners/runner.service.js +17 -5
- package/dist/server/runners/runner.service.js.map +1 -1
- package/dist/shared/briefs.d.ts +2 -6
- package/dist/shared/briefs.d.ts.map +1 -1
- package/dist/shared/runs.d.ts +4 -0
- package/dist/shared/runs.d.ts.map +1 -1
- package/dist/shared/runs.js.map +1 -1
- package/package.json +11 -11
- package/skills/nocobase-app-plugin-agents/references/runners.md +1 -1
|
@@ -0,0 +1,1341 @@
|
|
|
1
|
+
const ruRU = {
|
|
2
|
+
modelSuggestions: {
|
|
3
|
+
design: 'Самое сильное рассуждение: предложения, архитектура, сложные расследования и проверка важных изменений; также обычная реализация, изменения в нескольких пакетах и написание предложений.',
|
|
4
|
+
large: 'Крупные реализации, изменения в нескольких пакетах, рефакторинг и обычная реализация; также предложения, код-ревью и небольшие изменения.',
|
|
5
|
+
review: 'Код-ревью и анализ сбоев CI; также предложения и сложные расследования.',
|
|
6
|
+
routine: 'Обычная реализация, небольшие исправления, тесты и формулировки; также анализ сбоев CI.',
|
|
7
|
+
small: 'Небольшие изменения, механические правки и тесты, дёшево и быстро; также анализ сбоев CI.',
|
|
8
|
+
explanation: 'Понимание требований, объяснения и написание предложений.',
|
|
9
|
+
},
|
|
10
|
+
goodAtTemplates: {
|
|
11
|
+
fill: 'Заполнить по шаблону',
|
|
12
|
+
design: 'Проектирование и ревью',
|
|
13
|
+
large: 'Крупная реализация',
|
|
14
|
+
review: 'Код-ревью и CI',
|
|
15
|
+
routine: 'Обычная реализация',
|
|
16
|
+
small: 'Небольшие изменения',
|
|
17
|
+
explanation: 'Объяснения и предложения',
|
|
18
|
+
undo: 'Отменить',
|
|
19
|
+
},
|
|
20
|
+
actions: {
|
|
21
|
+
back: 'Назад',
|
|
22
|
+
cancel: 'Отмена',
|
|
23
|
+
close: 'Закрыть',
|
|
24
|
+
delete: 'Удалить',
|
|
25
|
+
edit: 'Изменить',
|
|
26
|
+
save: 'Сохранить',
|
|
27
|
+
},
|
|
28
|
+
common: {
|
|
29
|
+
refresh: 'Обновить',
|
|
30
|
+
cancel: 'Отмена',
|
|
31
|
+
copy: 'Копировать',
|
|
32
|
+
copied: 'Скопировано',
|
|
33
|
+
save: 'Сохранить',
|
|
34
|
+
close: 'Закрыть',
|
|
35
|
+
create: 'Создать',
|
|
36
|
+
createNamed: 'Создать «{{name}}»',
|
|
37
|
+
creating: 'Создание…',
|
|
38
|
+
noOptions: 'Нет вариантов',
|
|
39
|
+
forbidden: 'Вам это не разрешено.',
|
|
40
|
+
loading: 'Загрузка',
|
|
41
|
+
notFound: 'Этого больше нет.',
|
|
42
|
+
requestFailed: 'Запрос не выполнен. Повторите попытку.',
|
|
43
|
+
retry: 'Повторить',
|
|
44
|
+
secretKept: 'Задано — оставьте пустым, чтобы сохранить',
|
|
45
|
+
},
|
|
46
|
+
status: {
|
|
47
|
+
loading: 'Загрузка',
|
|
48
|
+
},
|
|
49
|
+
unsavedChanges: {
|
|
50
|
+
description: 'Введённое не отправлено и будет потеряно.',
|
|
51
|
+
discard: 'Отменить',
|
|
52
|
+
keepEditing: 'Продолжить редактирование',
|
|
53
|
+
title: 'Отменить несохранённые изменения?',
|
|
54
|
+
},
|
|
55
|
+
errors: {
|
|
56
|
+
boundRunnerIncompatible: 'Эта среда выполнения не может запустить выбранного Agent. Смените среду выполнения, чтобы продолжить.',
|
|
57
|
+
CONFLICT: 'Тем временем это изменилось. Перезагрузите и повторите.',
|
|
58
|
+
REVISION_CONFLICT: 'Тем временем это изменилось. Перезагрузите и повторите.',
|
|
59
|
+
FORBIDDEN: 'Вам это не разрешено.',
|
|
60
|
+
AGENT_NOT_FOUND: 'Этого больше нет.',
|
|
61
|
+
RUN_NOT_FOUND: 'Этого больше нет.',
|
|
62
|
+
SKILL_NOT_FOUND: 'Этого больше нет.',
|
|
63
|
+
SKILL_VERSION_NOT_FOUND: 'Этого больше нет.',
|
|
64
|
+
CONVERSATION_NOT_FOUND: 'Этого больше нет.',
|
|
65
|
+
RUNNER_NOT_FOUND: 'Этого больше нет.',
|
|
66
|
+
VARIABLE_NOT_FOUND: 'Этого больше нет.',
|
|
67
|
+
MODEL_SERVICE_NOT_FOUND: 'Этого больше нет.',
|
|
68
|
+
SCOPE_NOT_FOUND: 'Этого больше нет.',
|
|
69
|
+
INVALID_INPUT: 'Некоторые значения недопустимы.',
|
|
70
|
+
SECRETS_KEY_MISSING: 'Переменные нельзя сохранить или показать: на сервере нет ключа секретов. Попросите администратора задать secrets.keys в конфигурации приложения.',
|
|
71
|
+
},
|
|
72
|
+
command: {
|
|
73
|
+
copy: 'Копировать',
|
|
74
|
+
copied: 'Скопировано',
|
|
75
|
+
copyFailed: 'Не удалось скопировать. Выделите текст и скопируйте его сами.',
|
|
76
|
+
},
|
|
77
|
+
tools: {
|
|
78
|
+
claude: 'Claude Code',
|
|
79
|
+
codex: 'Codex',
|
|
80
|
+
opencode: 'OpenCode',
|
|
81
|
+
pi: 'Pi',
|
|
82
|
+
gemini: 'Gemini CLI',
|
|
83
|
+
copilot: 'GitHub Copilot',
|
|
84
|
+
cursor: 'Cursor',
|
|
85
|
+
qwen: 'Qwen Code',
|
|
86
|
+
kimi: 'Kimi CLI',
|
|
87
|
+
codebuddy: 'CodeBuddy Code',
|
|
88
|
+
qoder: 'Qoder CLI',
|
|
89
|
+
goose: 'Goose',
|
|
90
|
+
auggie: 'Auggie',
|
|
91
|
+
droid: 'Factory Droid',
|
|
92
|
+
kilo: 'Kilo Code',
|
|
93
|
+
cline: 'Cline',
|
|
94
|
+
amp: 'Amp',
|
|
95
|
+
vibe: 'Mistral Vibe',
|
|
96
|
+
dsh: 'DeepSeek Harness',
|
|
97
|
+
},
|
|
98
|
+
agents: {
|
|
99
|
+
unavailableNow: 'Сейчас недоступен',
|
|
100
|
+
title: 'Agent',
|
|
101
|
+
description: 'Добавляйте Agent из моделей, о которых сообщают среды выполнения. Lead Agent передаёт каждый шаг задачи тому Agent, чьё описание ему подходит.',
|
|
102
|
+
fromRunners: 'Agent из сред выполнения',
|
|
103
|
+
display: {
|
|
104
|
+
search: 'Поиск моделей или провайдеров',
|
|
105
|
+
select: 'Выбрать {{name}}',
|
|
106
|
+
showDisabled: 'Показать выключенные',
|
|
107
|
+
hideDisabled: 'Скрыть выключенные',
|
|
108
|
+
},
|
|
109
|
+
filterLabel: 'Показать Agent',
|
|
110
|
+
filters: {
|
|
111
|
+
all: 'Все {{count}}',
|
|
112
|
+
enabled: 'Включены {{count}}',
|
|
113
|
+
unreported: 'Без среды {{count}}',
|
|
114
|
+
},
|
|
115
|
+
loadFailed: 'Не удалось загрузить Agent',
|
|
116
|
+
loadMore: 'Загрузить ещё',
|
|
117
|
+
emptyTitle: 'Agent пока нет',
|
|
118
|
+
emptyDescription: 'Подключите среду выполнения с инструментом для программирования, в котором выполнен вход, затем добавьте Agent из раздела «Доступные модели».',
|
|
119
|
+
noneInFilter: 'Здесь нет Agent.',
|
|
120
|
+
howToAdd: 'Чтобы добавить Agent, установите инструмент для программирования в среде выполнения и войдите в модель, которой вам можно пользоваться: когда среда сообщит о ней, добавьте её из «Доступных моделей», написав, в чём она сильна. Agent, который есть только в личных средах, работает только над задачами, запущенными их владельцами.',
|
|
121
|
+
goodAtMissing: 'Ещё не заполнено',
|
|
122
|
+
columns: {
|
|
123
|
+
agent: 'Agent',
|
|
124
|
+
goodAt: 'В чём силён',
|
|
125
|
+
where: 'Где работает',
|
|
126
|
+
effort: 'Глубина рассуждения',
|
|
127
|
+
state: 'Статус',
|
|
128
|
+
},
|
|
129
|
+
where: {
|
|
130
|
+
none: 'Нет среды выполнения',
|
|
131
|
+
team_one: '{{count}} общая среда',
|
|
132
|
+
team_other: '{{count}} общей среды',
|
|
133
|
+
team_few: '{{count}} общие среды',
|
|
134
|
+
team_many: '{{count}} общих сред',
|
|
135
|
+
personal_one: '{{count}} личная среда в сети',
|
|
136
|
+
personal_other: '{{count}} личной среды в сети',
|
|
137
|
+
personal_few: '{{count}} личные среды в сети',
|
|
138
|
+
personal_many: '{{count}} личных сред в сети',
|
|
139
|
+
both: '{{team}} общих · {{personal}} личных',
|
|
140
|
+
names: '{{names}}',
|
|
141
|
+
noneOnline: 'Сейчас нет среды в сети',
|
|
142
|
+
personalOnly: 'Только личные среды',
|
|
143
|
+
lastReported: 'Последний отчёт {{when}}',
|
|
144
|
+
},
|
|
145
|
+
state: {
|
|
146
|
+
enabled: 'Включён',
|
|
147
|
+
disabled: 'Выключен',
|
|
148
|
+
unreported: 'Нет среды выполнения',
|
|
149
|
+
},
|
|
150
|
+
effort: {
|
|
151
|
+
default: 'По умолчанию инструмента',
|
|
152
|
+
off: 'Выкл.',
|
|
153
|
+
minimal: 'Минимальная',
|
|
154
|
+
low: 'Низкая',
|
|
155
|
+
medium: 'Средняя',
|
|
156
|
+
high: 'Высокая',
|
|
157
|
+
xhigh: 'Очень высокая',
|
|
158
|
+
max: 'Максимальная',
|
|
159
|
+
ultra: 'Ультра',
|
|
160
|
+
},
|
|
161
|
+
enable: {
|
|
162
|
+
reportedBy_one: 'Сообщает {{count}} среда в сети: {{names}}.',
|
|
163
|
+
reportedBy_other: 'Сообщают {{count}} среды в сети: {{names}}.',
|
|
164
|
+
reportedBy_few: 'Сообщают {{count}} среды в сети: {{names}}.',
|
|
165
|
+
reportedBy_many: 'Сообщают {{count}} сред в сети: {{names}}.',
|
|
166
|
+
noRunnerNow: 'Сейчас нет в сети среды, где он есть.',
|
|
167
|
+
goodAtHint: 'По этим словам Lead Agent решает, что передавать этому Agent. Напишите, для чего он подходит и для чего нет.',
|
|
168
|
+
goodAtRequired: 'Перед включением напишите, в чём он силён.',
|
|
169
|
+
effortHint: 'Lead Agent не может изменить это при передаче работы.',
|
|
170
|
+
personalOnly: 'Он есть только в личных средах: Lead Agent передаёт ему работу только по задачам, запущенным их владельцами.',
|
|
171
|
+
},
|
|
172
|
+
edit: {
|
|
173
|
+
button: 'Изменить',
|
|
174
|
+
buttonFor: 'Изменить {{name}}',
|
|
175
|
+
title: 'Изменить {{name}}',
|
|
176
|
+
enabled: 'Включён',
|
|
177
|
+
done: '{{name}} сохранён',
|
|
178
|
+
},
|
|
179
|
+
available: {
|
|
180
|
+
open: 'Добавить Agent',
|
|
181
|
+
title: 'Доступные модели',
|
|
182
|
+
description: 'Здесь обнаруживаются и показываются только инструменты, проверенные средой выполнения. Рекомендуемые приложением сочетания создаются и включаются сами, как только о них сообщит среда; Agent можно добавить из любого другого.',
|
|
183
|
+
recommended: 'Включается автоматически при обнаружении',
|
|
184
|
+
added: 'Добавлен',
|
|
185
|
+
add: 'Добавить',
|
|
186
|
+
status: {
|
|
187
|
+
available: 'Доступен',
|
|
188
|
+
needsSetup: 'Нужна настройка',
|
|
189
|
+
versionTooOld: 'Слишком старая версия',
|
|
190
|
+
failed: 'Ошибка обнаружения',
|
|
191
|
+
},
|
|
192
|
+
details: 'Сведения об инструменте',
|
|
193
|
+
setupCommand: 'Нужна настройка: выполните {{command}} в среде выполнения.',
|
|
194
|
+
setupUnknown: 'Этот инструмент нужно настроить, но команда для этого неизвестна.',
|
|
195
|
+
upgradeAdvice: 'Обновите инструмент и его адаптер ACP до последних версий в среде выполнения, затем обновите обнаружение.',
|
|
196
|
+
minimumVersionUnknown: 'Минимальная поддерживаемая версия инструмента неизвестна. См. документацию инструмента о совместимости.',
|
|
197
|
+
noDetail: 'Инструмент не дал подробностей.',
|
|
198
|
+
showMore: 'Показать больше',
|
|
199
|
+
showLess: 'Показать меньше',
|
|
200
|
+
groupSearchPlaceholder: 'Поиск моделей этого инструмента',
|
|
201
|
+
group_one: '{{tool}} · {{count}} модель · {{runners}}',
|
|
202
|
+
group_other: '{{tool}} · {{count}} модели · {{runners}}',
|
|
203
|
+
group_few: '{{tool}} · {{count}} модели · {{runners}}',
|
|
204
|
+
group_many: '{{tool}} · {{count}} моделей · {{runners}}',
|
|
205
|
+
runners_one: '{{count}} среда выполнения',
|
|
206
|
+
runners_other: '{{count}} среды выполнения',
|
|
207
|
+
runners_few: '{{count}} среды выполнения',
|
|
208
|
+
runners_many: '{{count}} сред выполнения',
|
|
209
|
+
noModels: 'Здесь нет моделей.',
|
|
210
|
+
selectedCount_one: 'Выбрано: {{count}}',
|
|
211
|
+
selectedCount_other: 'Выбрано: {{count}}',
|
|
212
|
+
selectedCount_few: 'Выбрано: {{count}}',
|
|
213
|
+
selectedCount_many: 'Выбрано: {{count}}',
|
|
214
|
+
addSelected: 'Добавить {{count}}',
|
|
215
|
+
confirmTitle_one: 'Добавить {{count}} Agent',
|
|
216
|
+
confirmTitle_other: 'Добавить {{count}} Agent',
|
|
217
|
+
confirmTitle_few: 'Добавить {{count}} Agent',
|
|
218
|
+
confirmTitle_many: 'Добавить {{count}} Agent',
|
|
219
|
+
confirmAction_one: 'Добавить {{count}}',
|
|
220
|
+
confirmAction_other: 'Добавить {{count}}',
|
|
221
|
+
confirmAction_few: 'Добавить {{count}}',
|
|
222
|
+
confirmAction_many: 'Добавить {{count}}',
|
|
223
|
+
goodAtNeeded: 'В чём он силён?',
|
|
224
|
+
addedCount_one: 'Добавлен {{count}} Agent.',
|
|
225
|
+
addedCount_other: 'Добавлено {{count}} Agent.',
|
|
226
|
+
addedCount_few: 'Добавлено {{count}} Agent.',
|
|
227
|
+
addedCount_many: 'Добавлено {{count}} Agent.',
|
|
228
|
+
addedPartial: 'Добавлено: {{succeeded}}, не удалось добавить: {{failed}}. Причина указана под каждым.',
|
|
229
|
+
addFailed: 'Не удалось добавить: {{failed}}. Причина указана под каждым; повторите попытку.',
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
agentTypes: {
|
|
233
|
+
label: 'Тип Agent',
|
|
234
|
+
question: 'Какой это Agent?',
|
|
235
|
+
online: 'Онлайн',
|
|
236
|
+
runner: 'Runner',
|
|
237
|
+
onlineHint: 'Отвечает за секунды на сервере через сервис модели. Среда выполнения не нужна; код он не трогает.',
|
|
238
|
+
runnerHint: 'Управляет инструментом для программирования в среде выполнения и работает в рабочем каталоге: код, файлы, команды.',
|
|
239
|
+
immutable: 'Тип Agent не меняется; для другого типа создайте другого Agent.',
|
|
240
|
+
onServer: 'На сервере',
|
|
241
|
+
filterAll: 'Все типы',
|
|
242
|
+
noneOfType: 'Нет Agent этого типа.',
|
|
243
|
+
},
|
|
244
|
+
agentSkills: {
|
|
245
|
+
title: 'Навыки',
|
|
246
|
+
description: 'Руководства, которые Agent читает, когда задача подходит под их описание. Помещаются в его рабочий каталог перед каждым запуском.',
|
|
247
|
+
manage: 'Управлять навыками',
|
|
248
|
+
placeholder: 'Выберите навыки',
|
|
249
|
+
empty: 'Навыков пока нет.',
|
|
250
|
+
save: 'Сохранить навыки',
|
|
251
|
+
descriptionOnline: 'Руководства, которые Agent читает, когда задача подходит под их описание, в изолированной среде только для чтения на сервере.',
|
|
252
|
+
onlineScripts: 'Онлайн-Agent не выполняют скрипты: Agent может их читать, но не запускать.',
|
|
253
|
+
skippedScripts: ': {{paths}}',
|
|
254
|
+
pathSeparator: ', ',
|
|
255
|
+
},
|
|
256
|
+
brief: {
|
|
257
|
+
preview: 'Предпросмотр полного запроса',
|
|
258
|
+
previewTitle: 'Предпросмотр полного запроса',
|
|
259
|
+
previewDescription: 'Что сейчас было бы отправлено при запуске этого Agent на вымышленную тему. Ничего не ставится в очередь.',
|
|
260
|
+
scenario: 'Сценарий',
|
|
261
|
+
sample: 'На вымышленную тему: {{subject}}. Значения с пометкой [sample] вымышлены.',
|
|
262
|
+
previewFailed: 'Не удалось построить полный запрос.',
|
|
263
|
+
system: 'Системный запрос',
|
|
264
|
+
showAs: 'Показать как',
|
|
265
|
+
rendered: 'Отрисовано',
|
|
266
|
+
raw: 'Исходный текст',
|
|
267
|
+
platform: 'Правила платформы и задача · около {{size}} символов (на английском)',
|
|
268
|
+
platformNote: 'Правила платформы отправляются на английском; Agent всё равно отвечает на вашем языке.',
|
|
269
|
+
agentPrompt: 'Запрос Agent (написан вами)',
|
|
270
|
+
noAgentPrompt: 'У этого Agent нет собственного запроса.',
|
|
271
|
+
firstMessage: 'Первое сообщение',
|
|
272
|
+
empty: 'Пусто',
|
|
273
|
+
previewPlaceholders: 'Заметки о среде выполнения в скобках заполняет среда, которая его запускает: её рабочие каталоги и инструкции инициализации каталогов, которые она только что подготовила.',
|
|
274
|
+
placeholders: 'Подстановки {{runner.…}} заполняет среда выполнения, которая его запускает: её рабочие каталоги и инструкции инициализации каталогов, которые она только что подготовила.',
|
|
275
|
+
layers: {
|
|
276
|
+
system: 'Правила',
|
|
277
|
+
task: 'Задание',
|
|
278
|
+
context: 'Контекст',
|
|
279
|
+
agent: 'Запрос Agent',
|
|
280
|
+
turn: 'Первый ход',
|
|
281
|
+
},
|
|
282
|
+
},
|
|
283
|
+
envVars: {
|
|
284
|
+
title: 'Переменные окружения',
|
|
285
|
+
description: 'Передаются инструменту для программирования при каждом запуске и маскируются в записях запусков; после сохранения значения больше не показываются. Любой, кому можно пользоваться общим Agent, может получить эти значения на своём компьютере; помечайте опасные секреты как «Только общие среды».',
|
|
286
|
+
add: 'Добавить переменную',
|
|
287
|
+
addTitle: 'Добавить переменную окружения',
|
|
288
|
+
editTitle: 'Заменить {{name}}',
|
|
289
|
+
writeOnly: 'Значение хранится в зашифрованном виде и заменяет прежнее.',
|
|
290
|
+
name: 'Имя',
|
|
291
|
+
nameHint: 'Заглавные латинские буквы, цифры и подчёркивания.',
|
|
292
|
+
value: 'Значение',
|
|
293
|
+
valueTooLong: 'Значение больше 8 КБ.',
|
|
294
|
+
keepValueHint: 'Оставьте пустым, чтобы сохранить текущее значение.',
|
|
295
|
+
teamRunnersOnly: 'Только общие среды',
|
|
296
|
+
teamRunnersOnlyHint: 'Без этой отметки запуск отправляет значение той среде выполнения, которая его берёт, включая личную среду любого, кому можно пользоваться Agent. С отметкой запуски с этой переменной берёт только общая среда.',
|
|
297
|
+
teamRunnersOnlyBadge: 'Только общие среды',
|
|
298
|
+
fromRunner: 'Брать из среды выполнения',
|
|
299
|
+
fromRunnerHint: 'Здесь значение не хранится: среда выполнения, взявшая запуск, берёт его со своей машины, где оно задано через {{command}} или передано с `--pass-env`. Если среда его не предоставит, запуск завершится ошибкой до начала.',
|
|
300
|
+
fromRunnerBadge: 'Из среды выполнения',
|
|
301
|
+
valueRequired: 'Введите значение или продолжайте брать его из среды выполнения.',
|
|
302
|
+
empty: 'Нет переменных окружения.',
|
|
303
|
+
scope: 'Область',
|
|
304
|
+
updated: 'Обновлено',
|
|
305
|
+
actionsHead: 'Действия',
|
|
306
|
+
edit: 'Заменить значение',
|
|
307
|
+
actions: 'Действия для {{name}}',
|
|
308
|
+
accessLog: 'Журнал доступа',
|
|
309
|
+
accessLogAll: 'Открыть полный журнал доступа',
|
|
310
|
+
accessLogOf: 'Журнал доступа {{name}}',
|
|
311
|
+
accessLogDescription: 'Кто и когда просматривал, задавал или удалял переменные и какие запуски их получали.',
|
|
312
|
+
delete: 'Удалить',
|
|
313
|
+
deleteTitle: 'Удалить {{name}}?',
|
|
314
|
+
deleteDescription: 'Последующие запуски больше не будут получать эту переменную.',
|
|
315
|
+
deleteConfirm: 'Удалить',
|
|
316
|
+
deleted: '{{name}} удалена.',
|
|
317
|
+
saved: '{{name}} сохранена.',
|
|
318
|
+
updatedBy: '{{name}} · {{time}}',
|
|
319
|
+
reveal: 'Показать значения',
|
|
320
|
+
revealTitle: 'Показать значения?',
|
|
321
|
+
revealAudit: 'Показ записывается в журнал доступа с вашим именем и временем.',
|
|
322
|
+
revealedTitle: 'Значения переменных',
|
|
323
|
+
revealedNote: 'Этот показ записан. Закройте окно, когда закончите.',
|
|
324
|
+
runner: 'Среда выполнения {{id}}',
|
|
325
|
+
auditsEmpty: 'Пока ничего не записано.',
|
|
326
|
+
auditAction: {
|
|
327
|
+
reveal: 'показал(а)',
|
|
328
|
+
set: 'задал(а)',
|
|
329
|
+
delete: 'удалил(а)',
|
|
330
|
+
deliver: 'получено для запуска',
|
|
331
|
+
},
|
|
332
|
+
nameProblems: {
|
|
333
|
+
required: 'Введите имя.',
|
|
334
|
+
pattern: 'Используйте только заглавные латинские буквы, цифры и подчёркивания, не начиная с цифры.',
|
|
335
|
+
reserved: 'Это имя зарезервировано.',
|
|
336
|
+
duplicate: 'Переменная с таким именем уже есть; измените её.',
|
|
337
|
+
},
|
|
338
|
+
},
|
|
339
|
+
scopeVariables: {
|
|
340
|
+
title: 'Переменные и секреты',
|
|
341
|
+
description: 'Передаются каждому Agent, работающему здесь. Более конкретные переменные (рабочего каталога, затем Agent) важнее этих.',
|
|
342
|
+
},
|
|
343
|
+
scopes: {
|
|
344
|
+
workdir: 'Рабочий каталог',
|
|
345
|
+
},
|
|
346
|
+
subjects: {
|
|
347
|
+
conversation: 'Разговор',
|
|
348
|
+
consultation: 'Консультация',
|
|
349
|
+
},
|
|
350
|
+
usage: {
|
|
351
|
+
otherUse: {
|
|
352
|
+
title: 'Прочее использование моделей',
|
|
353
|
+
description: 'Вызовы моделей вне запусков Agent, например индексация базы знаний и поиск по ней.',
|
|
354
|
+
purpose: 'Назначение',
|
|
355
|
+
source: 'Кто запросил',
|
|
356
|
+
model: 'Модель',
|
|
357
|
+
calls: 'Вызовы',
|
|
358
|
+
units: 'Элементы',
|
|
359
|
+
purposes: {
|
|
360
|
+
embedding: 'Эмбеддинги',
|
|
361
|
+
rerank: 'Переранжирование',
|
|
362
|
+
text: 'Служебный текст',
|
|
363
|
+
},
|
|
364
|
+
},
|
|
365
|
+
title: 'Использование',
|
|
366
|
+
description: 'Что использовали запуски Agent и сколько это стоит по текущим ценам моделей.',
|
|
367
|
+
loadFailed: 'Не удалось загрузить данные об использовании',
|
|
368
|
+
groupBy: 'Группировать по',
|
|
369
|
+
groupByValue: 'Группировать по: {{group}}',
|
|
370
|
+
empty: 'За этот период запусков нет.',
|
|
371
|
+
total: 'Итого',
|
|
372
|
+
noGroup: 'Нет',
|
|
373
|
+
unknown: 'Неизвестно',
|
|
374
|
+
onlineTool: 'Онлайн (сервисы моделей)',
|
|
375
|
+
setPrices: 'Задать цены',
|
|
376
|
+
chart: {
|
|
377
|
+
title: 'Динамика по дням',
|
|
378
|
+
metric: 'Показать',
|
|
379
|
+
cost: 'Стоимость',
|
|
380
|
+
tokens: 'Токены',
|
|
381
|
+
total: 'Итого',
|
|
382
|
+
other: 'Прочее',
|
|
383
|
+
},
|
|
384
|
+
pricedNote: 'Стоимость учитывает {{priced}} из {{total}} запусков; у этих моделей ещё нет цены: {{models}}.',
|
|
385
|
+
filters: {
|
|
386
|
+
allGroups: 'Все: {{group}}',
|
|
387
|
+
agent: 'Agent',
|
|
388
|
+
allAgents: 'Все Agent',
|
|
389
|
+
person: 'Кто разбудил',
|
|
390
|
+
allPeople: 'Все',
|
|
391
|
+
range: 'Период',
|
|
392
|
+
presets: 'Быстрый выбор',
|
|
393
|
+
},
|
|
394
|
+
presets: {
|
|
395
|
+
last7: 'Последние 7 дней',
|
|
396
|
+
last30: 'Последние 30 дней',
|
|
397
|
+
thisMonth: 'Этот месяц',
|
|
398
|
+
lastMonth: 'Прошлый месяц',
|
|
399
|
+
last90: 'Последние 90 дней',
|
|
400
|
+
},
|
|
401
|
+
groups: {
|
|
402
|
+
agent: 'Agent',
|
|
403
|
+
person: 'Кто разбудил',
|
|
404
|
+
group: 'Группа',
|
|
405
|
+
subject: 'Объект',
|
|
406
|
+
day: 'День',
|
|
407
|
+
model: 'Модель',
|
|
408
|
+
tool: 'Инструмент для программирования',
|
|
409
|
+
type: 'Тип Agent',
|
|
410
|
+
},
|
|
411
|
+
columns: {
|
|
412
|
+
runs: 'Запуски',
|
|
413
|
+
duration: 'Длительность',
|
|
414
|
+
input: 'Ввод',
|
|
415
|
+
output: 'Вывод',
|
|
416
|
+
cacheRead: 'Чтение кэша',
|
|
417
|
+
cacheWrite: 'Запись кэша',
|
|
418
|
+
cost: 'Оценка стоимости',
|
|
419
|
+
},
|
|
420
|
+
},
|
|
421
|
+
defaultSkills: {
|
|
422
|
+
title: 'Навыки по умолчанию',
|
|
423
|
+
description: 'Каждый Agent, работающий здесь, тоже получает эти навыки.',
|
|
424
|
+
save: 'Сохранить навыки',
|
|
425
|
+
saved: 'Навыки по умолчанию сохранены.',
|
|
426
|
+
},
|
|
427
|
+
runs: {
|
|
428
|
+
title: 'Журнал выполнения',
|
|
429
|
+
empty: 'Запусков пока нет.',
|
|
430
|
+
loadFailed: 'Не удалось загрузить журнал выполнения',
|
|
431
|
+
unknownAgent: 'Agent',
|
|
432
|
+
attempt: 'попытка {{attempt}} из {{max}}',
|
|
433
|
+
viewTranscript: 'Открыть стенограмму',
|
|
434
|
+
transcriptTitle: 'Стенограмма запуска',
|
|
435
|
+
viewAll: 'Показать все {{count}}',
|
|
436
|
+
allTitle: 'Все запуски ({{count}})',
|
|
437
|
+
filters: {
|
|
438
|
+
agent: 'Agent',
|
|
439
|
+
status: 'Статус',
|
|
440
|
+
allAgents: 'Все Agent',
|
|
441
|
+
allStatuses: 'Все статусы',
|
|
442
|
+
},
|
|
443
|
+
noMatch: 'Нет запусков, подходящих под эти фильтры.',
|
|
444
|
+
cancel: 'Остановить',
|
|
445
|
+
stopping: 'Остановка…',
|
|
446
|
+
cancelTitle: 'Остановить этот запуск?',
|
|
447
|
+
cancelDescription: '{{name}} будет остановлен. Уже сделанные изменения сохранятся.',
|
|
448
|
+
cancelRequested: 'Запрошена остановка',
|
|
449
|
+
retry: 'Повторить',
|
|
450
|
+
retried: 'Запуск снова поставлен в очередь',
|
|
451
|
+
viewBrief: 'Открыть полный запрос',
|
|
452
|
+
briefTitle: 'Полный запрос',
|
|
453
|
+
briefDescription: 'Что было сказано Agent, когда этот запуск был взят в последний раз.',
|
|
454
|
+
briefOf: 'Попытка {{attempt}}, взята {{time}}',
|
|
455
|
+
briefUnavailable: 'Для этого запуска полный запрос недоступен.',
|
|
456
|
+
processDataCleared: 'Данные процесса запуска очищены согласно политике хранения.',
|
|
457
|
+
briefFailed: 'Не удалось загрузить полный запрос',
|
|
458
|
+
workspaceReset: {
|
|
459
|
+
button: 'Очистить рабочий каталог',
|
|
460
|
+
title: 'Очистить рабочий каталог?',
|
|
461
|
+
description: 'Следующий запуск начнётся с чистого checkout и снова получит инструкции инициализации. Неотправленные изменения в этой среде выполнения будут потеряны. Каталог, используемый на месте, никогда не удаляется.',
|
|
462
|
+
confirm: 'Очистить',
|
|
463
|
+
done: 'Следующий запуск начнётся с чистого checkout.',
|
|
464
|
+
},
|
|
465
|
+
stateChanged: 'Состояние запуска изменилось. Журнал обновлён.',
|
|
466
|
+
status: {
|
|
467
|
+
queued: 'В очереди',
|
|
468
|
+
dispatched: 'Передан',
|
|
469
|
+
running: 'Выполняется',
|
|
470
|
+
completed: 'Ход завершён',
|
|
471
|
+
failed: 'Ошибка',
|
|
472
|
+
cancelled: 'Отменён',
|
|
473
|
+
cancelling: 'Останавливается',
|
|
474
|
+
},
|
|
475
|
+
trigger: {
|
|
476
|
+
retry: 'Повтор',
|
|
477
|
+
message: 'Сообщение',
|
|
478
|
+
consultation: 'Консультация',
|
|
479
|
+
},
|
|
480
|
+
activity: {
|
|
481
|
+
queued: '{{name}} поставлен в очередь',
|
|
482
|
+
dispatched: '{{name}} запускается',
|
|
483
|
+
running: '{{name}} начал работу',
|
|
484
|
+
completed: '{{name}} завершил ход',
|
|
485
|
+
failed: '{{name}}: ошибка',
|
|
486
|
+
cancelled: '{{name}} остановлен',
|
|
487
|
+
},
|
|
488
|
+
live: {
|
|
489
|
+
working: '{{name}} работает',
|
|
490
|
+
workingFor: '{{name}} работает · {{minutes}} мин',
|
|
491
|
+
queued: '{{name}} в очереди',
|
|
492
|
+
},
|
|
493
|
+
},
|
|
494
|
+
transcript: {
|
|
495
|
+
title: 'Стенограмма запуска',
|
|
496
|
+
notFound: 'Этот запуск не существует.',
|
|
497
|
+
waiting: 'Ожидание запуска Agent…',
|
|
498
|
+
empty: 'Этот запуск не записал событий.',
|
|
499
|
+
fetchFailed: 'Не удалось получить новые события. Повторная попытка…',
|
|
500
|
+
expand: 'Показать всё',
|
|
501
|
+
truncated: 'Обрезано: полный текст был слишком длинным для хранения.',
|
|
502
|
+
summary_one: 'Создан {{created}} · {{count}} событие',
|
|
503
|
+
summary_other: 'Создан {{created}} · {{count}} события',
|
|
504
|
+
summary_few: 'Создан {{created}} · {{count}} события',
|
|
505
|
+
summary_many: 'Создан {{created}} · {{count}} событий',
|
|
506
|
+
took: 'заняло {{duration}}',
|
|
507
|
+
pendingInputs_one: '{{count}} комментарий ждёт Agent',
|
|
508
|
+
pendingInputs_other: '{{count}} комментария ждут Agent',
|
|
509
|
+
pendingInputs_few: '{{count}} комментария ждут Agent',
|
|
510
|
+
pendingInputs_many: '{{count}} комментариев ждут Agent',
|
|
511
|
+
inputDelivered_one: 'Доставлено Agent',
|
|
512
|
+
inputDelivered_other: '{{count}} ввода доставлено Agent',
|
|
513
|
+
inputDelivered_few: '{{count}} ввода доставлено Agent',
|
|
514
|
+
inputDelivered_many: '{{count}} вводов доставлено Agent',
|
|
515
|
+
tokens: '{{input}} токенов на входе, {{output}} на выходе',
|
|
516
|
+
kinds: {
|
|
517
|
+
text: 'Agent',
|
|
518
|
+
thinking: 'Размышление',
|
|
519
|
+
toolUse: 'Инструмент',
|
|
520
|
+
toolResult: 'Результат',
|
|
521
|
+
allowed: 'Разрешено',
|
|
522
|
+
denied: 'Запрещено',
|
|
523
|
+
input: 'Ввод',
|
|
524
|
+
checkout: 'Checkout',
|
|
525
|
+
status: 'Статус',
|
|
526
|
+
error: 'Ошибка',
|
|
527
|
+
usage: 'Использование',
|
|
528
|
+
},
|
|
529
|
+
},
|
|
530
|
+
failures: {
|
|
531
|
+
runnerUpgrade: 'Прервано для обновления машины выполнения; запуск продолжится.',
|
|
532
|
+
runnerDiskFull: 'На машине выполнения закончилось место на диске.',
|
|
533
|
+
runnerOfflineBeforeStart: 'Среда выполнения ушла из сети до начала запуска.',
|
|
534
|
+
runnerOffline: 'Среда выполнения ушла из сети.',
|
|
535
|
+
leaseExpired: 'Среда выполнения перестала отчитываться.',
|
|
536
|
+
startTimeout: 'Среда выполнения не начала запуск вовремя.',
|
|
537
|
+
cancelled: 'Отменено.',
|
|
538
|
+
idleTimeout: 'Agent перестал продвигаться.',
|
|
539
|
+
setupFailed: 'Не удалось подготовить запуск.',
|
|
540
|
+
cliUnavailable: 'Среда выполнения не смогла установить CLI приложения.',
|
|
541
|
+
workspaceBusy: 'Рабочий каталог занят; ожидается другая попытка.',
|
|
542
|
+
checkoutFailed: 'Не удалось выполнить checkout репозитория.',
|
|
543
|
+
toolAuth: 'В инструменте для программирования не выполнен вход в среде выполнения.',
|
|
544
|
+
toolQuota: 'У инструмента для программирования закончилась квота.',
|
|
545
|
+
sessionUnavailable: 'Не удалось возобновить исходный сеанс инструмента для программирования.',
|
|
546
|
+
toolRateLimit: 'Для инструмента для программирования сработало ограничение частоты.',
|
|
547
|
+
toolNetwork: 'Инструмент для программирования не смог связаться со своим сервисом.',
|
|
548
|
+
toolProcess: 'Инструмент для программирования неожиданно завершился.',
|
|
549
|
+
contextOverflow: 'Разговор стал слишком длинным для модели.',
|
|
550
|
+
delegatedQueueTimeout: 'Истекло время ожидания в очереди делегирования; отозвано',
|
|
551
|
+
queuedExpired: 'Ни одна среда выполнения не взяла запуск вовремя.',
|
|
552
|
+
modelUnavailable: 'Модель Agent недоступна.',
|
|
553
|
+
stepLimit: 'Agent слишком много раз вызывал инструменты, не отвечая.',
|
|
554
|
+
policyRefused: 'Политика ни одной среды выполнения не позволяет взять эту работу.',
|
|
555
|
+
prepareNetwork: 'При подготовке запуска среда выполнения не смогла связаться с хостингом репозитория.',
|
|
556
|
+
repoAccessUnavailable: 'Доступ к репозиторию временно недоступен.',
|
|
557
|
+
repoAccessDenied: 'Приложение не выдаст учётные данные для одного из репозиториев запуска.',
|
|
558
|
+
unknown: 'Запуск завершился ошибкой.',
|
|
559
|
+
},
|
|
560
|
+
runtimes: {
|
|
561
|
+
quota: {
|
|
562
|
+
workspaceStatus: {
|
|
563
|
+
active: 'Работа продолжается',
|
|
564
|
+
ended: 'Завершено · очистка разрешена',
|
|
565
|
+
checks: 'Завершено · ожидаются проверки',
|
|
566
|
+
inUse: 'Сохранено: используется',
|
|
567
|
+
changed: 'Сохранено: используется повторно',
|
|
568
|
+
trackedChanges: 'Сохранено: незакоммиченные файлы',
|
|
569
|
+
unpushed: 'Сохранено: неотправленная работа',
|
|
570
|
+
missingEvidence: 'Сохранено: нужна проверка',
|
|
571
|
+
gitFailed: 'Сохранено: ошибка проверки Git',
|
|
572
|
+
runNotFound: 'Сохранено: запуск не найден',
|
|
573
|
+
ownershipUnknown: 'Сохранено: владелец не подтверждён',
|
|
574
|
+
ambiguousSubject: 'Сохранено: неоднозначная задача',
|
|
575
|
+
bindingUnavailable: 'Сохранено: привязка недоступна',
|
|
576
|
+
subjectUnknown: 'Сохранено: задача неизвестна',
|
|
577
|
+
unknown: 'Сохранено: не проверено',
|
|
578
|
+
},
|
|
579
|
+
usageLimit: 'Лимит использования',
|
|
580
|
+
shortReset: 'сброс {{time}}',
|
|
581
|
+
shortUnknown: 'время сброса неизвестно',
|
|
582
|
+
automatic: 'Снимается само при сбросе.',
|
|
583
|
+
since: 'с {{time}}',
|
|
584
|
+
marks_one: '{{count}} отметка квоты',
|
|
585
|
+
marks_other: '{{count}} отметки квоты',
|
|
586
|
+
marks_few: '{{count}} отметки квоты',
|
|
587
|
+
marks_many: '{{count}} отметок квоты',
|
|
588
|
+
queueHint: 'Agent с исчерпанной квотой всё ещё можно выбрать. Работа встанет в очередь с прежним сроком ожидания.',
|
|
589
|
+
partial: 'Работает в {{available}} · {{blocked}} с исчерпанной квотой',
|
|
590
|
+
workspaceSize: 'Размер рабочего пространства: {{value}}',
|
|
591
|
+
providers_one: 'У {{count}} провайдера исчерпана квота',
|
|
592
|
+
providers_other: 'У {{count}} провайдера исчерпана квота',
|
|
593
|
+
providers_few: 'У {{count}} провайдеров исчерпана квота',
|
|
594
|
+
providers_many: 'У {{count}} провайдеров исчерпана квота',
|
|
595
|
+
runColumns: {
|
|
596
|
+
issue: 'Задача / разговор',
|
|
597
|
+
agent: 'Agent',
|
|
598
|
+
status: 'Статус',
|
|
599
|
+
started: 'Начат',
|
|
600
|
+
duration: 'Длительность',
|
|
601
|
+
},
|
|
602
|
+
filter: {
|
|
603
|
+
all: 'Все',
|
|
604
|
+
active: 'Активные',
|
|
605
|
+
retained: 'Сохранённые',
|
|
606
|
+
ended: 'Завершённые',
|
|
607
|
+
},
|
|
608
|
+
columns: {
|
|
609
|
+
directory: 'Каталог / задача',
|
|
610
|
+
type: 'Тип',
|
|
611
|
+
size: 'Размер',
|
|
612
|
+
push: 'Состояние отправки',
|
|
613
|
+
status: 'Статус',
|
|
614
|
+
lastUsed: 'Последнее использование',
|
|
615
|
+
},
|
|
616
|
+
previous: 'Назад',
|
|
617
|
+
next: 'Далее',
|
|
618
|
+
working: 'Рабочий',
|
|
619
|
+
readOnly: 'Копия только для чтения',
|
|
620
|
+
clean: 'Чисто',
|
|
621
|
+
unpushed: 'Не отправлено',
|
|
622
|
+
overview: 'Обзор',
|
|
623
|
+
workspaces: 'Рабочие пространства',
|
|
624
|
+
runs: 'Запуски',
|
|
625
|
+
title: 'Квота',
|
|
626
|
+
reached: 'Квота исчерпана',
|
|
627
|
+
unknown: 'Время сброса неизвестно',
|
|
628
|
+
resets: 'Сброс {{time}}',
|
|
629
|
+
near: 'Близко к лимиту',
|
|
630
|
+
clear: 'Снять',
|
|
631
|
+
clearMark: 'Снять отметку',
|
|
632
|
+
confirmTitle: 'Снять отметку квоты с {{target}}?',
|
|
633
|
+
confirm: 'Снимайте её только после того, как убедитесь, что квота восстановлена. {{target}} сразу снова получит работу; если квота всё ещё исчерпана, следующий запуск снова её отметит.',
|
|
634
|
+
observed: 'Последний отчёт {{time}}',
|
|
635
|
+
usedPercent: 'Использовано {{percent}}%',
|
|
636
|
+
ok: 'OK',
|
|
637
|
+
hint: 'Отметка снимается сама в известное время сброса или когда инструмент снова сообщит об остатке квоты. Снимайте её вручную только после того, как убедитесь, что квота восстановлена. Снимать отметки могут только владелец среды выполнения и администраторы.',
|
|
638
|
+
},
|
|
639
|
+
workspaces: {
|
|
640
|
+
paused: 'Новая работа приостановлена, пока не освободится место на диске. Текущие запуски продолжаются.',
|
|
641
|
+
working: 'Тип: рабочий каталог',
|
|
642
|
+
readOnly: 'Тип: копия только для чтения',
|
|
643
|
+
size: 'Размер: {{value}}',
|
|
644
|
+
pushed: 'Состояние отправки: чисто, нет неотправленной работы',
|
|
645
|
+
unpushed: 'Состояние отправки: незакоммиченная, неотправленная или непроверенная работа',
|
|
646
|
+
notApplicable: 'Состояние отправки: неприменимо',
|
|
647
|
+
title: 'Диагностика рабочих каталогов',
|
|
648
|
+
low: 'Мало места на диске',
|
|
649
|
+
previousLow: 'Последний отчёт: мало места на диске',
|
|
650
|
+
notReported: 'Отчёт о рабочих каталогах ещё не получен',
|
|
651
|
+
diskUnknown: 'Не удалось измерить место на диске',
|
|
652
|
+
thresholdOff: 'Предупреждение о минимальном свободном месте не настроено',
|
|
653
|
+
free: 'Свободно: {{value}}',
|
|
654
|
+
threshold: 'Минимум свободного места: {{value}}',
|
|
655
|
+
reportedAt: 'Последний отчёт: {{time}}',
|
|
656
|
+
stale: 'Это прежние показания; текущее место на диске не подтверждено.',
|
|
657
|
+
empty: 'В последнем отчёте нет рабочих каталогов',
|
|
658
|
+
ended: 'Завершено',
|
|
659
|
+
active: 'Работа продолжается',
|
|
660
|
+
unknown: 'Нельзя подтвердить, завершена ли работа',
|
|
661
|
+
oldRunner: 'Эта среда выполнения не сообщает причины диагностики',
|
|
662
|
+
noCleanup: 'Результат локальной очистки не получен',
|
|
663
|
+
discardsUntracked: 'Очистка удалит неотслеживаемые файлы',
|
|
664
|
+
decision: {
|
|
665
|
+
settled: 'Работа завершена; нужны локальные проверки очистки',
|
|
666
|
+
active: 'Работа продолжается',
|
|
667
|
+
runNotFound: 'Нельзя подтвердить: запуск не найден',
|
|
668
|
+
ownershipUnknown: 'Нельзя подтвердить: не удалось проверить владельца среды выполнения',
|
|
669
|
+
ambiguousSubject: 'Нельзя подтвердить: неоднозначный ключ объекта',
|
|
670
|
+
bindingUnavailable: 'Нельзя подтвердить: у приложения нет привязки рабочего каталога',
|
|
671
|
+
subjectUnknown: 'Нельзя подтвердить: приложение не смогло определить объект',
|
|
672
|
+
},
|
|
673
|
+
cleanup: {
|
|
674
|
+
allowed: 'Завершено; очистка разрешена',
|
|
675
|
+
inUse: 'Сохранено: каталог используется',
|
|
676
|
+
changed: 'Сохранено: каталог используется повторно',
|
|
677
|
+
trackedChanges: 'Сохранено: в отслеживаемых файлах есть незакоммиченные изменения',
|
|
678
|
+
unpushed: 'Сохранено: есть неотправленные коммиты или не хватает локальных объектов коммитов',
|
|
679
|
+
missingEvidence: 'Сохранено: недостаточно подтверждений коммитов',
|
|
680
|
+
gitFailed: 'Сохранено: ошибка проверки Git',
|
|
681
|
+
},
|
|
682
|
+
},
|
|
683
|
+
title: 'Среды выполнения',
|
|
684
|
+
description: 'Среды выполнения, в которых работают Agent, и инструменты для программирования, о которых сообщила каждая из них.',
|
|
685
|
+
add: 'Добавить среду выполнения',
|
|
686
|
+
loadFailed: 'Не удалось загрузить среды выполнения',
|
|
687
|
+
emptyTitle: 'Среды выполнения пока не подключены',
|
|
688
|
+
emptyDescription: 'Когда среда выполнения подключена, Runner-Agent берут там работу с её инструментами для программирования.',
|
|
689
|
+
noneConnected: 'Ни одна среда выполнения не подключена.',
|
|
690
|
+
revokedList_one: '{{count}} отозванная среда',
|
|
691
|
+
revokedList_other: '{{count}} отозванной среды',
|
|
692
|
+
revokedList_few: '{{count}} отозванные среды',
|
|
693
|
+
revokedList_many: '{{count}} отозванных сред',
|
|
694
|
+
lastSeen: 'Была в сети {{time}}',
|
|
695
|
+
activity: {
|
|
696
|
+
online: 'В сети {{active}}/{{slots}}',
|
|
697
|
+
busy: 'Занята {{active}}/{{slots}}',
|
|
698
|
+
low_disk: 'Мало места на диске {{active}}/{{slots}}',
|
|
699
|
+
offline: 'Не в сети · {{time}}',
|
|
700
|
+
offlineNever: 'Не в сети',
|
|
701
|
+
},
|
|
702
|
+
toolUsage: {
|
|
703
|
+
label: 'Запуски по инструментам',
|
|
704
|
+
item: '{{tool}} {{used}}/{{limit}}',
|
|
705
|
+
},
|
|
706
|
+
toolSlots: {
|
|
707
|
+
label: 'Лимиты по инструментам',
|
|
708
|
+
hint: 'Сколько запусков каждого инструмента среда берёт одновременно, например меньше для инструмента, подписка которого допускает меньше сеансов. Оставьте пустым, чтобы ограничивать только общим числом одновременных запусков.',
|
|
709
|
+
none: 'Без ограничений',
|
|
710
|
+
invalid: 'Введите целые числа от 1 до 64 или оставьте пустыми.',
|
|
711
|
+
inputLabel: 'Одновременных запусков {{tool}}',
|
|
712
|
+
overTotal: 'Лимит для {{tools}} больше максимума одновременных запусков ({{slots}}): одновременно выполняется не более {{slots}}.',
|
|
713
|
+
noneChecked: 'Отметьте инструмент выше, чтобы ограничить его.',
|
|
714
|
+
},
|
|
715
|
+
toolTable: {
|
|
716
|
+
tool: 'Инструмент',
|
|
717
|
+
enabled: 'Вкл.',
|
|
718
|
+
state: 'Статус',
|
|
719
|
+
limit: 'Одновременно',
|
|
720
|
+
active: 'Выполняется',
|
|
721
|
+
},
|
|
722
|
+
policy: {
|
|
723
|
+
title: 'Локальная политика',
|
|
724
|
+
description: 'Что владелец среды выполнения разрешает ей брать, по её отчёту. Меняется на самой машине, а не здесь.',
|
|
725
|
+
none: 'Нет локальной политики: среда берёт любую работу, для которой зарегистрирована.',
|
|
726
|
+
any: 'Любые',
|
|
727
|
+
nothing: 'Никакие',
|
|
728
|
+
agents: 'Agent',
|
|
729
|
+
subjects: 'Объекты',
|
|
730
|
+
repos: 'Репозитории',
|
|
731
|
+
},
|
|
732
|
+
variables: {
|
|
733
|
+
title: 'Переменные с этой машины',
|
|
734
|
+
description: 'Переменные, которые она предоставляет запускам, берущим их из среды выполнения, по имени; значения остаются на машине. Задайте переменную там через `nocobase-runner env set NAME` или передайте через `--pass-env NAME`.',
|
|
735
|
+
none: 'Нет: запуск, который берёт переменную из среды выполнения, здесь завершится ошибкой до начала.',
|
|
736
|
+
unknown: 'Не сообщается: её runner старше этой функции. Обновите runner, чтобы их видеть.',
|
|
737
|
+
},
|
|
738
|
+
jobs: {
|
|
739
|
+
allow: 'Разрешить задания сборки',
|
|
740
|
+
hint: 'Сборки и другие шаги, настроенные этим приложением, выполняются без модели. Эта среда выполнения сообщает: {{kinds}}.',
|
|
741
|
+
unsupported: 'Runner этой среды выполнения не берёт задания. Обновите runner, чтобы включить это.',
|
|
742
|
+
},
|
|
743
|
+
pathHint: 'Runner ищет инструменты для программирования по своему PATH. В терминале, где работает which codex / which claude, снова выполните nocobase-runner service install и перезапустите службу (или снова выполните nocobase-runner start), чтобы она получила правильный PATH.',
|
|
744
|
+
noTools: 'Инструменты для программирования не найдены',
|
|
745
|
+
actionsFor: 'Действия для {{name}}',
|
|
746
|
+
columns: {
|
|
747
|
+
name: 'Имя',
|
|
748
|
+
status: 'Статус',
|
|
749
|
+
tools: 'Инструменты',
|
|
750
|
+
sharing: 'Общий доступ',
|
|
751
|
+
version: 'Runner',
|
|
752
|
+
lastSeen: 'Была в сети',
|
|
753
|
+
slots: 'Макс. одновременных запусков',
|
|
754
|
+
},
|
|
755
|
+
detail: {
|
|
756
|
+
general: 'Общие',
|
|
757
|
+
tools: 'Инструменты',
|
|
758
|
+
toolsDescription: 'Обнаруживаются и получают работу только выбранные инструменты. Переключатели и лимиты сохраняются кнопкой «Сохранить».',
|
|
759
|
+
version: 'Runner {{version}}',
|
|
760
|
+
runs: 'Последние запуски',
|
|
761
|
+
runsEmpty: 'Запусков пока нет.',
|
|
762
|
+
runsTotal: 'Запусков: {{count}}',
|
|
763
|
+
runsPagination: 'Страницы истории запусков',
|
|
764
|
+
runsPrevious: 'Назад',
|
|
765
|
+
runsNext: 'Далее',
|
|
766
|
+
runsPage: 'Страница {{page}} из {{pageCount}}',
|
|
767
|
+
runsFailed: 'Не удалось загрузить её запуски.',
|
|
768
|
+
readOnly: 'Изменить её может только владелец.',
|
|
769
|
+
owner: 'Владелец {{name}}',
|
|
770
|
+
},
|
|
771
|
+
status: {
|
|
772
|
+
updatePending: 'Runner ждёт обновления',
|
|
773
|
+
pruning: 'Runner очищает общее хранилище',
|
|
774
|
+
online: 'В сети',
|
|
775
|
+
offline: 'Не в сети',
|
|
776
|
+
revoked: 'Отозвана',
|
|
777
|
+
upgrade_required: 'Требуется обновление',
|
|
778
|
+
},
|
|
779
|
+
upgradeRequired: {
|
|
780
|
+
title: 'Этой среде выполнения нужно обновление',
|
|
781
|
+
older: 'Её runner {{version}} использует протокол Agent {{protocol}}; этому приложению нужен протокол {{required}}. Она остаётся подключённой, но ничего не запускает, пока её не обновят.',
|
|
782
|
+
newer: 'Её runner {{version}} использует протокол Agent {{protocol}}, более новый, чем у этого приложения (протокол {{required}}). Она остаётся подключённой, но ничего не запускает, пока не будет использовать runner, который раздаёт это приложение.',
|
|
783
|
+
latest: 'Это приложение раздаёт runner {{latest}}. Выполните на её хосте, чтобы обновить:',
|
|
784
|
+
noLatest: 'Установите runner с протоколом {{required}} или выполните на её хосте, чтобы обновить:',
|
|
785
|
+
reinstall: 'Её runner не сообщает, как он был установлен. Установите его заново на хосте командой из «Добавить среду выполнения».',
|
|
786
|
+
},
|
|
787
|
+
tool: {
|
|
788
|
+
checking: 'Ожидание обнаружения',
|
|
789
|
+
failed: 'Ошибка обнаружения',
|
|
790
|
+
redetect: 'Обнаружить снова',
|
|
791
|
+
notProvided: 'Не предоставлено',
|
|
792
|
+
signedIn: 'Вход выполнен',
|
|
793
|
+
signedOut: 'Нужен вход',
|
|
794
|
+
notInstalled: 'Не установлен',
|
|
795
|
+
off: 'Выкл.',
|
|
796
|
+
offHint: 'Выкл.: работа для этого инструмента не отправляется в эту среду.',
|
|
797
|
+
enableLabel: 'Запускать {{tool}} в {{name}}',
|
|
798
|
+
version: 'Версия {{version}}',
|
|
799
|
+
},
|
|
800
|
+
trust: {
|
|
801
|
+
isolationHint: 'И для личных, и для общих сред запускайте runner в виртуальной машине или изолированном окружении: у Agent полный доступ, а runner не является песочницей.',
|
|
802
|
+
label: 'Область использования',
|
|
803
|
+
team: 'Общая',
|
|
804
|
+
teamHint: 'Выполняет задачи, запущенные любым пользователем, и получает их переменные и секреты.',
|
|
805
|
+
ownerOnly: 'Личная',
|
|
806
|
+
ownerOnlyHint: 'Выполняет только задачи, запущенные её владельцем. Добавленные вами среды по умолчанию личные.',
|
|
807
|
+
personalOnly: 'Эта среда будет личной: она выполняет только задачи, запущенные её владельцем. Позже её можно открыть всем пользователям.',
|
|
808
|
+
},
|
|
809
|
+
share: {
|
|
810
|
+
title: 'Открыть {{name}} всем пользователям?',
|
|
811
|
+
description: 'В этой среде будут выполняться запуски других людей с их переменными и секретами, и они смогут читать то, что на ней есть. Открывайте доступ, только если это допустимо.',
|
|
812
|
+
confirm: 'Открыть всем пользователям',
|
|
813
|
+
},
|
|
814
|
+
edit: {
|
|
815
|
+
button: 'Изменить',
|
|
816
|
+
title: 'Изменить {{name}}',
|
|
817
|
+
name: 'Имя',
|
|
818
|
+
nameRequired: 'Введите имя.',
|
|
819
|
+
slotsHint: 'Сколько запусков среда выполнения берёт одновременно.',
|
|
820
|
+
slotsInvalid: 'Введите целое число от 1 до 64.',
|
|
821
|
+
saved: '{{name}} сохранена',
|
|
822
|
+
},
|
|
823
|
+
upgrade: {
|
|
824
|
+
show: 'Версия {{version}}: доступен более новый runner',
|
|
825
|
+
available: 'Доступно обновление',
|
|
826
|
+
badge: 'Можно обновить',
|
|
827
|
+
title: 'Более новый runner для {{name}}',
|
|
828
|
+
description: 'Установлен {{version}}, это приложение раздаёт {{latest}}.',
|
|
829
|
+
hint: 'Обновится сам, когда не будет работающих Agent. Чтобы обновить сейчас, выполните это на её хосте.',
|
|
830
|
+
},
|
|
831
|
+
revoke: {
|
|
832
|
+
title: 'Отозвать учётные данные {{name}}?',
|
|
833
|
+
description: 'Её runner остановится при следующем запросе, а её запуски вернутся в очередь. Чтобы подключить снова, добавьте среду выполнения заново.',
|
|
834
|
+
confirm: 'Отозвать',
|
|
835
|
+
done: 'Учётные данные {{name}} отозваны',
|
|
836
|
+
},
|
|
837
|
+
delete: {
|
|
838
|
+
title: 'Удалить {{name}}?',
|
|
839
|
+
description: 'Отозванная среда выполнения будет убрана из списка. Её прошлые запуски сохранятся.',
|
|
840
|
+
confirm: 'Удалить',
|
|
841
|
+
done: '{{name}} удалена',
|
|
842
|
+
},
|
|
843
|
+
},
|
|
844
|
+
connect: {
|
|
845
|
+
title: 'Добавить среду выполнения',
|
|
846
|
+
description: 'Выберите инструменты для программирования и область использования, затем настройте runner на целевой машине.',
|
|
847
|
+
createCredential: 'Создать команду установки',
|
|
848
|
+
advanced: 'Дополнительно: лимиты по инструментам',
|
|
849
|
+
run: 'Выполните это на том хосте. Команда скачает runner (nocobase-runner) и CLI этого приложения из этого приложения, зарегистрирует runner и будет запускать его при входе:',
|
|
850
|
+
nodeRequired: 'На хосте нужен Node.js 24 или новее (проверьте node --version). Если его нет, команда остановится и подскажет, как его установить.',
|
|
851
|
+
installed: 'nocobase-runner уже установлен? Тогда просто зарегистрируйте его:',
|
|
852
|
+
manual: 'Или установите вручную',
|
|
853
|
+
promptTitle: 'Поручить настройку Agent',
|
|
854
|
+
promptCopy: 'Копировать запрос для Agent',
|
|
855
|
+
promptShow: 'Показать запрос',
|
|
856
|
+
promptHide: 'Скрыть запрос',
|
|
857
|
+
promptHint: 'Скопируйте этот запрос Agent (Claude Code, Codex и т. п.) на целевой машине, и он выполнит шаги ниже за вас. Запрос содержит одноразовые учётные данные: передавайте его только этому Agent.',
|
|
858
|
+
windowsPowerShell: '1. Установите WSL: выполните в PowerShell, затем перезапустите Windows:',
|
|
859
|
+
windowsUbuntu: '2. Откройте Ubuntu и выполните команду для Linux ниже. Устанавливайте Node.js и инструменты для программирования внутри WSL Ubuntu.',
|
|
860
|
+
windowsNetwork: 'Если WSL не может выйти в интернет, включите в WSL зеркальный сетевой режим.',
|
|
861
|
+
promptWindows: 'СНАЧАЛА определи, работаешь ли ты внутри WSL Ubuntu. Если ты НЕ в WSL Ubuntu, ОСТАНОВИСЬ: не запускай никаких команд установки или регистрации. Скажи пользователю выполнить wsl --install в PowerShell, перезапустить Windows, затем открыть Agent внутри WSL Ubuntu и снова выполнить этот запрос. Продолжай шаги ниже ТОЛЬКО внутри WSL Ubuntu. Устанавливай и Node.js, и инструменты для программирования внутри WSL. Если WSL не может выйти в интернет, включи зеркальный сетевой режим.\n\n',
|
|
862
|
+
promptBody: 'Настрой эту машину как runner NocoBase. Используй виртуальную машину или изолированное окружение: у Agent полный доступ, а runner не является песочницей.\n\nПроверь, что установлен Node.js 24 или новее и что эти инструменты для программирования установлены и в них выполнен вход: {{tools}}. Используй их официальные способы установки, не пакеты snap.\n\nВыполни эту одноразовую команду регистрации, чтобы установить runner и CLI приложения, зарегистрировать его и установить его фоновую службу:\n{{command}}\n\nУстрани типичные проблемы настройки: убедись, что PATH службы содержит инструменты для программирования (проверь which codex / which claude в терминале установки, затем снова выполни nocobase-runner service install и перезапусти службу); настрой нужный прокси для загрузок и для службы; реши проблемы прав глобальной установки npm с помощью префикса, принадлежащего пользователю, или менеджера версий Node, без sudo npm install.\n\nЗаверши командой nocobase-runner status и подтверди подключение и инструменты для программирования. Сообщи о шагах входа или настройки сети, которые остались мне. Считай учётные данные регистрации секретом и не включай их в отчёт.',
|
|
863
|
+
tokenOnce: 'Команда содержит одноразовые учётные данные для среды «{{trust}}». Она срабатывает один раз, до {{time}}.',
|
|
864
|
+
after: 'Через несколько секунд среда выполнения появится в списке вместе с найденными инструментами для программирования…',
|
|
865
|
+
tokenTools: 'Инструменты для программирования: {{tools}}.',
|
|
866
|
+
tools: 'Инструменты для программирования',
|
|
867
|
+
toolsHint: 'Обнаруживаются и получают работу только отмеченные инструменты. Это можно изменить на странице «Среды выполнения» в любое время.',
|
|
868
|
+
toolsRequired: 'Выберите хотя бы один инструмент для программирования.',
|
|
869
|
+
slots: 'Макс. одновременных запусков',
|
|
870
|
+
slotsHint: 'Сколько запусков среда выполнения берёт одновременно. Это можно изменить на странице «Среды выполнения» в любое время.',
|
|
871
|
+
tokenSlots: 'Макс. одновременных запусков: {{slots}}.',
|
|
872
|
+
tokenToolSlots: 'По инструментам: {{limits}}.',
|
|
873
|
+
connected: '{{name}} подключена.',
|
|
874
|
+
done: 'Готово',
|
|
875
|
+
system: {
|
|
876
|
+
macos: 'macOS',
|
|
877
|
+
linux: 'Linux',
|
|
878
|
+
windows: 'Windows',
|
|
879
|
+
},
|
|
880
|
+
},
|
|
881
|
+
chat: {
|
|
882
|
+
executionFailed: 'Выполнение не удалось. Перед повтором просмотрите сохранённый разговор.',
|
|
883
|
+
untitled: 'Разговор без названия',
|
|
884
|
+
renamed: 'Переименовано',
|
|
885
|
+
archivedNamed: '«{{title}}» перемещён в архив',
|
|
886
|
+
unarchived: 'Разговор восстановлен',
|
|
887
|
+
undo: 'Отменить',
|
|
888
|
+
sendFailed: 'Сообщение не отправлено. Повторите попытку.',
|
|
889
|
+
availability: {
|
|
890
|
+
online: 'Онлайн',
|
|
891
|
+
agentMissing: 'Удалён',
|
|
892
|
+
agentArchived: 'Не включён',
|
|
893
|
+
forbidden: 'Вам недоступен',
|
|
894
|
+
noModel: 'Сначала настройте модель для чата',
|
|
895
|
+
noRunner: 'Нет среды выполнения в сети, выбрать нельзя',
|
|
896
|
+
othersPersonal: 'Есть только в чужих личных средах',
|
|
897
|
+
modelUnavailable: 'Модель недоступна',
|
|
898
|
+
},
|
|
899
|
+
offline: {
|
|
900
|
+
fallbackDone: 'Теперь этот разговор использует другого Agent',
|
|
901
|
+
restoreDone: 'Переключено обратно',
|
|
902
|
+
newSession: 'Agent начнёт новый сеанс и прочитает этот разговор.',
|
|
903
|
+
},
|
|
904
|
+
fileInputFailures: {
|
|
905
|
+
imageCapability: 'Для этой модели не настроен ввод изображений. Переключитесь на модель с подтверждённой поддержкой изображений.',
|
|
906
|
+
unsupportedFormat: 'Для выбранной модели не настроен ввод этого формата вложений, и ни один локальный извлекатель текста его не поддерживает. Используйте поддерживаемый формат документа или модель с подтверждённой поддержкой файлов.',
|
|
907
|
+
formatMismatch: 'Имя файла вложения и тип содержимого указывают на разные форматы документа. Проверьте формат файла и загрузите его снова.',
|
|
908
|
+
invalidInline: 'Данные прикреплённого файла недопустимы или слишком велики. Загрузите файл снова или используйте файл меньшего размера.',
|
|
909
|
+
fileTooLarge: 'Вложение превышает допустимый объём. Используйте файл меньшего размера.',
|
|
910
|
+
inputTooLarge: 'Вложения разговора превышают допустимый объём ввода. Используйте файлы меньшего размера или начните новый разговор.',
|
|
911
|
+
documentTooLarge: 'Вложение превышает допустимый объём извлечённого текста. Используйте файл меньшего размера.',
|
|
912
|
+
contextTooLarge: 'Вложения разговора превышают допустимый объём извлечённого текста. Используйте файлы меньшего размера или начните новый разговор.',
|
|
913
|
+
fileCount: 'В разговоре превышен лимит в 100 файлов. Начните новый разговор.',
|
|
914
|
+
nativeFileCount: 'В разговоре превышен настроенный лимит файлов модели. Используйте меньше вложений или преобразуйте их в поддерживаемый текстовый документ.',
|
|
915
|
+
unreadable: 'Во вложении нет читаемого текста. Для сканов нужно распознавание текста (OCR).',
|
|
916
|
+
extractionFailed: 'Не удалось извлечь текст вложения. Проверьте, что документ читается, и загрузите его снова.',
|
|
917
|
+
extractionTimeout: 'Истекло время извлечения текста вложения. Используйте файл меньшего размера или повторите попытку.',
|
|
918
|
+
preparationFailed: 'Не удалось подготовить вложение. Проверьте доступ и формат файла и повторите попытку.',
|
|
919
|
+
},
|
|
920
|
+
notice: {
|
|
921
|
+
switchedToDefault: 'Переключено на {{name}}, Agent системы по умолчанию, пока {{own}} не вернётся.',
|
|
922
|
+
switchedToOnline: 'Для {{own}} сейчас нет у вас среды выполнения, поэтому отвечает {{name}}, пока {{own}} не вернётся.',
|
|
923
|
+
onlineFallbackUnavailable: 'Резервный онлайн-Agent не может ответить ({{reason}}). Этот разговор остаётся у {{own}}, пока он ждёт среду выполнения.',
|
|
924
|
+
switchedAgent: 'Переключено на {{name}} с историей этого разговора.',
|
|
925
|
+
switchedBack: 'Снова с {{name}}.',
|
|
926
|
+
runFailed: 'Agent остановился, не ответив.',
|
|
927
|
+
runFailedReason: 'Agent остановился, не ответив: {{reason}}',
|
|
928
|
+
runCancelled: 'Запрошена отмена.',
|
|
929
|
+
},
|
|
930
|
+
consultation: {
|
|
931
|
+
unavailableTitle: 'Консультирующий Agent недоступен',
|
|
932
|
+
snapshotTitle: 'Запрошен {{name}} на тот момент',
|
|
933
|
+
title: 'Консультация с {{name}}',
|
|
934
|
+
},
|
|
935
|
+
steps: {
|
|
936
|
+
thinking: 'Размышляет…',
|
|
937
|
+
reading: 'Смотрит {{subject}}',
|
|
938
|
+
working: 'Работает над {{subject}}',
|
|
939
|
+
},
|
|
940
|
+
agents: {
|
|
941
|
+
personalOnly: 'Только личные среды',
|
|
942
|
+
hint: 'Показывает включённых Agent и объясняет, почему кто-то из них сейчас не может вам ответить. Ответы выполняются в среде выполнения: первый ответ ждёт, пока она его возьмёт, обычно несколько секунд.',
|
|
943
|
+
chooseFor: 'Выберите Agent',
|
|
944
|
+
empty: 'Нет Agent, которого можно выбрать',
|
|
945
|
+
none: 'Нет Agent',
|
|
946
|
+
unknown: 'Неизвестный Agent',
|
|
947
|
+
placeholder: 'Выберите Agent',
|
|
948
|
+
myDefault: 'Мой по умолчанию',
|
|
949
|
+
systemDefault: 'Системный по умолчанию',
|
|
950
|
+
},
|
|
951
|
+
},
|
|
952
|
+
chatProfile: {
|
|
953
|
+
loadFailed: 'Не удалось загрузить ваши настройки Agent',
|
|
954
|
+
defaultAgent: 'Мой Agent для чата по умолчанию',
|
|
955
|
+
systemDefault: 'Системный по умолчанию',
|
|
956
|
+
systemDefaultNamed: 'Системный по умолчанию ({{name}})',
|
|
957
|
+
noDefault: 'Системный Agent по умолчанию не задан.',
|
|
958
|
+
saved: 'Agent для чата по умолчанию сохранён',
|
|
959
|
+
},
|
|
960
|
+
models: {
|
|
961
|
+
title: 'Модели',
|
|
962
|
+
description: 'Сервисы моделей, которые вызывают онлайн-Agent, и модели каждого из них: модели чата для Agent, модели эмбеддингов и переранжирования для поиска.',
|
|
963
|
+
},
|
|
964
|
+
defaultModel: {
|
|
965
|
+
title: 'Модель чата по умолчанию',
|
|
966
|
+
description: 'Ею отвечают онлайн-Agent без собственных моделей, например новый Agent или поставляемый с приложением.',
|
|
967
|
+
none: 'Ни одна модель чата ещё не включена. Добавьте сервис модели и включите модель чата: первая станет моделью по умолчанию.',
|
|
968
|
+
saved: 'Модель чата по умолчанию теперь {{model}}.',
|
|
969
|
+
},
|
|
970
|
+
services: {
|
|
971
|
+
list: 'Сервисы моделей',
|
|
972
|
+
columns: {
|
|
973
|
+
name: 'Название',
|
|
974
|
+
provider: 'Тип провайдера',
|
|
975
|
+
status: 'Статус',
|
|
976
|
+
},
|
|
977
|
+
loadFailed: 'Не удалось загрузить сервисы моделей',
|
|
978
|
+
empty: {
|
|
979
|
+
title: 'Сервисов моделей пока нет',
|
|
980
|
+
description: 'После добавления сервиса модели онлайн-Agent смогут отвечать через него.',
|
|
981
|
+
readOnly: 'Попросите администратора добавить сервис модели.',
|
|
982
|
+
},
|
|
983
|
+
add: {
|
|
984
|
+
open: 'Добавить сервис',
|
|
985
|
+
title: 'Добавить сервис модели',
|
|
986
|
+
provider: 'Тип провайдера',
|
|
987
|
+
created: '{{title}} добавлен.',
|
|
988
|
+
},
|
|
989
|
+
status: {
|
|
990
|
+
on: 'Вкл.',
|
|
991
|
+
off: 'Выкл.',
|
|
992
|
+
noKey: 'Нет API-ключа',
|
|
993
|
+
noModels: 'Нет включённых моделей',
|
|
994
|
+
},
|
|
995
|
+
service: {
|
|
996
|
+
edit: 'Изменить {{title}}',
|
|
997
|
+
defaultHost: 'По умолчанию провайдера',
|
|
998
|
+
actions: 'Другие действия для {{title}}',
|
|
999
|
+
turnOn: 'Включить',
|
|
1000
|
+
turnOff: 'Выключить',
|
|
1001
|
+
turnedOn: '{{title}} включён.',
|
|
1002
|
+
turnedOff: '{{title}} выключен.',
|
|
1003
|
+
name: 'Название',
|
|
1004
|
+
enabled: 'Включён',
|
|
1005
|
+
enabledHint: 'Онлайн-Agent могут использовать его модели, только пока он включён.',
|
|
1006
|
+
saved: '{{title}} сохранён.',
|
|
1007
|
+
delete: 'Удалить',
|
|
1008
|
+
deleteTitle: 'Удалить {{title}}?',
|
|
1009
|
+
deleteDescription: 'Agent, использующие его модели, перестанут отвечать, пока им не назначат другие, а цены его моделей будут удалены.',
|
|
1010
|
+
deleted: '{{title}} удалён.',
|
|
1011
|
+
},
|
|
1012
|
+
connection: {
|
|
1013
|
+
apiKey: 'API-ключ',
|
|
1014
|
+
keyPlaceholder: 'Вставьте API-ключ',
|
|
1015
|
+
baseUrl: 'Базовый URL',
|
|
1016
|
+
baseUrlHint: 'Если пусто, используется адрес провайдера по умолчанию: {{url}}.',
|
|
1017
|
+
baseUrlRequired: 'Адрес API провайдера.',
|
|
1018
|
+
baseUrlInvalid: 'Базовый URL начинается с http:// или https://.',
|
|
1019
|
+
test: 'Проверить подключение',
|
|
1020
|
+
testing: 'Проверка…',
|
|
1021
|
+
testOk: 'Подключено: {{model}} ответила.',
|
|
1022
|
+
testFailed: '{{model}} не ответила: {{message}}',
|
|
1023
|
+
testNeedsModel: 'Отметьте модель, чтобы проверить подключение.',
|
|
1024
|
+
openCodeHint: 'OpenCode отправляет x-opencode-session с каждым запросом (один id сеанса на разговор). Каждое семейство моделей обслуживается через свой API: DeepSeek, GLM, Kimi и MiMo — через DeepSeek или OpenAI-совместимый, Claude, MiniMax и Qwen — через Anthropic, GPT и Grok — через OpenAI. Добавьте сервис каждого нужного типа, все с этим базовым URL.',
|
|
1025
|
+
},
|
|
1026
|
+
models: {
|
|
1027
|
+
title: 'Модели',
|
|
1028
|
+
description: 'Отметьте модели, которые предлагает этот сервис, и укажите назначение каждой: модели чата отвечают за Agent, модели эмбеддингов индексируют текст для поиска, модели переранжирования упорядочивают результаты поиска. Модель эмбеддингов может запрашивать векторы определённого размера.',
|
|
1029
|
+
fetching: 'Получение моделей провайдера…',
|
|
1030
|
+
fetchFailed: 'Провайдер не выдал список моделей: {{message}}',
|
|
1031
|
+
fetch: 'Получить модели',
|
|
1032
|
+
search: 'Поиск моделей',
|
|
1033
|
+
noMatch: 'Нет подходящих моделей.',
|
|
1034
|
+
empty: 'Моделей пока нет. Получите их от провайдера или добавьте по ID.',
|
|
1035
|
+
add: 'Добавить модель',
|
|
1036
|
+
addPlaceholder: 'ID модели',
|
|
1037
|
+
kind: 'Назначение {{model}}',
|
|
1038
|
+
kinds: {
|
|
1039
|
+
chat: 'Чат',
|
|
1040
|
+
embedding: 'Эмбеддинги',
|
|
1041
|
+
rerank: 'Переранжирование',
|
|
1042
|
+
},
|
|
1043
|
+
test: 'Проверить {{model}}',
|
|
1044
|
+
testOk: 'Ответила как {{kind}}.',
|
|
1045
|
+
testFailed: 'Не ответила: {{message}}',
|
|
1046
|
+
notKind: {
|
|
1047
|
+
chat: 'Эта модель не похожа на модель чата',
|
|
1048
|
+
embedding: 'Эта модель не похожа на модель эмбеддингов',
|
|
1049
|
+
rerank: 'Эта модель не похожа на модель переранжирования',
|
|
1050
|
+
},
|
|
1051
|
+
looksLike: '{{notKind}}: она отвечает как {{kind}}.',
|
|
1052
|
+
kindNouns: {
|
|
1053
|
+
chat: 'модель чата',
|
|
1054
|
+
embedding: 'модель эмбеддингов',
|
|
1055
|
+
rerank: 'модель переранжирования',
|
|
1056
|
+
},
|
|
1057
|
+
dimensions: 'Размер вектора {{model}}',
|
|
1058
|
+
dimensionsPlaceholder: 'По умолчанию',
|
|
1059
|
+
counts: {
|
|
1060
|
+
chat: 'Чат: {{count}}',
|
|
1061
|
+
embedding: 'Эмбеддинги: {{count}}',
|
|
1062
|
+
rerank: 'Переранжирование: {{count}}',
|
|
1063
|
+
},
|
|
1064
|
+
},
|
|
1065
|
+
},
|
|
1066
|
+
prices: {
|
|
1067
|
+
loadFailed: 'Не удалось загрузить цены моделей',
|
|
1068
|
+
section: {
|
|
1069
|
+
title: 'Цены моделей',
|
|
1070
|
+
description: 'За миллион токенов, ввод / вывод. По ним в отчётах рассчитываются затраты.',
|
|
1071
|
+
online: 'Онлайн (сервисы моделей)',
|
|
1072
|
+
noOnline: 'Пока нечего оценивать. Сначала включите сервис модели и его модели.',
|
|
1073
|
+
runner: 'Runner (инструменты для программирования)',
|
|
1074
|
+
},
|
|
1075
|
+
price: {
|
|
1076
|
+
model: 'Модель',
|
|
1077
|
+
state: 'Источник цены и действия',
|
|
1078
|
+
input: 'Ввод / 1M',
|
|
1079
|
+
output: 'Вывод / 1M',
|
|
1080
|
+
inputOf: 'Цена ввода {{model}} за миллион токенов',
|
|
1081
|
+
outputOf: 'Цена вывода {{model}} за миллион токенов',
|
|
1082
|
+
save: 'Сохранить цену {{model}}',
|
|
1083
|
+
saved: 'Цена {{model}} сохранена.',
|
|
1084
|
+
remove: 'Удалить цену {{model}}',
|
|
1085
|
+
removed: 'Цена {{model}} удалена.',
|
|
1086
|
+
unpriced: 'Без цены',
|
|
1087
|
+
unpricedHint: 'Пока цены нет, в отчётах стоимость показывается как «—».',
|
|
1088
|
+
via: 'по {{pattern}}',
|
|
1089
|
+
viaHint: 'Цена задана правилом {{pattern}}. Сохранение здесь задаёт этой модели собственную цену.',
|
|
1090
|
+
invalid: 'Цены — числа от 0 и больше.',
|
|
1091
|
+
readOnly: 'Менять цены может только тот, кто управляет ценами моделей.',
|
|
1092
|
+
},
|
|
1093
|
+
tool: {
|
|
1094
|
+
description: 'Стоимость запусков {{tool}} по модели, о которой сообщает каждый запуск.',
|
|
1095
|
+
subscription: 'Подписка (без оплаты)',
|
|
1096
|
+
subscriptionTag: 'Подписка',
|
|
1097
|
+
subscriptionHint: 'Оплачивается ежемесячным тарифом: в отчётах его запуски ничего не стоят.',
|
|
1098
|
+
subscribed: '{{tool}} оплачивается по подписке.',
|
|
1099
|
+
unsubscribed: '{{tool}} оплачивается по ценам.',
|
|
1100
|
+
seen: 'Модели, замеченные в запусках',
|
|
1101
|
+
noneSeen: 'Ни один запуск {{tool}} ещё не сообщил модель.',
|
|
1102
|
+
rules: 'Правила цен ({{count}})',
|
|
1103
|
+
rulesHint: 'Правило — это ID модели или шаблон, например claude-sonnet-4*; побеждает самое точное совпадение.',
|
|
1104
|
+
ruleModel: 'Модель или шаблон',
|
|
1105
|
+
addRule: 'Добавить цену',
|
|
1106
|
+
ruleAdded: 'Цена {{model}} добавлена.',
|
|
1107
|
+
},
|
|
1108
|
+
},
|
|
1109
|
+
skills: {
|
|
1110
|
+
attachments: 'Подключения',
|
|
1111
|
+
globalMount: 'Глобальное подключение',
|
|
1112
|
+
globalMountDescription: 'Сохраняется сразу. Все будущие запуски получат этот навык.',
|
|
1113
|
+
mountSaved: 'Настройки подключения сохранены.',
|
|
1114
|
+
mountRetry: 'Не удалось загрузить настройки. Повторить',
|
|
1115
|
+
unavailableTarget: 'Недоступная цель',
|
|
1116
|
+
noAttachments: 'Нигде не подключён.',
|
|
1117
|
+
title: 'Навыки',
|
|
1118
|
+
description: 'Повторно используемые инструкции со вспомогательными файлами. Подключайте командные навыки по умолчанию глобально или к проекту либо рабочему каталогу.',
|
|
1119
|
+
new: 'Новый навык',
|
|
1120
|
+
newTitle: 'Новый навык',
|
|
1121
|
+
newDescription: 'Напишите SKILL.md: его заголовочный блок задаёт имя и описание навыка. Файлы можно добавить сейчас или позже.',
|
|
1122
|
+
breadcrumb: 'Навык',
|
|
1123
|
+
loadFailed: 'Не удалось загрузить навыки',
|
|
1124
|
+
backToList: 'Назад к навыкам',
|
|
1125
|
+
emptyTitle: 'Навыков пока нет',
|
|
1126
|
+
emptyDescription: 'После добавления навыка Agent читают его SKILL.md всякий раз, когда это нужно для задачи.',
|
|
1127
|
+
emptyReadOnly: 'Попросите администратора добавить навык.',
|
|
1128
|
+
content: 'SKILL.md',
|
|
1129
|
+
contentHint: 'Имя в заголовочном блоке — это имя папки навыка: его изменение переименовывает навык. Описание подсказывает Agent, когда его читать.',
|
|
1130
|
+
contentTooLarge: 'SKILL.md больше {{max}}.',
|
|
1131
|
+
emptyContent: 'У этого навыка пока нет содержимого.',
|
|
1132
|
+
created: 'Навык «{{name}}» создан',
|
|
1133
|
+
saved: 'Сохранено как версия {{version}}.',
|
|
1134
|
+
saveVersion: 'Сохранить новую версию',
|
|
1135
|
+
editing: 'Редактирование',
|
|
1136
|
+
note: 'Примечание',
|
|
1137
|
+
notePlaceholder: 'Что изменилось в этой версии (необязательно)',
|
|
1138
|
+
deleted: 'Навык «{{name}}» удалён.',
|
|
1139
|
+
edit: 'Изменить',
|
|
1140
|
+
delete: 'Удалить навык',
|
|
1141
|
+
deleteTitle: 'Удалить навык «{{name}}»?',
|
|
1142
|
+
deleteDescription: 'Все Agent и все места, где этот навык используется по умолчанию, лишатся его.',
|
|
1143
|
+
readOnly: 'Изменять этот навык могут только его создатель и администраторы рабочего пространства.',
|
|
1144
|
+
conflict: 'Кто-то только что изменил этот навык. Загружена последняя версия; повторите попытку.',
|
|
1145
|
+
conflictTitle: 'Кто-то только что изменил этот навык',
|
|
1146
|
+
conflictDraft: 'После начала вашего редактирования кто-то сохранил новую версию, поэтому ваши изменения не сохранены. Скопируйте то, что хотите сохранить, затем загрузите последнюю версию и отредактируйте снова.',
|
|
1147
|
+
loadLatest: 'Загрузить последнюю версию',
|
|
1148
|
+
mountedAgents: 'Подключённые Agent',
|
|
1149
|
+
noAgents: 'Пока не подключён ни к одному Agent.',
|
|
1150
|
+
defaults: 'Навык по умолчанию для: {{places}}.',
|
|
1151
|
+
defaultsSeparator: ', ',
|
|
1152
|
+
files: 'Файлы',
|
|
1153
|
+
usage: '{{files}}/{{maxFiles}} файлов · {{size}}/{{maxSize}}',
|
|
1154
|
+
uploadTooLarge: '{{name}} больше {{max}}.',
|
|
1155
|
+
uploadInvalidName: '{{name}} нельзя добавить сюда; сначала переименуйте его.',
|
|
1156
|
+
skillTooLarge: 'Навык может занимать не более {{max}} в сумме.',
|
|
1157
|
+
tooManyFiles: 'Навык может содержать не более {{max}} файлов.',
|
|
1158
|
+
filesTooLarge: 'Больше {{max}}: {{paths}}.',
|
|
1159
|
+
binaryFile: 'Двоичный файл, {{size}}. Здесь его нельзя редактировать.',
|
|
1160
|
+
executable: 'Исполняемый',
|
|
1161
|
+
scriptBadge: 'Скрипт',
|
|
1162
|
+
scriptsNote: 'Содержит скрипты: онлайн-Agent могут их читать, но никогда не запускают',
|
|
1163
|
+
compatibility: 'Совместимость: {{value}}',
|
|
1164
|
+
fileContent: 'Содержимое {{path}}',
|
|
1165
|
+
export: 'Экспорт',
|
|
1166
|
+
exportVersion: 'Экспортировать версию {{version}} в zip',
|
|
1167
|
+
import: 'Импорт',
|
|
1168
|
+
importVersion: 'Импортировать новую версию',
|
|
1169
|
+
imported: 'Навык «{{name}}» импортирован.',
|
|
1170
|
+
importInvalid: 'SKILL.md из архива нельзя использовать: {{problem}}',
|
|
1171
|
+
tree: {
|
|
1172
|
+
label: 'Файлы навыка',
|
|
1173
|
+
newFile: 'Новый файл',
|
|
1174
|
+
newFolder: 'Новая папка',
|
|
1175
|
+
upload: 'Загрузить файлы',
|
|
1176
|
+
actionsFor: 'Действия для {{name}}',
|
|
1177
|
+
rename: 'Переименовать',
|
|
1178
|
+
delete: 'Удалить',
|
|
1179
|
+
download: 'Скачать',
|
|
1180
|
+
replace: 'Заменить',
|
|
1181
|
+
markExecutable: 'Сделать исполняемым',
|
|
1182
|
+
unmarkExecutable: 'Сделать неисполняемым',
|
|
1183
|
+
dropHint: 'Перетащите файлы на папку, чтобы загрузить их туда.',
|
|
1184
|
+
},
|
|
1185
|
+
entry: {
|
|
1186
|
+
description: 'Имена проверяются на совпадение с уже существующими файлами.',
|
|
1187
|
+
folderHint: 'Пустая папка не сохраняется: добавьте в неё файл перед сохранением.',
|
|
1188
|
+
location: 'Расположение',
|
|
1189
|
+
root: 'Папка навыка (/)',
|
|
1190
|
+
name: 'Имя',
|
|
1191
|
+
renameTitle: 'Переименовать «{{name}}»',
|
|
1192
|
+
conventional: {
|
|
1193
|
+
scripts: 'Код, который Agent могут запускать. Онлайн-Agent его только читают.',
|
|
1194
|
+
references: 'Документация, которую Agent читают по необходимости.',
|
|
1195
|
+
assets: 'Шаблоны, изображения и другие ресурсы.',
|
|
1196
|
+
},
|
|
1197
|
+
problems: {
|
|
1198
|
+
required: 'Введите имя.',
|
|
1199
|
+
invalid: 'Используйте имя без "/", отличное от "." и "..".',
|
|
1200
|
+
taken: 'Файл или папка с таким именем уже есть.',
|
|
1201
|
+
reserved: 'SKILL.md — это сам навык; выберите другое имя.',
|
|
1202
|
+
},
|
|
1203
|
+
deleteFileTitle: 'Удалить файл «{{name}}»?',
|
|
1204
|
+
deleteFolderTitle: 'Удалить папку «{{name}}» со всем содержимым?',
|
|
1205
|
+
deleteDescription: 'Удаляется из этого черновика; в сохранённых версиях остаётся.',
|
|
1206
|
+
},
|
|
1207
|
+
editor: {
|
|
1208
|
+
write: 'Текст',
|
|
1209
|
+
preview: 'Предпросмотр',
|
|
1210
|
+
nothingToPreview: 'Пока нечего показать.',
|
|
1211
|
+
noPreview: 'Для этого типа файлов предпросмотра нет.',
|
|
1212
|
+
},
|
|
1213
|
+
frontMatter: {
|
|
1214
|
+
title: 'Исправьте заголовочный блок SKILL.md',
|
|
1215
|
+
reasons: {
|
|
1216
|
+
missing: 'Начните SKILL.md с заголовочного блока между двумя строками "---", с name и description.',
|
|
1217
|
+
yaml: 'Заголовочный блок — недопустимый YAML.',
|
|
1218
|
+
notMapping: 'Заголовочный блок должен состоять из ключей и значений, например "name: my-skill".',
|
|
1219
|
+
required: 'Добавьте {{field}}.',
|
|
1220
|
+
empty: '{{field}} не может быть пустым.',
|
|
1221
|
+
type: 'У {{field}} неверный тип.',
|
|
1222
|
+
tooLong: '{{field}} длиннее {{max}} символов.',
|
|
1223
|
+
pattern: 'name состоит из строчных латинских букв, цифр и одиночных дефисов и не начинается и не заканчивается дефисом.',
|
|
1224
|
+
mismatch: 'name должно совпадать с именем папки, содержащей SKILL.md.',
|
|
1225
|
+
taken: 'Это имя уже есть у другого навыка; выберите другое.',
|
|
1226
|
+
},
|
|
1227
|
+
},
|
|
1228
|
+
template: {
|
|
1229
|
+
description: 'Что делает этот навык и когда Agent должен его использовать.',
|
|
1230
|
+
title: 'Новый навык',
|
|
1231
|
+
whenToUse: 'Когда использовать',
|
|
1232
|
+
whenToUseHint: 'Опишите задачи, для которых нужен этот навык.',
|
|
1233
|
+
steps: 'Шаги',
|
|
1234
|
+
stepsHint: '1. Первое, что нужно сделать.\n2. Следующее.',
|
|
1235
|
+
examples: 'Примеры',
|
|
1236
|
+
examplesHint: 'Покажите входные данные и то, как выглядит хороший результат.',
|
|
1237
|
+
},
|
|
1238
|
+
columns: {
|
|
1239
|
+
name: 'Название',
|
|
1240
|
+
description: 'Описание',
|
|
1241
|
+
files: 'Файлы',
|
|
1242
|
+
version: 'Версия',
|
|
1243
|
+
agents: 'Agent',
|
|
1244
|
+
updated: 'Обновлено',
|
|
1245
|
+
},
|
|
1246
|
+
versions: {
|
|
1247
|
+
title: 'Версии',
|
|
1248
|
+
description: 'Каждое сохранение — новая версия; Agent всегда получают последнюю.',
|
|
1249
|
+
current: 'Текущая',
|
|
1250
|
+
compare: 'Сравнить',
|
|
1251
|
+
compareTitle: 'Версия {{version}} → версия {{current}}',
|
|
1252
|
+
compareDescription: 'Удалённые с тех пор строки — красным, добавленные — зелёным.',
|
|
1253
|
+
unchanged: 'без изменений',
|
|
1254
|
+
restore: 'Восстановить',
|
|
1255
|
+
restoreTitle: 'Восстановить версию {{version}}?',
|
|
1256
|
+
restoreDescription: 'Она будет сохранена снова как самая новая версия; Agent получат её при следующем запуске. Ничего не теряется: текущая версия остаётся в истории.',
|
|
1257
|
+
restored: 'Версия {{version}} восстановлена как версия {{current}}.',
|
|
1258
|
+
},
|
|
1259
|
+
},
|
|
1260
|
+
runWait: {
|
|
1261
|
+
capacity: 'Занято слотов здесь {{used}}/{{limit}}; {{detail}}; свободно по отчётам приложений {{reportedFree}}',
|
|
1262
|
+
reasons: {
|
|
1263
|
+
updatePending: 'Runner ждёт обновления; новая работа приостановлена',
|
|
1264
|
+
pruning: 'Runner очищает общее хранилище; новая работа приостановлена',
|
|
1265
|
+
toolNotInstalled: 'Ни в одной подключённой среде не установлен этот инструмент',
|
|
1266
|
+
incompatible: 'Подключённые среды не поддерживают эту нагрузку; требуется обновление',
|
|
1267
|
+
restricted: 'Ограничения политики среды, каталога или переменных',
|
|
1268
|
+
unknown: 'Пригодность для этой нагрузки не установлена',
|
|
1269
|
+
agentArchived: 'Agent в архиве',
|
|
1270
|
+
delayed: 'Запланировано на {{until}}',
|
|
1271
|
+
noRunnerOnline: 'Нет среды выполнения в сети',
|
|
1272
|
+
runnersOffline: 'Его среды выполнения не в сети',
|
|
1273
|
+
toolQuota: 'Квота инструмента исчерпана; время сброса: {{until}}',
|
|
1274
|
+
toolUnavailable: 'В инструменте не выполнен вход, он выключен или запрошенная модель недоступна ({{tool}})',
|
|
1275
|
+
noSharedRunner: 'В сети только чужие личные среды',
|
|
1276
|
+
missingFeatures: 'Ни одна среда выполнения не поддерживает {{features}}',
|
|
1277
|
+
secretsNotAllowed: 'Нужна общая среда: {{variables}} — только для общих сред',
|
|
1278
|
+
sameWorkActive: 'После запуска, который уже над этим работает',
|
|
1279
|
+
concurrencyFull: 'Достигнут предел одновременности ({{active}}/{{limit}})',
|
|
1280
|
+
runnersBusy: 'Совместимые среды заполнены',
|
|
1281
|
+
toolSlotsFull: 'Слоты {{tool}} заполнены ({{used}}/{{limit}})',
|
|
1282
|
+
setupRetrying: 'Подготовка не удалась; повтор: {{detail}}',
|
|
1283
|
+
next: 'Следующий для свободной среды выполнения',
|
|
1284
|
+
},
|
|
1285
|
+
unknown: 'В очереди ({{reason}})',
|
|
1286
|
+
quotaResetUnknown: 'неизвестно',
|
|
1287
|
+
unknownValue: '—',
|
|
1288
|
+
},
|
|
1289
|
+
access: {
|
|
1290
|
+
section: 'Управление Agent',
|
|
1291
|
+
businessSection: 'Управление Agent',
|
|
1292
|
+
businesses: {
|
|
1293
|
+
agents: {
|
|
1294
|
+
title: 'Agent и навыки',
|
|
1295
|
+
description: 'Agent и навыки, которые они используют.',
|
|
1296
|
+
actions: {
|
|
1297
|
+
edit: {
|
|
1298
|
+
title: 'Управлять Agent и навыками',
|
|
1299
|
+
description: 'Изменять настройки, навыки и переменные Agent, архивировать, восстанавливать и удалять его, редактировать навыки. Agent не получает возможностей сверх прав редактора',
|
|
1300
|
+
related: 'Управлять Agent и навыками (своими Agent и созданными навыками)',
|
|
1301
|
+
relatedLabel: 'Мои Agent и созданные мной навыки',
|
|
1302
|
+
relatedHint: 'Agent, владельцем которых я являюсь, и навыки, которые я создал',
|
|
1303
|
+
all: 'Управлять Agent и навыками (всеми)',
|
|
1304
|
+
},
|
|
1305
|
+
},
|
|
1306
|
+
},
|
|
1307
|
+
},
|
|
1308
|
+
settings: {
|
|
1309
|
+
agents: {
|
|
1310
|
+
agents: 'Agent',
|
|
1311
|
+
runners: 'Среды выполнения',
|
|
1312
|
+
prices: 'Цены моделей',
|
|
1313
|
+
services: 'Сервисы моделей',
|
|
1314
|
+
},
|
|
1315
|
+
},
|
|
1316
|
+
actions: {
|
|
1317
|
+
read: 'Просмотр',
|
|
1318
|
+
manage: 'Управление',
|
|
1319
|
+
},
|
|
1320
|
+
keyScopes: {
|
|
1321
|
+
agents: {
|
|
1322
|
+
title: 'Agent',
|
|
1323
|
+
description: 'Просмотр Agent, навыков и запусков; изменение Agent и навыков, отмена и повтор запусков.',
|
|
1324
|
+
},
|
|
1325
|
+
runners: {
|
|
1326
|
+
title: 'Среды выполнения',
|
|
1327
|
+
description: 'Просмотр сред выполнения и токенов регистрации; управление средами выполнения.',
|
|
1328
|
+
},
|
|
1329
|
+
prices: {
|
|
1330
|
+
title: 'Цены моделей',
|
|
1331
|
+
description: 'Просмотр цен моделей, по которым оцениваются затраты; их изменение.',
|
|
1332
|
+
},
|
|
1333
|
+
services: {
|
|
1334
|
+
title: 'Сервисы моделей',
|
|
1335
|
+
description: 'Просмотр сервисов моделей и предлагаемых ими моделей, без их ключей.',
|
|
1336
|
+
},
|
|
1337
|
+
},
|
|
1338
|
+
},
|
|
1339
|
+
};
|
|
1340
|
+
export default ruRU;
|
|
1341
|
+
//# sourceMappingURL=ru-RU.js.map
|