@goodandready/dsh-russian-lang 0.2.2 → 0.2.4
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 +6 -7
- package/package.json +2 -2
- package/ru/01-core-small.json +146 -94
- package/ru/02-conversation.json +780 -170
- package/ru/03-models-workspace.json +187 -164
- package/ru/04-preset-cordis.json +134 -106
- package/ru/05-plugins-subagent.json +156 -121
- package/ru-plugins/03-dshmarket.json +11 -2
- package/ru-plugins/10-kanban.json +365 -223
- package/ru-plugins/15-commandcode.json +17 -2
- package/ru-plugins/32-vision-bridge.json +147 -0
- package/ru-plugins/33-messenger-gateway.json +138 -0
- package/ru-plugins/34-key-rotation.json +114 -0
- package/ru-plugins/35-gitea.json +71 -0
- package/ru-plugins/36-cost-meter.json +42 -0
- package/ru-plugins/37-time-machine.json +29 -0
- package/ru-plugins/38-context-lens.json +23 -0
- package/ru-plugins/39-shadow-auditor.json +17 -0
- package/ru-plugins/40-clinebot.json +8 -0
- package/ru-plugins/41-lanmode.json +6 -0
|
@@ -1,225 +1,367 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
2
|
+
"dsh-kanban": {
|
|
3
|
+
"title": "Канбан",
|
|
4
|
+
"subtitle": "Доска задач: issue из Gitea и отдельная сессия под задачу",
|
|
5
|
+
"section.label": "Канбан",
|
|
6
|
+
"group.gitea": "Gitea",
|
|
7
|
+
"group.general": "Общее",
|
|
8
|
+
"field.giteaUrl": "Адрес инстанса",
|
|
9
|
+
"field.giteaTokenRef": "Имя учётной записи",
|
|
10
|
+
"hint.giteaUrl": "Например https://gitea.example.com. Пусто — импорт недоступен.",
|
|
11
|
+
"hint.giteaTokenRef": "ИМЯ учётной записи DSH, в которой лежит токен. Сам токен сюда не вводить.",
|
|
12
|
+
"group.limits": "Пределы колонок",
|
|
13
|
+
"group.sync": "Автоперемещение",
|
|
14
|
+
"field.syncIntervalSec": "Сверяться с Gitea раз в, секунд",
|
|
15
|
+
"field.staleAfterMin": "Считать задачу молчащей после, минут",
|
|
16
|
+
"field.giteaOwner": "Организация Gitea",
|
|
17
|
+
"hint.giteaOwner": "Чьи репозитории смотрит доска. Пусто — определится сама, пока у токена ровно одна организация.",
|
|
18
|
+
"field.columnNames": "Свои названия колонок",
|
|
19
|
+
"hint.columnNames": "Пары «идентификатор=Название» через запятую, например «backlog=Идеи, review=Проверка». Пусто — обычные названия.",
|
|
20
|
+
"field.watchRepos": "Сузить подхват до репозиториев",
|
|
21
|
+
"hint.watchRepos": "Через запятую, «владелец/репо» или просто «репо». Пусто — все репозитории организации, где есть открытые задачи.",
|
|
22
|
+
"field.archiveAfterDays": "Убирать в архив из «Выполнено» через, дней",
|
|
23
|
+
"hint.archiveAfterDays": "Считается с попадания карточки в «Выполнено». Ноль — оставлять всё на доске.",
|
|
24
|
+
"field.boardToolEnabled": "Разрешить агенту двигать карточки",
|
|
25
|
+
"field.pushToGitea": "Закрывать issue в Gitea",
|
|
26
|
+
"field.webhookSecretRef": "Имя учётной записи для вебхука",
|
|
27
|
+
"hint.pushToGitea": "Карточка, дошедшая до «Выполнено», закрывает свой issue. Меток доска не ставит: стадия и так видна по ветке и pull request.",
|
|
28
|
+
"hint.webhookSecretRef": "ИМЯ учётной записи DSH с секретом вебхука Gitea. Пусто — остаётся только опрос.",
|
|
29
|
+
"hint.syncIntervalSec": "Ноль отключает сверку. Меньше пятнадцати секунд поднимается до пятнадцати.",
|
|
30
|
+
"hint.staleAfterMin": "Помечаются только задачи с сессией. Ноль отключает отметку.",
|
|
31
|
+
"hint.boardToolEnabled": "Выключено, пока скилл воркфлоу запрещает этому CLI трогать канбан.",
|
|
32
|
+
"field.defaultProjectRoot": "Корень проектов",
|
|
33
|
+
"field.startPrompt": "Шаблон первого сообщения",
|
|
34
|
+
"field.replyInstruction": "Постоянная приписка",
|
|
35
|
+
"field.wipInProgress": "Предел «В работе»",
|
|
36
|
+
"field.wipReview": "Предел «Ревью»",
|
|
37
|
+
"hint.defaultProjectRoot": "Где лежат рабочие копии проектов. Пусто — рабочая папка харнесса.",
|
|
38
|
+
"hint.startPrompt": "Шаблон первого сообщения агенту. Пусто — встроенный шаблон.",
|
|
39
|
+
"hint.replyInstruction": "Дописывается к каждому первому сообщению — например язык ответа. Пусто — ничего не добавляется.",
|
|
40
|
+
"hint.label": "Пусто — метка для этой колонки не ставится.",
|
|
41
|
+
"hint.limit": "Ноль — без предела. Превышение подсвечивается, но не запрещается.",
|
|
42
|
+
"settings.loading": "Загрузка настроек доски…",
|
|
43
|
+
"settings.unavailable": "Хост не знает пространство настроек dsh-kanban. Перезапустите веб-интерфейс после установки плагина.",
|
|
44
|
+
"settings.readOnly": "Настройки в этой сессии доступны только для чтения.",
|
|
45
|
+
"settings.saveFailed": "Не сохранены поля: {fields}",
|
|
46
|
+
"settings.saved": "Настройки сохранены",
|
|
47
|
+
"save": "Сохранить",
|
|
48
|
+
"discard": "Отменить",
|
|
49
|
+
"column.backlog": "Бэклог",
|
|
50
|
+
"column.in-progress": "В работе",
|
|
51
|
+
"column.review": "Ревью",
|
|
52
|
+
"column.deploy": "Выкатка",
|
|
53
|
+
"column.cleanup": "Уборка",
|
|
54
|
+
"column.done": "Выполнено",
|
|
55
|
+
"board.loading": "Доска загружается…",
|
|
56
|
+
"board.empty": "Задач пока нет.",
|
|
57
|
+
"board.waiting": "нужен человек",
|
|
58
|
+
"board.sync": "Сверить с Gitea",
|
|
59
|
+
"board.syncing": "Сверяю…",
|
|
60
|
+
"board.noMatch": "Ничего не найдено.",
|
|
61
|
+
"board.search": "Поиск",
|
|
62
|
+
"board.limit": "предел {n}",
|
|
63
|
+
"board.newTask": "Задача",
|
|
64
|
+
"board.refresh": "Обновить",
|
|
65
|
+
"board.allRepos": "Все репозитории",
|
|
66
|
+
"board.repo": "репозиторий",
|
|
67
|
+
"dialog.title": "Новая задача",
|
|
68
|
+
"dialog.own": "Своя задача",
|
|
69
|
+
"dialog.fromGitea": "Из Gitea",
|
|
70
|
+
"dialog.repo": "Репозиторий",
|
|
71
|
+
"dialog.pickRepo": "Выберите репозиторий",
|
|
72
|
+
"dialog.loadingRepos": "Репозитории загружаются…",
|
|
73
|
+
"dialog.noRepos": "Репозиториев нет",
|
|
74
|
+
"dialog.taskTitle": "Заголовок",
|
|
75
|
+
"dialog.taskBody": "Описание",
|
|
76
|
+
"dialog.taskLabels": "Метки",
|
|
77
|
+
"dialog.taskColumn": "Колонка",
|
|
78
|
+
"dialog.bodyHint": "Уйдёт агенту первым сообщением при запуске задачи.",
|
|
79
|
+
"dialog.labelsHint": "через запятую",
|
|
80
|
+
"dialog.archived": "архив",
|
|
81
|
+
"dialog.create": "Создать",
|
|
82
|
+
"dialog.cancel": "Отмена",
|
|
83
|
+
"move.title": "Перенести в «{column}»?",
|
|
84
|
+
"board.expand": "Развернуть колонку",
|
|
85
|
+
"card.move": "Переместить в колонку",
|
|
86
|
+
"card.toChat": "перейти в чат",
|
|
87
|
+
"card.pick": "Отметить для группового запуска",
|
|
88
|
+
"card.queue": "в очередь...",
|
|
89
|
+
"card.unqueue": "снять с очереди",
|
|
90
|
+
"queue.title": "Поставить в очередь идущей сессии",
|
|
91
|
+
"queue.hint": "Задача встанет в очередь сессии: агент возьмёт её, закончив текущую работу. До этого карточка остаётся там, где лежит.",
|
|
92
|
+
"queue.session": "Сессия",
|
|
93
|
+
"queue.option": "{title} - задач: {n}",
|
|
94
|
+
"queue.add": "В очередь",
|
|
95
|
+
"error.no-live-sessions": "Нет ни одной идущей сессии, в очередь ставить некуда.",
|
|
96
|
+
"error.session-not-live": "Эта сессия больше не идёт.",
|
|
97
|
+
"error.task-not-queued": "Задача не стоит в очереди.",
|
|
98
|
+
"batch.title": "Запустить {n} задач в одном чате",
|
|
99
|
+
"batch.hint": "Одна сессия на все. Задачи приходят по очереди: агент берёт следующую, закончив текущую. В «В работе» уезжает только первая — остальные ждут своей очереди там, где лежат.",
|
|
100
|
+
"batch.start": "Запустить",
|
|
101
|
+
"state.queued": "в очереди · {n}",
|
|
102
|
+
"board.pickedCount": "выбрано {n}",
|
|
103
|
+
"board.pickNone": "Снять выбор",
|
|
104
|
+
"board.pickStart": "Запустить выбранные",
|
|
105
|
+
"dialog.kind": "Какая это задача",
|
|
106
|
+
"dialog.kindProject": "Проект",
|
|
107
|
+
"dialog.kindPlain": "Не проект",
|
|
108
|
+
"dialog.kindProjectHint": "В Gitea заводится issue, карточка привязывается к нему и живёт на проектной доске.",
|
|
109
|
+
"dialog.kindPlainHint": "Заметка, не относящаяся ни к какому репозиторию. Живёт на простой доске и в Gitea не попадает.",
|
|
110
|
+
"dialog.repoNew": "— новый репозиторий —",
|
|
111
|
+
"dialog.repoNamePlaceholder": "имя нового репозитория, латиницей",
|
|
112
|
+
"dialog.repoNewHint": "Будет создан в организации: приватный и пустой, без README и заготовок. Создание репозитория отсюда не отменить.",
|
|
113
|
+
"error.repo-required": "Выберите репозиторий или назовите новый.",
|
|
114
|
+
"error.bad-repo-name": "В имени репозитория допустимы только латинские буквы, цифры, точка, дефис и подчёркивание.",
|
|
115
|
+
"error.repo-not-created": "Репозиторий не создан; больше ничего не сделано.",
|
|
116
|
+
"error.issue-not-created": "Issue не заведён. Если репозиторий был новым, он остался — ничего не удалено.",
|
|
117
|
+
"board.archive": "Архив",
|
|
118
|
+
"panel.archive": "В архив",
|
|
119
|
+
"archive.hint": "Карточки, отстоявшие свой срок в «Выполнено». Ничего не удалено: возвращённая карточка встаёт в ту же колонку, откуда ушла.",
|
|
120
|
+
"archive.empty": "В архиве пусто.",
|
|
121
|
+
"archive.since": "в архиве {ago}",
|
|
122
|
+
"archive.restore": "Вернуть на доску",
|
|
123
|
+
"sync.running": "сверяемся с Gitea…",
|
|
124
|
+
"sync.never": "сверки с Gitea ещё не было",
|
|
125
|
+
"sync.okAgo": "сверено {ago} назад",
|
|
126
|
+
"sync.failed": "сверка не проходит",
|
|
127
|
+
"sync.lastSeen": "последняя удачная сверка {ago} назад",
|
|
128
|
+
"sync.neverSeen": "удачной сверки с запуска харнесса не было",
|
|
129
|
+
"facet.repo": "Репозиторий",
|
|
130
|
+
"facet.author": "Автор",
|
|
131
|
+
"board.pickArchive": "В архив",
|
|
132
|
+
"board.pickUnqueue": "Снять с очереди",
|
|
133
|
+
"board.pickMove": "Перенести…",
|
|
134
|
+
"board.someFailed": "Сделано у {done} из {total}, остальные отказали.",
|
|
135
|
+
"card.stop": "остановить",
|
|
136
|
+
"card.pack": "пачка {at} из {total}",
|
|
137
|
+
"card.packHint": "Запущены вместе, одной сессией; агент берёт их в этом порядке.",
|
|
138
|
+
"stop.idle": "Агент не работал, останавливать было нечего.",
|
|
139
|
+
"stop.no-session": "У задачи нет сессии.",
|
|
140
|
+
"board.waitCount": "Ждут ответа: {n}",
|
|
141
|
+
"board.waitCountHint": "Задачи, где агент задал вопрос или просит разрешения.",
|
|
142
|
+
"order.manual": "Как разложено",
|
|
143
|
+
"order.old": "Сначала старые",
|
|
144
|
+
"order.new": "Сначала новые",
|
|
145
|
+
"facet.type": "Тип",
|
|
146
|
+
"facet.priority": "Приоритет",
|
|
147
|
+
"facet.status": "Статус",
|
|
148
|
+
"facet.scope": "Область",
|
|
149
|
+
"facet.risk": "Риск",
|
|
150
|
+
"facet.signal": "Сигнал",
|
|
151
|
+
"facet.release": "Выпуск",
|
|
152
|
+
"boardName.main": "Проектная доска",
|
|
153
|
+
"boardName.simple": "Простая доска",
|
|
154
|
+
"board.clearFilters": "Снять отборы",
|
|
155
|
+
"board.shown": "показано {shown} из {total}",
|
|
156
|
+
"board.noRepo": "без проекта",
|
|
157
|
+
"board.back": "В чат",
|
|
158
|
+
"board.backHint": "Закрыть доску и вернуться в разговор",
|
|
159
|
+
"panel.openChat": "Открыть чат",
|
|
160
|
+
"panel.bodyLoading": "читаю описание…",
|
|
161
|
+
"panel.author": "завёл {who}",
|
|
162
|
+
"panel.created": "заведена {ago} назад",
|
|
163
|
+
"panel.updated": "последнее изменение {ago} назад",
|
|
164
|
+
"time.now": "только что",
|
|
165
|
+
"time.min": "{n} мин",
|
|
166
|
+
"time.hour": "{n} ч",
|
|
167
|
+
"time.day": "{n} дн",
|
|
168
|
+
"board.collapse": "Свернуть колонку",
|
|
169
|
+
"plan.title": "План агента",
|
|
170
|
+
"plan.counter": "{done} из {total}",
|
|
171
|
+
"state.running": "в работе",
|
|
172
|
+
"state.stopped": "остановился",
|
|
173
|
+
"move.confirm": "Перенести",
|
|
174
|
+
"move.backlog": "Работа по задаче останавливается: идущий ход агента будет прерван. Если сессии нет, карточка просто переедет.",
|
|
175
|
+
"move.in-progress": "Агент получит команду начать или продолжить реализацию.",
|
|
176
|
+
"move.review": "Агент доведёт работу до ревью: снимет с pull request пометку черновика и запросит проверку.",
|
|
177
|
+
"move.deploy": "Агент вольёт pull request и выкатит. Сам перенос в эту колонку И ЕСТЬ ваше «ок» на deploy — второй раз агент спрашивать не станет.",
|
|
178
|
+
"move.cleanup": "Агент удалит ветку в Gitea, worktree и локальную ветку и запишет это в issue.",
|
|
179
|
+
"move.done": "Задача считается завершённой. Это решение человека: сам агент карточку сюда не переносит.",
|
|
180
|
+
"dialog.imported": "уже на доске",
|
|
181
|
+
"dialog.noIssues": "Открытых issue не найдено.",
|
|
182
|
+
"panel.close": "Закрыть",
|
|
183
|
+
"panel.issue": "Issue",
|
|
184
|
+
"panel.log": "Переходы",
|
|
185
|
+
"panel.noLog": "Переходов пока нет.",
|
|
186
|
+
"panel.refresh": "Обновить из Gitea",
|
|
187
|
+
"panel.delete": "Удалить",
|
|
188
|
+
"panel.deleteConfirm": "Удалить «{title}»? Отменить будет нельзя.",
|
|
189
|
+
"panel.start": "Начать",
|
|
190
|
+
"panel.agentPreset": "Профиль агента",
|
|
191
|
+
"panel.presetDefault": "Как в харнессе по умолчанию",
|
|
192
|
+
"panel.permission": "Уровень доступа",
|
|
193
|
+
"error.permission-unavailable": "В этой сборке уровней доступа нет — задача не запущена, чтобы не пойти с бо́льшими правами, чем просили.",
|
|
194
|
+
"error.permission-refused": "Уровень доступа не принят, задача не запущена.",
|
|
195
|
+
"panel.provider": "Провайдер",
|
|
196
|
+
"panel.model": "Модель",
|
|
197
|
+
"panel.pickProvider": "Выберите провайдера",
|
|
198
|
+
"panel.pickProviderFirst": "Сначала выберите провайдера",
|
|
199
|
+
"panel.pickModel": "Выберите модель",
|
|
200
|
+
"panel.noProviders": "Провайдеров нет",
|
|
201
|
+
"panel.noModels": "У этого провайдера нет моделей",
|
|
202
|
+
"panel.starting": "Запускается…",
|
|
203
|
+
"panel.continue": "Продолжить",
|
|
204
|
+
"panel.continueHint": "У задачи один чат: открывается прежняя сессия, а не новая.",
|
|
205
|
+
"panel.message": "Сообщение агенту",
|
|
206
|
+
"panel.messageHint": "Правьте перед отправкой. Пустое — уйдёт встроенный текст.",
|
|
207
|
+
"panel.startHint": "Откроется отдельная сессия агента по этой задаче. Ветку и worktree заводит агент после preflight, а не отсюда.",
|
|
208
|
+
"error.startFailed": "Не удалось поднять сессию.",
|
|
209
|
+
"error.sessionNotOpened": "Сессия поднята ({id}), но эта сборка не умеет в неё переключиться. Найдите её в списке сессий.",
|
|
210
|
+
"error.modelNotSelected": "Модель не выбрана — задайте её в настройках или укажите здесь.",
|
|
211
|
+
"chip.moveTo": "Перенести в",
|
|
212
|
+
"chip.openCard": "Перейти к карточке",
|
|
213
|
+
"chip.note": "Оставить заметку",
|
|
214
|
+
"chip.noteHint": "Заметка дописывается в тело задачи. Тело уходит агенту первым сообщением, поэтому заметка до запуска попадёт в работу, а после запуска — нет.",
|
|
215
|
+
"chip.noteSave": "Дописать",
|
|
216
|
+
"error.giteaAbsent": "Плагин Gitea не установлен, импорт недоступен.",
|
|
217
|
+
"error.giteaUnconfigured": "Сначала настройте Gitea в карточке плагина Gitea.",
|
|
218
|
+
"error.taskNotFound": "Задача не найдена.",
|
|
219
|
+
"error.taskHasNoIssue": "За этой задачей нет issue в Gitea.",
|
|
220
|
+
"error.issueNotFound": "Issue не найден.",
|
|
221
|
+
"error.titleRequired": "Нужен заголовок.",
|
|
222
|
+
"error.crossSite": "Запрос отклонён как межсайтовый.",
|
|
223
|
+
"error.unknown": "Запрос не выполнен.",
|
|
224
|
+
"board.export": "Скачать",
|
|
225
|
+
"board.exportHint": "Экспортировать всю доску в файл JSON",
|
|
226
|
+
"board.import": "Импорт",
|
|
227
|
+
"board.imported": "Импортировано {n} задач",
|
|
228
|
+
"board.metrics": "Метрики",
|
|
229
|
+
"board.mine": "Мои: {n}",
|
|
230
|
+
"board.mineHint": "Задачи, назначенные на {who}",
|
|
231
|
+
"board.overdueCount": "Просрочено: {n}",
|
|
232
|
+
"board.overdueHint": "Показать только просроченные задачи",
|
|
233
|
+
"card.assigneeHint": "Кто взял задачу",
|
|
234
|
+
"card.attach": "Прикрепить файл",
|
|
235
|
+
"card.checklist": "Чеклист",
|
|
236
|
+
"card.comments": "Комментарии",
|
|
237
|
+
"card.created": "Создано {date}",
|
|
238
|
+
"card.deadline": "Срок выполнения",
|
|
239
|
+
"card.deleteConfirm": "Удалить эту карточку?",
|
|
240
|
+
"card.description": "Описание задачи",
|
|
241
|
+
"card.dueDate": "Крайний срок",
|
|
242
|
+
"card.edit": "Редактировать",
|
|
243
|
+
"card.labels": "Метки",
|
|
244
|
+
"card.priority": "Приоритет",
|
|
245
|
+
"card.progress": "Прогресс",
|
|
246
|
+
"card.tags": "Теги",
|
|
247
|
+
"card.title": "Название карточки",
|
|
248
|
+
"column.addCard": "+ Добавить карточку",
|
|
249
|
+
"column.clear": "Очистить колонку",
|
|
250
|
+
"column.collapse": "Свернуть колонку",
|
|
251
|
+
"column.delete": "Удалить колонку",
|
|
252
|
+
"column.empty": "В этой колонке нет задач",
|
|
253
|
+
"column.expand": "Развернуть колонку",
|
|
254
|
+
"column.limit": "Лимит WIP: {n}",
|
|
255
|
+
"column.rename": "Переименовать колонку",
|
|
256
|
+
"column.title": "Название колонки",
|
|
257
|
+
"filter.all": "Все задачи",
|
|
258
|
+
"filter.assignee": "Исполнитель",
|
|
259
|
+
"filter.label": "Метка",
|
|
260
|
+
"filter.overdue": "Просроченные",
|
|
261
|
+
"filter.priority": "Приоритет",
|
|
262
|
+
"filter.search": "Поиск задач…",
|
|
263
|
+
"import.error": "Ошибка импорта JSON доски",
|
|
264
|
+
"import.success": "Доска успешно импортирована",
|
|
265
|
+
"metrics.completed": "Завершено задач: {n}",
|
|
266
|
+
"metrics.cycleTime": "Среднее время выполнения: {days} дн.",
|
|
267
|
+
"metrics.leadTime": "Общее время от создания: {days} дн.",
|
|
268
|
+
"metrics.total": "Всего задач: {n}",
|
|
269
|
+
"metrics.wip": "Задач в работе (WIP): {n}",
|
|
270
|
+
"priority.high": "Высокий",
|
|
271
|
+
"priority.highest": "Критический",
|
|
272
|
+
"priority.low": "Низкий",
|
|
273
|
+
"priority.lowest": "Минимальный",
|
|
274
|
+
"priority.medium": "Средний",
|
|
275
|
+
"priority.normal": "Обычный",
|
|
276
|
+
"priority.urgent": "Срочный",
|
|
277
|
+
"view.analytics": "Аналитика",
|
|
278
|
+
"view.archive": "Архив",
|
|
279
|
+
"view.board": "Доска",
|
|
280
|
+
"view.calendar": "Календарь",
|
|
281
|
+
"view.gantt": "Диаграмма Ганта",
|
|
282
|
+
"view.list": "Список",
|
|
283
|
+
"view.table": "Таблица",
|
|
284
|
+
"card.due": "срок {date}",
|
|
285
|
+
"card.revive": "Восстановить",
|
|
286
|
+
"error.badImport": "Неверный формат файла импорта",
|
|
287
|
+
"error.gitea-unreachable": "Сервер Gitea недоступен",
|
|
288
|
+
"facet.assignee": "Исполнитель",
|
|
289
|
+
"field.announceToAgent": "Уведомлять агента об изменениях",
|
|
290
|
+
"field.cronEnabled": "Включить планировщик задач",
|
|
291
|
+
"field.permissionGateEnabled": "Контроль прав доступа к доске",
|
|
292
|
+
"field.preventIdleSleep": "Предотвращать засыпание при активных задачах",
|
|
293
|
+
"field.progressDumpEnabled": "Дамп прогресса выполнения",
|
|
294
|
+
"field.sessionDefaultPermission": "Права доступа сессии по умолчанию",
|
|
295
|
+
"field.worktreeIsolation": "Изоляция рабочих деревьев (worktree)",
|
|
296
|
+
"field.worktreeRoot": "Корневой каталог worktree",
|
|
297
|
+
"group.assignee": "По исполнителям",
|
|
298
|
+
"group.nobody": "Без исполнителя",
|
|
299
|
+
"group.repo": "По репозиториям",
|
|
300
|
+
"hint.announceToAgent": "Автоматически отправлять агенту сообщения о перемещении карточек",
|
|
301
|
+
"hint.cronEnabled": "Запуск фоновых периодических проверок статусов задач",
|
|
302
|
+
"hint.permissionGateEnabled": "Требовать подтверждения при выполнении деструктивных операций",
|
|
303
|
+
"hint.preventIdleSleep": "Не усыплять фоновый процесс DSH, пока есть незавершённые задачи",
|
|
304
|
+
"hint.progressDumpEnabled": "Периодически сохранять прогресс выполнения в файл progress.md",
|
|
305
|
+
"hint.sessionDefaultPermission": "Уровень прав, выдаваемый сессиям без явных настроек",
|
|
306
|
+
"hint.worktreeIsolation": "Создавать отдельный git worktree для каждой задачи",
|
|
307
|
+
"hint.worktreeRoot": "Каталог, в котором создаются временные изолированные worktree",
|
|
308
|
+
"label.assigned": "Назначено",
|
|
309
|
+
"label.blocked": "Заблокировано",
|
|
310
|
+
"label.completed": "Выполнено",
|
|
311
|
+
"label.inProgress": "В работе",
|
|
312
|
+
"label.pending": "В очереди",
|
|
313
|
+
"label.review": "На проверке",
|
|
314
|
+
"metrics.leadTimeAvg": "Средний Lead Time",
|
|
315
|
+
"metrics.throughput": "Пропускная способность",
|
|
316
|
+
"metrics.wipLimit": "Лимит задач в работе (WIP)",
|
|
317
|
+
"modal.confirmDelete": "Подтверждение удаления",
|
|
318
|
+
"modal.createTask": "Создание новой задачи",
|
|
319
|
+
"modal.editTask": "Редактирование задачи",
|
|
320
|
+
"nav.all": "Все доски",
|
|
321
|
+
"nav.back": "Назад к доске",
|
|
322
|
+
"nav.settings": "Настройки доски",
|
|
323
|
+
"settings.autoArchive": "Автоархивация завершённых задач",
|
|
324
|
+
"settings.autoArchiveHint": "Перемещать завершённые задачи в архив через указанное число дней",
|
|
325
|
+
"settings.boardName": "Название доски",
|
|
326
|
+
"settings.columns": "Колонки доски",
|
|
327
|
+
"settings.description": "Описание канбан-доски",
|
|
328
|
+
"settings.general": "Основные настройки",
|
|
329
|
+
"settings.integrations": "Интеграции",
|
|
330
|
+
"settings.save": "Сохранить настройки",
|
|
331
|
+
"settings.saving": "Сохранение настроек…",
|
|
332
|
+
"status.active": "Активна",
|
|
333
|
+
"status.archived": "В архиве",
|
|
334
|
+
"status.closed": "Закрыта",
|
|
335
|
+
"status.open": "Открыта",
|
|
336
|
+
"metrics.columns": "Время в колонках",
|
|
337
|
+
"metrics.empty": "Переходов ещё не было — измерять нечего.",
|
|
338
|
+
"metrics.hint": "{n} задач на доске • выполнено за неделю: {week} • за месяц: {month}",
|
|
339
|
+
"metrics.mean": "среднее {time}",
|
|
340
|
+
"metrics.median": "медиана {time}",
|
|
341
|
+
"metrics.noStale": "Ни одна задача не задерживалась так долго.",
|
|
342
|
+
"metrics.stale": "Без движения дольше {days} дн.",
|
|
343
|
+
"panel.assignDrop": "Отказаться",
|
|
344
|
+
"panel.assignMe": "Взять себе",
|
|
345
|
+
"panel.assignee": "взял {who}",
|
|
346
|
+
"panel.cleanupWorktree": "Очистить worktree",
|
|
347
|
+
"panel.due": "Срок",
|
|
348
|
+
"panel.labels": "Метки",
|
|
349
|
+
"panel.priority": "Приоритет",
|
|
350
|
+
"panel.priorityNone": "Без приоритета",
|
|
351
|
+
"panel.saveEdit": "Сохранить",
|
|
352
|
+
"panel.workDir": "Рабочая папка: {path}",
|
|
353
|
+
"panel.workDirHint": "Корень проекта не указан в настройках, поэтому используется эта папка.",
|
|
354
|
+
"panel.worktree": "Worktree: {path}",
|
|
355
|
+
"panel.worktreeDirty": "Незакоммиченные изменения в worktree: {files}",
|
|
356
|
+
"revive.fresh": "Предыдущая сессия завершена, поэтому запущена новая; старый чат больше недоступен.",
|
|
357
|
+
"revive.same": "Предыдущая сессия восстановлена — чат на том месте, где вы остановились.",
|
|
358
|
+
"task.confirmPermission": "Подтвердить права",
|
|
359
|
+
"task.cron": "Расписание Cron",
|
|
360
|
+
"task.nextRun": "Следующий запуск: {date}",
|
|
361
|
+
"task.noRuns": "Запусков ещё не было",
|
|
362
|
+
"task.permissionConfirmed": "Права подтверждены",
|
|
363
|
+
"task.permissionGateWarning": "Требуется подтверждение повышенных прав ({permission})",
|
|
364
|
+
"task.progressDump": "Дамп прогресса (Handover)",
|
|
365
|
+
"task.runs": "История выполнений"
|
|
366
|
+
}
|
|
225
367
|
}
|