@theia/core 1.76.0-next.6 → 1.76.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.
Files changed (179) hide show
  1. package/README.md +8 -8
  2. package/i18n/nls.cs.json +187 -49
  3. package/i18n/nls.de.json +187 -49
  4. package/i18n/nls.es.json +187 -49
  5. package/i18n/nls.fr.json +187 -49
  6. package/i18n/nls.hu.json +187 -49
  7. package/i18n/nls.it.json +187 -49
  8. package/i18n/nls.ja.json +187 -49
  9. package/i18n/nls.json +187 -49
  10. package/i18n/nls.ko.json +187 -49
  11. package/i18n/nls.pl.json +187 -49
  12. package/i18n/nls.pt-br.json +187 -49
  13. package/i18n/nls.ru.json +187 -49
  14. package/i18n/nls.tr.json +187 -49
  15. package/i18n/nls.zh-cn.json +187 -49
  16. package/i18n/nls.zh-tw.json +187 -49
  17. package/lib/browser/catalog.json +175 -95
  18. package/lib/browser/dialogs.d.ts +2 -0
  19. package/lib/browser/dialogs.d.ts.map +1 -1
  20. package/lib/browser/dialogs.js +9 -5
  21. package/lib/browser/dialogs.js.map +1 -1
  22. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  23. package/lib/browser/frontend-application-module.js +3 -0
  24. package/lib/browser/frontend-application-module.js.map +1 -1
  25. package/lib/browser/index.d.ts +1 -0
  26. package/lib/browser/index.d.ts.map +1 -1
  27. package/lib/browser/index.js +1 -0
  28. package/lib/browser/index.js.map +1 -1
  29. package/lib/browser/resource-context-key.d.ts +25 -0
  30. package/lib/browser/resource-context-key.d.ts.map +1 -1
  31. package/lib/browser/resource-context-key.js +41 -16
  32. package/lib/browser/resource-context-key.js.map +1 -1
  33. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts +7 -5
  34. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts.map +1 -1
  35. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js +13 -12
  36. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js.map +1 -1
  37. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts +11 -1
  38. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts.map +1 -1
  39. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +38 -3
  40. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -1
  41. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +2 -1
  42. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -1
  43. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +4 -2
  44. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
  45. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.js +123 -2
  46. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.js.map +1 -1
  47. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.d.ts +12 -4
  48. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.d.ts.map +1 -1
  49. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.js +2 -2
  50. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.js.map +1 -1
  51. package/lib/browser/tree/tree-widget.d.ts +20 -2
  52. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  53. package/lib/browser/tree/tree-widget.js +31 -13
  54. package/lib/browser/tree/tree-widget.js.map +1 -1
  55. package/lib/browser/tree/tree-widget.spec.d.ts +2 -0
  56. package/lib/browser/tree/tree-widget.spec.d.ts.map +1 -0
  57. package/lib/browser/tree/tree-widget.spec.js +192 -0
  58. package/lib/browser/tree/tree-widget.spec.js.map +1 -0
  59. package/lib/browser/view-container.d.ts.map +1 -1
  60. package/lib/browser/view-container.js +2 -2
  61. package/lib/browser/view-container.js.map +1 -1
  62. package/lib/browser/widget-context-key-contribution.d.ts +17 -0
  63. package/lib/browser/widget-context-key-contribution.d.ts.map +1 -0
  64. package/lib/browser/widget-context-key-contribution.js +20 -0
  65. package/lib/browser/widget-context-key-contribution.js.map +1 -0
  66. package/lib/browser/window/browser-window-module.d.ts.map +1 -1
  67. package/lib/browser/window/browser-window-module.js +3 -0
  68. package/lib/browser/window/browser-window-module.js.map +1 -1
  69. package/lib/browser/window/window-launch-args.d.ts +29 -0
  70. package/lib/browser/window/window-launch-args.d.ts.map +1 -0
  71. package/lib/browser/window/window-launch-args.js +39 -0
  72. package/lib/browser/window/window-launch-args.js.map +1 -0
  73. package/lib/browser-only/frontend-only-application-module.d.ts.map +1 -1
  74. package/lib/browser-only/frontend-only-application-module.js +5 -2
  75. package/lib/browser-only/frontend-only-application-module.js.map +1 -1
  76. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts +3 -1
  77. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts.map +1 -1
  78. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js +8 -7
  79. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js.map +1 -1
  80. package/lib/common/index.d.ts +2 -0
  81. package/lib/common/index.d.ts.map +1 -1
  82. package/lib/common/index.js +2 -0
  83. package/lib/common/index.js.map +1 -1
  84. package/lib/common/launch-arguments.d.ts +32 -0
  85. package/lib/common/launch-arguments.d.ts.map +1 -0
  86. package/lib/common/launch-arguments.js +44 -0
  87. package/lib/common/launch-arguments.js.map +1 -0
  88. package/lib/common/remote-cli-args-contribution.d.ts +22 -0
  89. package/lib/common/remote-cli-args-contribution.d.ts.map +1 -0
  90. package/lib/common/remote-cli-args-contribution.js +20 -0
  91. package/lib/common/remote-cli-args-contribution.js.map +1 -0
  92. package/lib/electron-browser/messaging/electron-ipc-connection-source.d.ts +6 -3
  93. package/lib/electron-browser/messaging/electron-ipc-connection-source.d.ts.map +1 -1
  94. package/lib/electron-browser/messaging/electron-ipc-connection-source.js +4 -3
  95. package/lib/electron-browser/messaging/electron-ipc-connection-source.js.map +1 -1
  96. package/lib/electron-browser/preload.d.ts.map +1 -1
  97. package/lib/electron-browser/preload.js +3 -1
  98. package/lib/electron-browser/preload.js.map +1 -1
  99. package/lib/electron-browser/window/electron-window-launch-args.d.ts +14 -0
  100. package/lib/electron-browser/window/electron-window-launch-args.d.ts.map +1 -0
  101. package/lib/electron-browser/window/electron-window-launch-args.js +41 -0
  102. package/lib/electron-browser/window/electron-window-launch-args.js.map +1 -0
  103. package/lib/electron-browser/window/electron-window-launch-args.spec.d.ts +2 -0
  104. package/lib/electron-browser/window/electron-window-launch-args.spec.d.ts.map +1 -0
  105. package/lib/electron-browser/window/electron-window-launch-args.spec.js +43 -0
  106. package/lib/electron-browser/window/electron-window-launch-args.spec.js.map +1 -0
  107. package/lib/electron-browser/window/electron-window-module.d.ts.map +1 -1
  108. package/lib/electron-browser/window/electron-window-module.js +7 -0
  109. package/lib/electron-browser/window/electron-window-module.js.map +1 -1
  110. package/lib/electron-common/electron-api.d.ts +10 -0
  111. package/lib/electron-common/electron-api.d.ts.map +1 -1
  112. package/lib/electron-common/electron-api.js.map +1 -1
  113. package/lib/electron-main/electron-api-main.d.ts.map +1 -1
  114. package/lib/electron-main/electron-api-main.js +7 -1
  115. package/lib/electron-main/electron-api-main.js.map +1 -1
  116. package/lib/electron-main/electron-main-application-module.d.ts.map +1 -1
  117. package/lib/electron-main/electron-main-application-module.js +2 -0
  118. package/lib/electron-main/electron-main-application-module.js.map +1 -1
  119. package/lib/electron-main/electron-main-application.d.ts +57 -2
  120. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  121. package/lib/electron-main/electron-main-application.js +68 -8
  122. package/lib/electron-main/electron-main-application.js.map +1 -1
  123. package/lib/electron-main/launch-args-store.d.ts +45 -0
  124. package/lib/electron-main/launch-args-store.d.ts.map +1 -0
  125. package/lib/electron-main/launch-args-store.js +76 -0
  126. package/lib/electron-main/launch-args-store.js.map +1 -0
  127. package/lib/electron-main/launch-args-store.spec.d.ts +2 -0
  128. package/lib/electron-main/launch-args-store.spec.d.ts.map +1 -0
  129. package/lib/electron-main/launch-args-store.spec.js +53 -0
  130. package/lib/electron-main/launch-args-store.spec.js.map +1 -0
  131. package/lib/electron-main/launch-argv-parser.d.ts +19 -0
  132. package/lib/electron-main/launch-argv-parser.d.ts.map +1 -0
  133. package/lib/electron-main/launch-argv-parser.js +71 -0
  134. package/lib/electron-main/launch-argv-parser.js.map +1 -0
  135. package/lib/electron-main/launch-argv-parser.spec.d.ts +2 -0
  136. package/lib/electron-main/launch-argv-parser.spec.d.ts.map +1 -0
  137. package/lib/electron-main/launch-argv-parser.spec.js +62 -0
  138. package/lib/electron-main/launch-argv-parser.spec.js.map +1 -0
  139. package/lib/electron-main/theia-electron-window.d.ts +2 -0
  140. package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
  141. package/lib/electron-main/theia-electron-window.js +12 -0
  142. package/lib/electron-main/theia-electron-window.js.map +1 -1
  143. package/package.json +11 -11
  144. package/src/browser/dialogs.ts +10 -5
  145. package/src/browser/frontend-application-module.ts +5 -1
  146. package/src/browser/index.ts +1 -0
  147. package/src/browser/resource-context-key.ts +61 -16
  148. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.tsx +13 -12
  149. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +36 -4
  150. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.ts +150 -3
  151. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +6 -3
  152. package/src/browser/shell/tab-bar-toolbar/tab-toolbar-item.tsx +13 -5
  153. package/src/browser/style/tree.css +7 -0
  154. package/src/browser/tree/tree-widget.spec.tsx +245 -0
  155. package/src/browser/tree/tree-widget.tsx +36 -12
  156. package/src/browser/view-container.ts +3 -3
  157. package/src/browser/widget-context-key-contribution.ts +34 -0
  158. package/src/browser/window/browser-window-module.ts +3 -0
  159. package/src/browser/window/window-launch-args.ts +53 -0
  160. package/src/browser-only/frontend-only-application-module.ts +5 -2
  161. package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +3 -1
  162. package/src/common/i18n/nls.metadata.json +5246 -1106
  163. package/src/common/index.ts +2 -0
  164. package/src/common/launch-arguments.ts +61 -0
  165. package/src/common/remote-cli-args-contribution.ts +39 -0
  166. package/src/electron-browser/messaging/electron-ipc-connection-source.ts +6 -3
  167. package/src/electron-browser/preload.ts +3 -1
  168. package/src/electron-browser/window/electron-window-launch-args.spec.ts +45 -0
  169. package/src/electron-browser/window/electron-window-launch-args.ts +38 -0
  170. package/src/electron-browser/window/electron-window-module.ts +7 -0
  171. package/src/electron-common/electron-api.ts +10 -0
  172. package/src/electron-main/electron-api-main.ts +7 -1
  173. package/src/electron-main/electron-main-application-module.ts +2 -0
  174. package/src/electron-main/electron-main-application.ts +101 -8
  175. package/src/electron-main/launch-args-store.spec.ts +59 -0
  176. package/src/electron-main/launch-args-store.ts +73 -0
  177. package/src/electron-main/launch-argv-parser.spec.ts +70 -0
  178. package/src/electron-main/launch-argv-parser.ts +66 -0
  179. package/src/electron-main/theia-electron-window.ts +9 -0
