@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
@@ -72,6 +72,9 @@
72
72
  "title": "Configurações do agente"
73
73
  },
74
74
  "anthropic": {
75
+ "allowEnvApiKey": {
76
+ "description": "Permita que o Theia utilize uma chave da API da Anthropic encontrada no ambiente (`ANTHROPIC_API_KEY`). Será solicitada uma confirmação antes que a chave seja utilizada; defina-a novamente como `false` para revogar o consentimento."
77
+ },
75
78
  "apiKey": {
76
79
  "description": "Insira uma chave API da sua conta oficial da Anthropic. **Observação:** ao usar essa preferência, a chave API da Anthropic será armazenada em texto não criptografado na máquina que executa o Theia. Use a variável de ambiente `ANTHROPIC_API_KEY` para definir a chave com segurança."
77
80
  },
@@ -91,13 +94,16 @@
91
94
  "enableStreaming": {
92
95
  "title": "Indica se a API de streaming deve ser usada. `true` por padrão."
93
96
  },
97
+ "headers": {
98
+ "title": "Cabeçalhos HTTP adicionais enviados com cada solicitação ao endpoint"
99
+ },
94
100
  "id": {
95
101
  "title": "Um identificador exclusivo usado na interface do usuário para identificar o modelo personalizado."
96
102
  },
97
103
  "maxRetries": {
98
104
  "title": "Número máximo de tentativas quando uma solicitação falha. 3 por padrão."
99
105
  },
100
- "mdDescription": "Integre modelos personalizados compatíveis com a API da Anthropic. Os atributos obrigatórios são `model` e `url`. \n Opcionalmente, você pode \n - especificar um `id` exclusivo para identificar o modelo personalizado na interface do usuário. Se nenhum for fornecido, `model` será usado como `id`. \n - forneça uma `apiKey` para acessar a API servida na URL fornecida. Use `true` para indicar o uso da chave global da API da Anthropic. \n - especifique `enableStreaming: false` para indicar que o streaming não deve ser usado. \n - especificar `useCaching: false` para indicar que o cache de prompts não deve ser usado. \n - especificar `maxRetries: <número>` para indicar o número máximo de tentativas quando uma solicitação falhar. 3 por padrão. \n Os recursos de raciocínio e o limite máximo de tokens de saída são derivados da resposta `/v1/models` do endpoint.",
106
+ "mdDescription": "Integre modelos personalizados compatíveis com a API da Anthropic. Os atributos obrigatórios são `model` e `url`. \n Opcionalmente, você pode \n - especificar um `id` exclusivo para identificar o modelo personalizado na interface do usuário. Se nenhum for fornecido, `model` será usado como `id`. \n - forneça uma `apiKey` para acessar a API disponibilizada na URL fornecida. Use `true` para indicar o uso da chave global da API da Anthropic. \n - especifique `enableStreaming: false` para indicar que o streaming não deve ser usado. \n - especifique `useCaching: false` para indicar que o cache de prompts não deve ser usado. \n - especifique `maxRetries: <número>` para indicar o número máximo de tentativas quando uma solicitação falhar. O valor padrão é 3. \n - especifique `headers` para enviar cabeçalhos HTTP adicionais em cada solicitação ao endpoint, por exemplo, cabeçalhos exigidos por um gateway que está à frente da API. \n Os recursos de raciocínio e o limite máximo de tokens de saída são derivados da resposta `/v1/models` do endpoint.",
101
107
  "modelId": {
102
108
  "title": "ID do modelo"
103
109
  },
@@ -111,8 +117,16 @@
111
117
  "customProvider": {
112
118
  "label": "{0} (Personalizado)"
113
119
  },
114
- "models": {
115
- "description": "Modelos oficiais da Anthropic a serem usados"
120
+ "discovery": {
121
+ "cached": "Exibindo modelos em cache; falha na última atualização: {0}",
122
+ "consentPrompt": "Foi encontrada uma chave de API da Anthropic no ambiente (ANTHROPIC_API_KEY). Permitir que o Theia a utilize para descobrir e chamar modelos da Anthropic?",
123
+ "consentRequired": "Foi encontrada uma chave de API da Anthropic no ambiente. Confirme seu uso para descobrir modelos.",
124
+ "noKey": "Nenhuma chave da API da Anthropic foi definida. Adicione uma chave para descobrir modelos.",
125
+ "overridden": "A lista de modelos é configurada manualmente. Limpe as substituições de modelo para descobrir os modelos do provedor novamente.",
126
+ "useEnvKey": "Chave de uso"
127
+ },
128
+ "modelOverrides": {
129
+ "description": "Substitua os modelos detectados pela Anthropic. Quando vazio (padrão), os modelos disponíveis são detectados pelo provedor. Defina IDs de modelo explícitos para usar exatamente esses; nesse caso, a detecção não é utilizada."
116
130
  }
117
131
  },
118
132
  "chat": {
@@ -306,7 +320,8 @@
306
320
  "status": {
307
321
  "canceled": "cancelado",
308
322
  "generating": "Gerando...",
309
- "starting": "Iniciando..."
323
+ "starting": "Iniciando...",
324
+ "waitingForInput": "aguardando entrada"
310
325
  }
311
326
  },
312
327
  "deleteChangeSet": "Excluir conjunto de alterações",
@@ -320,11 +335,14 @@
320
335
  "failedToLoadChats": "Falha ao carregar sessões de chat",
321
336
  "failedToRestoreSession": "Falha ao restaurar a sessão de chat",
322
337
  "failedToRetry": "Falha ao tentar novamente a mensagem",
338
+ "find": "Encontrar no chat",
339
+ "findHide": "Ocultar “Localizar no chat”",
323
340
  "focusInput": "Foco na entrada do chat",
324
341
  "focusResponse": "Resposta do chat em destaque",
325
342
  "functions": "Funções",
326
343
  "functionsDescription": "Funções integradas fornecidas pelas extensões d{0}",
327
344
  "genericCapabilities": "Recursos genéricos",
345
+ "manageModels": "Gerenciar modelos…",
328
346
  "mcpFunctionsDescription": "Funções do Protocolo de Contexto de Modelo (MCP) de servidores conectados",
329
347
  "mermaid-rendering": {
330
348
  "copySource": "Copiar código-fonte",
@@ -340,7 +358,6 @@
340
358
  "modelUnavailable": "indisponível",
341
359
  "noChatAgentsAvailable": "Não há agentes de chat disponíveis.",
342
360
  "noMatchingCapabilities": "Sem recursos correspondentes",
343
- "openDiff": "Abrir Diff",
344
361
  "openImage": "Abrir imagem",
345
362
  "openOriginalFile": "Abrir arquivo original",
346
363
  "performThisTask": "Execute esta tarefa.",
@@ -476,7 +493,6 @@
476
493
  "findMatchingFiles": "Encontre arquivos que correspondam ao padrão glob “{0}” no diretório atual.",
477
494
  "findMatchingFilesWithPath": "Encontre arquivos que correspondam ao padrão glob “{0}” dentro de {1}",
478
495
  "finding": "Encontrar",
479
- "from": "De",
480
496
  "globPattern": "padrão glob",
481
497
  "grepOptions": {
482
498
  "caseInsensitive": "não diferencia maiúsculas de minúsculas",
@@ -533,7 +549,6 @@
533
549
  "startingLine": "Linha de partida",
534
550
  "timeout": "Tempo limite",
535
551
  "timeoutInMs": "Tempo limite: {0} ms",
536
- "to": "Para",
537
552
  "todoList": "Lista de tarefas",
538
553
  "todoPriority": {
539
554
  "high": "alto",
@@ -646,23 +661,32 @@
646
661
  "signIn": "Faça login no GitHub Copilot",
647
662
  "signOut": "Sair do GitHub Copilot"
648
663
  },
664
+ "discovery": {
665
+ "disabled": "O provedor do GitHub Copilot está desativado. Ative-o para descobrir modelos.",
666
+ "overridden": "A lista de modelos é configurada manualmente. Limpe as substituições de modelos para descobrir os modelos do GitHub Copilot novamente.",
667
+ "signedOut": "Não está conectado ao GitHub Copilot. Faça login para descobrir os modelos que ele oferece."
668
+ },
649
669
  "enabled": {
650
- "mdDescription": "Habilite o provedor GitHub Copilot. Quando habilitado, uma entrada na barra de status aparece para autenticação e os modelos disponíveis são detectados a partir da sua assinatura do Copilot."
670
+ "mdDescription": "Habilite o provedor do GitHub Copilot. Quando habilitado, uma entrada na barra de status é exibida para autenticação e os modelos disponíveis são detectados a partir da sua assinatura do Copilot.\n\nAs solicitações são encaminhadas por meio da CLI oficial do GitHub Copilot, que é executada como um processo em segundo plano na máquina que hospeda o back-end. São fornecidas apenas as credenciais de seu login no Copilot e nada mais; portanto, um token no ambiente ou um login existente da CLI do GitHub não é utilizado."
651
671
  },
652
672
  "enterpriseUrl": {
653
- "mdDescription": "Domínio GitHub Enterprise para API Copilot (por exemplo, `github.mycompany.com`). Deixe em branco para GitHub.com."
673
+ "mdDescription": "Domínio do GitHub Enterprise para autenticação e envio de solicitações (por exemplo, `github.mycompany.com`). Deixe em branco para o GitHub.com."
674
+ },
675
+ "enterpriseUrlChanged": "O domínio do GitHub Copilot foi alterado. Faça login novamente para que a alteração entre em vigor.",
676
+ "executablePath": {
677
+ "mdDescription": "Localização do executável da CLI do GitHub Copilot na máquina que hospeda o backend. Quando vazio (padrão), a CLI é procurada na instalação do aplicativo, no `PATH` e no diretório global do `npm`. Defina esse parâmetro quando a CLI estiver instalada em outro local.\n\nA CLI não vem junto com o aplicativo; instale-a com `npm install -g @github/copilot`."
654
678
  },
655
679
  "modelOverrides": {
656
680
  "mdDescription": "Substitua os modelos do GitHub Copilot detectados automaticamente. Quando vazio (padrão), os modelos disponíveis são detectados a partir da sua assinatura do Copilot. Defina IDs de modelo explícitos para substituir a detecção automática."
657
681
  },
682
+ "signInAgain": "O GitHub Copilot agora faz o login por meio da CLI do GitHub Copilot. Seu login anterior não pôde ser transferido e foi removido; faça login novamente para usar os modelos do Copilot.",
658
683
  "signOut": {
659
684
  "confirmMessage": "Tem certeza de que deseja sair do GitHub Copilot?"
660
685
  },
661
686
  "statusBar": {
662
687
  "signedIn": "Conectado ao GitHub Copilot como {0}. Clique para sair.",
663
688
  "signedOut": "Não está conectado ao GitHub Copilot. Clique para fazer login."
664
- },
665
- "tokenMigration": "Sua sessão do GitHub Copilot utilizou um método de autenticação desatualizado e foi encerrada. Faça login novamente para acessar todos os modelos disponíveis."
689
+ }
666
690
  },
667
691
  "core": {
668
692
  "agentConfiguration": {
@@ -760,12 +784,19 @@
760
784
  "discardCustomPrompt": {
761
785
  "tooltip": "Descartar personalizações"
762
786
  },
787
+ "favoriteModels": {
788
+ "mdDescription": "Modelos que o seletor de modelos do chat de IA exibe, além dos mais recentes de cada provedor, como IDs totalmente qualificadas (por exemplo, `anthropic/claude-opus-5`). Isso serve para manter à mão um modelo mais antigo ou vinculado a uma versão específica. Marque um modelo na página do provedor na visualização “Configuração de IA” para adicioná-lo.",
789
+ "title": "Modelos favoritos"
790
+ },
763
791
  "fileVariable": {
764
792
  "description": "Resolve o conteúdo de um arquivo",
765
793
  "uri": {
766
794
  "description": "A URI do arquivo solicitado."
767
795
  }
768
796
  },
797
+ "hiddenModels": {
798
+ "mdDescription": "Modelos que o seletor de modelos da entrada de chat de IA não exibe, embora os exibiria por padrão, como IDs totalmente qualificadas (por exemplo, `google/gemini-flash-lite-latest`). Apenas os modelos exibidos sem estarem listados como favoritos aparecem aqui, ou seja, os mais recentes de um provedor. Desmarque um modelo na página do provedor, na visualização “Configuração de IA”, para adicioná-lo."
799
+ },
769
800
  "languageModelRenderer": {
770
801
  "alias": "[alias] {0}",
771
802
  "purposeTitle": "Objetivo: {0}",
@@ -911,7 +942,6 @@
911
942
  "dotRelativePath": "Referência breve ao caminho relativo ao espaço de trabalho do arquivo aberto no momento (“currentRelativeFilePath”)."
912
943
  },
913
944
  "variantSet": {
914
- "templateLabel": "Modelo",
915
945
  "unavailableVariant": "{0} (indisponível)",
916
946
  "variantCount": "{0} variantes",
917
947
  "variantCountSingular": "1 variante"
@@ -931,14 +961,25 @@
931
961
  }
932
962
  },
933
963
  "google": {
964
+ "allowEnvApiKey": {
965
+ "description": "Permita que o Theia utilize uma chave de API do Google AI (Gemini) encontrada no ambiente (`GOOGLE_API_KEY` / `GEMINI_API_KEY`). Será solicitada uma confirmação antes que a chave seja utilizada; defina-a novamente como `false` para revogar o consentimento."
966
+ },
934
967
  "apiKey": {
935
968
  "description": "Insira uma chave API da sua conta oficial do Google AI (Gemini). **Observação:** ao usar essa preferência, a chave API do GOOGLE AI será armazenada em texto não criptografado na máquina que executa o Theia. Use a variável de ambiente `GOOGLE_API_KEY` para definir a chave com segurança."
936
969
  },
970
+ "discovery": {
971
+ "cached": "Exibindo modelos armazenados em cache; falha na última atualização: {0}",
972
+ "consentPrompt": "Foi encontrada uma chave da API de IA do Google no ambiente (GOOGLE_API_KEY / GEMINI_API_KEY). Permitir que o Theia a utilize para identificar e chamar modelos do Gemini?",
973
+ "consentRequired": "Foi encontrada uma chave da API de IA do Google no ambiente. Confirme se ela está sendo usada para descobrir modelos.",
974
+ "noKey": "Nenhuma chave da API do Google AI foi definida. Adicione uma chave para descobrir modelos.",
975
+ "overridden": "A lista de modelos é configurada manualmente. Limpe as substituições de modelo para descobrir os modelos do provedor novamente.",
976
+ "useEnvKey": "Chave de uso"
977
+ },
937
978
  "maxRetriesOnErrors": {
938
979
  "description": "Número máximo de tentativas em caso de erros. Se for menor que 1, a lógica de repetição será desativada."
939
980
  },
940
- "models": {
941
- "description": "Modelos oficiais do Google Gemini a serem usados"
981
+ "modelOverrides": {
982
+ "description": "Substitua os modelos detectados pelo Google Gemini. Quando este campo estiver vazio (padrão), os modelos disponíveis são detectados pelo provedor. Defina IDs de modelo explícitos para usar exatamente esses; nesse caso, a detecção não será utilizada."
942
983
  },
943
984
  "retryDelayOnOtherErrors": {
944
985
  "description": "Atraso em segundos entre novas tentativas em caso de outros erros (às vezes, o Google GenAI relata erros como sintaxe JSON incompleta retornada do modelo ou erro interno do servidor 500). Definir isso como -1 impede novas tentativas nesses casos. Caso contrário, uma nova tentativa ocorre imediatamente (se definido como 0) ou após esse atraso em segundos (se definido como um número positivo)."
@@ -1053,6 +1094,7 @@
1053
1094
  "pageTypeLabel": "Página"
1054
1095
  },
1055
1096
  "allowAllMode": {
1097
+ "hideForThisSession": "Ocultar nesta sessão",
1056
1098
  "stripTooltip": "As chamadas à ferramenta de IA são executadas sem confirmação nesta sessão. Habilite-as apenas em ambientes em que você confia.",
1057
1099
  "stripTooltipFooter": "Configure por meio da opção --session-preference. Reinicie sem essa opção para restaurar suas configurações salvas.",
1058
1100
  "title": "Modo “Permitir tudo” do Theia AI"
@@ -1111,7 +1153,6 @@
1111
1153
  "startNewChat": "Mantenha as conversas curtas e focadas. Inicie uma nova conversa para uma nova tarefa ou inicie uma nova conversa com um resumo desta."
1112
1154
  }
1113
1155
  },
1114
- "collapseSession": "Recolher{0}",
1115
1156
  "commandAgent": {
1116
1157
  "commandCallback": {
1117
1158
  "confirmAction": "Entendi",
@@ -1131,19 +1172,16 @@
1131
1172
  }
1132
1173
  },
1133
1174
  "configurationState": "Problemas de configuração",
1134
- "configureAgent": {
1135
- "header": "Configurar um agente padrão"
1136
- },
1137
1175
  "continueAnyway": "Continuar mesmo assim",
1138
1176
  "createSkillAgent": {
1139
1177
  "mode": {
1140
1178
  "edit": "Modo padrão"
1141
1179
  }
1142
1180
  },
1181
+ "defaultChatAgentSet": "O agente de chat padrão agora é {0}.",
1143
1182
  "enableAI": {
1144
1183
  "mdDescription": "Esta configuração permite que você acesse os recursos de IA mais recentes. \n É importante estar ciente de que esses recursos podem gerar solicitações contínuas aos modelos de linguagem (LLMs) aos quais você fornece acesso. Isso pode acarretar custos que você precisa monitorar de perto. Ao ativar esta opção, você reconhece esses riscos. \n **Atenção! As configurações abaixo nesta seção só terão efeito\n depois que a configuração do recurso principal for ativada. Depois de ativar o recurso, você precisa configurar pelo menos um provedor LLM abaixo. Consulte também [a documentação](https://theia-ide.org/docs/user_ai/)**."
1145
1184
  },
1146
- "expandSession": "Expandir “{0}”",
1147
1185
  "exploreAgent": {
1148
1186
  "description": "Um assistente de exploração de código-fonte que extrai e sintetiza informações do código-fonte. Relata fatos sobre o que existe, fornece trechos de código e descreve padrões observados."
1149
1187
  },
@@ -1201,16 +1239,36 @@
1201
1239
  },
1202
1240
  "model-selection-description": "Escolha quais Modelos de Linguagem Grande (LLMs) são usados por cada agente de IA na [Visualização de Configuração de IA]({0}).",
1203
1241
  "modelsConfiguration": {
1242
+ "awaitingConsent": "Aguardando consentimento",
1243
+ "defaultModel": "Um dos modelos mais recentes desse provedor, que o seletor de modelos do chat de IA exibe, a menos que esteja oculto aqui",
1204
1244
  "description": "Configure os provedores de modelos de linguagem e os modelos disponíveis para os agentes.",
1245
+ "discovery": "Descoberta de modelos",
1246
+ "fetching": "Carregando…",
1247
+ "filterModels": "Modelos de filtro",
1248
+ "hideModel": "Ocultar este modelo do seletor de modelos da entrada de bate-papo com IA",
1249
+ "modelNotReady": "Ainda não está pronto",
1205
1250
  "modelSettings": "Configurações do modelo",
1251
+ "noKey": "Sem chave de API",
1252
+ "noModels": "Ainda não foram encontrados modelos.",
1206
1253
  "noProviders": "Não há nenhum provedor de modelo de linguagem instalado.",
1207
- "providers": "Provedores"
1208
- },
1209
- "moreAgentsAvailable": {
1210
- "header": "Mais agentes estão disponíveis."
1254
+ "providers": "Provedores",
1255
+ "ready": "Pronto",
1256
+ "refresh": "Atualizar a lista de modelos",
1257
+ "refreshUnavailable": "Não há nada para atualizar até que o provedor tenha uma credencial",
1258
+ "released": "lançado {0}",
1259
+ "resetShown": "Redefinir para os padrões",
1260
+ "resetShownUnavailable": "Já nas configurações padrão",
1261
+ "showAllModels": "Mostrar todos os modelos identificados",
1262
+ "showCheckedModels": "Mostrar apenas os modelos exibidos pelo seletor de modelos da entrada de chat da IA",
1263
+ "showModel": "Mostrar este modelo no seletor de modelos da entrada do chat de IA",
1264
+ "shownExplanation": "{0} do {1} exibido no seletor de modelos da entrada de chat de IA",
1265
+ "updated": "Atualizado em {0}"
1266
+ },
1267
+ "noDefaultAgent": {
1268
+ "header": "Sem agente padrão"
1211
1269
  },
1212
- "noRecommendedAgents": "Não há agentes recomendados disponíveis.",
1213
1270
  "openAiConfiguration": "Configuração do OpenAI",
1271
+ "openGettingStartedWalkthrough": "Introdução à IA",
1214
1272
  "orchestrator": {
1215
1273
  "error": {
1216
1274
  "noAgents": "Nenhum agente de chat disponível para atender à solicitação. Verifique sua configuração para ver se algum está habilitado."
@@ -1234,8 +1292,7 @@
1234
1292
  "name": "Informações sobre o PR do GH"
1235
1293
  },
1236
1294
  "localCheckout": {
1237
- "description": "Faz o check-out da solicitação de pull localmente e protege as alterações existentes na árvore de trabalho.",
1238
- "name": "Finalizar compra"
1295
+ "description": "Faz o check-out da solicitação de pull localmente e protege as alterações existentes na árvore de trabalho."
1239
1296
  },
1240
1297
  "localValidation": {
1241
1298
  "description": "Executa tarefas locais de instalação, compilação, verificação de código, teste ou validação semelhantes para a solicitação de pull.",
@@ -1292,6 +1349,7 @@
1292
1349
  "toolConfirmation": "Substituições de confirmação por ferramenta: {0}",
1293
1350
  "toolConfirmationGeneric": "Substituições de confirmação definidas por ferramenta"
1294
1351
  },
1352
+ "setDefaultChatAgent": "Definir agente de chat padrão",
1295
1353
  "shellExecutionCapability": {
1296
1354
  "description": "Permite que o agente execute comandos shell arbitrários no sistema host. O agente pode então delegar a execução de scripts que não estão disponíveis como tarefas, consultar informações do sistema e realizar operações para as quais não existe uma ferramenta dedicada.",
1297
1355
  "name": "Execução do shell"
@@ -1315,9 +1373,6 @@
1315
1373
  "slashCommandsGroupDescription": "Fragmentos de prompt que você invoca digitando /nome no chat, disponíveis para um ou mais agentes.",
1316
1374
  "slashCommandsSectionHeader": "Comandos de barra"
1317
1375
  },
1318
- "toolConfirmationInfo": {
1319
- "header": "Confirmação da ferramenta"
1320
- },
1321
1376
  "toolConfirmationOverrides": {
1322
1377
  "stripTooltip": "Uma ou mais ferramentas de IA são aprovadas automaticamente para esta sessão por meio de opções de linha de comando.",
1323
1378
  "title": "Substituições de confirmação da ferramenta de IA"
@@ -1380,7 +1435,6 @@
1380
1435
  "filterPlaceholder": "Filtrar variáveis por nome ou descrição",
1381
1436
  "noMatches": "Nenhuma variável corresponde a “{0}”.",
1382
1437
  "noVariables": "Não há variáveis disponíveis.",
1383
- "openAgent": "Acesse o agente {0}",
1384
1438
  "optional": "opcional",
1385
1439
  "pageSubtitle": "Valores que você pode referenciar com um nom{0}e em um prompt. Eles são resolvidos e inseridos no momento da solicitação.",
1386
1440
  "plainGroup": "Variáveis simples",
@@ -1388,7 +1442,40 @@
1388
1442
  "required": "obrigatório",
1389
1443
  "usedByAgents": "Usado por agentes"
1390
1444
  },
1391
- "waitingForInput": "Aguardando sua entrada"
1445
+ "waitingForInput": "Aguardando sua entrada",
1446
+ "walkthrough": {
1447
+ "aiSupport": {
1448
+ "description": "\n{0}\nVem com suporte a IA: converse com agentes especializados sobre seu projeto, permita que eles alterem o código e executem tarefas, completem o código enquanto você digita e obtenha ajuda no terminal.\n\nEsses recursos estão desativados por padrão, para que você possa ativá-los a seu critério.\n\nUma vez ativados, eles podem gerar solicitações contínuas aos modelos de linguagem aos quais você fornecer acesso. Isso pode acarretar custos que você precisa monitorar de perto.\n\n[Leia a documentação]({1}\n).\n\nAgradecemos seus comentários, contribuições e patrocínios! Visite o [projeto no GitHub]({2}\n) para apoiar o desenvolvimento contínuo. Obrigado por fazer parte da nossa comunidade!\n\nTudo isso é construído sobre o Theia AI, a estrutura para ferramentas e IDEs baseadas em IA, publicada como uma versão estável. [Leia a documentação da estrutura]({3}\n).\n",
1449
+ "title": "Suporte à IA no {0}"
1450
+ },
1451
+ "chooseAgent": {
1452
+ "intro": "Todas as solicitações de chat são encaminhadas a um agente, e um deles responde sempre que você não indicar um especificamente.\n\n**Defina seu agente padrão:**\n",
1453
+ "outro": "Você também pode [escolher o agente padrão]({0}\n) nas configurações e endereçar outro agente para uma única mensagem, iniciando-a com *@AgentName*.\nA página [Agentes]({1}\n) lista todos eles.\n",
1454
+ "title": "Escolha seu agente padrão"
1455
+ },
1456
+ "connectModel": {
1457
+ "description": "Adicione uma chave de API para um provedor hospedado:\n\n- [OpenAI]({0}\n)\n- [Anthropic]({1}\n)\n- [Google]({2}\n)\n\nPrefere manter tudo localmente ou usar outro serviço? O Ollama, o llamafile e qualquer endpoint compatível com a OpenAI podem ser configurados na página [Modelos]({3}\n).\n\nAlguns agentes trazem seu próprio modelo, como o Claude Code, e funcionam sem um provedor.\n",
1458
+ "title": "Conectar um modelo de linguagem"
1459
+ },
1460
+ "description": "Configure os recursos de IA d{0} e aprenda a trabalhar com eles.",
1461
+ "enableAi": {
1462
+ "description": "Nada é enviado para lugar algum até que você ative os recursos de IA, e você pode desativá-los novamente a qualquer momento.\n\n[Abra a Configuração de IA]({0}\n) e ative-os lá.\n",
1463
+ "title": "Ative os recursos de IA"
1464
+ },
1465
+ "firstQuestion": {
1466
+ "description": "[Abra o Chat de IA]({0}\n) e pergunte algo sobre seu projeto.\n\nDuas coisas tornam as respostas muito melhores:\n\n- *@AgentName* seleciona o agente para esta mensagem, por exemplo, *@Coder*.\n- *#* anexa contexto, por exemplo, *#arquivo* ou *#textoSelecionado*. O botão em forma de clipe de papel ao lado do campo de entrada faz a mesma coisa.\n\nO chat lembra suas sessões, então você pode retomar uma conversa mais tarde.\n",
1467
+ "title": "Faça sua primeira pergunta"
1468
+ },
1469
+ "goFurther": {
1470
+ "description": "O chat é apenas o começo. A IA também autocompleta o código enquanto você digita e oferece assistência no terminal com *Ctrl+I*.\n\n- [Solicitações e habilidades]({0}\n): leia e adapte as instruções com as quais os agentes trabalham.\n- [Servidores MCP]({1}\n): adicione ferramentas além daquelas que vêm com o {3}\n.\n- [Uso de tokens]({2}\n): veja o que suas solicitações consomem.\n- [Trocar de perspectiva]({5}\n) (experimental): o layout *AI First* move o chat para a área principal, com o explorador e o controle de código-fonte à direita.\n\nA visualização do Histórico de IA, quando disponível, mostra o que foi realmente enviado ao modelo.\n\nHá mais informações na [documentação]({4}\n) — e seus comentários são sempre bem-vindos.\n",
1471
+ "title": "Saiba mais"
1472
+ },
1473
+ "title": "Comece a usar a IA",
1474
+ "toolConfirmation": {
1475
+ "description": "Os agentes atuam em sua área de trabalho por meio de ferramentas: eles leem arquivos, executam comandos de terminal ou editam código.\n\nCada chamada de ferramenta solicita sua confirmação primeiro. Na página [Ferramentas]({0}\n), você pode alterar essa configuração padrão ou pré-aprovar as ferramentas nas quais confia.\n\nOs recursos de IA permanecem totalmente desativados enquanto um espaço de trabalho não for considerado confiável. [Gerencie a confiança do espaço de trabalho]({1}\n) para decidir por projeto.\n",
1476
+ "title": "Mantenha o controle sobre o que os agentes fazem"
1477
+ }
1478
+ }
1392
1479
  },
1393
1480
  "llamaFile": {
1394
1481
  "prefs": {
@@ -1434,6 +1521,7 @@
1434
1521
  "label": "MCP: Obter a URL de redirecionamento do OAuth do MCP"
1435
1522
  },
1436
1523
  "info": {
1524
+ "noToolsAvailable": "Não há ferramentas disponíveis.",
1437
1525
  "oauthRedirectUrl": "URL de redirecionamento do MCP OAuth: {0}",
1438
1526
  "serverSignedIn": "Conectado ao servidor MCP “{0}”.",
1439
1527
  "serverSignedOut": "Saída do servidor MCP “{0}”.",
@@ -1609,6 +1697,7 @@
1609
1697
  "serverUrlPlaceholder": "Por exemplo, https://mcp.example.com",
1610
1698
  "serverUrlRequired": "A URL do servidor é necessária para servidores remotos."
1611
1699
  },
1700
+ "noServersConfigured": "Nenhum servidor MCP configurado",
1612
1701
  "oauth": "OAuth",
1613
1702
  "oauthAuthorizationServer": "Servidor de autorização",
1614
1703
  "oauthClientId": "ID do cliente OAuth",
@@ -1636,6 +1725,9 @@
1636
1725
  "typeRemoteOAuth": "Remoto (OAuth)"
1637
1726
  },
1638
1727
  "openai": {
1728
+ "allowEnvApiKey": {
1729
+ "description": "Permita que o Theia utilize uma chave da API da OpenAI encontrada no ambiente (`OPENAI_API_KEY`). Será solicitada uma confirmação antes que a chave seja utilizada; defina-a novamente como `false` para revogar o consentimento."
1730
+ },
1639
1731
  "apiKey": {
1640
1732
  "mdDescription": "Insira uma chave API da sua conta oficial OpenAI. **Observação:** ao usar essa preferência, a chave API Open AI será armazenada em texto simples na máquina que executa o Theia. Use a variável de ambiente `OPENAI_API_KEY` para definir a chave com segurança."
1641
1733
  },
@@ -1664,10 +1756,13 @@
1664
1756
  "enableStreaming": {
1665
1757
  "title": "Indica se a API de streaming deve ser usada. `true` por padrão."
1666
1758
  },
1759
+ "headers": {
1760
+ "title": "Cabeçalhos HTTP adicionais enviados com cada solicitação ao endpoint"
1761
+ },
1667
1762
  "id": {
1668
1763
  "title": "Um identificador exclusivo usado na interface do usuário para identificar o modelo personalizado."
1669
1764
  },
1670
- "mdDescription": "Integre modelos personalizados compatíveis com a API da OpenAI, por exemplo, via `vllm`. Os atributos obrigatórios são `model` e `url`. \n Opcionalmente, você pode \n - especificar um `id` exclusivo para identificar o modelo personalizado na interface do usuário. Se nenhum for fornecido, `model` será usado como `id`. \n - forneça uma `apiKey` para acessar a API servida na URL fornecida. Use `true` para indicar o uso da chave global da API da OpenAI. \n - forneça uma `apiVersion` para acessar a API servida na URL fornecida no Azure. Use `true` para indicar o uso da versão global da API da OpenAI. \n - forneça um nome de `deployment` para sua implantação no Azure. \n - defina `developerMessageSettings` como `user`, `system`, `developer`, `mergeWithFollowingUserMessage` ou `skip` para controlar como a mensagem do desenvolvedor é incluída (onde `user`, `system` e `developer` serão usados como uma função; `mergeWithFollowingUserMessage` irá prefixar a mensagem do usuário seguinte com a mensagem do sistema ou converter a mensagem do sistema em mensagem do usuário se a próxima mensagem não for uma mensagem do usuário; `skip` simplesmente removerá a mensagem do sistema). O padrão é `developer`. \n - especifique `supportsStructuredOutput: false` para indicar que a saída estruturada não deve ser usada. \n - especifique `enableStreaming: false` para indicar que o streaming não deve ser usado. \n - especifique `useResponseApi: true` para usar a API OpenAI Response mais recente em vez da API Chat Completion (requer endpoint compatível). \n - especifique `reasoningSupport` para ativar o seletor de raciocínio do chat. Forneça um objeto com `supportedLevels` (por exemplo, `[\"off\", \"low\", \"medium\", \"high\", \"auto\"]`) e um `defaultLevel` opcional. \n Consulte [nossa documentação](https://theia-ide.org/docs/user_ai/#openai-compatible-models-eg-via-vllm) para obter mais informações.",
1765
+ "mdDescription": "Integre modelos personalizados compatíveis com a API da OpenAI, por exemplo, por meio de `vllm`. Os atributos obrigatórios são `model` e `url`. \n Opcionalmente, você pode \n - especificar um `id` exclusivo para identificar o modelo personalizado na interface do usuário. Se nenhum for fornecido, `model` será usado como `id`. \n - forneça uma `apiKey` para acessar a API disponibilizada na URL fornecida. Use `true` para indicar o uso da chave global da API da OpenAI. \n - forneça uma `apiVersion` para acessar a API hospedada na URL fornecida no Azure. Use `true` para indicar o uso da versão global da API da OpenAI. \n - forneça um nome de `deployment` para sua implantação no Azure. \n - defina `developerMessageSettings` como `user`, `system`, `developer`, `mergeWithFollowingUserMessage` ou `skip` para controlar como a mensagem do desenvolvedor será incluída (onde `user`, `system` e `developer` serão usados como uma função; `mergeWithFollowingUserMessage` prefixará a mensagem do usuário seguinte com a mensagem do sistema ou converterá a mensagem do sistema em mensagem do usuário se a próxima mensagem não for uma mensagem do usuário; `skip` simplesmente removerá a mensagem do sistema). O padrão é `developer`. \n - especifique `supportsStructuredOutput: false` para indicar que a saída estruturada não deve ser usada. \n - especifique `enableStreaming: false` para indicar que o streaming não deve ser usado. \n - especifique `useResponseApi: true` para usar a API OpenAI Response mais recente em vez da API Chat Completion (requer endpoint compatível). \n - especifique `reasoningSupport` para ativar o seletor de raciocínio do chat. Forneça um objeto com `supportedLevels` (por exemplo, `[\"off\", \"low\", \"medium\", \"high\", \"auto\"]`) e um `defaultLevel` opcional. \n - especifique `headers` para enviar cabeçalhos HTTP adicionais em cada solicitação ao endpoint, por exemplo, cabeçalhos exigidos por um gateway à frente da API. \n Consulte [nossa documentação](https://theia-ide.org/docs/user_ai/#openai-compatible-models-eg-via-vllm) para obter mais informações.",
1671
1766
  "modelId": {
1672
1767
  "title": "ID do modelo"
1673
1768
  },
@@ -1687,8 +1782,16 @@
1687
1782
  "customProvider": {
1688
1783
  "label": "{0} (Personalizado)"
1689
1784
  },
1690
- "models": {
1691
- "description": "Modelos oficiais da OpenAI a serem usados"
1785
+ "discovery": {
1786
+ "cached": "Exibindo modelos em cache; falha na última atualização: {0}",
1787
+ "consentPrompt": "Foi encontrada uma chave de API da OpenAI no ambiente (OPENAI_API_KEY). Permitir que o Theia a utilize para descobrir e chamar modelos da OpenAI?",
1788
+ "consentRequired": "Foi encontrada uma chave de API da OpenAI no ambiente. Confirme seu uso para descobrir modelos.",
1789
+ "noKey": "Nenhuma chave da API da OpenAI foi definida. Adicione uma chave para descobrir modelos.",
1790
+ "overridden": "A lista de modelos é configurada manualmente. Limpe as substituições de modelo para descobrir os modelos do provedor novamente.",
1791
+ "useEnvKey": "Chave de uso"
1792
+ },
1793
+ "modelOverrides": {
1794
+ "description": "Substitua os modelos identificados pela OpenAI. Quando este campo estiver vazio (padrão), os modelos disponíveis são identificados pelo provedor. Defina IDs de modelo explícitos para usar exatamente esses; nesse caso, a identificação não é utilizada."
1692
1795
  },
1693
1796
  "useResponseApi": {
1694
1797
  "mdDescription": "Use a API OpenAI Response mais recente em vez da API Chat Completion para modelos oficiais da OpenAI. Essa configuração se aplica apenas a modelos oficiais da OpenAI — provedores personalizados devem configurá-la individualmente."
@@ -1936,6 +2039,26 @@
1936
2039
  "codeReview": {
1937
2040
  "description": "Encaminha para o agente de revisão de código após cada implementação. Bloqueia as etapas seguintes até que a revisão seja aprovada."
1938
2041
  },
2042
+ "commit-message": {
2043
+ "agent-disabled-tooltip": "O agente de mensagem de commit está desativado. Ative-o na visualização Configuração de IA.",
2044
+ "cancel-tooltip": "Cancelar a geração da mensagem de commit",
2045
+ "empty": "O modelo retornou uma mensagem de commit vazia.",
2046
+ "failed": "Falha ao gerar a mensagem de commit: {0}",
2047
+ "generate-from-staged": "Gerar mensagem de commit a partir das alterações preparadas",
2048
+ "no-changes": "Não há alterações preparadas para gerar uma mensagem de commit.",
2049
+ "no-repository": "Nenhum repositório de controle de código-fonte está selecionado.",
2050
+ "replace-prompt": "O campo de mensagem de commit não está vazio. Substituir seu conteúdo pela mensagem gerada?",
2051
+ "replace-title": "Substituir mensagem de commit",
2052
+ "staged-tooltip": "Gerar mensagem de commit a partir das alterações preparadas"
2053
+ },
2054
+ "commitMessageAgent": {
2055
+ "description": "Gera mensagens de commit do Git a partir das alterações preparadas no repositório da área de trabalho. É acionado a partir do campo de entrada de mensagem de commit do SCM por meio do botão “AI Sparkle”.",
2056
+ "vars": {
2057
+ "changes": {
2058
+ "description": "O git diff unificado das alterações preparadas a partir das quais a mensagem de commit é gerada."
2059
+ }
2060
+ }
2061
+ },
1939
2062
  "fixGhTicketCommand": {
1940
2063
  "argumentHint": "<número do ticket>",
1941
2064
  "description": "Analise um ticket do GitHub e implemente a solução."
@@ -2004,6 +2127,7 @@
2004
2127
  "updateTooltip": "Atualização de {0} para {1}"
2005
2128
  },
2006
2129
  "autoUpdate": {
2130
+ "aiSettings": "Configurações de IA",
2007
2131
  "ask": "Notificar quando houver uma atualização disponível para uma skill instalada, um servidor MCP ou um plug-in de agente.",
2008
2132
  "changeLater": "Você pode alterar isso posteriormente em {0}.",
2009
2133
  "configureDefault": "Configure o padrão em {0}.",
@@ -2040,9 +2164,7 @@
2040
2164
  "oneSkipped": "Componente “{0}” ignorado: {1}"
2041
2165
  },
2042
2166
  "dialog": {
2043
- "contains": "Contém",
2044
2167
  "endorsedBy": "Aprovado por",
2045
- "from": "De",
2046
2168
  "install": {
2047
2169
  "title": "Instalar o plug-in do agente “{0}”"
2048
2170
  },
@@ -2104,10 +2226,6 @@
2104
2226
  "serverUnknownField": "A configuração do servidor declara o campo “{0}”, o que não é permitido para o tipo de transporte em questão.",
2105
2227
  "serverUnknownType": "A configuração do servidor declara o tipo de transporte desconhecido “{0}”.",
2106
2228
  "serverUnsupportedTransport": "O transporte MCP “{0}” não é compatível.",
2107
- "stat": {
2108
- "oneServer": "1 servidor MCP",
2109
- "servers": "{0} Servidores MCP"
2110
- },
2111
2229
  "uninstalled": "Plug-in do agente desinstalado “{0}”.",
2112
2230
  "unknownManifestField": "Ignorando o campo desconhecido “{0}” do arquivo “plugin.json”.",
2113
2231
  "unlinked": "Plug-in do Agente Desvinculado “{0}”.",
@@ -2244,7 +2362,6 @@
2244
2362
  "collaborate": "Colaborar",
2245
2363
  "collaboration": "Colaboração",
2246
2364
  "collaborationWorkspace": "Espaço de trabalho colaborativo",
2247
- "connected": "Conectado",
2248
2365
  "connectedSession": "Conectado a uma sessão de colaboração",
2249
2366
  "copiedInvitation": "Código de convite copiado para a área de transferência.",
2250
2367
  "copyAgain": "Copiar novamente",
@@ -2471,6 +2588,25 @@
2471
2588
  "userSettingsDetail": "Aplicar a todos os espaços de trabalho",
2472
2589
  "workspaceSettingsDetail": "Aplicar apenas ao espaço de trabalho atual"
2473
2590
  },
2591
+ "external-api": {
2592
+ "delivery": {
2593
+ "description": "Controla se e como a API HTTP externa é disponibilizada.",
2594
+ "off": "Não forneça a API externa.",
2595
+ "samePort": "Hospede a API externa na mesma porta que o backend.",
2596
+ "samePortLabel": "Mesma porta que o backend",
2597
+ "separatePort": "Hospedar a API externa em uma porta dedicada, configurada por meio de “externalApi.port”.",
2598
+ "separatePortLabel": "Porta separada"
2599
+ },
2600
+ "hostname": {
2601
+ "description": "Nome do host ou endereço IP ao qual o servidor de API HTTP externo se vincula. Use “0.0.0.0” para aceitar conexões remotas. Um nome como “localhost” é vinculado conforme é resolvido; portanto, clientes que usam o outro endereço de loopback podem não conseguir acessar o servidor; use “127.0.0.1” ou “::1” para fixar um. Usado apenas quando “externalApi.delivery” está definido como “separatePort”."
2602
+ },
2603
+ "port": {
2604
+ "description": "Porta na qual a API HTTP externa é servida. Usada apenas quando “externalApi.delivery” está definido como “separatePort”."
2605
+ },
2606
+ "token": {
2607
+ "description": "Token “Bearer” necessário para acessar pontos de extremidade protegidos da API externa (“Authorization: Bearer <token>”). Quando vazio, a API externa é disponibilizada sem verificação."
2608
+ }
2609
+ },
2474
2610
  "external-terminal": {
2475
2611
  "cwd": "Selecione o diretório de trabalho atual para o novo terminal externo"
2476
2612
  },
@@ -2514,10 +2650,6 @@
2514
2650
  "uploadedOutOf": "Carregado {0} de {1}"
2515
2651
  },
2516
2652
  "getting-started": {
2517
- "ai": {
2518
- "header": "O suporte a IA no {0} já está disponível!",
2519
- "openAIChatView": "Abra a Visualização do Chat de IA agora para saber como começar!"
2520
- },
2521
2653
  "apiComparator": "{0} Compatibilidade com API",
2522
2654
  "markStepUndone": "Marcar como desfeito",
2523
2655
  "newExtension": "Criando uma nova extensão",
@@ -2736,9 +2868,6 @@
2736
2868
  },
2737
2869
  "toolbar": "Barra de ferramentas"
2738
2870
  },
2739
- "preview": {
2740
- "openByDefault": "Abra a visualização em vez do editor por padrão."
2741
- },
2742
2871
  "property-view": {
2743
2872
  "lastModified": "Última modificação",
2744
2873
  "noProperties": "Nenhuma propriedade disponível.",
@@ -2749,6 +2878,16 @@
2749
2878
  "dev-container": {
2750
2879
  "attach": "Conectar ao contêiner em execução",
2751
2880
  "attachError": "Falha ao conectar ao contêiner: {0}",
2881
+ "attachScreen": {
2882
+ "errorHeader": "Falha ao conectar-se ao contêiner",
2883
+ "firstStartNote": "A primeira inicialização de um contêiner pode levar um ou dois minutos. As inicializações subsequentes são bem mais rápidas.",
2884
+ "locating": "Localizando o contêiner {0}...",
2885
+ "preparing": "Preparando para anexar...",
2886
+ "preparingWorkspace": "Preparando a área de trabalho...",
2887
+ "starting": "Iniciando o aplicativo dentro do contêiner...",
2888
+ "title": "Conectando-se ao contêiner",
2889
+ "titleNamed": "Anexando a {0}"
2890
+ },
2752
2891
  "attachWarning": "A conexão a um contêiner executará o código dentro dele. Conecte-se apenas a contêineres cuja origem você confie.",
2753
2892
  "attachWarningTitle": "Anexar ao contêiner",
2754
2893
  "attaching": "Conectando-se ao contêiner",
@@ -2799,7 +2938,6 @@
2799
2938
  "amendHeadCommit": "HEAD Commit",
2800
2939
  "amendLastCommit": "Alterar o último commit",
2801
2940
  "changeRepository": "Alterar repositório...",
2802
- "copyCommitHash": "Copiar hash de commit",
2803
2941
  "dirtyDiff": {
2804
2942
  "close": "Fechar Alterar Visualização rápida"
2805
2943
  },