@goodandready/dsh-russian-lang 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +64 -0
- package/cordis.patch.yml +8 -0
- package/lib/client.js +1901 -0
- package/lib/index.js +20 -0
- package/package.json +60 -0
- package/ru/01-core-small.json +97 -0
- package/ru/02-conversation.json +172 -0
- package/ru/03-models-workspace.json +160 -0
- package/ru/04-preset-cordis.json +108 -0
- package/ru/05-plugins-subagent.json +117 -0
- package/ru/06-rest.json +140 -0
- package/ru-plugins/01-token-dashboard.json +83 -0
- package/ru-plugins/02-subscriptions.json +40 -0
- package/ru-plugins/03-dshmarket.json +258 -0
- package/ru-plugins/04-context-doctor.json +27 -0
- package/ru-plugins/05-plugins-store.json +81 -0
- package/ru-plugins/06-im-hub.json +97 -0
- package/ru-plugins/07-better-sidebar.json +242 -0
- package/ru-plugins/08-task-board.json +126 -0
- package/ru-plugins/09-dshmarket-1.13.json +46 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
{
|
|
2
|
+
"dsh-market": {
|
|
3
|
+
"actWhy": "Почему не активен?",
|
|
4
|
+
"all": "Все",
|
|
5
|
+
"alreadyInstalled": "✓ Установлен",
|
|
6
|
+
"approveBuilds": "Разрешить сборочные скрипты и повторить",
|
|
7
|
+
"autoBackup": "Резервная копия раз в сутки (при открытии маркета)",
|
|
8
|
+
"backTop": "Наверх",
|
|
9
|
+
"backupDone": "Копия загружена",
|
|
10
|
+
"backupDownload": "Выгрузить копию",
|
|
11
|
+
"backupHint": "Включает список плагинов и настройки профиля, но не node_modules. Восстановление ставит плагины заново по списку.",
|
|
12
|
+
"backupImport": "Импортировать и посмотреть",
|
|
13
|
+
"backupLocal": "Локальный файл",
|
|
14
|
+
"backupWorking": "Выполняется…",
|
|
15
|
+
"buildsSkipped": "Этому плагину нужны сборочные скрипты; по умолчанию они заблокированы ради безопасности. Разрешите их и переустановите:",
|
|
16
|
+
"busyWait": "Уже выполняется другая операция — дождитесь её окончания (установка, обновление и удаление идут по одной)",
|
|
17
|
+
"cancel": "Отмена",
|
|
18
|
+
"cancelOp": "Отменить",
|
|
19
|
+
"cancelled": "Отменено",
|
|
20
|
+
"cancelling": "Отмена…",
|
|
21
|
+
"catConflict": "Конфликты",
|
|
22
|
+
"catDeps": "Зависимости",
|
|
23
|
+
"catOrder": "Порядок",
|
|
24
|
+
"catsLess": "Свернуть",
|
|
25
|
+
"catsMore": "Ещё",
|
|
26
|
+
"checkBundles": "Порядок загрузки плагинов",
|
|
27
|
+
"checkBundlesEmpty": "Слои плагинов не объявлены",
|
|
28
|
+
"checkCommunity": "сообщество",
|
|
29
|
+
"checkDir": "каталог",
|
|
30
|
+
"checkDuplicates": "Повторяющиеся записи плагинов",
|
|
31
|
+
"checkDuplicatesEmpty": "Повторов нет",
|
|
32
|
+
"checkEntries": "записей (идентификаторы загрузчика)",
|
|
33
|
+
"checkErrors": "Ошибки",
|
|
34
|
+
"checkErrorsEmpty": "Ошибок нет",
|
|
35
|
+
"checkHoisted": "поднят",
|
|
36
|
+
"checkIssues": "Найдены проблемы",
|
|
37
|
+
"checkLoadFail": "Не удалось загрузить диагностику: ",
|
|
38
|
+
"checkLoading": "Анализ профиля…",
|
|
39
|
+
"checkMultiEmpty": "Пакетов ядра в нескольких версиях нет",
|
|
40
|
+
"checkMultiVersion": "Пакеты ядра в нескольких версиях",
|
|
41
|
+
"checkOfficial": "официальный",
|
|
42
|
+
"checkOrderTip": "порядок загрузки бандла сообщества конфликтует с объявленными правилами before/after",
|
|
43
|
+
"checkOrphans": "Неверные записи конфига",
|
|
44
|
+
"checkOrphansEmpty": "Неверных записей нет",
|
|
45
|
+
"checkOverridden": "переопределяет",
|
|
46
|
+
"checkOverrides": "Переопределения",
|
|
47
|
+
"checkOverridesEmpty": "Переопределений нет",
|
|
48
|
+
"checkPatch": "файл патча",
|
|
49
|
+
"checkPeerEmpty": "Расхождений версий зависимостей нет",
|
|
50
|
+
"checkPeerInfo": "{0} записей к сведению (не подтверждено)",
|
|
51
|
+
"checkPeerMismatches": "Расхождения версий зависимостей",
|
|
52
|
+
"checkPeerOverview": "расхождений: {0} · к сведению: {1}",
|
|
53
|
+
"checkProfile": "профиль",
|
|
54
|
+
"checkRange": "объявленный диапазон",
|
|
55
|
+
"checkRefresh": "Проверить заново",
|
|
56
|
+
"checkResolved": "разрешённая версия",
|
|
57
|
+
"checkSatisfied": "удовлетворено",
|
|
58
|
+
"checkSource": "источник",
|
|
59
|
+
"checkUnknown": "неизвестно",
|
|
60
|
+
"checkUnsatisfied": "не удовлетворено",
|
|
61
|
+
"checkWarnings": "Предупреждения",
|
|
62
|
+
"checkWarningsEmpty": "Предупреждений нет",
|
|
63
|
+
"cmdDetails": "Команда установки",
|
|
64
|
+
"confirm": "Подтвердить",
|
|
65
|
+
"confirmRemove": "Подтверждаете?",
|
|
66
|
+
"confirmTitle": "Установка",
|
|
67
|
+
"confirmWarn": "Плагины — сторонний код сообщества. Устанавливая, вы доверяете этому источнику; сборочные скрипты по умолчанию заблокированы.",
|
|
68
|
+
"credsWarning": "Внимание: в копию попадают настройки профиля и файлы, где могут лежать секреты (config.toml, .env и подобные). Локальная выгрузка ничего не вырезает, поэтому выгружайте на WebDAV, которому доверяете.",
|
|
69
|
+
"deprecatedBadge": "Устарел",
|
|
70
|
+
"deprecatedWarn": "Каталог помечает этот плагин как устаревший; новым пользователям ставить его не советуют.",
|
|
71
|
+
"diagExplain": "Что это",
|
|
72
|
+
"diagExplainText": "Эта страница ищет плагины, конфликтующие друг с другом, несовпадения версий зависимостей и неверный порядок загрузки. Термины:",
|
|
73
|
+
"diagOkAll": "Всё в порядке: конфликтов, проблем с зависимостями и порядком не найдено",
|
|
74
|
+
"diagTermBundle": "бандл — один пакет плагина, применяется по порядку",
|
|
75
|
+
"diagTermEntry": "запись — то, что плагин добавляет в работающую композицию",
|
|
76
|
+
"diagTermOrder": "порядок загрузки — очерёдность активации; более поздний может перекрыть более ранний",
|
|
77
|
+
"diagTermOrphan": "неверная запись — конфиг ссылается на то, чего нет",
|
|
78
|
+
"diagTermPeer": "peer-зависимость — пакет, который плагин ждёт от хоста",
|
|
79
|
+
"diagTermShadow": "перекрытие — старая копия из плагина закрывает более новую хостовую",
|
|
80
|
+
"disable": "Выключить",
|
|
81
|
+
"disabledState": "Выключен",
|
|
82
|
+
"dismiss": "Скрыть",
|
|
83
|
+
"dismissNotice": "Скрыть это уведомление",
|
|
84
|
+
"duplicateNames": "Плагины с одинаковыми именами (к сведению, это не конфликт)",
|
|
85
|
+
"empty": "Подходящих плагинов нет",
|
|
86
|
+
"enable": "Включить",
|
|
87
|
+
"envFix": "Настроить автоматически",
|
|
88
|
+
"envFixFail": "Автоматическая настройка не удалась — выгрузите журнал и пришлите нам файл",
|
|
89
|
+
"envFixing": "Настройка…",
|
|
90
|
+
"envMissing": "Перед установкой плагинов нужен один небольшой компонент",
|
|
91
|
+
"exportLog": "Выгрузить журнал",
|
|
92
|
+
"exportLogFail": "Не удалось выгрузить журнал",
|
|
93
|
+
"exportedLog": "Журнал выгружен: dsh-market-log.txt — приложите его к обращению",
|
|
94
|
+
"exportingLog": "Выгрузка…",
|
|
95
|
+
"filter": "Фильтр",
|
|
96
|
+
"filterDir": "Порядок",
|
|
97
|
+
"filterSort": "Поле сортировки",
|
|
98
|
+
"filterTime": "Вышло за",
|
|
99
|
+
"firstPage": "В начало",
|
|
100
|
+
"gist": "GitHub Gist",
|
|
101
|
+
"gistCreated": "Выгружено:",
|
|
102
|
+
"gistErrAuth": "GitHub не авторизовал: токен неверный или истёк, либо gh CLI не залогинен",
|
|
103
|
+
"gistErrInvalid": "Содержимое Gist повреждено или формат копии не поддерживается",
|
|
104
|
+
"gistErrNetwork": "GitHub недоступен — проверьте сеть или прокси",
|
|
105
|
+
"gistErrNoId": "Для обновления нужен идентификатор Gist — заполните поле или переключитесь на «Создать»",
|
|
106
|
+
"gistErrNotFound": "Gist не найден — проверьте идентификатор или ссылку",
|
|
107
|
+
"gistErrRateLimit": "Достигнут лимит GitHub, либо у токена нет права gist",
|
|
108
|
+
"gistErrTimeout": "GitHub не ответил вовремя — проверьте сеть и повторите",
|
|
109
|
+
"gistExport": "Выгрузить в Gist…",
|
|
110
|
+
"gistExportDone": "Выгружено в Gist",
|
|
111
|
+
"gistExportGo": "Выгрузить",
|
|
112
|
+
"gistExportHint": "Отмечено всё — полная копия вместе с настройками; если снять любую галочку, выгрузятся только выбранные плагины, а настройки — по отдельному флажку.",
|
|
113
|
+
"gistExportSelect": "Выберите плагины для выгрузки",
|
|
114
|
+
"gistId": "Идентификатор или ссылка на Gist (при выгрузке оставьте пустым, чтобы создать новый приватный)",
|
|
115
|
+
"gistImport": "Загрузить из Gist",
|
|
116
|
+
"gistIncludeConfig": "Включить файлы настроек (в них могут быть секреты)",
|
|
117
|
+
"gistModeCreate": "Создать новый приватный Gist",
|
|
118
|
+
"gistModeUpdate": "Обновить Gist из поля",
|
|
119
|
+
"gistNoPlugins": "В этом профиле нечего выгружать",
|
|
120
|
+
"gistNote": "В отличие от локальной выгрузки (архив на этой машине), Gist нужен для переноса между машинами: выгрузите в приватный Gist и загрузите на другом компьютере под тем же аккаунтом. Токен живёт только в памяти этой вкладки и никогда не пишется в браузерное хранилище; если залогинен gh CLI или задан DSH_GITHUB_TOKEN, вводить его не нужно. Gist приватный, до 1 МБ на файл.",
|
|
121
|
+
"gistSelectAll": "Выбрать все",
|
|
122
|
+
"gistSelectNone": "Снять выбор",
|
|
123
|
+
"gistSpecLocal": "локально",
|
|
124
|
+
"gistSrcEnv": "переменная DSH_GITHUB_TOKEN",
|
|
125
|
+
"gistSrcGh": "gh CLI",
|
|
126
|
+
"gistSrcToken": "введён вручную",
|
|
127
|
+
"gistToken": "Токен GitHub (только в памяти вкладки — после обновления страницы введите заново; оставьте пустым, чтобы использовать серверный DSH_GITHUB_TOKEN или залогиненный gh CLI)",
|
|
128
|
+
"gistVerify": "Проверить связь",
|
|
129
|
+
"gistVerifySource": "Проверено — источник токена: {0}",
|
|
130
|
+
"gotIt": "Понятно",
|
|
131
|
+
"groupAdd": "Добавить плагин",
|
|
132
|
+
"groupAddEmpty": "Все установленные плагины уже в этой группе",
|
|
133
|
+
"groupAddTheme": "Добавить тему",
|
|
134
|
+
"groupAssign": "Назначить",
|
|
135
|
+
"groupConfirmDelete": "Удалить группу?",
|
|
136
|
+
"groupCreate": "Создать",
|
|
137
|
+
"groupDelete": "Удалить группу",
|
|
138
|
+
"groupEmpty": "Пока пусто",
|
|
139
|
+
"groupMixed": "Включена частично",
|
|
140
|
+
"groupNamePh": "Название группы",
|
|
141
|
+
"groupNew": "Новая группа",
|
|
142
|
+
"groupRemove": "Убрать",
|
|
143
|
+
"groupRename": "Переименовать",
|
|
144
|
+
"hostDependencyMore": "ещё находок пропущено: {0}",
|
|
145
|
+
"hostDependencyWarning": "Плагин перечисляет в зависимостях известные общие пакеты хоста DSH. Это может перекрыть хостовую версию; проверка смотрит только манифест и не подтверждает, что в рантайме появился дубль:",
|
|
146
|
+
"hotBanner": "плагины готовы — обновите страницу, чтобы ими пользоваться",
|
|
147
|
+
"install": "Установить",
|
|
148
|
+
"installFail": "Установить не удалось",
|
|
149
|
+
"installReplacement": "Установить замену",
|
|
150
|
+
"installedBadge": "✓ Установлен",
|
|
151
|
+
"installedEmpty": "Плагинов сообщества пока нет — загляните во вкладку «Обзор»",
|
|
152
|
+
"installing": "Установка…",
|
|
153
|
+
"lastPage": "В конец",
|
|
154
|
+
"linkedDev": "подключён как разработка",
|
|
155
|
+
"loadFail": "Не удалось загрузить каталог плагинов, попробуйте позже",
|
|
156
|
+
"loading": "Загрузка каталога…",
|
|
157
|
+
"localOnly": "Адрес WebDAV и учётные данные остаются только в этом браузере.",
|
|
158
|
+
"marketNoToggle": "Сам маркет выключить нельзя",
|
|
159
|
+
"marketUpdate": "Доступно обновление маркета — обновить",
|
|
160
|
+
"nav": "Маркет плагинов",
|
|
161
|
+
"nextPage": "Дальше",
|
|
162
|
+
"noGroups": "Групп пока нет — создайте",
|
|
163
|
+
"notInstalled": "Не установлен",
|
|
164
|
+
"orderConflicts": "конфликты before/after в текущем порядке",
|
|
165
|
+
"orphanIdRequired": "нет идентификатора",
|
|
166
|
+
"orphanInsertNotArray": "неверный формат",
|
|
167
|
+
"orphanInsertTargetMissing": "цель не найдена",
|
|
168
|
+
"orphanInsertTargetNotGroup": "цель не является группой",
|
|
169
|
+
"orphanNameMismatch": "имя не совпадает",
|
|
170
|
+
"orphanPatchTargetMissing": "цель не найдена",
|
|
171
|
+
"orphanReasonOther": "другое",
|
|
172
|
+
"packagesDone": "обработано пакетов: {0}",
|
|
173
|
+
"pageInfo": "Страница {0} из {1}",
|
|
174
|
+
"partialNote": "Отменено — часть изменений уже применена",
|
|
175
|
+
"patchDisabled": "Выключен патчем",
|
|
176
|
+
"patchForced": "Включён патчем",
|
|
177
|
+
"perPage": "На странице",
|
|
178
|
+
"phaseBuilding": "Сборочные скрипты",
|
|
179
|
+
"phaseDownloading": "Загрузка",
|
|
180
|
+
"phaseLinking": "Связывание",
|
|
181
|
+
"phaseResolving": "Разрешение зависимостей",
|
|
182
|
+
"prevPage": "Назад",
|
|
183
|
+
"progressHint": "Первая установка скачивает и разрешает зависимости — крупные плагины занимают 1–3 минуты",
|
|
184
|
+
"published": "выпущен",
|
|
185
|
+
"readme": "README",
|
|
186
|
+
"refresh": "Обновить",
|
|
187
|
+
"refreshBanner": "изменения применены — обновите страницу, чтобы их увидеть",
|
|
188
|
+
"replacementHint": "Каталог предлагает",
|
|
189
|
+
"restartBanner": "изменения внесены — перезапустите DeepSeek Harness",
|
|
190
|
+
"restartFail": "Перезапустить не удалось",
|
|
191
|
+
"restartHint": "Как перезапустить: остановите текущий процесс dsh и запустите его снова (например, dsh web)",
|
|
192
|
+
"restartNow": "Перезапустить",
|
|
193
|
+
"restartTimeout": "Не дождались запуска DeepSeek Harness",
|
|
194
|
+
"restarting": "Перезапуск…",
|
|
195
|
+
"restoreConfirm": "Восстановление перезапишет настройки этого профиля и переустановит плагины. Продолжить?",
|
|
196
|
+
"restoreDone": "Восстановление завершено — перезапустите DeepSeek Harness",
|
|
197
|
+
"restoreMissing": "Плагинов из копии не установлено: {0}",
|
|
198
|
+
"restorePartial": "Восстановление продолжилось, но эти плагины установить не удалось:",
|
|
199
|
+
"restorePreviewDone": "Копия загружена. Проверьте вкладку «Установленные» и запускайте восстановление.",
|
|
200
|
+
"restoreStart": "Начать восстановление",
|
|
201
|
+
"searchPh": "Поиск плагинов: уведомления, терминал, память…",
|
|
202
|
+
"sortAdded": "Дата выпуска",
|
|
203
|
+
"sortAsc": "По возрастанию",
|
|
204
|
+
"sortDesc": "По убыванию",
|
|
205
|
+
"sortNewest": "Сначала новые",
|
|
206
|
+
"sortOldest": "Сначала старые",
|
|
207
|
+
"sortStars": "Звёзды",
|
|
208
|
+
"stateBroken": "Установлен, но не прошёл проверку",
|
|
209
|
+
"stateDisabled": "Выключен",
|
|
210
|
+
"stateInert": "Установлен, но не является плагином слоя профиля",
|
|
211
|
+
"stateLive": "Работает (загружен на лету)",
|
|
212
|
+
"stateRestart": "Установлен — перезапустите, чтобы применить",
|
|
213
|
+
"subtitle": "Плагины сообщества для DeepSeek Harness",
|
|
214
|
+
"tabBackup": "Копия и восстановление",
|
|
215
|
+
"tabDiagnostics": "Диагностика",
|
|
216
|
+
"tabDiscover": "Обзор",
|
|
217
|
+
"tabGroups": "Группы",
|
|
218
|
+
"tabInstalled": "Установленные",
|
|
219
|
+
"tabList": "Список",
|
|
220
|
+
"tabThemes": "Темы",
|
|
221
|
+
"terminalWarn": "Похоже, это плагин для терминала: в веб-профиле он может ничего не делать или даже сломать запуск DeepSeek Harness. Прочитайте его README и ставьте в тот профиль, для которого он написан.",
|
|
222
|
+
"themeActive": "Активна",
|
|
223
|
+
"themeApply": "Применить",
|
|
224
|
+
"themeDeactivate": "Отключить",
|
|
225
|
+
"themeEmpty": "Других тем в каталоге пока нет — следите за обновлениями",
|
|
226
|
+
"timeAll": "Всё время",
|
|
227
|
+
"timeDay": "Сутки",
|
|
228
|
+
"timeMonth": "30 дней",
|
|
229
|
+
"timeQuarter": "90 дней",
|
|
230
|
+
"timeWeek": "7 дней",
|
|
231
|
+
"timeYear": "Год",
|
|
232
|
+
"toastReady": "установлен и работает",
|
|
233
|
+
"toastTheme": "теперь активна. Переключить можно в «Настройки → Маркет плагинов → Темы»",
|
|
234
|
+
"toggleFail": "Переключить не удалось",
|
|
235
|
+
"ungrouped": "Без группы",
|
|
236
|
+
"uninstall": "Удалить",
|
|
237
|
+
"uninstallConfirmDesc": "Плагин будет удалён из текущего профиля.",
|
|
238
|
+
"uninstalling": "Удаление…",
|
|
239
|
+
"upToDate": "Обновлений нет",
|
|
240
|
+
"update": "Обновить",
|
|
241
|
+
"updateAll": "Обновить все",
|
|
242
|
+
"updateFail": "Обновить не удалось",
|
|
243
|
+
"updateNow": "Обновить сейчас",
|
|
244
|
+
"updated": "✓ Обновлён — перезапустите, чтобы применить",
|
|
245
|
+
"updatedLive": "✓ Обновлён — работает",
|
|
246
|
+
"updating": "Обновление…",
|
|
247
|
+
"viewReplacement": "Посмотреть замену",
|
|
248
|
+
"viewSource": "Исходник",
|
|
249
|
+
"webdav": "WebDAV",
|
|
250
|
+
"webdavNote": "Адрес WebDAV и имя пользователя остаются только в этом браузере; пароль хранится на сервере и вводится заново каждую сессию.",
|
|
251
|
+
"webdavPassword": "Пароль (необязательно)",
|
|
252
|
+
"webdavPreset": "Готовая настройка провайдера",
|
|
253
|
+
"webdavRestore": "Восстановить с WebDAV",
|
|
254
|
+
"webdavUpload": "Выгрузить копию",
|
|
255
|
+
"webdavUrl": "Адрес файла копии",
|
|
256
|
+
"webdavUser": "Имя пользователя (необязательно)"
|
|
257
|
+
}
|
|
258
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"context-doctor": {
|
|
3
|
+
"cd.title": "Аудит контекста",
|
|
4
|
+
"cd.residentTokens": "Проверка бюджета контекста",
|
|
5
|
+
"cd.instructions": "Цепочка инструкций",
|
|
6
|
+
"cd.skills": "Каталог скиллов",
|
|
7
|
+
"cd.tools": "Схемы инструментов",
|
|
8
|
+
"cd.mcp": "Инструменты MCP",
|
|
9
|
+
"cd.suggestions": "{n} рекомендаций",
|
|
10
|
+
"cd.refresh": "Обновить",
|
|
11
|
+
"cd.loading": "Проверка…",
|
|
12
|
+
"cd.error": "Проверка не удалась",
|
|
13
|
+
"cd.empty": "Данных пока нет",
|
|
14
|
+
"cd.healthy": "В норме",
|
|
15
|
+
"cd.attention": "Стоит посмотреть",
|
|
16
|
+
"cd.review": "Стоит посмотреть",
|
|
17
|
+
"cd.healthyHint": "Контекст расходуется экономно и укладывается в рекомендованный бюджет.",
|
|
18
|
+
"cd.reviewHint": "Некоторые части контекста стоит пересмотреть, пока они не стали дорогими.",
|
|
19
|
+
"cd.guideline": "из 50k",
|
|
20
|
+
"cd.updated": "Обновлено",
|
|
21
|
+
"cd.catalog": "{n} скиллов",
|
|
22
|
+
"cd.mcpTools": "{n} инструментов",
|
|
23
|
+
"cd.files": "файлов",
|
|
24
|
+
"cd.toolsCount": "инструментов",
|
|
25
|
+
"cd.hint": "Открыть аудит контекста"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"plugin-store": {
|
|
3
|
+
"dialog.close": "Закрыть магазин плагинов",
|
|
4
|
+
"header.open": "Открыть магазин плагинов",
|
|
5
|
+
"header.title": "Магазин плагинов DSH",
|
|
6
|
+
"settings.tab": "Магазин плагинов",
|
|
7
|
+
"store.analyzeFailed": "Передать разбор агенту не удалось",
|
|
8
|
+
"store.analyzeHint": "Отправить эту ошибку в новую сессию агента для разбора.",
|
|
9
|
+
"store.analyzeSent": "Отправлено агенту",
|
|
10
|
+
"store.analyzeWithAgent": "Попросить агента разобраться",
|
|
11
|
+
"store.analyzing": "Создаём сессию агента…",
|
|
12
|
+
"store.cancel": "Отмена",
|
|
13
|
+
"store.category": "Категория",
|
|
14
|
+
"store.categoryAll": "Все категории",
|
|
15
|
+
"store.confirmInstall": "Установить плагин",
|
|
16
|
+
"store.confirmRemove": "Удалить плагин",
|
|
17
|
+
"store.confirmUpdate": "Обновить плагин",
|
|
18
|
+
"store.copied": "Ссылка для установки скопирована",
|
|
19
|
+
"store.copyInstall": "Скопировать ссылку для установки",
|
|
20
|
+
"store.disclaimer": "Наличие в каталоге не подтверждает работоспособность, совместимость, безопасность или качество.",
|
|
21
|
+
"store.done": "Готово",
|
|
22
|
+
"store.empty": "Под эти фильтры ничего не подходит",
|
|
23
|
+
"store.install": "Установить",
|
|
24
|
+
"store.installFailed": "Установить не удалось",
|
|
25
|
+
"store.installSuccess": "Установлено. Перезапустите DSH Web, чтобы плагин заработал.",
|
|
26
|
+
"store.installed": "Установлен",
|
|
27
|
+
"store.installedLoadFailed": "Список установленных плагинов недоступен",
|
|
28
|
+
"store.installedOnly": "Только установленные",
|
|
29
|
+
"store.installing": "Установка…",
|
|
30
|
+
"store.loadFailed": "Не удалось загрузить каталог",
|
|
31
|
+
"store.loadMore": "Показать ещё",
|
|
32
|
+
"store.loading": "Загрузка каталога плагинов…",
|
|
33
|
+
"store.openDetails": "Открыть карточку в магазине",
|
|
34
|
+
"store.refresh": "Обновить каталог",
|
|
35
|
+
"store.refreshFailed": "Каталог не обновился; показаны последние успешные данные",
|
|
36
|
+
"store.remove": "Удалить плагин",
|
|
37
|
+
"store.removeDetail": "Меняется только зависимость текущего профиля. Чтобы удаление вступило в силу, перезапустите DSH Web.",
|
|
38
|
+
"store.removeFailed": "Удалить не удалось",
|
|
39
|
+
"store.removeLead": "Плагин будет удалён из текущего профиля DSH Web.",
|
|
40
|
+
"store.removeSuccess": "Удалено. Перезапустите DSH Web, чтобы изменение вступило в силу.",
|
|
41
|
+
"store.removeTitle": "Удаление плагина",
|
|
42
|
+
"store.removing": "Удаление…",
|
|
43
|
+
"store.results": "{visible} из {total} проектов",
|
|
44
|
+
"store.retry": "Повторить",
|
|
45
|
+
"store.riskAcknowledge": "Я понимаю риск и хочу установить этот сторонний плагин",
|
|
46
|
+
"store.riskDetail": "Присутствие в каталоге не является проверкой безопасности, совместимости или качества. Установленный код выполняется с правами процесса DSH, а чтобы он заработал, DSH Web нужно перезапустить.",
|
|
47
|
+
"store.riskLead": "В текущий профиль DSH Web будет установлен код из стороннего репозитория.",
|
|
48
|
+
"store.riskTitle": "Подтверждение риска стороннего плагина",
|
|
49
|
+
"store.search": "Поиск по названию, автору, описанию или теме",
|
|
50
|
+
"store.sort": "Сортировка",
|
|
51
|
+
"store.sortName": "Название",
|
|
52
|
+
"store.sortRecommended": "Рекомендуемые",
|
|
53
|
+
"store.sortStars": "Звёзды",
|
|
54
|
+
"store.sortUpdated": "Недавно обновлённые",
|
|
55
|
+
"store.stars": "звёзд: {count}",
|
|
56
|
+
"store.topicListed": "Указана тема",
|
|
57
|
+
"store.update": "Обновить",
|
|
58
|
+
"store.updateAvailable": "Есть обновление",
|
|
59
|
+
"store.updateRiskDetail": "Обновление заменит версию плагина в этом профиле. Чтобы оно вступило в силу, перезапустите DSH Web.",
|
|
60
|
+
"store.updateRiskLead": "В текущий профиль DSH Web будет установлена более новая ревизия стороннего репозитория.",
|
|
61
|
+
"store.updateRiskTitle": "Подтверждение обновления стороннего плагина",
|
|
62
|
+
"store.updateSuccess": "Обновлено. Перезапустите DSH Web, чтобы плагин заработал.",
|
|
63
|
+
"store.updated": "Каталог обновлён {date}",
|
|
64
|
+
"store.updating": "Обновление…",
|
|
65
|
+
"store.validation.check-failed": "Проверка структуры не пройдена",
|
|
66
|
+
"store.validation.check-pending": "Проверка структуры в очереди",
|
|
67
|
+
"store.validation.check-running": "Идёт проверка структуры",
|
|
68
|
+
"store.validation.expired": "Нужна повторная проверка",
|
|
69
|
+
"store.validation.inconclusive": "Требует рассмотрения",
|
|
70
|
+
"store.validation.not-applicable": "Вне проверки плагинов",
|
|
71
|
+
"store.validation.recorded": "Есть запись о проверке",
|
|
72
|
+
"store.validation.sandbox-failed": "Проверка в песочнице не пройдена",
|
|
73
|
+
"store.validation.sandbox-pending": "Проверка в песочнице в очереди",
|
|
74
|
+
"store.validation.sandbox-running": "Идёт проверка в песочнице",
|
|
75
|
+
"store.validation.security-review": "Проверка безопасности",
|
|
76
|
+
"store.validation.unrecognized": "Требует опознания",
|
|
77
|
+
"store.validation.verified": "Проверен",
|
|
78
|
+
"store.verified": "Проверен",
|
|
79
|
+
"store.verifiedOnly": "Только проверенные"
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
{
|
|
2
|
+
"im-hub": {
|
|
3
|
+
"f.agentCwd": "Рабочая папка",
|
|
4
|
+
"f.agentCwdHint": "Папка для сессий агента; пусто — папка процесса dsh.",
|
|
5
|
+
"f.agentMaxMessageLength": "Длина сообщения",
|
|
6
|
+
"f.agentMaxMessageLengthHint": "Максимум символов в исходящем сообщении; длинные ответы разбиваются.",
|
|
7
|
+
"f.agentModel": "Модель",
|
|
8
|
+
"f.agentModelHint": "Переопределить модель; пусто — как задано в установке.",
|
|
9
|
+
"f.agentProvider": "Провайдер",
|
|
10
|
+
"f.agentProviderHint": "Переопределить провайдера модели; пусто — как задано в установке.",
|
|
11
|
+
"f.allowedUserIdsHint": "Идентификаторы через запятую; пусто — доступ всем (для боевой работы не советуем).",
|
|
12
|
+
"f.configured": "Задано",
|
|
13
|
+
"f.enabled": "Включено",
|
|
14
|
+
"f.enabledHint": "Общий выключатель всего IM-шлюза.",
|
|
15
|
+
"f.feishuAllowedUserIds": "Разрешённые open id",
|
|
16
|
+
"f.feishuAppId": "App id",
|
|
17
|
+
"f.feishuAppIdHint": "App id приложения Feishu (cli_…).",
|
|
18
|
+
"f.feishuAppSecret": "App secret",
|
|
19
|
+
"f.feishuEnabled": "Включено",
|
|
20
|
+
"f.feishuEnabledHint": "Включить адаптер Feishu по постоянному WebSocket-соединению (публичный адрес не нужен).",
|
|
21
|
+
"f.httpHost": "Адрес привязки",
|
|
22
|
+
"f.httpHostHint": "Адрес, на котором слушают HTTP-серверы в режиме вебхуков.",
|
|
23
|
+
"f.httpPort": "Порт привязки",
|
|
24
|
+
"f.httpPortHint": "Порт, на котором слушают HTTP-серверы в режиме вебхуков.",
|
|
25
|
+
"f.inherit": "Наследовать",
|
|
26
|
+
"f.larkAllowedUserIds": "Разрешённые open id",
|
|
27
|
+
"f.larkAppId": "App id",
|
|
28
|
+
"f.larkAppSecret": "App secret",
|
|
29
|
+
"f.larkEnabled": "Включено",
|
|
30
|
+
"f.larkEnabledHint": "Включить международный адаптер Lark (open.larksuite.com).",
|
|
31
|
+
"f.mockEnabled": "Включено",
|
|
32
|
+
"f.mockEnabledHint": "Адаптер только для тестов: локальный HTTP-эндпоинт без учётных данных платформы.",
|
|
33
|
+
"f.mockPort": "Порт",
|
|
34
|
+
"f.mockPortHint": "Фиксированный HTTP-порт тестового эндпоинта (0 — любой свободный).",
|
|
35
|
+
"f.notConfigured": "Не задано",
|
|
36
|
+
"f.off": "Выкл",
|
|
37
|
+
"f.on": "Вкл",
|
|
38
|
+
"f.secretHint": "Хранится на сервере и больше не показывается. Оставьте пустым, чтобы сохранить текущее значение.",
|
|
39
|
+
"f.telegramAllowedUserIds": "Разрешённые id пользователей",
|
|
40
|
+
"f.telegramEnabled": "Включено",
|
|
41
|
+
"f.telegramEnabledHint": "Включить адаптер Telegram Bot API с опросом обновлений.",
|
|
42
|
+
"f.telegramToken": "Токен бота",
|
|
43
|
+
"f.telegramTokenHint": "Токен от @BotFather (123456:ABC-DEF…).",
|
|
44
|
+
"f.wecomAgentId": "Agent id",
|
|
45
|
+
"f.wecomAgentIdHint": "Agent id приложения WeCom.",
|
|
46
|
+
"f.wecomAllowedUserIds": "Разрешённые id пользователей",
|
|
47
|
+
"f.wecomCorpId": "Corp id",
|
|
48
|
+
"f.wecomCorpIdHint": "Идентификатор организации из консоли WeCom.",
|
|
49
|
+
"f.wecomCorpSecret": "App secret",
|
|
50
|
+
"f.wecomEnabled": "Включено",
|
|
51
|
+
"f.wecomEnabledHint": "Включить адаптер WeCom с обратным вызовом (нужен публичный адрес).",
|
|
52
|
+
"f.wecomEncodingAesKey": "EncodingAESKey",
|
|
53
|
+
"f.wecomToken": "Токен обратного вызова",
|
|
54
|
+
"g.agent": "Агент",
|
|
55
|
+
"g.feishu": "Feishu (Китай)",
|
|
56
|
+
"g.general": "Общие",
|
|
57
|
+
"g.http": "HTTP (режим вебхуков)",
|
|
58
|
+
"g.lark": "Lark (международный)",
|
|
59
|
+
"g.mock": "Тестовый адаптер",
|
|
60
|
+
"g.telegram": "Telegram",
|
|
61
|
+
"g.wecom": "WeCom (WeChat Work)",
|
|
62
|
+
"p.agentCwd": "Например: /home/user/projects/my-agent (пусто — папка DSH)",
|
|
63
|
+
"p.agentMaxMessageLength": "Например: 4000",
|
|
64
|
+
"p.agentModel": "Например: deepseek-v4-flash (пусто — по умолчанию)",
|
|
65
|
+
"p.agentProvider": "Например: volcengine (пусто — по умолчанию)",
|
|
66
|
+
"p.feishuAllowedUserIds": "Например: ou_xxxxxxxxxxxxx",
|
|
67
|
+
"p.feishuAppId": "Например: cli_xxxxxxxxxxxxx",
|
|
68
|
+
"p.feishuAppSecret": "App Secret приложения Feishu",
|
|
69
|
+
"p.httpHost": "Например: 0.0.0.0",
|
|
70
|
+
"p.httpPort": "Например: 8080",
|
|
71
|
+
"p.larkAllowedUserIds": "Например: ou_xxxxxxxxxxxxx",
|
|
72
|
+
"p.larkAppId": "Например: cli_xxxxxxxxxxxxx",
|
|
73
|
+
"p.larkAppSecret": "App Secret приложения Lark",
|
|
74
|
+
"p.mockPort": "Например: 9099 (0 — автоматически)",
|
|
75
|
+
"p.telegramAllowedUserIds": "Например: 123456789, 987654321",
|
|
76
|
+
"p.telegramToken": "Например: 123456789:AA...",
|
|
77
|
+
"p.wecomAgentId": "Например: 1000002",
|
|
78
|
+
"p.wecomAllowedUserIds": "Например: ivanov, petrov",
|
|
79
|
+
"p.wecomCorpId": "Например: wwxxxxxxxxxxxxxx",
|
|
80
|
+
"p.wecomCorpSecret": "Secret приложения WeCom",
|
|
81
|
+
"p.wecomEncodingAesKey": "EncodingAESKey из 43 символов",
|
|
82
|
+
"p.wecomToken": "Токен адреса обратного вызова",
|
|
83
|
+
"settings.collapse": "Свернуть",
|
|
84
|
+
"settings.description": "Подключает агентов dsh к Feishu (Lark), WeCom и Telegram. Каждый чат получает свою сессию агента.",
|
|
85
|
+
"settings.discard": "Отменить",
|
|
86
|
+
"settings.expand": "Развернуть",
|
|
87
|
+
"settings.invalidNumber": "Введите корректное число",
|
|
88
|
+
"settings.overridden": "Переопределено",
|
|
89
|
+
"settings.readOnly": "Установка доступна только для чтения: настройки из интерфейса не меняются.",
|
|
90
|
+
"settings.reset": "Сбросить",
|
|
91
|
+
"settings.save": "Сохранить",
|
|
92
|
+
"settings.saveFailed": "Сохранить не удалось",
|
|
93
|
+
"settings.saving": "Сохранение…",
|
|
94
|
+
"settings.title": "IM-шлюз (dsh-im-hub)",
|
|
95
|
+
"settings.unsaved": "Есть несохранённые изменения"
|
|
96
|
+
}
|
|
97
|
+
}
|