package/i18n/nls.ru.json CHANGED
@@ -72,6 +72,9 @@
72
72
  "title": "Настройки агента"
73
73
  },
74
74
  "anthropic": {
75
+ "allowEnvApiKey": {
76
+ "description": "Разрешить Theia использовать ключ API Anthropic, обнаруженный в среде (`ANTHROPIC_API_KEY`). Перед использованием ключа вам будет предложено подтвердить это один раз; чтобы отозвать согласие, установите значение обратно на `false`."
77
+ },
75
78
  "apiKey": {
76
79
  "description": "Введите ключ API вашей официальной учетной записи Anthropic. **Обратите внимание:** при использовании этого параметра ключ API Anthropic будет храниться в виде открытого текста на компьютере, на котором запущена Theia. Используйте переменную среды `ANTHROPIC_API_KEY`, чтобы безопасно установить ключ."
77
80
  },
@@ -91,13 +94,16 @@
91
94
  "enableStreaming": {
92
95
  "title": "Указывает, следует ли использовать потоковый API. По умолчанию `true`."
93
96
  },
97
+ "headers": {
98
+ "title": "Дополнительные HTTP-заголовки, отправляемые с каждым запросом к конечной точке"
99
+ },
94
100
  "id": {
95
101
  "title": "Уникальный идентификатор, который используется в пользовательском интерфейсе для идентификации настраиваемой модели."
96
102
  },
97
103
  "maxRetries": {
98
104
  "title": "Максимальное количество попыток при сбое запроса. По умолчанию — 3."
99
105
  },
100
- "mdDescription": "Интегрируйте пользовательские модели, совместимые с API Anthropic. Обязательными атрибутами являются `model` и `url`. \n Дополнительно вы можете \n - указать уникальный `id` для идентификации пользовательской модели в пользовательском интерфейсе. Если `id` не указан, в качестве `id` будет использоваться `model`. \n - укажите `apiKey` для доступа к API, обслуживаемому по указанному URL. Используйте `true`, чтобы указать использование глобального ключа API Anthropic. \n - укажите `enableStreaming: false`, чтобы указать, что потоковая передача не должна использоваться. \n - укажите `useCaching: false`, чтобы указать, что кэширование подсказок не должно использоваться. \n - укажите `maxRetries: <number>`, чтобы указать максимальное количество попыток при сбое запроса. По умолчанию — 3. \n Возможности рассуждений и максимальный лимит токенов вывода определяются из ответа конечной точки `/v1/models`.",
106
+ "mdDescription": "Интеграция пользовательских моделей, совместимых с API Anthropic. Обязательными атрибутами являются `model` и `url`. \n Дополнительно можно \n - указать уникальный `id` для идентификации пользовательской модели в пользовательском интерфейсе. Если он не указан, в качестве `id` будет использоваться `model`. \n - предоставить `apiKey` для доступа к API, обслуживаемому по указанному URL. Используйте значение `true`, чтобы указать использование глобального ключа API Anthropic. \n - укажите `enableStreaming: false`, чтобы указать, что потоковая передача не должна использоваться. \n - Укажите `useCaching: false`, чтобы указать, что кэширование подсказок не должно использоваться. \n - Укажите `maxRetries: <число>`, чтобы указать максимальное количество повторных попыток в случае сбоя запроса. По умолчанию — 3. \n - Укажите `headers`, чтобы отправлять дополнительные HTTP-заголовки с каждым запросом к конечной точке, например заголовки, требуемые шлюзом, расположенным перед API. \n Возможности рассуждений и максимальный лимит выходных токенов определяются из ответа конечной точки `/v1/models`.",
101
107
  "modelId": {
102
108
  "title": "Идентификатор модели"
103
109
  },
@@ -111,8 +117,16 @@
111
117
  "customProvider": {
112
118
  "label": "{0} (Пользовательские)"
113
119
  },
114
- "models": {
115
- "description": "Официальные модели Anthropic для использования"
120
+ "discovery": {
121
+ "cached": "Отображение моделей из кэша; последнее обновление завершилось с ошибкой: {0}",
122
+ "consentPrompt": "В среде обнаружен ключ API Anthropic (ANTHROPIC_API_KEY). Разрешить Theia использовать его для обнаружения и вызова моделей Anthropic?",
123
+ "consentRequired": "В среде обнаружен ключ API Anthropic. Подтвердите его использование для поиска моделей.",
124
+ "noKey": "Ключ API Anthropic не указан. Добавьте ключ, чтобы найти модели.",
125
+ "overridden": "Список моделей настраивается вручную. Сбросьте переопределения моделей, чтобы повторно обнаружить модели от поставщика.",
126
+ "useEnvKey": "Использование клавиши"
127
+ },
128
+ "modelOverrides": {
129
+ "description": "Переопределить модели, обнаруженные с помощью Anthropic. Если поле пустое (по умолчанию), доступные модели обнаруживаются у поставщика. Укажите явные идентификаторы моделей, чтобы использовать именно их; в этом случае обнаружение моделей не используется вовсе."
116
130
  }
117
131
  },
118
132
  "chat": {
@@ -306,7 +320,8 @@
306
320
  "status": {
307
321
  "canceled": "отменен",
308
322
  "generating": "генерирование...",
309
- "starting": "запуск..."
323
+ "starting": "запуск...",
324
+ "waitingForInput": "ожидание ввода"
310
325
  }
311
326
  },
312
327
  "deleteChangeSet": "Удалить набор изменений",
@@ -320,11 +335,14 @@
320
335
  "failedToLoadChats": "Не удалось загрузить сеансы чата",
321
336
  "failedToRestoreSession": "Не удалось восстановить сеанс чата",
322
337
  "failedToRetry": "Сообщение об ошибке повторной попытки",
338
+ "find": "Найти в чате",
339
+ "findHide": "Скрыть «Найти в чате»",
323
340
  "focusInput": "Фокус ввода в чате",
324
341
  "focusResponse": "Фокус Чат Ответ",
325
342
  "functions": "Функции",
326
343
  "functionsDescription": "Встроенные функции, предоставляемые расширениями {0}",
327
344
  "genericCapabilities": "Общие возможности",
345
+ "manageModels": "Управление моделями…",
328
346
  "mcpFunctionsDescription": "Функции протокола контекста модели (MCP) от подключенных серверов",
329
347
  "mermaid-rendering": {
330
348
  "copySource": "Скопировать исходный текст",
@@ -340,7 +358,6 @@
340
358
  "modelUnavailable": "недоступно",
341
359
  "noChatAgentsAvailable": "Нет доступных чат-агентов.",
342
360
  "noMatchingCapabilities": "Нет соответствующих возможностей",
343
- "openDiff": "Открыть Diff",
344
361
  "openImage": "Открыть изображение",
345
362
  "openOriginalFile": "Открыть исходный файл",
346
363
  "performThisTask": "Выполните это задание.",
@@ -476,7 +493,6 @@
476
493
  "findMatchingFiles": "Найти файлы, соответствующие шаблону «{0}» в текущем каталоге",
477
494
  "findMatchingFilesWithPath": "Найти файлы, соответствующие шаблону «{0}» в {1}",
478
495
  "finding": "Поиск",
479
- "from": "Из",
480
496
  "globPattern": "шаблон glob",
481
497
  "grepOptions": {
482
498
  "caseInsensitive": "нечувствительный к регистру",
@@ -533,7 +549,6 @@
533
549
  "startingLine": "Стартовые линии",
534
550
  "timeout": "Таймаут",
535
551
  "timeoutInMs": "Таймаут: {0} мс",
536
- "to": "К",
537
552
  "todoList": "Список всего",
538
553
  "todoPriority": {
539
554
  "high": "высокий",
@@ -646,23 +661,32 @@
646
661
  "signIn": "Войдите в GitHub Copilot",
647
662
  "signOut": "Выйти из GitHub Copilot"
648
663
  },
664
+ "discovery": {
665
+ "disabled": "Провайдер GitHub Copilot отключен. Включите его, чтобы обнаружить модели.",
666
+ "overridden": "Список моделей настраивается вручную. Очистите переопределения моделей, чтобы заново обнаружить модели из GitHub Copilot.",
667
+ "signedOut": "Вы не вошли в GitHub Copilot. Войдите, чтобы ознакомиться с предлагаемыми моделями."
668
+ },
649
669
  "enabled": {
650
- "mdDescription": "Включите провайдер GitHub Copilot. После включения в строке состояния появится элемент для аутентификации, и будут обнаружены доступные модели из вашей подписки Copilot."
670
+ "mdDescription": "Включите провайдер GitHub Copilot. После включения в строке состояния появится элемент для аутентификации, и будут обнаружены доступные модели из вашей подписки Copilot.\n\nЗапросы направляются через официальный CLI GitHub Copilot, который работает в качестве фонового процесса на компьютере, на котором размещен бэкенд. Ему передаются только учетные данные вашего аккаунта Copilot и ничего больше, поэтому токен в среде или существующие учетные данные GitHub CLI не используются."
651
671
  },
652
672
  "enterpriseUrl": {
653
- "mdDescription": "Домен GitHub Enterprise для Copilot API (например, `github.mycompany.com`). Оставьте поле пустым для GitHub.com."
673
+ "mdDescription": "Домен GitHub Enterprise для аутентификации и отправки запросов (например, `github.mycompany.com`). Для GitHub.com оставьте поле пустым."
674
+ },
675
+ "enterpriseUrlChanged": "Домен GitHub Copilot изменился. Войдите в систему заново, чтобы изменения вступили в силу.",
676
+ "executablePath": {
677
+ "mdDescription": "Расположение исполняемого файла CLI GitHub Copilot на компьютере, на котором размещен бэкенд. Если поле пусто (по умолчанию), CLI ищется в папке установки приложения, в переменной `PATH` и в глобальном каталоге `npm`. Укажите это значение, если CLI установлен в другом месте.\n\nCLI не входит в состав приложения; установите его с помощью команды `npm install -g @github/copilot`."
654
678
  },
655
679
  "modelOverrides": {
656
680
  "mdDescription": "Переопределите автоматически обнаруженные модели GitHub Copilot. Если поле пустое (по умолчанию), доступные модели обнаруживаются из вашей подписки Copilot. Укажите явные идентификаторы моделей, чтобы переопределить автоматическое обнаружение."
657
681
  },
682
+ "signInAgain": "Теперь вход в GitHub Copilot осуществляется через CLI GitHub Copilot. Ваши предыдущие данные для входа не удалось перенести, и они были удалены. Пожалуйста, войдите в систему заново, чтобы использовать модели Copilot.",
658
683
  "signOut": {
659
684
  "confirmMessage": "Вы уверены, что хотите выйти из GitHub Copilot?"
660
685
  },
661
686
  "statusBar": {
662
687
  "signedIn": "Вошли в GitHub Copilot как {0}. Нажмите, чтобы выйти.",
663
688
  "signedOut": "Вы не вошли в GitHub Copilot. Нажмите, чтобы войти."
664
- },
665
- "tokenMigration": "Ваша сессия GitHub Copilot использовала устаревший метод аутентификации и была очищена. Пожалуйста, войдите в систему заново, чтобы получить доступ ко всем доступным моделям."
689
+ }
666
690
  },
667
691
  "core": {
668
692
  "agentConfiguration": {
@@ -760,12 +784,19 @@
760
784
  "discardCustomPrompt": {
761
785
  "tooltip": "Отменить настройки"
762
786
  },
787
+ "favoriteModels": {
788
+ "mdDescription": "Модели, отображаемые в списке выбора моделей чата ИИ в дополнение к новейшим моделям каждого поставщика, в виде полных идентификаторов (например, `anthropic/claude-opus-5`). Это позволяет иметь под рукой более старые модели или модели, привязанные к конкретной версии. Чтобы добавить модель, проверьте её на странице поставщика в окне «Настройки ИИ».",
789
+ "title": "Избранные модели"
790
+ },
763
791
  "fileVariable": {
764
792
  "description": "Разрешает содержимое файла",
765
793
  "uri": {
766
794
  "description": "URI запрашиваемого файла."
767
795
  }
768
796
  },
797
+ "hiddenModels": {
798
+ "mdDescription": "Модели, которые не отображаются в списке выбора моделей чата с ИИ, хотя по умолчанию они должны отображаться, в виде полных идентификаторов (например, `google/gemini-flash-lite-latest`). Сюда попадают только те модели, которые не добавлены в избранное, т. е. самые новые модели от каждого поставщика. Чтобы добавить модель, снимите флажок на странице её поставщика в разделе «Настройки ИИ»."
799
+ },
769
800
  "languageModelRenderer": {
770
801
  "alias": "[псевдоним] {0}",
771
802
  "purposeTitle": "Цель: {0}",
@@ -911,7 +942,6 @@
911
942
  "dotRelativePath": "Краткая ссылка на относительный путь к рабочей области для текущего открытого файла («currentRelativeFilePath»)."
912
943
  },
913
944
  "variantSet": {
914
- "templateLabel": "Шаблон",
915
945
  "unavailableVariant": "{0} (недоступно)",
916
946
  "variantCount": "{0} варианты",
917
947
  "variantCountSingular": "Вариант 1"
@@ -931,14 +961,25 @@
931
961
  }
932
962
  },
933
963
  "google": {
964
+ "allowEnvApiKey": {
965
+ "description": "Разрешить Theia использовать ключ API Google AI (Gemini), найденный в среде (`GOOGLE_API_KEY` / `GEMINI_API_KEY`). Перед использованием ключа вам будет предложено подтвердить это один раз; чтобы отозвать согласие, установите значение обратно на `false`."
966
+ },
934
967
  "apiKey": {
935
968
  "description": "Введите ключ API вашей официальной учетной записи Google AI (Gemini). **Обратите внимание:** при использовании этого параметра ключ API GOOGLE AI будет храниться в виде открытого текста на компьютере, на котором работает Theia. Используйте переменную среды `GOOGLE_API_KEY`, чтобы безопасно установить ключ."
936
969
  },
970
+ "discovery": {
971
+ "cached": "Отображение моделей из кэша; последнее обновление не удалось: {0}",
972
+ "consentPrompt": "В среде обнаружен ключ API искусственного интеллекта Google (GOOGLE_API_KEY / GEMINI_API_KEY). Разрешить Theia использовать его для обнаружения и вызова моделей Gemini?",
973
+ "consentRequired": "В среде обнаружен ключ API Google AI. Подтвердите его использование для поиска моделей.",
974
+ "noKey": "Ключ API Google AI не указан. Добавьте ключ, чтобы найти модели.",
975
+ "overridden": "Список моделей настраивается вручную. Очистите переопределения моделей, чтобы повторно обнаружить модели от поставщика.",
976
+ "useEnvKey": "Использование клавиши"
977
+ },
937
978
  "maxRetriesOnErrors": {
938
979
  "description": "Максимальное количество попыток повтора в случае ошибок. Если значение меньше 1, то логика повторных попыток отключена."
939
980
  },
940
- "models": {
941
- "description": "Официальные модели Google Gemini для использования"
981
+ "modelOverrides": {
982
+ "description": "Переопределить модели, обнаруженные с помощью Google Gemini. Если поле пусто (по умолчанию), доступные модели обнаруживаются у поставщика. Укажите явные идентификаторы моделей, чтобы использовать именно их; в этом случае обнаружение не используется вовсе."
942
983
  },
943
984
  "retryDelayOnOtherErrors": {
944
985
  "description": "Задержка в секундах между повторными попытками в случае других ошибок (иногда Google GenAI сообщает об ошибках, таких как неполный синтаксис JSON, возвращенный из модели, или 500 Internal Server Error). Установка этого параметра в -1 предотвращает повторные попытки в этих случаях. В противном случае повторная попытка происходит либо немедленно (если установлено значение 0), либо после этой задержки в секундах (если установлено положительное число)."
@@ -1053,6 +1094,7 @@
1053
1094
  "pageTypeLabel": "Страница"
1054
1095
  },
1055
1096
  "allowAllMode": {
1097
+ "hideForThisSession": "Скрыть для этой сессии",
1056
1098
  "stripTooltip": "В данном сеансе вызовы инструментов искусственного интеллекта выполняются без подтверждения. Включайте их только в тех средах, которым доверяете.",
1057
1099
  "stripTooltipFooter": "Настройки задаются с помощью параметра --session-preference. Перезапустите программу без этого параметра, чтобы восстановить сохраненные настройки.",
1058
1100
  "title": "Режим «Разрешить всё» в Theia AI"
@@ -1111,7 +1153,6 @@
1111
1153
  "startNewChat": "Сообщения в чате должны быть краткими и по существу. [Начните новый чат]({0}) для новой задачи или [начните новый чат с кратким изложением этого]({1})."
1112
1154
  }
1113
1155
  },
1114
- "collapseSession": "Свернуть «{0}»",
1115
1156
  "commandAgent": {
1116
1157
  "commandCallback": {
1117
1158
  "confirmAction": "Понятно",
@@ -1131,19 +1172,16 @@
1131
1172
  }
1132
1173
  },
1133
1174
  "configurationState": "Проблемы с конфигурацией",
1134
- "configureAgent": {
1135
- "header": "Настройка агента по умолчанию"
1136
- },
1137
1175
  "continueAnyway": "Продолжить все равно",
1138
1176
  "createSkillAgent": {
1139
1177
  "mode": {
1140
1178
  "edit": "Режим по умолчанию"
1141
1179
  }
1142
1180
  },
1181
+ "defaultChatAgentSet": "Теперь агентом чата по умолчанию является {0}.",
1143
1182
  "enableAI": {
1144
1183
  "mdDescription": "Эта настройка позволяет вам получить доступ к новейшим возможностям искусственного интеллекта. \n Важно помнить, что эти функции могут генерировать непрерывные запросы к языковым моделям (LLM), к которым вы предоставляете доступ. Это может повлечь за собой расходы, которые вам необходимо тщательно контролировать. Включая эту опцию, вы признаете эти риски. \n **Обратите внимание! Настройки, приведенные ниже в этом разделе, вступят в силу\n только после включения основной настройки функции. После включения функции вам необходимо настроить хотя бы одного поставщика LLM ниже. См. также [документацию](https://theia-ide.org/docs/user_ai/)**."
1145
1184
  },
1146
- "expandSession": "Развернуть «{0}»",
1147
1185
  "exploreAgent": {
1148
1186
  "description": "Помощник по изучению кодовой базы, который извлекает и обобщает информацию из кодовой базы. Сообщает факты о том, что существует, предоставляет фрагменты кода и описывает наблюдаемые паттерны."
1149
1187
  },
@@ -1201,16 +1239,36 @@
1201
1239
  },
1202
1240
  "model-selection-description": "Выберите, какие большие языковые модели (LLM) будут использоваться каждым агентом ИИ в [окне настроек ИИ]({0}).",
1203
1241
  "modelsConfiguration": {
1242
+ "awaitingConsent": "Ожидается согласие",
1243
+ "defaultModel": "Одна из новейших моделей этого поставщика, которая отображается в окне выбора модели для ввода в чате с ИИ, если она не скрыта здесь",
1204
1244
  "description": "Настройте поставщиков языковых моделей и модели, доступные для агентов.",
1245
+ "discovery": "Обнаружение моделей",
1246
+ "fetching": "Загрузка…",
1247
+ "filterModels": "Модели фильтров",
1248
+ "hideModel": "Скрыть эту модель в списке моделей для ввода в чате с ИИ",
1249
+ "modelNotReady": "Не готово",
1205
1250
  "modelSettings": "Настройки модели",
1251
+ "noKey": "Нет ключа API",
1252
+ "noModels": "Моделей пока не обнаружено.",
1206
1253
  "noProviders": "Поставщики языковых моделей не установлены.",
1207
- "providers": "Поставщики"
1208
- },
1209
- "moreAgentsAvailable": {
1210
- "header": "Доступно больше агентов"
1254
+ "providers": "Поставщики",
1255
+ "ready": "Готово",
1256
+ "refresh": "Обновить список моделей",
1257
+ "refreshUnavailable": "Обновление не требуется до тех пор, пока у провайдера не появятся учетные данные",
1258
+ "released": "выпущено {0}",
1259
+ "resetShown": "Сброс настроек до значений по умолчанию",
1260
+ "resetShownUnavailable": "Уже установлено по умолчанию",
1261
+ "showAllModels": "Показать все обнаруженные модели",
1262
+ "showCheckedModels": "Показывать только те модели, которые отображаются в списке моделей для ввода в чате с ИИ",
1263
+ "showModel": "Показать эту модель в списке моделей для ввода в чате с ИИ",
1264
+ "shownExplanation": "{0} {1}, отображаемого в окне выбора модели ввода чата с ИИ",
1265
+ "updated": "Обновлено{0}"
1266
+ },
1267
+ "noDefaultAgent": {
1268
+ "header": "Агент по умолчанию отсутствует"
1211
1269
  },
1212
- "noRecommendedAgents": "Рекомендуемых агентов нет.",
1213
1270
  "openAiConfiguration": "Настройка OpenAI",
1271
+ "openGettingStartedWalkthrough": "Начало работы с ИИ",
1214
1272
  "orchestrator": {
1215
1273
  "error": {
1216
1274
  "noAgents": "Нет доступных чат-агентов для обработки запроса. Проверьте настройки, чтобы убедиться, что они включены."
@@ -1234,8 +1292,7 @@
1234
1292
  "name": "Информация о GH PR"
1235
1293
  },
1236
1294
  "localCheckout": {
1237
- "description": "Выполняет локальную проверку пул-реквеста и защищает существующие изменения в рабочем дереве.",
1238
- "name": "Оформить заказ"
1295
+ "description": "Выполняет локальную проверку пул-реквеста и защищает существующие изменения в рабочем дереве."
1239
1296
  },
1240
1297
  "localValidation": {
1241
1298
  "description": "Выполняет локальные задачи установки, сборки, проверки на ошибки, тестирования или аналогичные задачи проверки для пул-реквеста.",
@@ -1292,6 +1349,7 @@
1292
1349
  "toolConfirmation": "Переопределения подтверждений для отдельных инструментов: {0}",
1293
1350
  "toolConfirmationGeneric": "Набор переопределений подтверждений для отдельных инструментов"
1294
1351
  },
1352
+ "setDefaultChatAgent": "Установить чат-агент по умолчанию",
1295
1353
  "shellExecutionCapability": {
1296
1354
  "description": "Позволяет агенту запускать произвольные команды оболочки в системе хоста. Затем агент может делегировать выполнение скриптов, которые недоступны в качестве задач, запрашивать системную информацию и выполнять операции, для которых не существует специальных инструментов.",
1297
1355
  "name": "Выполнение оболочки"
@@ -1315,9 +1373,6 @@
1315
1373
  "slashCommandsGroupDescription": "Фрагменты подсказок, которые вы вызываете, введя /name в чате; доступны для одного или нескольких агентов.",
1316
1374
  "slashCommandsSectionHeader": "Команды со слэшем"
1317
1375
  },
1318
- "toolConfirmationInfo": {
1319
- "header": "Подтверждение выбора инструмента"
1320
- },
1321
1376
  "toolConfirmationOverrides": {
1322
1377
  "stripTooltip": "Один или несколько инструментов искусственного интеллекта автоматически разрешены для данной сессии с помощью флагов командной строки.",
1323
1378
  "title": "Переопределения подтверждений инструментов ИИ"
@@ -1380,7 +1435,6 @@
1380
1435
  "filterPlaceholder": "Фильтрация переменных по имени или описанию",
1381
1436
  "noMatches": "Переменных, соответствующих «{0}», не найдено.",
1382
1437
  "noVariables": "Переменные недоступны.",
1383
- "openAgent": "Открыть агент {0}",
1384
1438
  "optional": "необязательно",
1385
1439
  "pageSubtitle": "Значения, на которые можно ссылаться, используя имя {0} в командной строке. Они определяются и вставляются во время запроса.",
1386
1440
  "plainGroup": "Простые переменные",
@@ -1388,7 +1442,40 @@
1388
1442
  "required": "обязательно",
1389
1443
  "usedByAgents": "Используется агентами"
1390
1444
  },
1391
- "waitingForInput": "Ожидание ввода данных"
1445
+ "waitingForInput": "Ожидание ввода данных",
1446
+ "walkthrough": {
1447
+ "aiSupport": {
1448
+ "description": "\n{0}\nПрограмма поддерживает ИИ: общайтесь со специализированными агентами о вашем проекте, позволяйте им изменять код и запускать задачи, автодополняйте код по мере ввода и получайте помощь в терминале.\n\nЭти функции по умолчанию отключены, поэтому вы можете включить их по своему усмотрению.\n\nПосле включения они могут генерировать непрерывные запросы к языковым моделям, к которым вы предоставляете доступ. Это может повлечь за собой расходы, за которыми вам необходимо внимательно следить.\n\n[Ознакомьтесь с документацией]({1}\n).\n\nМы приветствуем ваши отзывы, вклад и спонсорскую поддержку! Посетите [проект на GitHub]({2}\n), чтобы поддержать продолжающуюся разработку. Спасибо, что вы являетесь частью нашего сообщества!\n\nВсё это построено на Theia AI — фреймворке для инструментов и IDE на базе искусственного интеллекта, выпущенном в качестве стабильной версии. [Ознакомьтесь с документацией по фреймворку]({3}\n).\n",
1449
+ "title": "Поддержка ИИ в {0}"
1450
+ },
1451
+ "chooseAgent": {
1452
+ "intro": "Каждый запрос в чате поступает к одному из агентов, и если вы не указали конкретного агента, отвечает любой из них.\n\n**Установите агента по умолчанию:**\n",
1453
+ "outro": "Вы также можете [выбрать агент по умолчанию]({0}\n) в настройках и указать другой агент для отдельного сообщения, начав его с *@AgentName*.\nНа странице [Агенты]({1}\n) приведен их полный список.\n",
1454
+ "title": "Выберите агент по умолчанию"
1455
+ },
1456
+ "connectModel": {
1457
+ "description": "Добавьте ключ API для хостингового провайдера:\n\n- [OpenAI]({0}\n)\n- [Anthropic]({1}\n)\n- [Google]({2}\n)\n\nПредпочитаете работать локально или использовать другой сервис? Ollama, llamafile и любой конечный пункт, совместимый с OpenAI, можно настроить на странице [Модели]({3}\n).\n\nНекоторые агенты используют собственные модели, например Claude Code, и работают без провайдера.\n",
1458
+ "title": "Подключить языковую модель"
1459
+ },
1460
+ "description": "Настройте функции искусственного интеллекта в {0} и научитесь с ними работать.",
1461
+ "enableAi": {
1462
+ "description": "Никакие данные никуда не отправляются, пока вы не включите функции ИИ, и вы можете отключить их в любой момент.\n\n[Откройте настройки ИИ]({0}\n) и включите их там.\n",
1463
+ "title": "Включить функции искусственного интеллекта"
1464
+ },
1465
+ "firstQuestion": {
1466
+ "description": "[Откройте чат с ИИ]({0}\n) и задайте вопрос о своём проекте.\n\nДва момента позволяют значительно улучшить качество ответов:\n\n- *@AgentName* выбирает агента для данного сообщения, например *@Coder*.\n- *#* добавляет контекст, например *#file* или *#selectedText*. Кнопка в виде скрепки рядом с полем ввода выполняет ту же функцию.\n\nЧат запоминает ваши сеансы, поэтому вы можете возобновить разговор позже.\n",
1467
+ "title": "Задайте свой первый вопрос"
1468
+ },
1469
+ "goFurther": {
1470
+ "description": "Чат — это только начало. ИИ также автодополняет код по мере ввода и помогает в терминале с помощью комбинации клавиш *Ctrl+I*.\n\n- [Подсказки и навыки]({0}\n): ознакомьтесь с инструкциями, по которым работают агенты, и адаптируйте их.\n- [Серверы MCP]({1}\n): добавьте инструменты, помимо тех, которые поставляются в составе {3}\n.\n- [Использование токенов]({2}\n): посмотрите, что потребляют ваши запросы.\n- [Смена перспективы]({5}\n) (экспериментальная функция): макет *AI First* перемещает чат в основную область, а проводник и систему управления версиями — в правую часть экрана.\n\nВ окне «История ИИ», если оно доступно, отображается то, что фактически было отправлено модели.\n\nБолее подробную информацию можно найти в [документации]({4}\n) — и мы всегда рады вашим отзывам.\n",
1471
+ "title": "Узнать больше"
1472
+ },
1473
+ "title": "Начало работы с ИИ",
1474
+ "toolConfirmation": {
1475
+ "description": "Агенты взаимодействуют с вашим рабочим пространством с помощью инструментов: они читают файлы, запускают команды в терминале или редактируют код.\n\nКаждый вызов инструмента сначала запрашивает ваше подтверждение. На странице [Инструменты]({0}\n) вы можете изменить это поведение по умолчанию или заранее одобрить инструменты, которым доверяете.\n\nФункции искусственного интеллекта полностью отключены, пока рабочему пространству не установлен статус доверия. Воспользуйтесь функцией [Управление доверием рабочего пространства]({1}\n), чтобы принимать решения для каждого проекта отдельно.\n",
1476
+ "title": "Контролируйте действия агентов"
1477
+ }
1478
+ }
1392
1479
  },
1393
1480
  "llamaFile": {
1394
1481
  "prefs": {
@@ -1434,6 +1521,7 @@
1434
1521
  "label": "MCP: Получить URL перенаправления MCP OAuth"
1435
1522
  },
1436
1523
  "info": {
1524
+ "noToolsAvailable": "Инструментов нет.",
1437
1525
  "oauthRedirectUrl": "URL перенаправления MCP OAuth: {0}",
1438
1526
  "serverSignedIn": "Вошел на сервер MCP «{0}».",
1439
1527
  "serverSignedOut": "Выход из системы с сервера MCP «{0}».",
@@ -1609,6 +1697,7 @@
1609
1697
  "serverUrlPlaceholder": "Например, https://mcp.example.com",
1610
1698
  "serverUrlRequired": "URL-адрес сервера требуется для удаленных серверов."
1611
1699
  },
1700
+ "noServersConfigured": "Серверы MCP не настроены",
1612
1701
  "oauth": "OAuth",
1613
1702
  "oauthAuthorizationServer": "Сервер авторизации",
1614
1703
  "oauthClientId": "Идентификатор клиента OAuth",
@@ -1636,6 +1725,9 @@
1636
1725
  "typeRemoteOAuth": "Удаленный доступ (OAuth)"
1637
1726
  },
1638
1727
  "openai": {
1728
+ "allowEnvApiKey": {
1729
+ "description": "Разрешить Theia использовать ключ API OpenAI, найденный в среде (`OPENAI_API_KEY`). Перед использованием ключа вам будет предложено подтвердить это один раз; чтобы отозвать согласие, установите значение обратно на `false`."
1730
+ },
1639
1731
  "apiKey": {
1640
1732
  "mdDescription": "Введите ключ API вашей официальной учетной записи OpenAI. **Обратите внимание:** при использовании этого параметра ключ API Open AI будет храниться в виде открытого текста на компьютере, на котором запущена Theia. Используйте переменную среды `OPENAI_API_KEY`, чтобы безопасно установить ключ."
1641
1733
  },
@@ -1664,10 +1756,13 @@
1664
1756
  "enableStreaming": {
1665
1757
  "title": "Указывает, следует ли использовать потоковый API. По умолчанию `true`."
1666
1758
  },
1759
+ "headers": {
1760
+ "title": "Дополнительные HTTP-заголовки, отправляемые с каждым запросом к конечной точке"
1761
+ },
1667
1762
  "id": {
1668
1763
  "title": "Уникальный идентификатор, который используется в пользовательском интерфейсе для идентификации настраиваемой модели."
1669
1764
  },
1670
- "mdDescription": "Интегрируйте пользовательские модели, совместимые с API OpenAI, например, через `vllm`. Обязательными атрибутами являются `model` и `url`. \n Дополнительно вы можете \n - указать уникальный `id` для идентификации пользовательской модели в пользовательском интерфейсе. Если `id` не указан, в качестве `id` будет использоваться `model`. \n - укажите `apiKey` для доступа к API, обслуживаемому по указанному URL. Используйте `true`, чтобы указать использование глобального ключа API OpenAI. \n - укажите `apiVersion` для доступа к API, обслуживаемому по указанному URL в Azure. Используйте `true`, чтобы указать использование глобальной версии API OpenAI. \n - укажите имя `deployment` для вашего развертывания в Azure. \n - установите `developerMessageSettings` в одно из значений: `user`, `system`, `developer`, `mergeWithFollowingUserMessage` или `skip`, чтобы контролировать, как сообщение разработчика будет включено (где `user`, `system` и `developer` будут использоваться в качестве роли, `mergeWithFollowingUserMessage` добавит системное сообщение в начало следующего пользовательского сообщения или преобразует системное сообщение в пользовательское, если следующее сообщение не является пользовательским. `skip` просто удалит системное сообщение). По умолчанию используется значение `developer`. \n - Укажите `supportsStructuredOutput: false`, чтобы указать, что структурированный вывод не должен использоваться. \n - Укажите `enableStreaming: false`, чтобы указать, что потоковая передача не должна использоваться. \n - Укажите `useResponseApi: true`, чтобы использовать более новый OpenAI Response API вместо Chat Completion API (требуется совместимый конечный пункт). \n - Укажите `reasoningSupport`, чтобы включить селектор обоснования чата. Предоставьте объект с `supportedLevels` (например, `[\"off\", \"low\", \"medium\", \"high\", \"auto\"]`) и опциональным `defaultLevel`. \n Дополнительную информацию см. в [нашей документации](https://theia-ide.org/docs/user_ai/#openai-compatible-models-eg-via-vllm).",
1765
+ "mdDescription": "Интегрируйте пользовательские модели, совместимые с API OpenAI, например, с помощью `vllm`. Обязательными атрибутами являются `model` и `url`. \n Дополнительно вы можете \n - указать уникальный `id` для идентификации пользовательской модели в пользовательском интерфейсе. Если он не указан, в качестве `id` будет использоваться `model`. \n - укажите `apiKey` для доступа к API, доступному по указанному URL. Используйте значение `true`, чтобы указать использование глобального ключа API OpenAI. \n - укажите `apiVersion` для доступа к API, обслуживаемому по указанному URL-адресу в Azure. Используйте значение `true`, чтобы указать использование глобальной версии API OpenAI. \n - укажите имя `deployment` для вашего развертывания в Azure. \n - Установите для `developerMessageSettings` одно из значений: `user`, `system`, `developer`, `mergeWithFollowingUserMessage` или `skip`, чтобы контролировать, как сообщение разработчика будет включено (где `user`, `system` и `developer` будут использоваться в качестве роли; `mergeWithFollowingUserMessage` добавит системное сообщение в начало следующего пользовательского сообщения или преобразует системное сообщение в пользовательское, если следующее сообщение не является пользовательским; `skip` просто удалит системное сообщение). По умолчанию используется значение `developer`. \n - Укажите `supportsStructuredOutput: false`, чтобы указать, что структурированный вывод не должен использоваться. \n - Укажите `enableStreaming: false`, чтобы указать, что потоковая передача не должна использоваться. \n - Укажите `useResponseApi: true`, чтобы использовать более новый OpenAI Response API вместо Chat Completion API (требуется совместимый конечный пункт). \n - Укажите `reasoningSupport`, чтобы включить селектор обоснований в чате. Укажите объект с `supportedLevels` (например, `[\"off\", \"low\", \"medium\", \"high\", \"auto\"]`) и опциональным параметром `defaultLevel`. \n - Укажите `headers`, чтобы отправлять дополнительные HTTP-заголовки с каждым запросом к конечной точке, например заголовки, требуемые шлюзом, расположенным перед API. \n Дополнительную информацию см. в [нашей документации](https://theia-ide.org/docs/user_ai/#openai-compatible-models-eg-via-vllm).",
1671
1766
  "modelId": {
1672
1767
  "title": "Идентификатор модели"
1673
1768
  },
@@ -1687,8 +1782,16 @@
1687
1782
  "customProvider": {
1688
1783
  "label": "{0} (Пользовательские)"
1689
1784
  },
1690
- "models": {
1691
- "description": "Официальные модели OpenAI для использования"
1785
+ "discovery": {
1786
+ "cached": "Отображение моделей из кэша; последнее обновление завершилось сбоем: {0}",
1787
+ "consentPrompt": "В системе обнаружен ключ API OpenAI (OPENAI_API_KEY). Разрешить Theia использовать его для обнаружения и вызова моделей OpenAI?",
1788
+ "consentRequired": "В среде обнаружен ключ API OpenAI. Подтвердите его использование для поиска моделей.",
1789
+ "noKey": "Ключ API OpenAI не указан. Добавьте ключ, чтобы найти модели.",
1790
+ "overridden": "Список моделей настраивается вручную. Очистите переопределения моделей, чтобы повторно обнаружить модели от поставщика.",
1791
+ "useEnvKey": "Использование клавиши"
1792
+ },
1793
+ "modelOverrides": {
1794
+ "description": "Переопределить модели, обнаруженные из OpenAI. Если поле пусто (по умолчанию), доступные модели обнаруживаются у поставщика. Укажите явные идентификаторы моделей, чтобы использовать именно их; в этом случае обнаружение не используется вовсе."
1692
1795
  },
1693
1796
  "useResponseApi": {
1694
1797
  "mdDescription": "Для официальных моделей OpenAI используйте более новую API OpenAI Response вместо API Chat Completion. Этот параметр применяется только к официальным моделям OpenAI — пользовательские провайдеры должны настраивать его индивидуально."
@@ -1936,6 +2039,26 @@
1936
2039
  "codeReview": {
1937
2040
  "description": "Передает задачу агенту по проверке кода после каждой реализации. Блокирует дальнейшие шаги до тех пор, пока проверка не будет пройдена."
1938
2041
  },
2042
+ "commit-message": {
2043
+ "agent-disabled-tooltip": "Агент «Сообщение о фиксации» отключен. Включите его в окне «Настройки ИИ».",
2044
+ "cancel-tooltip": "Отменить создание сообщения фиксации",
2045
+ "empty": "Модель вернула пустое сообщение фиксации.",
2046
+ "failed": "Не удалось сгенерировать сообщение о фиксации: {0}",
2047
+ "generate-from-staged": "Генерировать сообщение о фиксации на основе подготовленных изменений",
2048
+ "no-changes": "Нет поэтапных изменений, на основе которых можно было бы сгенерировать сообщение о фиксации.",
2049
+ "no-repository": "Репозиторий системы контроля версий не выбран.",
2050
+ "replace-prompt": "Поле сообщения о фиксации не пусто. Заменить его содержимое сгенерированным сообщением?",
2051
+ "replace-title": "Заменить сообщение фиксации",
2052
+ "staged-tooltip": "Сгенерировать сообщение о фиксации на основе подготовленных к фиксации изменений"
2053
+ },
2054
+ "commitMessageAgent": {
2055
+ "description": "Генерирует сообщения git commit на основе изменений, добавленных в рабочую область репозитория. Вызывается из поля ввода сообщения commit системы управления версиями (SCM) с помощью кнопки AI sparkle.",
2056
+ "vars": {
2057
+ "changes": {
2058
+ "description": "Унифицированный git diff подготовленных к фиксации изменений, на основе которых сгенерировано сообщение фиксации."
2059
+ }
2060
+ }
2061
+ },
1939
2062
  "fixGhTicketCommand": {
1940
2063
  "argumentHint": "<номер билета>",
1941
2064
  "description": "Проанализируйте заявку GitHub и реализуйте решение."
@@ -2004,6 +2127,7 @@
2004
2127
  "updateTooltip": "Обновление с {0} до {1}"
2005
2128
  },
2006
2129
  "autoUpdate": {
2130
+ "aiSettings": "Настройки ИИ",
2007
2131
  "ask": "Уведомлять о появлении обновлений для установленного навыка, сервера MCP или плагина агента.",
2008
2132
  "changeLater": "Вы можете изменить это позже на странице {0}.",
2009
2133
  "configureDefault": "Настройте значения по умолчанию в файле `{0}`.",
@@ -2040,9 +2164,7 @@
2040
2164
  "oneSkipped": "Компонент «{0}» пропущен: {1}"
2041
2165
  },
2042
2166
  "dialog": {
2043
- "contains": "Содержит",
2044
2167
  "endorsedBy": "Одобрено",
2045
- "from": "Из",
2046
2168
  "install": {
2047
2169
  "title": "Установите плагин-агент «{0}»"
2048
2170
  },
@@ -2104,10 +2226,6 @@
2104
2226
  "serverUnknownField": "В конфигурации сервера заявлено поле «{0}», которое не допускается для данного типа транспорта.",
2105
2227
  "serverUnknownType": "В конфигурации сервера объявлен неизвестный тип транспорта «{0}».",
2106
2228
  "serverUnsupportedTransport": "Транспорт MCP «{0}» не поддерживается.",
2107
- "stat": {
2108
- "oneServer": "1 сервер MCP",
2109
- "servers": "{0} Серверы MCP"
2110
- },
2111
2229
  "uninstalled": "Удалённый плагин агента «{0}».",
2112
2230
  "unknownManifestField": "Игнорируется неизвестное поле «{0}» в файле «plugin.json».",
2113
2231
  "unlinked": "Несвязанный плагин агента «{0}».",
@@ -2244,7 +2362,6 @@
2244
2362
  "collaborate": "Совместная работа",
2245
2363
  "collaboration": "Совместная работа",
2246
2364
  "collaborationWorkspace": "Рабочая область для совместной работы",
2247
- "connected": "Подключено",
2248
2365
  "connectedSession": "Подключено к сеансу совместной работы",
2249
2366
  "copiedInvitation": "Код приглашения скопирован в буфер обмена.",
2250
2367
  "copyAgain": "Скопировать еще раз",
@@ -2471,6 +2588,25 @@
2471
2588
  "userSettingsDetail": "Применить ко всем рабочим пространствам",
2472
2589
  "workspaceSettingsDetail": "Применить только к текущему рабочему пространству"
2473
2590
  },
2591
+ "external-api": {
2592
+ "delivery": {
2593
+ "description": "Определяет, будет ли и как будет обслуживаться внешний HTTP-API.",
2594
+ "off": "Не предоставляйте доступ к внешнему API.",
2595
+ "samePort": "Предоставляйте внешний API на том же порте, что и бэкенд.",
2596
+ "samePortLabel": "Тот же порт, что и у бэкенда",
2597
+ "separatePort": "Предоставляйте внешний API на выделенном порте, настроенном с помощью параметра «externalApi.port».",
2598
+ "separatePortLabel": "Отдельный порт"
2599
+ },
2600
+ "hostname": {
2601
+ "description": "Имя хоста или IP-адрес, к которому привязан внешний сервер HTTP-API. Используйте «0.0.0.0», чтобы принимать удалённые подключения. Такое имя, как «localhost», привязывается по мере его разрешения, поэтому клиенты, использующие другой адрес обратной связи, могут не получить доступ к серверу; используйте «127.0.0.1» или «::1», чтобы зафиксировать один из них. Используется только в том случае, если для параметра «externalApi.delivery» установлено значение «separatePort»."
2602
+ },
2603
+ "port": {
2604
+ "description": "Порт, на котором обслуживается внешний HTTP-API. Используется только в том случае, если для параметра «externalApi.delivery» установлено значение «separatePort»."
2605
+ },
2606
+ "token": {
2607
+ "description": "Требуется токен Bearer для доступа к защищённым конечным точкам внешнего API («Authorization: Bearer <token>»). Если поле пустое, внешний API обслуживается без проверки."
2608
+ }
2609
+ },
2474
2610
  "external-terminal": {
2475
2611
  "cwd": "Выбрать текущий рабочий каталог для нового внешнего терминала"
2476
2612
  },
@@ -2514,10 +2650,6 @@
2514
2650
  "uploadedOutOf": "Загружено с {0} из {1}"
2515
2651
  },
2516
2652
  "getting-started": {
2517
- "ai": {
2518
- "header": "В {0} доступна поддержка ИИ!",
2519
- "openAIChatView": "Откройте окно AI Chat View, чтобы узнать, как начать!"
2520
- },
2521
2653
  "apiComparator": "{0} Совместимость API",
2522
2654
  "markStepUndone": "Отменить",
2523
2655
  "newExtension": "Создание нового расширения",
@@ -2736,9 +2868,6 @@
2736
2868
  },
2737
2869
  "toolbar": "Панель инструментов"
2738
2870
  },
2739
- "preview": {
2740
- "openByDefault": "По умолчанию открывать предварительный просмотр вместо редактора."
2741
- },
2742
2871
  "property-view": {
2743
2872
  "lastModified": "Последнее изменение",
2744
2873
  "noProperties": "Свойства недоступны.",
@@ -2749,6 +2878,16 @@
2749
2878
  "dev-container": {
2750
2879
  "attach": "Присоединить к запущенному контейнеру",
2751
2880
  "attachError": "Не удалось подключиться к контейнеру: {0}",
2881
+ "attachScreen": {
2882
+ "errorHeader": "Не удалось подключиться к контейнеру",
2883
+ "firstStartNote": "Первый запуск контейнера может занять одну-две минуты. Последующие запуски происходят гораздо быстрее.",
2884
+ "locating": "Поиск контейнера {0}...",
2885
+ "preparing": "Подготовка к подключению...",
2886
+ "preparingWorkspace": "Подготовка рабочей области...",
2887
+ "starting": "Запуск приложения внутри контейнера...",
2888
+ "title": "Подключение к контейнеру",
2889
+ "titleNamed": "Подключение к {0}"
2890
+ },
2752
2891
  "attachWarning": "Подключение к контейнеру приведет к выполнению кода внутри него. Подключайтесь только к тем контейнерам, источнику которых вы доверяете.",
2753
2892
  "attachWarningTitle": "Присоединить к контейнеру",
2754
2893
  "attaching": "Подключение к контейнеру",
@@ -2799,7 +2938,6 @@
2799
2938
  "amendHeadCommit": "HEAD Commit",
2800
2939
  "amendLastCommit": "Изменить последнюю фиксацию",
2801
2940
  "changeRepository": "Изменить репозиторий...",
2802
- "copyCommitHash": "Скопировать хеш фиксации",
2803
2941
  "dirtyDiff": {
2804
2942
  "close": "Закрыть Изменить Просмотр"
2805
2943
  },