@qwen-code/qwen-code 0.6.0 → 0.6.1-nightly.20260107.f6771c08

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cli.js CHANGED
@@ -70952,16 +70952,21 @@ var require_dist3 = __commonJS({
70952
70952
  });
70953
70953
 
70954
70954
  // packages/core/dist/src/utils/schemaValidator.js
70955
- function fixBooleanCasing(data) {
70955
+ function fixBooleanValues(data) {
70956
70956
  for (const key of Object.keys(data)) {
70957
70957
  if (!(key in data))
70958
70958
  continue;
70959
- if (typeof data[key] === "object") {
70960
- fixBooleanCasing(data[key]);
70961
- } else if (data[key] === "True")
70962
- data[key] = "true";
70963
- else if (data[key] === "False")
70964
- data[key] = "false";
70959
+ const value = data[key];
70960
+ if (typeof value === "object" && value !== null) {
70961
+ fixBooleanValues(value);
70962
+ } else if (typeof value === "string") {
70963
+ const lower3 = value.toLowerCase();
70964
+ if (lower3 === "true") {
70965
+ data[key] = true;
70966
+ } else if (lower3 === "false") {
70967
+ data[key] = false;
70968
+ }
70969
+ }
70965
70970
  }
70966
70971
  }
70967
70972
  var import_ajv, addFormats, AjvClass, ajValidator, addFormatsFunc, SchemaValidator;
@@ -71002,19 +71007,18 @@ var init_schemaValidator = __esm({
71002
71007
  return "Value of params must be an object";
71003
71008
  }
71004
71009
  const validate3 = ajValidator.compile(schema);
71005
- const valid = validate3(data);
71010
+ let valid = validate3(data);
71006
71011
  if (!valid && validate3.errors) {
71007
- fixBooleanCasing(data);
71008
- const validate4 = ajValidator.compile(schema);
71009
- const valid2 = validate4(data);
71010
- if (!valid2 && validate4.errors) {
71011
- return ajValidator.errorsText(validate4.errors, { dataVar: "params" });
71012
+ fixBooleanValues(data);
71013
+ valid = validate3(data);
71014
+ if (!valid && validate3.errors) {
71015
+ return ajValidator.errorsText(validate3.errors, { dataVar: "params" });
71012
71016
  }
71013
71017
  }
71014
71018
  return null;
71015
71019
  }
71016
71020
  };
71017
- __name(fixBooleanCasing, "fixBooleanCasing");
71021
+ __name(fixBooleanValues, "fixBooleanValues");
71018
71022
  }
71019
71023
  });
71020
71024
 
@@ -131340,6 +131344,7 @@ var init_converter = __esm({
131340
131344
  const totalTokens = usage2.total_tokens || 0;
131341
131345
  const extendedUsage = usage2;
131342
131346
  const cachedTokens = usage2.prompt_tokens_details?.cached_tokens ?? extendedUsage.cached_tokens ?? 0;
131347
+ const thinkingTokens = usage2.completion_tokens_details?.reasoning_tokens || 0;
131343
131348
  let finalPromptTokens = promptTokens;
131344
131349
  let finalCompletionTokens = completionTokens;
131345
131350
  if (totalTokens > 0 && promptTokens === 0 && completionTokens === 0) {
@@ -131350,7 +131355,8 @@ var init_converter = __esm({
131350
131355
  promptTokenCount: finalPromptTokens,
131351
131356
  candidatesTokenCount: finalCompletionTokens,
131352
131357
  totalTokenCount: totalTokens,
131353
- cachedContentTokenCount: cachedTokens
131358
+ cachedContentTokenCount: cachedTokens,
131359
+ thoughtsTokenCount: thinkingTokens
131354
131360
  };
131355
131361
  }
131356
131362
  return response;
@@ -131561,10 +131567,23 @@ var init_converter = __esm({
131561
131567
  if (message.role === "assistant" && merged.length > 0) {
131562
131568
  const lastMessage = merged[merged.length - 1];
131563
131569
  if (lastMessage.role === "assistant") {
131564
- const combinedContent = [
131565
- typeof lastMessage.content === "string" ? lastMessage.content : "",
131566
- typeof message.content === "string" ? message.content : ""
131567
- ].filter(Boolean).join("");
131570
+ const lastContent = lastMessage.content;
131571
+ const currentContent = message.content;
131572
+ const useArrayFormat = Array.isArray(lastContent) || Array.isArray(currentContent);
131573
+ let combinedContent;
131574
+ if (useArrayFormat) {
131575
+ const lastParts = Array.isArray(lastContent) ? lastContent : typeof lastContent === "string" && lastContent ? [{ type: "text", text: lastContent }] : [];
131576
+ const currentParts = Array.isArray(currentContent) ? currentContent : typeof currentContent === "string" && currentContent ? [{ type: "text", text: currentContent }] : [];
131577
+ combinedContent = [
131578
+ ...lastParts,
131579
+ ...currentParts
131580
+ ];
131581
+ } else {
131582
+ const lastText = typeof lastContent === "string" ? lastContent : "";
131583
+ const currentText = typeof currentContent === "string" ? currentContent : "";
131584
+ const mergedText = [lastText, currentText].filter(Boolean).join("");
131585
+ combinedContent = mergedText || null;
131586
+ }
131568
131587
  const lastToolCalls = "tool_calls" in lastMessage ? lastMessage.tool_calls || [] : [];
131569
131588
  const currentToolCalls = "tool_calls" in message ? message.tool_calls || [] : [];
131570
131589
  const combinedToolCalls = [...lastToolCalls, ...currentToolCalls];
@@ -139660,9 +139679,7 @@ var init_default = __esm({
139660
139679
  };
139661
139680
  }
139662
139681
  getDefaultGenerationConfig() {
139663
- return {
139664
- topP: 0.95
139665
- };
139682
+ return {};
139666
139683
  }
139667
139684
  };
139668
139685
  }
@@ -140382,13 +140399,7 @@ var init_pipeline = __esm({
140382
140399
  return params;
140383
140400
  }
140384
140401
  buildReasoningConfig() {
140385
- const reasoning = this.contentGeneratorConfig.reasoning;
140386
- if (reasoning === false) {
140387
- return {};
140388
- }
140389
- return {
140390
- reasoning_effort: reasoning?.effort ?? "medium"
140391
- };
140402
+ return {};
140392
140403
  }
140393
140404
  /**
140394
140405
  * Common error handling wrapper for execute methods
@@ -154418,7 +154429,7 @@ __export(geminiContentGenerator_exports, {
154418
154429
  createGeminiContentGenerator: () => createGeminiContentGenerator
154419
154430
  });
154420
154431
  function createGeminiContentGenerator(config2, gcConfig) {
154421
- const version2 = "0.6.0";
154432
+ const version2 = "0.6.1-nightly.20260107.f6771c08";
154422
154433
  const userAgent2 = config2.userAgent || `QwenCode/${version2} (${process.platform}; ${process.arch})`;
154423
154434
  const baseHeaders = {
154424
154435
  "User-Agent": userAgent2
@@ -169268,10 +169279,10 @@ var init_terminalSerializer = __esm({
169268
169279
  });
169269
169280
 
169270
169281
  // packages/core/dist/src/services/shellExecutionService.js
169271
- import { spawn as cpSpawn } from "node:child_process";
169282
+ import { spawn as cpSpawn, spawnSync as spawnSync2 } from "node:child_process";
169272
169283
  import { TextDecoder as TextDecoder2 } from "node:util";
169273
169284
  import os12 from "node:os";
169274
- var import_headless, Terminal, SIGKILL_TIMEOUT_MS, getFullBufferText, ShellExecutionService;
169285
+ var import_headless, Terminal, SIGKILL_TIMEOUT_MS, getFullBufferText, windowsStrategy, posixStrategy, getCleanupStrategy, ShellExecutionService;
169275
169286
  var init_shellExecutionService = __esm({
169276
169287
  "packages/core/dist/src/services/shellExecutionService.js"() {
169277
169288
  "use strict";
@@ -169294,11 +169305,58 @@ var init_shellExecutionService = __esm({
169294
169305
  }
169295
169306
  return lines.join("\n").trimEnd();
169296
169307
  }, "getFullBufferText");
169297
- ShellExecutionService = class {
169308
+ windowsStrategy = {
169309
+ killPty: /* @__PURE__ */ __name((_pid, pty) => {
169310
+ pty.ptyProcess.kill();
169311
+ }, "killPty"),
169312
+ killChildProcesses: /* @__PURE__ */ __name((pids) => {
169313
+ if (pids.size > 0) {
169314
+ try {
169315
+ const args = ["/f", "/t"];
169316
+ for (const pid of pids) {
169317
+ args.push("/pid", pid.toString());
169318
+ }
169319
+ spawnSync2("taskkill", args);
169320
+ } catch {
169321
+ }
169322
+ }
169323
+ }, "killChildProcesses")
169324
+ };
169325
+ posixStrategy = {
169326
+ killPty: /* @__PURE__ */ __name((pid, _pty) => {
169327
+ process.kill(-pid, "SIGKILL");
169328
+ }, "killPty"),
169329
+ killChildProcesses: /* @__PURE__ */ __name((pids) => {
169330
+ for (const pid of pids) {
169331
+ try {
169332
+ process.kill(-pid, "SIGKILL");
169333
+ } catch {
169334
+ }
169335
+ }
169336
+ }, "killChildProcesses")
169337
+ };
169338
+ getCleanupStrategy = /* @__PURE__ */ __name(() => os12.platform() === "win32" ? windowsStrategy : posixStrategy, "getCleanupStrategy");
169339
+ ShellExecutionService = class _ShellExecutionService {
169298
169340
  static {
169299
169341
  __name(this, "ShellExecutionService");
169300
169342
  }
169301
169343
  static activePtys = /* @__PURE__ */ new Map();
169344
+ static activeChildProcesses = /* @__PURE__ */ new Set();
169345
+ static cleanup() {
169346
+ const strategy = getCleanupStrategy();
169347
+ for (const [pid, pty] of this.activePtys) {
169348
+ try {
169349
+ strategy.killPty(pid, pty);
169350
+ } catch {
169351
+ }
169352
+ }
169353
+ strategy.killChildProcesses(this.activeChildProcesses);
169354
+ }
169355
+ static {
169356
+ process.on("exit", () => {
169357
+ _ShellExecutionService.cleanup();
169358
+ });
169359
+ }
169302
169360
  /**
169303
169361
  * Executes a shell command using `node-pty`, capturing all output and lifecycle events.
169304
169362
  *
@@ -169329,7 +169387,7 @@ var init_shellExecutionService = __esm({
169329
169387
  stdio: ["ignore", "pipe", "pipe"],
169330
169388
  windowsVerbatimArguments: true,
169331
169389
  shell: isWindows8 ? true : "bash",
169332
- detached: !isWindows8,
169390
+ detached: true,
169333
169391
  env: {
169334
169392
  ...process.env,
169335
169393
  QWEN_CODE: "1",
@@ -169425,9 +169483,12 @@ var init_shellExecutionService = __esm({
169425
169483
  }
169426
169484
  }, "abortHandler");
169427
169485
  abortSignal.addEventListener("abort", abortHandler, { once: true });
169486
+ if (child.pid) {
169487
+ this.activeChildProcesses.add(child.pid);
169488
+ }
169428
169489
  child.on("exit", (code2, signal) => {
169429
169490
  if (child.pid) {
169430
- this.activePtys.delete(child.pid);
169491
+ this.activeChildProcesses.delete(child.pid);
169431
169492
  }
169432
169493
  handleExit(code2, signal);
169433
169494
  });
@@ -169451,7 +169512,7 @@ var init_shellExecutionService = __esm({
169451
169512
  }
169452
169513
  __name(cleanup, "cleanup");
169453
169514
  });
169454
- return { pid: void 0, result };
169515
+ return { pid: child.pid, result };
169455
169516
  } catch (e4) {
169456
169517
  const error2 = e4;
169457
169518
  return {
@@ -170730,9 +170791,12 @@ var init_shell = __esm({
170730
170791
  const processedCommand = this.addCoAuthorToGitCommit(strippedCommand);
170731
170792
  const shouldRunInBackground = this.params.is_background;
170732
170793
  let finalCommand = processedCommand;
170733
- if (shouldRunInBackground && !finalCommand.trim().endsWith("&")) {
170794
+ if (!isWindows8 && shouldRunInBackground && !finalCommand.trim().endsWith("&")) {
170734
170795
  finalCommand = finalCommand.trim() + " &";
170735
170796
  }
170797
+ if (isWindows8 && shouldRunInBackground) {
170798
+ finalCommand = finalCommand.trim().replace(/&+$/, "").trim();
170799
+ }
170736
170800
  const commandToExecute = isWindows8 ? finalCommand : (() => {
170737
170801
  let command2 = finalCommand.trim();
170738
170802
  if (!command2.endsWith("&"))
@@ -170744,9 +170808,6 @@ var init_shell = __esm({
170744
170808
  let lastUpdateTime = Date.now();
170745
170809
  let isBinaryStream = false;
170746
170810
  const { result: resultPromise, pid } = await ShellExecutionService.execute(commandToExecute, cwd7, (event) => {
170747
- if (!updateOutput2) {
170748
- return;
170749
- }
170750
170811
  let shouldUpdate = false;
170751
170812
  switch (event.type) {
170752
170813
  case "data":
@@ -170771,7 +170832,7 @@ var init_shell = __esm({
170771
170832
  throw new Error("An unhandled ShellOutputEvent was found.");
170772
170833
  }
170773
170834
  }
170774
- if (shouldUpdate) {
170835
+ if (shouldUpdate && updateOutput2) {
170775
170836
  updateOutput2(typeof cumulativeOutput === "string" ? cumulativeOutput : { ansiOutput: cumulativeOutput });
170776
170837
  lastUpdateTime = Date.now();
170777
170838
  }
@@ -170779,6 +170840,14 @@ var init_shell = __esm({
170779
170840
  if (pid && setPidCallback) {
170780
170841
  setPidCallback(pid);
170781
170842
  }
170843
+ if (shouldRunInBackground) {
170844
+ const pidMsg = pid ? ` PID: ${pid}` : "";
170845
+ const killHint = isWindows8 ? " (Use taskkill /F /T /PID <pid> to stop)" : " (Use kill <pid> to stop)";
170846
+ return {
170847
+ llmContent: `Background command started.${pidMsg}${killHint}`,
170848
+ returnDisplay: `Background command started.${pidMsg}${killHint}`
170849
+ };
170850
+ }
170782
170851
  const result = await resultPromise;
170783
170852
  const backgroundPIDs = [];
170784
170853
  if (os14.platform() !== "win32") {
@@ -171432,7 +171501,7 @@ var init_coreToolScheduler = __esm({
171432
171501
  this.setToolCallOutcome(reqInfo.callId, ToolConfirmationOutcome.ProceedAlways);
171433
171502
  this.setStatusInternal(reqInfo.callId, "scheduled");
171434
171503
  } else {
171435
- const shouldAutoDeny = !this.config.isInteractive() && !this.config.getIdeMode() && !this.config.getExperimentalZedIntegration() && this.config.getInputFormat() !== InputFormat.STREAM_JSON;
171504
+ const shouldAutoDeny = !this.config.isInteractive() && !this.config.getExperimentalZedIntegration() && this.config.getInputFormat() !== InputFormat.STREAM_JSON;
171436
171505
  if (shouldAutoDeny) {
171437
171506
  const errorMessage = `Qwen Code requires permission to use "${reqInfo.name}", but that permission was declined.`;
171438
171507
  this.setStatusInternal(reqInfo.callId, "error", createErrorResponse(reqInfo, new Error(errorMessage), ToolErrorType.EXECUTION_DENIED));
@@ -202396,16 +202465,16 @@ var require_cross_spawn = __commonJS({
202396
202465
  return spawned;
202397
202466
  }
202398
202467
  __name(spawn11, "spawn");
202399
- function spawnSync5(command2, args, options2) {
202468
+ function spawnSync6(command2, args, options2) {
202400
202469
  const parsed = parse13(command2, args, options2);
202401
202470
  const result = cp2.spawnSync(parsed.command, parsed.args, parsed.options);
202402
202471
  result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);
202403
202472
  return result;
202404
202473
  }
202405
- __name(spawnSync5, "spawnSync");
202474
+ __name(spawnSync6, "spawnSync");
202406
202475
  module2.exports = spawn11;
202407
202476
  module2.exports.spawn = spawn11;
202408
- module2.exports.sync = spawnSync5;
202477
+ module2.exports.sync = spawnSync6;
202409
202478
  module2.exports._parse = parse13;
202410
202479
  module2.exports._enoent = enoent;
202411
202480
  }
@@ -226934,6 +227003,7 @@ var init_src2 = __esm({
226934
227003
  init_fileUtils();
226935
227004
  init_retry();
226936
227005
  init_shell_utils();
227006
+ init_tool_utils();
226937
227007
  init_terminalSerializer();
226938
227008
  init_systemEncoding();
226939
227009
  init_textUtils();
@@ -287084,6 +287154,842 @@ var require_ajv3 = __commonJS({
287084
287154
  }
287085
287155
  });
287086
287156
 
287157
+ // packages/cli/src/i18n/locales/de.js
287158
+ var de_exports = {};
287159
+ __export(de_exports, {
287160
+ default: () => de_default
287161
+ });
287162
+ var de_default;
287163
+ var init_de = __esm({
287164
+ "packages/cli/src/i18n/locales/de.js"() {
287165
+ "use strict";
287166
+ init_esbuild_shims();
287167
+ de_default = {
287168
+ // ============================================================================
287169
+ // Help / UI Components
287170
+ // ============================================================================
287171
+ "Basics:": "Grundlagen:",
287172
+ "Add context": "Kontext hinzuf\xFCgen",
287173
+ "Use {{symbol}} to specify files for context (e.g., {{example}}) to target specific files or folders.": "Verwenden Sie {{symbol}}, um Dateien als Kontext anzugeben (z.B. {{example}}), um bestimmte Dateien oder Ordner auszuw\xE4hlen.",
287174
+ "@": "@",
287175
+ "@src/myFile.ts": "@src/myFile.ts",
287176
+ "Shell mode": "Shell-Modus",
287177
+ "YOLO mode": "YOLO-Modus",
287178
+ "plan mode": "Planungsmodus",
287179
+ "auto-accept edits": "\xC4nderungen automatisch akzeptieren",
287180
+ "Accepting edits": "\xC4nderungen werden akzeptiert",
287181
+ "(shift + tab to cycle)": "(Umschalt + Tab zum Wechseln)",
287182
+ "Execute shell commands via {{symbol}} (e.g., {{example1}}) or use natural language (e.g., {{example2}}).": "Shell-Befehle \xFCber {{symbol}} ausf\xFChren (z.B. {{example1}}) oder nat\xFCrliche Sprache verwenden (z.B. {{example2}}).",
287183
+ "!": "!",
287184
+ "!npm run start": "!npm run start",
287185
+ "start server": "Server starten",
287186
+ "Commands:": "Befehle:",
287187
+ "shell command": "Shell-Befehl",
287188
+ "Model Context Protocol command (from external servers)": "Model Context Protocol Befehl (von externen Servern)",
287189
+ "Keyboard Shortcuts:": "Tastenk\xFCrzel:",
287190
+ "Jump through words in the input": "W\xF6rter in der Eingabe \xFCberspringen",
287191
+ "Close dialogs, cancel requests, or quit application": "Dialoge schlie\xDFen, Anfragen abbrechen oder Anwendung beenden",
287192
+ "New line": "Neue Zeile",
287193
+ "New line (Alt+Enter works for certain linux distros)": "Neue Zeile (Alt+Enter funktioniert bei bestimmten Linux-Distributionen)",
287194
+ "Clear the screen": "Bildschirm l\xF6schen",
287195
+ "Open input in external editor": "Eingabe in externem Editor \xF6ffnen",
287196
+ "Send message": "Nachricht senden",
287197
+ "Initializing...": "Initialisierung...",
287198
+ "Connecting to MCP servers... ({{connected}}/{{total}})": "Verbindung zu MCP-Servern wird hergestellt... ({{connected}}/{{total}})",
287199
+ "Type your message or @path/to/file": "Nachricht eingeben oder @Pfad/zur/Datei",
287200
+ "Press 'i' for INSERT mode and 'Esc' for NORMAL mode.": "Dr\xFCcken Sie 'i' f\xFCr den EINF\xDCGE-Modus und 'Esc' f\xFCr den NORMAL-Modus.",
287201
+ "Cancel operation / Clear input (double press)": "Vorgang abbrechen / Eingabe l\xF6schen (doppelt dr\xFCcken)",
287202
+ "Cycle approval modes": "Genehmigungsmodi durchschalten",
287203
+ "Cycle through your prompt history": "Eingabeverlauf durchbl\xE4ttern",
287204
+ "For a full list of shortcuts, see {{docPath}}": "Eine vollst\xE4ndige Liste der Tastenk\xFCrzel finden Sie unter {{docPath}}",
287205
+ "docs/keyboard-shortcuts.md": "docs/keyboard-shortcuts.md",
287206
+ "for help on Qwen Code": "f\xFCr Hilfe zu Qwen Code",
287207
+ "show version info": "Versionsinformationen anzeigen",
287208
+ "submit a bug report": "Fehlerbericht einreichen",
287209
+ "About Qwen Code": "\xDCber Qwen Code",
287210
+ // ============================================================================
287211
+ // System Information Fields
287212
+ // ============================================================================
287213
+ "CLI Version": "CLI-Version",
287214
+ "Git Commit": "Git-Commit",
287215
+ Model: "Modell",
287216
+ Sandbox: "Sandbox",
287217
+ "OS Platform": "Betriebssystem",
287218
+ "OS Arch": "OS-Architektur",
287219
+ "OS Release": "OS-Version",
287220
+ "Node.js Version": "Node.js-Version",
287221
+ "NPM Version": "NPM-Version",
287222
+ "Session ID": "Sitzungs-ID",
287223
+ "Auth Method": "Authentifizierungsmethode",
287224
+ "Base URL": "Basis-URL",
287225
+ "Memory Usage": "Speichernutzung",
287226
+ "IDE Client": "IDE-Client",
287227
+ // ============================================================================
287228
+ // Commands - General
287229
+ // ============================================================================
287230
+ "Analyzes the project and creates a tailored QWEN.md file.": "Analysiert das Projekt und erstellt eine ma\xDFgeschneiderte QWEN.md-Datei.",
287231
+ "list available Qwen Code tools. Usage: /tools [desc]": "Verf\xFCgbare Qwen Code Werkzeuge auflisten. Verwendung: /tools [desc]",
287232
+ "Available Qwen Code CLI tools:": "Verf\xFCgbare Qwen Code CLI-Werkzeuge:",
287233
+ "No tools available": "Keine Werkzeuge verf\xFCgbar",
287234
+ "View or change the approval mode for tool usage": "Genehmigungsmodus f\xFCr Werkzeugnutzung anzeigen oder \xE4ndern",
287235
+ "View or change the language setting": "Spracheinstellung anzeigen oder \xE4ndern",
287236
+ "change the theme": "Design \xE4ndern",
287237
+ "Select Theme": "Design ausw\xE4hlen",
287238
+ Preview: "Vorschau",
287239
+ "(Use Enter to select, Tab to configure scope)": "(Enter zum Ausw\xE4hlen, Tab zum Konfigurieren des Bereichs)",
287240
+ "(Use Enter to apply scope, Tab to select theme)": "(Enter zum Anwenden des Bereichs, Tab zum Ausw\xE4hlen des Designs)",
287241
+ "Theme configuration unavailable due to NO_COLOR env variable.": "Design-Konfiguration aufgrund der NO_COLOR-Umgebungsvariable nicht verf\xFCgbar.",
287242
+ 'Theme "{{themeName}}" not found.': 'Design "{{themeName}}" nicht gefunden.',
287243
+ 'Theme "{{themeName}}" not found in selected scope.': 'Design "{{themeName}}" im ausgew\xE4hlten Bereich nicht gefunden.',
287244
+ "Clear conversation history and free up context": "Gespr\xE4chsverlauf l\xF6schen und Kontext freigeben",
287245
+ "Compresses the context by replacing it with a summary.": "Komprimiert den Kontext durch Ersetzen mit einer Zusammenfassung.",
287246
+ "open full Qwen Code documentation in your browser": "Vollst\xE4ndige Qwen Code Dokumentation im Browser \xF6ffnen",
287247
+ "Configuration not available.": "Konfiguration nicht verf\xFCgbar.",
287248
+ "change the auth method": "Authentifizierungsmethode \xE4ndern",
287249
+ "Copy the last result or code snippet to clipboard": "Letztes Ergebnis oder Codeausschnitt in die Zwischenablage kopieren",
287250
+ // ============================================================================
287251
+ // Commands - Agents
287252
+ // ============================================================================
287253
+ "Manage subagents for specialized task delegation.": "Unteragenten f\xFCr spezialisierte Aufgabendelegation verwalten.",
287254
+ "Manage existing subagents (view, edit, delete).": "Bestehende Unteragenten verwalten (anzeigen, bearbeiten, l\xF6schen).",
287255
+ "Create a new subagent with guided setup.": "Neuen Unteragenten mit gef\xFChrter Einrichtung erstellen.",
287256
+ // ============================================================================
287257
+ // Agents - Management Dialog
287258
+ // ============================================================================
287259
+ Agents: "Agenten",
287260
+ "Choose Action": "Aktion w\xE4hlen",
287261
+ "Edit {{name}}": "{{name}} bearbeiten",
287262
+ "Edit Tools: {{name}}": "Werkzeuge bearbeiten: {{name}}",
287263
+ "Edit Color: {{name}}": "Farbe bearbeiten: {{name}}",
287264
+ "Delete {{name}}": "{{name}} l\xF6schen",
287265
+ "Unknown Step": "Unbekannter Schritt",
287266
+ "Esc to close": "Esc zum Schlie\xDFen",
287267
+ "Enter to select, \u2191\u2193 to navigate, Esc to close": "Enter zum Ausw\xE4hlen, \u2191\u2193 zum Navigieren, Esc zum Schlie\xDFen",
287268
+ "Esc to go back": "Esc zum Zur\xFCckgehen",
287269
+ "Enter to confirm, Esc to cancel": "Enter zum Best\xE4tigen, Esc zum Abbrechen",
287270
+ "Enter to select, \u2191\u2193 to navigate, Esc to go back": "Enter zum Ausw\xE4hlen, \u2191\u2193 zum Navigieren, Esc zum Zur\xFCckgehen",
287271
+ "Invalid step: {{step}}": "Ung\xFCltiger Schritt: {{step}}",
287272
+ "No subagents found.": "Keine Unteragenten gefunden.",
287273
+ "Use '/agents create' to create your first subagent.": "Verwenden Sie '/agents create', um Ihren ersten Unteragenten zu erstellen.",
287274
+ "(built-in)": "(integriert)",
287275
+ "(overridden by project level agent)": "(\xFCberschrieben durch Projektagent)",
287276
+ "Project Level ({{path}})": "Projektebene ({{path}})",
287277
+ "User Level ({{path}})": "Benutzerebene ({{path}})",
287278
+ "Built-in Agents": "Integrierte Agenten",
287279
+ "Using: {{count}} agents": "Verwendet: {{count}} Agenten",
287280
+ "View Agent": "Agent anzeigen",
287281
+ "Edit Agent": "Agent bearbeiten",
287282
+ "Delete Agent": "Agent l\xF6schen",
287283
+ Back: "Zur\xFCck",
287284
+ "No agent selected": "Kein Agent ausgew\xE4hlt",
287285
+ "File Path: ": "Dateipfad: ",
287286
+ "Tools: ": "Werkzeuge: ",
287287
+ "Color: ": "Farbe: ",
287288
+ "Description:": "Beschreibung:",
287289
+ "System Prompt:": "System-Prompt:",
287290
+ "Open in editor": "Im Editor \xF6ffnen",
287291
+ "Edit tools": "Werkzeuge bearbeiten",
287292
+ "Edit color": "Farbe bearbeiten",
287293
+ "\u274C Error:": "\u274C Fehler:",
287294
+ 'Are you sure you want to delete agent "{{name}}"?': 'Sind Sie sicher, dass Sie den Agenten "{{name}}" l\xF6schen m\xF6chten?',
287295
+ // ============================================================================
287296
+ // Agents - Creation Wizard
287297
+ // ============================================================================
287298
+ "Project Level (.qwen/agents/)": "Projektebene (.qwen/agents/)",
287299
+ "User Level (~/.qwen/agents/)": "Benutzerebene (~/.qwen/agents/)",
287300
+ "\u2705 Subagent Created Successfully!": "\u2705 Unteragent erfolgreich erstellt!",
287301
+ 'Subagent "{{name}}" has been saved to {{level}} level.': 'Unteragent "{{name}}" wurde auf {{level}}-Ebene gespeichert.',
287302
+ "Name: ": "Name: ",
287303
+ "Location: ": "Speicherort: ",
287304
+ "\u274C Error saving subagent:": "\u274C Fehler beim Speichern des Unteragenten:",
287305
+ "Warnings:": "Warnungen:",
287306
+ 'Name "{{name}}" already exists at {{level}} level - will overwrite existing subagent': 'Name "{{name}}" existiert bereits auf {{level}}-Ebene - bestehender Unteragent wird \xFCberschrieben',
287307
+ 'Name "{{name}}" exists at user level - project level will take precedence': 'Name "{{name}}" existiert auf Benutzerebene - Projektebene hat Vorrang',
287308
+ 'Name "{{name}}" exists at project level - existing subagent will take precedence': 'Name "{{name}}" existiert auf Projektebene - bestehender Unteragent hat Vorrang',
287309
+ "Description is over {{length}} characters": "Beschreibung ist \xFCber {{length}} Zeichen",
287310
+ "System prompt is over {{length}} characters": "System-Prompt ist \xFCber {{length}} Zeichen",
287311
+ // Agents - Creation Wizard Steps
287312
+ "Step {{n}}: Choose Location": "Schritt {{n}}: Speicherort w\xE4hlen",
287313
+ "Step {{n}}: Choose Generation Method": "Schritt {{n}}: Generierungsmethode w\xE4hlen",
287314
+ "Generate with Qwen Code (Recommended)": "Mit Qwen Code generieren (Empfohlen)",
287315
+ "Manual Creation": "Manuelle Erstellung",
287316
+ "Describe what this subagent should do and when it should be used. (Be comprehensive for best results)": "Beschreiben Sie, was dieser Unteragent tun soll und wann er verwendet werden soll. (Ausf\xFChrliche Beschreibung f\xFCr beste Ergebnisse)",
287317
+ "e.g., Expert code reviewer that reviews code based on best practices...": "z.B. Experte f\xFCr Code-Reviews, der Code nach Best Practices \xFCberpr\xFCft...",
287318
+ "Generating subagent configuration...": "Unteragent-Konfiguration wird generiert...",
287319
+ "Failed to generate subagent: {{error}}": "Fehler beim Generieren des Unteragenten: {{error}}",
287320
+ "Step {{n}}: Describe Your Subagent": "Schritt {{n}}: Unteragent beschreiben",
287321
+ "Step {{n}}: Enter Subagent Name": "Schritt {{n}}: Unteragent-Name eingeben",
287322
+ "Step {{n}}: Enter System Prompt": "Schritt {{n}}: System-Prompt eingeben",
287323
+ "Step {{n}}: Enter Description": "Schritt {{n}}: Beschreibung eingeben",
287324
+ // Agents - Tool Selection
287325
+ "Step {{n}}: Select Tools": "Schritt {{n}}: Werkzeuge ausw\xE4hlen",
287326
+ "All Tools (Default)": "Alle Werkzeuge (Standard)",
287327
+ "All Tools": "Alle Werkzeuge",
287328
+ "Read-only Tools": "Nur-Lese-Werkzeuge",
287329
+ "Read & Edit Tools": "Lese- und Bearbeitungswerkzeuge",
287330
+ "Read & Edit & Execution Tools": "Lese-, Bearbeitungs- und Ausf\xFChrungswerkzeuge",
287331
+ "All tools selected, including MCP tools": "Alle Werkzeuge ausgew\xE4hlt, einschlie\xDFlich MCP-Werkzeuge",
287332
+ "Selected tools:": "Ausgew\xE4hlte Werkzeuge:",
287333
+ "Read-only tools:": "Nur-Lese-Werkzeuge:",
287334
+ "Edit tools:": "Bearbeitungswerkzeuge:",
287335
+ "Execution tools:": "Ausf\xFChrungswerkzeuge:",
287336
+ "Step {{n}}: Choose Background Color": "Schritt {{n}}: Hintergrundfarbe w\xE4hlen",
287337
+ "Step {{n}}: Confirm and Save": "Schritt {{n}}: Best\xE4tigen und Speichern",
287338
+ // Agents - Navigation & Instructions
287339
+ "Esc to cancel": "Esc zum Abbrechen",
287340
+ "Press Enter to save, e to save and edit, Esc to go back": "Enter zum Speichern, e zum Speichern und Bearbeiten, Esc zum Zur\xFCckgehen",
287341
+ "Press Enter to continue, {{navigation}}Esc to {{action}}": "Enter zum Fortfahren, {{navigation}}Esc zum {{action}}",
287342
+ cancel: "Abbrechen",
287343
+ "go back": "Zur\xFCckgehen",
287344
+ "\u2191\u2193 to navigate, ": "\u2191\u2193 zum Navigieren, ",
287345
+ "Enter a clear, unique name for this subagent.": "Geben Sie einen eindeutigen Namen f\xFCr diesen Unteragenten ein.",
287346
+ "e.g., Code Reviewer": "z.B. Code-Reviewer",
287347
+ "Name cannot be empty.": "Name darf nicht leer sein.",
287348
+ "Write the system prompt that defines this subagent's behavior. Be comprehensive for best results.": "Schreiben Sie den System-Prompt, der das Verhalten dieses Unteragenten definiert. Ausf\xFChrlich f\xFCr beste Ergebnisse.",
287349
+ "e.g., You are an expert code reviewer...": "z.B. Sie sind ein Experte f\xFCr Code-Reviews...",
287350
+ "System prompt cannot be empty.": "System-Prompt darf nicht leer sein.",
287351
+ "Describe when and how this subagent should be used.": "Beschreiben Sie, wann und wie dieser Unteragent verwendet werden soll.",
287352
+ "e.g., Reviews code for best practices and potential bugs.": "z.B. \xDCberpr\xFCft Code auf Best Practices und m\xF6gliche Fehler.",
287353
+ "Description cannot be empty.": "Beschreibung darf nicht leer sein.",
287354
+ "Failed to launch editor: {{error}}": "Fehler beim Starten des Editors: {{error}}",
287355
+ "Failed to save and edit subagent: {{error}}": "Fehler beim Speichern und Bearbeiten des Unteragenten: {{error}}",
287356
+ // ============================================================================
287357
+ // Commands - General (continued)
287358
+ // ============================================================================
287359
+ "View and edit Qwen Code settings": "Qwen Code Einstellungen anzeigen und bearbeiten",
287360
+ Settings: "Einstellungen",
287361
+ "(Use Enter to select{{tabText}})": "(Enter zum Ausw\xE4hlen{{tabText}})",
287362
+ ", Tab to change focus": ", Tab zum Fokuswechsel",
287363
+ "To see changes, Qwen Code must be restarted. Press r to exit and apply changes now.": "Um \xC4nderungen zu sehen, muss Qwen Code neu gestartet werden. Dr\xFCcken Sie r, um jetzt zu beenden und \xC4nderungen anzuwenden.",
287364
+ 'The command "/{{command}}" is not supported in non-interactive mode.': 'Der Befehl "/{{command}}" wird im nicht-interaktiven Modus nicht unterst\xFCtzt.',
287365
+ // ============================================================================
287366
+ // Settings Labels
287367
+ // ============================================================================
287368
+ "Vim Mode": "Vim-Modus",
287369
+ "Disable Auto Update": "Automatische Updates deaktivieren",
287370
+ "Enable Prompt Completion": "Eingabevervollst\xE4ndigung aktivieren",
287371
+ "Debug Keystroke Logging": "Debug-Protokollierung von Tastatureingaben",
287372
+ Language: "Sprache",
287373
+ "Output Format": "Ausgabeformat",
287374
+ "Hide Window Title": "Fenstertitel ausblenden",
287375
+ "Show Status in Title": "Status im Titel anzeigen",
287376
+ "Hide Tips": "Tipps ausblenden",
287377
+ "Hide Banner": "Banner ausblenden",
287378
+ "Hide Context Summary": "Kontextzusammenfassung ausblenden",
287379
+ "Hide CWD": "Arbeitsverzeichnis ausblenden",
287380
+ "Hide Sandbox Status": "Sandbox-Status ausblenden",
287381
+ "Hide Model Info": "Modellinformationen ausblenden",
287382
+ "Hide Footer": "Fu\xDFzeile ausblenden",
287383
+ "Show Memory Usage": "Speichernutzung anzeigen",
287384
+ "Show Line Numbers": "Zeilennummern anzeigen",
287385
+ "Show Citations": "Quellenangaben anzeigen",
287386
+ "Custom Witty Phrases": "Benutzerdefinierte Witzige Spr\xFCche",
287387
+ "Enable Welcome Back": "Willkommen-zur\xFCck aktivieren",
287388
+ "Disable Loading Phrases": "Ladespr\xFCche deaktivieren",
287389
+ "Screen Reader Mode": "Bildschirmleser-Modus",
287390
+ "IDE Mode": "IDE-Modus",
287391
+ "Max Session Turns": "Maximale Sitzungsrunden",
287392
+ "Skip Next Speaker Check": "N\xE4chste-Sprecher-Pr\xFCfung \xFCberspringen",
287393
+ "Skip Loop Detection": "Schleifenerkennung \xFCberspringen",
287394
+ "Skip Startup Context": "Startkontext \xFCberspringen",
287395
+ "Enable OpenAI Logging": "OpenAI-Protokollierung aktivieren",
287396
+ "OpenAI Logging Directory": "OpenAI-Protokollierungsverzeichnis",
287397
+ Timeout: "Zeitlimit",
287398
+ "Max Retries": "Maximale Wiederholungen",
287399
+ "Disable Cache Control": "Cache-Steuerung deaktivieren",
287400
+ "Memory Discovery Max Dirs": "Maximale Verzeichnisse f\xFCr Speichererkennung",
287401
+ "Load Memory From Include Directories": "Speicher aus Include-Verzeichnissen laden",
287402
+ "Respect .gitignore": ".gitignore beachten",
287403
+ "Respect .qwenignore": ".qwenignore beachten",
287404
+ "Enable Recursive File Search": "Rekursive Dateisuche aktivieren",
287405
+ "Disable Fuzzy Search": "Unscharfe Suche deaktivieren",
287406
+ "Enable Interactive Shell": "Interaktive Shell aktivieren",
287407
+ "Show Color": "Farbe anzeigen",
287408
+ "Auto Accept": "Automatisch akzeptieren",
287409
+ "Use Ripgrep": "Ripgrep verwenden",
287410
+ "Use Builtin Ripgrep": "Integriertes Ripgrep verwenden",
287411
+ "Enable Tool Output Truncation": "Werkzeugausgabe-K\xFCrzung aktivieren",
287412
+ "Tool Output Truncation Threshold": "Schwellenwert f\xFCr Werkzeugausgabe-K\xFCrzung",
287413
+ "Tool Output Truncation Lines": "Zeilen f\xFCr Werkzeugausgabe-K\xFCrzung",
287414
+ "Folder Trust": "Ordnervertrauen",
287415
+ "Vision Model Preview": "Vision-Modell-Vorschau",
287416
+ "Tool Schema Compliance": "Werkzeug-Schema-Konformit\xE4t",
287417
+ // Settings enum options
287418
+ "Auto (detect from system)": "Automatisch (vom System erkennen)",
287419
+ Text: "Text",
287420
+ JSON: "JSON",
287421
+ Plan: "Plan",
287422
+ Default: "Standard",
287423
+ "Auto Edit": "Automatisch bearbeiten",
287424
+ YOLO: "YOLO",
287425
+ "toggle vim mode on/off": "Vim-Modus ein-/ausschalten",
287426
+ "check session stats. Usage: /stats [model|tools]": "Sitzungsstatistiken pr\xFCfen. Verwendung: /stats [model|tools]",
287427
+ "Show model-specific usage statistics.": "Modellspezifische Nutzungsstatistiken anzeigen.",
287428
+ "Show tool-specific usage statistics.": "Werkzeugspezifische Nutzungsstatistiken anzeigen.",
287429
+ "exit the cli": "CLI beenden",
287430
+ "list configured MCP servers and tools, or authenticate with OAuth-enabled servers": "Konfigurierte MCP-Server und Werkzeuge auflisten oder mit OAuth-f\xE4higen Servern authentifizieren",
287431
+ "Manage workspace directories": "Arbeitsbereichsverzeichnisse verwalten",
287432
+ "Add directories to the workspace. Use comma to separate multiple paths": "Verzeichnisse zum Arbeitsbereich hinzuf\xFCgen. Komma zum Trennen mehrerer Pfade verwenden",
287433
+ "Show all directories in the workspace": "Alle Verzeichnisse im Arbeitsbereich anzeigen",
287434
+ "set external editor preference": "Externen Editor festlegen",
287435
+ "Manage extensions": "Erweiterungen verwalten",
287436
+ "List active extensions": "Aktive Erweiterungen auflisten",
287437
+ "Update extensions. Usage: update <extension-names>|--all": "Erweiterungen aktualisieren. Verwendung: update <Erweiterungsnamen>|--all",
287438
+ "manage IDE integration": "IDE-Integration verwalten",
287439
+ "check status of IDE integration": "Status der IDE-Integration pr\xFCfen",
287440
+ "install required IDE companion for {{ideName}}": "Erforderlichen IDE-Begleiter f\xFCr {{ideName}} installieren",
287441
+ "enable IDE integration": "IDE-Integration aktivieren",
287442
+ "disable IDE integration": "IDE-Integration deaktivieren",
287443
+ "IDE integration is not supported in your current environment. To use this feature, run Qwen Code in one of these supported IDEs: VS Code or VS Code forks.": "IDE-Integration wird in Ihrer aktuellen Umgebung nicht unterst\xFCtzt. Um diese Funktion zu nutzen, f\xFChren Sie Qwen Code in einer dieser unterst\xFCtzten IDEs aus: VS Code oder VS Code-Forks.",
287444
+ "Set up GitHub Actions": "GitHub Actions einrichten",
287445
+ "Configure terminal keybindings for multiline input (VS Code, Cursor, Windsurf, Trae)": "Terminal-Tastenbelegungen f\xFCr mehrzeilige Eingabe konfigurieren (VS Code, Cursor, Windsurf, Trae)",
287446
+ "Please restart your terminal for the changes to take effect.": "Bitte starten Sie Ihr Terminal neu, damit die \xC4nderungen wirksam werden.",
287447
+ "Failed to configure terminal: {{error}}": "Fehler beim Konfigurieren des Terminals: {{error}}",
287448
+ "Could not determine {{terminalName}} config path on Windows: APPDATA environment variable is not set.": "Konnte {{terminalName}}-Konfigurationspfad unter Windows nicht ermitteln: APPDATA-Umgebungsvariable ist nicht gesetzt.",
287449
+ "{{terminalName}} keybindings.json exists but is not a valid JSON array. Please fix the file manually or delete it to allow automatic configuration.": "{{terminalName}} keybindings.json existiert, ist aber kein g\xFCltiges JSON-Array. Bitte korrigieren Sie die Datei manuell oder l\xF6schen Sie sie, um automatische Konfiguration zu erm\xF6glichen.",
287450
+ "File: {{file}}": "Datei: {{file}}",
287451
+ "Failed to parse {{terminalName}} keybindings.json. The file contains invalid JSON. Please fix the file manually or delete it to allow automatic configuration.": "Fehler beim Parsen von {{terminalName}} keybindings.json. Die Datei enth\xE4lt ung\xFCltiges JSON. Bitte korrigieren Sie die Datei manuell oder l\xF6schen Sie sie, um automatische Konfiguration zu erm\xF6glichen.",
287452
+ "Error: {{error}}": "Fehler: {{error}}",
287453
+ "Shift+Enter binding already exists": "Umschalt+Enter-Belegung existiert bereits",
287454
+ "Ctrl+Enter binding already exists": "Strg+Enter-Belegung existiert bereits",
287455
+ "Existing keybindings detected. Will not modify to avoid conflicts.": "Bestehende Tastenbelegungen erkannt. Keine \xC4nderungen, um Konflikte zu vermeiden.",
287456
+ "Please check and modify manually if needed: {{file}}": "Bitte pr\xFCfen und bei Bedarf manuell \xE4ndern: {{file}}",
287457
+ "Added Shift+Enter and Ctrl+Enter keybindings to {{terminalName}}.": "Umschalt+Enter und Strg+Enter Tastenbelegungen zu {{terminalName}} hinzugef\xFCgt.",
287458
+ "Modified: {{file}}": "Ge\xE4ndert: {{file}}",
287459
+ "{{terminalName}} keybindings already configured.": "{{terminalName}}-Tastenbelegungen bereits konfiguriert.",
287460
+ "Failed to configure {{terminalName}}.": "Fehler beim Konfigurieren von {{terminalName}}.",
287461
+ "Your terminal is already configured for an optimal experience with multiline input (Shift+Enter and Ctrl+Enter).": "Ihr Terminal ist bereits f\xFCr optimale Erfahrung mit mehrzeiliger Eingabe konfiguriert (Umschalt+Enter und Strg+Enter).",
287462
+ "Could not detect terminal type. Supported terminals: VS Code, Cursor, Windsurf, and Trae.": "Terminal-Typ konnte nicht erkannt werden. Unterst\xFCtzte Terminals: VS Code, Cursor, Windsurf und Trae.",
287463
+ 'Terminal "{{terminal}}" is not supported yet.': 'Terminal "{{terminal}}" wird noch nicht unterst\xFCtzt.',
287464
+ // ============================================================================
287465
+ // Commands - Language
287466
+ // ============================================================================
287467
+ "Invalid language. Available: en-US, zh-CN": "Ung\xFCltige Sprache. Verf\xFCgbar: en-US, zh-CN",
287468
+ "Language subcommands do not accept additional arguments.": "Sprach-Unterbefehle akzeptieren keine zus\xE4tzlichen Argumente.",
287469
+ "Current UI language: {{lang}}": "Aktuelle UI-Sprache: {{lang}}",
287470
+ "Current LLM output language: {{lang}}": "Aktuelle LLM-Ausgabesprache: {{lang}}",
287471
+ "LLM output language not set": "LLM-Ausgabesprache nicht festgelegt",
287472
+ "Set UI language": "UI-Sprache festlegen",
287473
+ "Set LLM output language": "LLM-Ausgabesprache festlegen",
287474
+ "Usage: /language ui [zh-CN|en-US]": "Verwendung: /language ui [zh-CN|en-US]",
287475
+ "Usage: /language output <language>": "Verwendung: /language output <Sprache>",
287476
+ "Example: /language output \u4E2D\u6587": "Beispiel: /language output Deutsch",
287477
+ "Example: /language output English": "Beispiel: /language output English",
287478
+ "Example: /language output \u65E5\u672C\u8A9E": "Beispiel: /language output Japanisch",
287479
+ "UI language changed to {{lang}}": "UI-Sprache ge\xE4ndert zu {{lang}}",
287480
+ "LLM output language rule file generated at {{path}}": "LLM-Ausgabesprach-Regeldatei generiert unter {{path}}",
287481
+ "Please restart the application for the changes to take effect.": "Bitte starten Sie die Anwendung neu, damit die \xC4nderungen wirksam werden.",
287482
+ "Failed to generate LLM output language rule file: {{error}}": "Fehler beim Generieren der LLM-Ausgabesprach-Regeldatei: {{error}}",
287483
+ "Invalid command. Available subcommands:": "Ung\xFCltiger Befehl. Verf\xFCgbare Unterbefehle:",
287484
+ "Available subcommands:": "Verf\xFCgbare Unterbefehle:",
287485
+ "To request additional UI language packs, please open an issue on GitHub.": "Um zus\xE4tzliche UI-Sprachpakete anzufordern, \xF6ffnen Sie bitte ein Issue auf GitHub.",
287486
+ "Available options:": "Verf\xFCgbare Optionen:",
287487
+ " - zh-CN: Simplified Chinese": " - zh-CN: Vereinfachtes Chinesisch",
287488
+ " - en-US: English": " - en-US: Englisch",
287489
+ "Set UI language to Simplified Chinese (zh-CN)": "UI-Sprache auf Vereinfachtes Chinesisch (zh-CN) setzen",
287490
+ "Set UI language to English (en-US)": "UI-Sprache auf Englisch (en-US) setzen",
287491
+ // ============================================================================
287492
+ // Commands - Approval Mode
287493
+ // ============================================================================
287494
+ "Approval Mode": "Genehmigungsmodus",
287495
+ "Current approval mode: {{mode}}": "Aktueller Genehmigungsmodus: {{mode}}",
287496
+ "Available approval modes:": "Verf\xFCgbare Genehmigungsmodi:",
287497
+ "Approval mode changed to: {{mode}}": "Genehmigungsmodus ge\xE4ndert zu: {{mode}}",
287498
+ "Approval mode changed to: {{mode}} (saved to {{scope}} settings{{location}})": "Genehmigungsmodus ge\xE4ndert zu: {{mode}} (gespeichert in {{scope}} Einstellungen{{location}})",
287499
+ "Usage: /approval-mode <mode> [--session|--user|--project]": "Verwendung: /approval-mode <Modus> [--session|--user|--project]",
287500
+ "Scope subcommands do not accept additional arguments.": "Bereichs-Unterbefehle akzeptieren keine zus\xE4tzlichen Argumente.",
287501
+ "Plan mode - Analyze only, do not modify files or execute commands": "Planungsmodus - Nur analysieren, keine Dateien \xE4ndern oder Befehle ausf\xFChren",
287502
+ "Default mode - Require approval for file edits or shell commands": "Standardmodus - Genehmigung f\xFCr Dateibearbeitungen oder Shell-Befehle erforderlich",
287503
+ "Auto-edit mode - Automatically approve file edits": "Automatischer Bearbeitungsmodus - Dateibearbeitungen automatisch genehmigen",
287504
+ "YOLO mode - Automatically approve all tools": "YOLO-Modus - Alle Werkzeuge automatisch genehmigen",
287505
+ "{{mode}} mode": "{{mode}}-Modus",
287506
+ "Settings service is not available; unable to persist the approval mode.": "Einstellungsdienst nicht verf\xFCgbar; Genehmigungsmodus kann nicht gespeichert werden.",
287507
+ "Failed to save approval mode: {{error}}": "Fehler beim Speichern des Genehmigungsmodus: {{error}}",
287508
+ "Failed to change approval mode: {{error}}": "Fehler beim \xC4ndern des Genehmigungsmodus: {{error}}",
287509
+ "Apply to current session only (temporary)": "Nur auf aktuelle Sitzung anwenden (tempor\xE4r)",
287510
+ "Persist for this project/workspace": "F\xFCr dieses Projekt/Arbeitsbereich speichern",
287511
+ "Persist for this user on this machine": "F\xFCr diesen Benutzer auf diesem Computer speichern",
287512
+ "Analyze only, do not modify files or execute commands": "Nur analysieren, keine Dateien \xE4ndern oder Befehle ausf\xFChren",
287513
+ "Require approval for file edits or shell commands": "Genehmigung f\xFCr Dateibearbeitungen oder Shell-Befehle erforderlich",
287514
+ "Automatically approve file edits": "Dateibearbeitungen automatisch genehmigen",
287515
+ "Automatically approve all tools": "Alle Werkzeuge automatisch genehmigen",
287516
+ "Workspace approval mode exists and takes priority. User-level change will have no effect.": "Arbeitsbereich-Genehmigungsmodus existiert und hat Vorrang. Benutzerebene-\xC4nderung hat keine Wirkung.",
287517
+ "(Use Enter to select, Tab to change focus)": "(Enter zum Ausw\xE4hlen, Tab zum Fokuswechsel)",
287518
+ "Apply To": "Anwenden auf",
287519
+ "User Settings": "Benutzereinstellungen",
287520
+ "Workspace Settings": "Arbeitsbereich-Einstellungen",
287521
+ // ============================================================================
287522
+ // Commands - Memory
287523
+ // ============================================================================
287524
+ "Commands for interacting with memory.": "Befehle f\xFCr die Interaktion mit dem Speicher.",
287525
+ "Show the current memory contents.": "Aktuellen Speicherinhalt anzeigen.",
287526
+ "Show project-level memory contents.": "Projektebene-Speicherinhalt anzeigen.",
287527
+ "Show global memory contents.": "Globalen Speicherinhalt anzeigen.",
287528
+ "Add content to project-level memory.": "Inhalt zum Projektebene-Speicher hinzuf\xFCgen.",
287529
+ "Add content to global memory.": "Inhalt zum globalen Speicher hinzuf\xFCgen.",
287530
+ "Refresh the memory from the source.": "Speicher aus der Quelle aktualisieren.",
287531
+ "Usage: /memory add --project <text to remember>": "Verwendung: /memory add --project <zu merkender Text>",
287532
+ "Usage: /memory add --global <text to remember>": "Verwendung: /memory add --global <zu merkender Text>",
287533
+ 'Attempting to save to project memory: "{{text}}"': 'Versuche im Projektspeicher zu speichern: "{{text}}"',
287534
+ 'Attempting to save to global memory: "{{text}}"': 'Versuche im globalen Speicher zu speichern: "{{text}}"',
287535
+ "Current memory content from {{count}} file(s):": "Aktueller Speicherinhalt aus {{count}} Datei(en):",
287536
+ "Memory is currently empty.": "Speicher ist derzeit leer.",
287537
+ "Project memory file not found or is currently empty.": "Projektspeicherdatei nicht gefunden oder derzeit leer.",
287538
+ "Global memory file not found or is currently empty.": "Globale Speicherdatei nicht gefunden oder derzeit leer.",
287539
+ "Global memory is currently empty.": "Globaler Speicher ist derzeit leer.",
287540
+ "Global memory content:\n\n---\n{{content}}\n---": "Globaler Speicherinhalt:\n\n---\n{{content}}\n---",
287541
+ "Project memory content from {{path}}:\n\n---\n{{content}}\n---": "Projektspeicherinhalt von {{path}}:\n\n---\n{{content}}\n---",
287542
+ "Project memory is currently empty.": "Projektspeicher ist derzeit leer.",
287543
+ "Refreshing memory from source files...": "Speicher wird aus Quelldateien aktualisiert...",
287544
+ "Add content to the memory. Use --global for global memory or --project for project memory.": "Inhalt zum Speicher hinzuf\xFCgen. --global f\xFCr globalen Speicher oder --project f\xFCr Projektspeicher verwenden.",
287545
+ "Usage: /memory add [--global|--project] <text to remember>": "Verwendung: /memory add [--global|--project] <zu merkender Text>",
287546
+ 'Attempting to save to memory {{scope}}: "{{fact}}"': 'Versuche im Speicher {{scope}} zu speichern: "{{fact}}"',
287547
+ // ============================================================================
287548
+ // Commands - MCP
287549
+ // ============================================================================
287550
+ "Authenticate with an OAuth-enabled MCP server": "Mit einem OAuth-f\xE4higen MCP-Server authentifizieren",
287551
+ "List configured MCP servers and tools": "Konfigurierte MCP-Server und Werkzeuge auflisten",
287552
+ "Restarts MCP servers.": "MCP-Server neu starten.",
287553
+ "Config not loaded.": "Konfiguration nicht geladen.",
287554
+ "Could not retrieve tool registry.": "Werkzeugregister konnte nicht abgerufen werden.",
287555
+ "No MCP servers configured with OAuth authentication.": "Keine MCP-Server mit OAuth-Authentifizierung konfiguriert.",
287556
+ "MCP servers with OAuth authentication:": "MCP-Server mit OAuth-Authentifizierung:",
287557
+ "Use /mcp auth <server-name> to authenticate.": "Verwenden Sie /mcp auth <Servername> zur Authentifizierung.",
287558
+ "MCP server '{{name}}' not found.": "MCP-Server '{{name}}' nicht gefunden.",
287559
+ "Successfully authenticated and refreshed tools for '{{name}}'.": "Erfolgreich authentifiziert und Werkzeuge f\xFCr '{{name}}' aktualisiert.",
287560
+ "Failed to authenticate with MCP server '{{name}}': {{error}}": "Authentifizierung mit MCP-Server '{{name}}' fehlgeschlagen: {{error}}",
287561
+ "Re-discovering tools from '{{name}}'...": "Werkzeuge von '{{name}}' werden neu erkannt...",
287562
+ // ============================================================================
287563
+ // Commands - Chat
287564
+ // ============================================================================
287565
+ "Manage conversation history.": "Gespr\xE4chsverlauf verwalten.",
287566
+ "List saved conversation checkpoints": "Gespeicherte Gespr\xE4chspr\xFCfpunkte auflisten",
287567
+ "No saved conversation checkpoints found.": "Keine gespeicherten Gespr\xE4chspr\xFCfpunkte gefunden.",
287568
+ "List of saved conversations:": "Liste gespeicherter Gespr\xE4che:",
287569
+ "Note: Newest last, oldest first": "Hinweis: Neueste zuletzt, \xE4lteste zuerst",
287570
+ "Save the current conversation as a checkpoint. Usage: /chat save <tag>": "Aktuelles Gespr\xE4ch als Pr\xFCfpunkt speichern. Verwendung: /chat save <Tag>",
287571
+ "Missing tag. Usage: /chat save <tag>": "Tag fehlt. Verwendung: /chat save <Tag>",
287572
+ "Delete a conversation checkpoint. Usage: /chat delete <tag>": "Gespr\xE4chspr\xFCfpunkt l\xF6schen. Verwendung: /chat delete <Tag>",
287573
+ "Missing tag. Usage: /chat delete <tag>": "Tag fehlt. Verwendung: /chat delete <Tag>",
287574
+ "Conversation checkpoint '{{tag}}' has been deleted.": "Gespr\xE4chspr\xFCfpunkt '{{tag}}' wurde gel\xF6scht.",
287575
+ "Error: No checkpoint found with tag '{{tag}}'.": "Fehler: Kein Pr\xFCfpunkt mit Tag '{{tag}}' gefunden.",
287576
+ "Resume a conversation from a checkpoint. Usage: /chat resume <tag>": "Gespr\xE4ch von einem Pr\xFCfpunkt fortsetzen. Verwendung: /chat resume <Tag>",
287577
+ "Missing tag. Usage: /chat resume <tag>": "Tag fehlt. Verwendung: /chat resume <Tag>",
287578
+ "No saved checkpoint found with tag: {{tag}}.": "Kein gespeicherter Pr\xFCfpunkt mit Tag gefunden: {{tag}}.",
287579
+ "A checkpoint with the tag {{tag}} already exists. Do you want to overwrite it?": "Ein Pr\xFCfpunkt mit dem Tag {{tag}} existiert bereits. M\xF6chten Sie ihn \xFCberschreiben?",
287580
+ "No chat client available to save conversation.": "Kein Chat-Client verf\xFCgbar, um Gespr\xE4ch zu speichern.",
287581
+ "Conversation checkpoint saved with tag: {{tag}}.": "Gespr\xE4chspr\xFCfpunkt gespeichert mit Tag: {{tag}}.",
287582
+ "No conversation found to save.": "Kein Gespr\xE4ch zum Speichern gefunden.",
287583
+ "No chat client available to share conversation.": "Kein Chat-Client verf\xFCgbar, um Gespr\xE4ch zu teilen.",
287584
+ "Invalid file format. Only .md and .json are supported.": "Ung\xFCltiges Dateiformat. Nur .md und .json werden unterst\xFCtzt.",
287585
+ "Error sharing conversation: {{error}}": "Fehler beim Teilen des Gespr\xE4chs: {{error}}",
287586
+ "Conversation shared to {{filePath}}": "Gespr\xE4ch geteilt nach {{filePath}}",
287587
+ "No conversation found to share.": "Kein Gespr\xE4ch zum Teilen gefunden.",
287588
+ "Share the current conversation to a markdown or json file. Usage: /chat share <file>": "Aktuelles Gespr\xE4ch in eine Markdown- oder JSON-Datei teilen. Verwendung: /chat share <Datei>",
287589
+ // ============================================================================
287590
+ // Commands - Summary
287591
+ // ============================================================================
287592
+ "Generate a project summary and save it to .qwen/PROJECT_SUMMARY.md": "Projektzusammenfassung generieren und in .qwen/PROJECT_SUMMARY.md speichern",
287593
+ "No chat client available to generate summary.": "Kein Chat-Client verf\xFCgbar, um Zusammenfassung zu generieren.",
287594
+ "Already generating summary, wait for previous request to complete": "Zusammenfassung wird bereits generiert, warten Sie auf Abschluss der vorherigen Anfrage",
287595
+ "No conversation found to summarize.": "Kein Gespr\xE4ch zum Zusammenfassen gefunden.",
287596
+ "Failed to generate project context summary: {{error}}": "Fehler beim Generieren der Projektkontextzusammenfassung: {{error}}",
287597
+ "Saved project summary to {{filePathForDisplay}}.": "Projektzusammenfassung gespeichert unter {{filePathForDisplay}}.",
287598
+ "Saving project summary...": "Projektzusammenfassung wird gespeichert...",
287599
+ "Generating project summary...": "Projektzusammenfassung wird generiert...",
287600
+ "Failed to generate summary - no text content received from LLM response": "Fehler beim Generieren der Zusammenfassung - kein Textinhalt von LLM-Antwort erhalten",
287601
+ // ============================================================================
287602
+ // Commands - Model
287603
+ // ============================================================================
287604
+ "Switch the model for this session": "Modell f\xFCr diese Sitzung wechseln",
287605
+ "Content generator configuration not available.": "Inhaltsgenerator-Konfiguration nicht verf\xFCgbar.",
287606
+ "Authentication type not available.": "Authentifizierungstyp nicht verf\xFCgbar.",
287607
+ "No models available for the current authentication type ({{authType}}).": "Keine Modelle f\xFCr den aktuellen Authentifizierungstyp ({{authType}}) verf\xFCgbar.",
287608
+ // ============================================================================
287609
+ // Commands - Clear
287610
+ // ============================================================================
287611
+ "Starting a new session, resetting chat, and clearing terminal.": "Neue Sitzung wird gestartet, Chat wird zur\xFCckgesetzt und Terminal wird gel\xF6scht.",
287612
+ "Starting a new session and clearing.": "Neue Sitzung wird gestartet und gel\xF6scht.",
287613
+ // ============================================================================
287614
+ // Commands - Compress
287615
+ // ============================================================================
287616
+ "Already compressing, wait for previous request to complete": "Komprimierung l\xE4uft bereits, warten Sie auf Abschluss der vorherigen Anfrage",
287617
+ "Failed to compress chat history.": "Fehler beim Komprimieren des Chatverlaufs.",
287618
+ "Failed to compress chat history: {{error}}": "Fehler beim Komprimieren des Chatverlaufs: {{error}}",
287619
+ "Compressing chat history": "Chatverlauf wird komprimiert",
287620
+ "Chat history compressed from {{originalTokens}} to {{newTokens}} tokens.": "Chatverlauf komprimiert von {{originalTokens}} auf {{newTokens}} Token.",
287621
+ "Compression was not beneficial for this history size.": "Komprimierung war f\xFCr diese Verlaufsgr\xF6\xDFe nicht vorteilhaft.",
287622
+ "Chat history compression did not reduce size. This may indicate issues with the compression prompt.": "Chatverlauf-Komprimierung hat die Gr\xF6\xDFe nicht reduziert. Dies kann auf Probleme mit dem Komprimierungs-Prompt hindeuten.",
287623
+ "Could not compress chat history due to a token counting error.": "Chatverlauf konnte aufgrund eines Token-Z\xE4hlfehlers nicht komprimiert werden.",
287624
+ "Chat history is already compressed.": "Chatverlauf ist bereits komprimiert.",
287625
+ // ============================================================================
287626
+ // Commands - Directory
287627
+ // ============================================================================
287628
+ "Configuration is not available.": "Konfiguration ist nicht verf\xFCgbar.",
287629
+ "Please provide at least one path to add.": "Bitte geben Sie mindestens einen Pfad zum Hinzuf\xFCgen an.",
287630
+ "The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.": "Der Befehl /directory add wird in restriktiven Sandbox-Profilen nicht unterst\xFCtzt. Bitte verwenden Sie --include-directories beim Starten der Sitzung.",
287631
+ "Error adding '{{path}}': {{error}}": "Fehler beim Hinzuf\xFCgen von '{{path}}': {{error}}",
287632
+ "Successfully added QWEN.md files from the following directories if there are:\n- {{directories}}": "QWEN.md-Dateien aus folgenden Verzeichnissen erfolgreich hinzugef\xFCgt, falls vorhanden:\n- {{directories}}",
287633
+ "Error refreshing memory: {{error}}": "Fehler beim Aktualisieren des Speichers: {{error}}",
287634
+ "Successfully added directories:\n- {{directories}}": "Verzeichnisse erfolgreich hinzugef\xFCgt:\n- {{directories}}",
287635
+ "Current workspace directories:\n{{directories}}": "Aktuelle Arbeitsbereichsverzeichnisse:\n{{directories}}",
287636
+ // ============================================================================
287637
+ // Commands - Docs
287638
+ // ============================================================================
287639
+ "Please open the following URL in your browser to view the documentation:\n{{url}}": "Bitte \xF6ffnen Sie folgende URL in Ihrem Browser, um die Dokumentation anzusehen:\n{{url}}",
287640
+ "Opening documentation in your browser: {{url}}": "Dokumentation wird in Ihrem Browser ge\xF6ffnet: {{url}}",
287641
+ // ============================================================================
287642
+ // Dialogs - Tool Confirmation
287643
+ // ============================================================================
287644
+ "Do you want to proceed?": "M\xF6chten Sie fortfahren?",
287645
+ "Yes, allow once": "Ja, einmal erlauben",
287646
+ "Allow always": "Immer erlauben",
287647
+ No: "Nein",
287648
+ "No (esc)": "Nein (Esc)",
287649
+ "Yes, allow always for this session": "Ja, f\xFCr diese Sitzung immer erlauben",
287650
+ "Modify in progress:": "\xC4nderung in Bearbeitung:",
287651
+ "Save and close external editor to continue": "Speichern und externen Editor schlie\xDFen, um fortzufahren",
287652
+ "Apply this change?": "Diese \xC4nderung anwenden?",
287653
+ "Yes, allow always": "Ja, immer erlauben",
287654
+ "Modify with external editor": "Mit externem Editor bearbeiten",
287655
+ "No, suggest changes (esc)": "Nein, \xC4nderungen vorschlagen (Esc)",
287656
+ "Allow execution of: '{{command}}'?": "Ausf\xFChrung erlauben von: '{{command}}'?",
287657
+ "Yes, allow always ...": "Ja, immer erlauben ...",
287658
+ "Yes, and auto-accept edits": "Ja, und \xC4nderungen automatisch akzeptieren",
287659
+ "Yes, and manually approve edits": "Ja, und \xC4nderungen manuell genehmigen",
287660
+ "No, keep planning (esc)": "Nein, weiter planen (Esc)",
287661
+ "URLs to fetch:": "Abzurufende URLs:",
287662
+ "MCP Server: {{server}}": "MCP-Server: {{server}}",
287663
+ "Tool: {{tool}}": "Werkzeug: {{tool}}",
287664
+ 'Allow execution of MCP tool "{{tool}}" from server "{{server}}"?': 'Ausf\xFChrung des MCP-Werkzeugs "{{tool}}" von Server "{{server}}" erlauben?',
287665
+ 'Yes, always allow tool "{{tool}}" from server "{{server}}"': 'Ja, Werkzeug "{{tool}}" von Server "{{server}}" immer erlauben',
287666
+ 'Yes, always allow all tools from server "{{server}}"': 'Ja, alle Werkzeuge von Server "{{server}}" immer erlauben',
287667
+ // ============================================================================
287668
+ // Dialogs - Shell Confirmation
287669
+ // ============================================================================
287670
+ "Shell Command Execution": "Shell-Befehlsausf\xFChrung",
287671
+ "A custom command wants to run the following shell commands:": "Ein benutzerdefinierter Befehl m\xF6chte folgende Shell-Befehle ausf\xFChren:",
287672
+ // ============================================================================
287673
+ // Dialogs - Pro Quota
287674
+ // ============================================================================
287675
+ "Pro quota limit reached for {{model}}.": "Pro-Kontingentlimit f\xFCr {{model}} erreicht.",
287676
+ "Change auth (executes the /auth command)": "Authentifizierung \xE4ndern (f\xFChrt den /auth-Befehl aus)",
287677
+ "Continue with {{model}}": "Mit {{model}} fortfahren",
287678
+ // ============================================================================
287679
+ // Dialogs - Welcome Back
287680
+ // ============================================================================
287681
+ "Current Plan:": "Aktueller Plan:",
287682
+ "Progress: {{done}}/{{total}} tasks completed": "Fortschritt: {{done}}/{{total}} Aufgaben abgeschlossen",
287683
+ ", {{inProgress}} in progress": ", {{inProgress}} in Bearbeitung",
287684
+ "Pending Tasks:": "Ausstehende Aufgaben:",
287685
+ "What would you like to do?": "Was m\xF6chten Sie tun?",
287686
+ "Choose how to proceed with your session:": "W\xE4hlen Sie, wie Sie mit Ihrer Sitzung fortfahren m\xF6chten:",
287687
+ "Start new chat session": "Neue Chat-Sitzung starten",
287688
+ "Continue previous conversation": "Vorheriges Gespr\xE4ch fortsetzen",
287689
+ "\u{1F44B} Welcome back! (Last updated: {{timeAgo}})": "\u{1F44B} Willkommen zur\xFCck! (Zuletzt aktualisiert: {{timeAgo}})",
287690
+ "\u{1F3AF} Overall Goal:": "\u{1F3AF} Gesamtziel:",
287691
+ // ============================================================================
287692
+ // Dialogs - Auth
287693
+ // ============================================================================
287694
+ "Get started": "Loslegen",
287695
+ "How would you like to authenticate for this project?": "Wie m\xF6chten Sie sich f\xFCr dieses Projekt authentifizieren?",
287696
+ "OpenAI API key is required to use OpenAI authentication.": "OpenAI API-Schl\xFCssel ist f\xFCr die OpenAI-Authentifizierung erforderlich.",
287697
+ "You must select an auth method to proceed. Press Ctrl+C again to exit.": "Sie m\xFCssen eine Authentifizierungsmethode w\xE4hlen, um fortzufahren. Dr\xFCcken Sie erneut Strg+C zum Beenden.",
287698
+ "(Use Enter to Set Auth)": "(Enter zum Festlegen der Authentifizierung)",
287699
+ "Terms of Services and Privacy Notice for Qwen Code": "Nutzungsbedingungen und Datenschutzhinweis f\xFCr Qwen Code",
287700
+ "Qwen OAuth": "Qwen OAuth",
287701
+ OpenAI: "OpenAI",
287702
+ "Failed to login. Message: {{message}}": "Anmeldung fehlgeschlagen. Meldung: {{message}}",
287703
+ "Authentication is enforced to be {{enforcedType}}, but you are currently using {{currentType}}.": "Authentifizierung ist auf {{enforcedType}} festgelegt, aber Sie verwenden derzeit {{currentType}}.",
287704
+ "Qwen OAuth authentication timed out. Please try again.": "Qwen OAuth-Authentifizierung abgelaufen. Bitte versuchen Sie es erneut.",
287705
+ "Qwen OAuth authentication cancelled.": "Qwen OAuth-Authentifizierung abgebrochen.",
287706
+ "Qwen OAuth Authentication": "Qwen OAuth-Authentifizierung",
287707
+ "Please visit this URL to authorize:": "Bitte besuchen Sie diese URL zur Autorisierung:",
287708
+ "Or scan the QR code below:": "Oder scannen Sie den QR-Code unten:",
287709
+ "Waiting for authorization": "Warten auf Autorisierung",
287710
+ "Time remaining:": "Verbleibende Zeit:",
287711
+ "(Press ESC or CTRL+C to cancel)": "(ESC oder STRG+C zum Abbrechen dr\xFCcken)",
287712
+ "Qwen OAuth Authentication Timeout": "Qwen OAuth-Authentifizierung abgelaufen",
287713
+ "OAuth token expired (over {{seconds}} seconds). Please select authentication method again.": "OAuth-Token abgelaufen (\xFCber {{seconds}} Sekunden). Bitte w\xE4hlen Sie erneut eine Authentifizierungsmethode.",
287714
+ "Press any key to return to authentication type selection.": "Dr\xFCcken Sie eine beliebige Taste, um zur Authentifizierungstypauswahl zur\xFCckzukehren.",
287715
+ "Waiting for Qwen OAuth authentication...": "Warten auf Qwen OAuth-Authentifizierung...",
287716
+ "Note: Your existing API key in settings.json will not be cleared when using Qwen OAuth. You can switch back to OpenAI authentication later if needed.": "Hinweis: Ihr bestehender API-Schl\xFCssel in settings.json wird bei Verwendung von Qwen OAuth nicht gel\xF6scht. Sie k\xF6nnen sp\xE4ter bei Bedarf zur OpenAI-Authentifizierung zur\xFCckwechseln.",
287717
+ "Authentication timed out. Please try again.": "Authentifizierung abgelaufen. Bitte versuchen Sie es erneut.",
287718
+ "Waiting for auth... (Press ESC or CTRL+C to cancel)": "Warten auf Authentifizierung... (ESC oder STRG+C zum Abbrechen dr\xFCcken)",
287719
+ "Failed to authenticate. Message: {{message}}": "Authentifizierung fehlgeschlagen. Meldung: {{message}}",
287720
+ "Authenticated successfully with {{authType}} credentials.": "Erfolgreich mit {{authType}}-Anmeldedaten authentifiziert.",
287721
+ 'Invalid QWEN_DEFAULT_AUTH_TYPE value: "{{value}}". Valid values are: {{validValues}}': 'Ung\xFCltiger QWEN_DEFAULT_AUTH_TYPE-Wert: "{{value}}". G\xFCltige Werte sind: {{validValues}}',
287722
+ "OpenAI Configuration Required": "OpenAI-Konfiguration erforderlich",
287723
+ "Please enter your OpenAI configuration. You can get an API key from": "Bitte geben Sie Ihre OpenAI-Konfiguration ein. Sie k\xF6nnen einen API-Schl\xFCssel erhalten von",
287724
+ "API Key:": "API-Schl\xFCssel:",
287725
+ "Invalid credentials: {{errorMessage}}": "Ung\xFCltige Anmeldedaten: {{errorMessage}}",
287726
+ "Failed to validate credentials": "Anmeldedaten konnten nicht validiert werden",
287727
+ "Press Enter to continue, Tab/\u2191\u2193 to navigate, Esc to cancel": "Enter zum Fortfahren, Tab/\u2191\u2193 zum Navigieren, Esc zum Abbrechen",
287728
+ // ============================================================================
287729
+ // Dialogs - Model
287730
+ // ============================================================================
287731
+ "Select Model": "Modell ausw\xE4hlen",
287732
+ "(Press Esc to close)": "(Esc zum Schlie\xDFen dr\xFCcken)",
287733
+ "The latest Qwen Coder model from Alibaba Cloud ModelStudio (version: qwen3-coder-plus-2025-09-23)": "Das neueste Qwen Coder Modell von Alibaba Cloud ModelStudio (Version: qwen3-coder-plus-2025-09-23)",
287734
+ "The latest Qwen Vision model from Alibaba Cloud ModelStudio (version: qwen3-vl-plus-2025-09-23)": "Das neueste Qwen Vision Modell von Alibaba Cloud ModelStudio (Version: qwen3-vl-plus-2025-09-23)",
287735
+ // ============================================================================
287736
+ // Dialogs - Permissions
287737
+ // ============================================================================
287738
+ "Manage folder trust settings": "Ordnervertrauenseinstellungen verwalten",
287739
+ // ============================================================================
287740
+ // Status Bar
287741
+ // ============================================================================
287742
+ "Using:": "Verwendet:",
287743
+ "{{count}} open file": "{{count}} ge\xF6ffnete Datei",
287744
+ "{{count}} open files": "{{count}} ge\xF6ffnete Dateien",
287745
+ "(ctrl+g to view)": "(Strg+G zum Anzeigen)",
287746
+ "{{count}} {{name}} file": "{{count}} {{name}}-Datei",
287747
+ "{{count}} {{name}} files": "{{count}} {{name}}-Dateien",
287748
+ "{{count}} MCP server": "{{count}} MCP-Server",
287749
+ "{{count}} MCP servers": "{{count}} MCP-Server",
287750
+ "{{count}} Blocked": "{{count}} blockiert",
287751
+ "(ctrl+t to view)": "(Strg+T zum Anzeigen)",
287752
+ "(ctrl+t to toggle)": "(Strg+T zum Umschalten)",
287753
+ "Press Ctrl+C again to exit.": "Dr\xFCcken Sie erneut Strg+C zum Beenden.",
287754
+ "Press Ctrl+D again to exit.": "Dr\xFCcken Sie erneut Strg+D zum Beenden.",
287755
+ "Press Esc again to clear.": "Dr\xFCcken Sie erneut Esc zum L\xF6schen.",
287756
+ // ============================================================================
287757
+ // MCP Status
287758
+ // ============================================================================
287759
+ "No MCP servers configured.": "Keine MCP-Server konfiguriert.",
287760
+ "Please view MCP documentation in your browser:": "Bitte sehen Sie die MCP-Dokumentation in Ihrem Browser:",
287761
+ "or use the cli /docs command": "oder verwenden Sie den CLI-Befehl /docs",
287762
+ "\u23F3 MCP servers are starting up ({{count}} initializing)...": "\u23F3 MCP-Server werden gestartet ({{count}} werden initialisiert)...",
287763
+ "Note: First startup may take longer. Tool availability will update automatically.": "Hinweis: Der erste Start kann l\xE4nger dauern. Werkzeugverf\xFCgbarkeit wird automatisch aktualisiert.",
287764
+ "Configured MCP servers:": "Konfigurierte MCP-Server:",
287765
+ Ready: "Bereit",
287766
+ "Starting... (first startup may take longer)": "Wird gestartet... (erster Start kann l\xE4nger dauern)",
287767
+ Disconnected: "Getrennt",
287768
+ "{{count}} tool": "{{count}} Werkzeug",
287769
+ "{{count}} tools": "{{count}} Werkzeuge",
287770
+ "{{count}} prompt": "{{count}} Prompt",
287771
+ "{{count}} prompts": "{{count}} Prompts",
287772
+ "(from {{extensionName}})": "(von {{extensionName}})",
287773
+ OAuth: "OAuth",
287774
+ "OAuth expired": "OAuth abgelaufen",
287775
+ "OAuth not authenticated": "OAuth nicht authentifiziert",
287776
+ "tools and prompts will appear when ready": "Werkzeuge und Prompts werden angezeigt, wenn bereit",
287777
+ "{{count}} tools cached": "{{count}} Werkzeuge zwischengespeichert",
287778
+ "Tools:": "Werkzeuge:",
287779
+ "Parameters:": "Parameter:",
287780
+ "Prompts:": "Prompts:",
287781
+ Blocked: "Blockiert",
287782
+ "\u{1F4A1} Tips:": "\u{1F4A1} Tipps:",
287783
+ Use: "Verwenden",
287784
+ "to show server and tool descriptions": "um Server- und Werkzeugbeschreibungen anzuzeigen",
287785
+ "to show tool parameter schemas": "um Werkzeug-Parameter-Schemas anzuzeigen",
287786
+ "to hide descriptions": "um Beschreibungen auszublenden",
287787
+ "to authenticate with OAuth-enabled servers": "um sich bei OAuth-f\xE4higen Servern zu authentifizieren",
287788
+ Press: "Dr\xFCcken Sie",
287789
+ "to toggle tool descriptions on/off": "um Werkzeugbeschreibungen ein-/auszuschalten",
287790
+ "Starting OAuth authentication for MCP server '{{name}}'...": "OAuth-Authentifizierung f\xFCr MCP-Server '{{name}}' wird gestartet...",
287791
+ "Restarting MCP servers...": "MCP-Server werden neu gestartet...",
287792
+ // ============================================================================
287793
+ // Startup Tips
287794
+ // ============================================================================
287795
+ "Tips for getting started:": "Tipps zum Einstieg:",
287796
+ "1. Ask questions, edit files, or run commands.": "1. Stellen Sie Fragen, bearbeiten Sie Dateien oder f\xFChren Sie Befehle aus.",
287797
+ "2. Be specific for the best results.": "2. Seien Sie spezifisch f\xFCr die besten Ergebnisse.",
287798
+ "files to customize your interactions with Qwen Code.": "Dateien, um Ihre Interaktionen mit Qwen Code anzupassen.",
287799
+ "for more information.": "f\xFCr weitere Informationen.",
287800
+ // ============================================================================
287801
+ // Exit Screen / Stats
287802
+ // ============================================================================
287803
+ "Agent powering down. Goodbye!": "Agent wird heruntergefahren. Auf Wiedersehen!",
287804
+ "To continue this session, run": "Um diese Sitzung fortzusetzen, f\xFChren Sie aus",
287805
+ "Interaction Summary": "Interaktionszusammenfassung",
287806
+ "Session ID:": "Sitzungs-ID:",
287807
+ "Tool Calls:": "Werkzeugaufrufe:",
287808
+ "Success Rate:": "Erfolgsrate:",
287809
+ "User Agreement:": "Benutzerzustimmung:",
287810
+ reviewed: "\xFCberpr\xFCft",
287811
+ "Code Changes:": "Code\xE4nderungen:",
287812
+ Performance: "Leistung",
287813
+ "Wall Time:": "Gesamtzeit:",
287814
+ "Agent Active:": "Agent aktiv:",
287815
+ "API Time:": "API-Zeit:",
287816
+ "Tool Time:": "Werkzeugzeit:",
287817
+ "Session Stats": "Sitzungsstatistiken",
287818
+ "Model Usage": "Modellnutzung",
287819
+ Reqs: "Anfragen",
287820
+ "Input Tokens": "Eingabe-Token",
287821
+ "Output Tokens": "Ausgabe-Token",
287822
+ "Savings Highlight:": "Einsparungen:",
287823
+ "of input tokens were served from the cache, reducing costs.": "der Eingabe-Token wurden aus dem Cache bedient, was die Kosten reduziert.",
287824
+ "Tip: For a full token breakdown, run `/stats model`.": "Tipp: F\xFCr eine vollst\xE4ndige Token-Aufschl\xFCsselung f\xFChren Sie `/stats model` aus.",
287825
+ "Model Stats For Nerds": "Modellstatistiken f\xFCr Nerds",
287826
+ "Tool Stats For Nerds": "Werkzeugstatistiken f\xFCr Nerds",
287827
+ Metric: "Metrik",
287828
+ API: "API",
287829
+ Requests: "Anfragen",
287830
+ Errors: "Fehler",
287831
+ "Avg Latency": "Durchschn. Latenz",
287832
+ Tokens: "Token",
287833
+ Total: "Gesamt",
287834
+ Prompt: "Prompt",
287835
+ Cached: "Zwischengespeichert",
287836
+ Thoughts: "Gedanken",
287837
+ Tool: "Werkzeug",
287838
+ Output: "Ausgabe",
287839
+ "No API calls have been made in this session.": "In dieser Sitzung wurden keine API-Aufrufe gemacht.",
287840
+ "Tool Name": "Werkzeugname",
287841
+ Calls: "Aufrufe",
287842
+ "Success Rate": "Erfolgsrate",
287843
+ "Avg Duration": "Durchschn. Dauer",
287844
+ "User Decision Summary": "Benutzerentscheidungs-Zusammenfassung",
287845
+ "Total Reviewed Suggestions:": "Insgesamt \xFCberpr\xFCfter Vorschl\xE4ge:",
287846
+ " \xBB Accepted:": " \xBB Akzeptiert:",
287847
+ " \xBB Rejected:": " \xBB Abgelehnt:",
287848
+ " \xBB Modified:": " \xBB Ge\xE4ndert:",
287849
+ " Overall Agreement Rate:": " Gesamtzustimmungsrate:",
287850
+ "No tool calls have been made in this session.": "In dieser Sitzung wurden keine Werkzeugaufrufe gemacht.",
287851
+ "Session start time is unavailable, cannot calculate stats.": "Sitzungsstartzeit nicht verf\xFCgbar, Statistiken k\xF6nnen nicht berechnet werden.",
287852
+ // ============================================================================
287853
+ // Loading Phrases
287854
+ // ============================================================================
287855
+ "Waiting for user confirmation...": "Warten auf Benutzerbest\xE4tigung...",
287856
+ "(esc to cancel, {{time}})": "(Esc zum Abbrechen, {{time}})",
287857
+ // ============================================================================
287858
+ // Loading Phrases
287859
+ // ============================================================================
287860
+ WITTY_LOADING_PHRASES: [
287861
+ "Auf gut Gl\xFCck!",
287862
+ "Genialit\xE4t wird ausgeliefert...",
287863
+ "Die Serifen werden aufgemalt...",
287864
+ "Durch den Schleimpilz navigieren...",
287865
+ "Die digitalen Geister werden befragt...",
287866
+ "Splines werden retikuliert...",
287867
+ "Die KI-Hamster werden aufgew\xE4rmt...",
287868
+ "Die Zaubermuschel wird befragt...",
287869
+ "Witzige Erwiderung wird generiert...",
287870
+ "Die Algorithmen werden poliert...",
287871
+ "Perfektion braucht Zeit (mein Code auch)...",
287872
+ "Frische Bytes werden gebr\xFCht...",
287873
+ "Elektronen werden gez\xE4hlt...",
287874
+ "Kognitive Prozessoren werden aktiviert...",
287875
+ "Auf Syntaxfehler im Universum wird gepr\xFCft...",
287876
+ "Einen Moment, Humor wird optimiert...",
287877
+ "Pointen werden gemischt...",
287878
+ "Neuronale Netze werden entwirrt...",
287879
+ "Brillanz wird kompiliert...",
287880
+ "wit.exe wird geladen...",
287881
+ "Die Wolke der Weisheit wird beschworen...",
287882
+ "Eine witzige Antwort wird vorbereitet...",
287883
+ "Einen Moment, ich debugge die Realit\xE4t...",
287884
+ "Die Optionen werden verwirrt...",
287885
+ "Kosmische Frequenzen werden eingestellt...",
287886
+ "Eine Antwort wird erstellt, die Ihrer Geduld w\xFCrdig ist...",
287887
+ "Die Einsen und Nullen werden kompiliert...",
287888
+ "Abh\xE4ngigkeiten werden aufgel\xF6st... und existenzielle Krisen...",
287889
+ "Erinnerungen werden defragmentiert... sowohl RAM als auch pers\xF6nliche...",
287890
+ "Das Humor-Modul wird neu gestartet...",
287891
+ "Das Wesentliche wird zwischengespeichert (haupts\xE4chlich Katzen-Memes)...",
287892
+ "F\xFCr l\xE4cherliche Geschwindigkeit wird optimiert",
287893
+ "Bits werden getauscht... sagen Sie es nicht den Bytes...",
287894
+ "Garbage Collection l\xE4uft... bin gleich zur\xFCck...",
287895
+ "Das Internet wird zusammengebaut...",
287896
+ "Kaffee wird in Code umgewandelt...",
287897
+ "Die Syntax der Realit\xE4t wird aktualisiert...",
287898
+ "Die Synapsen werden neu verdrahtet...",
287899
+ "Ein verlegtes Semikolon wird gesucht...",
287900
+ "Die Zahnr\xE4der werden geschmiert...",
287901
+ "Die Server werden vorgeheizt...",
287902
+ "Der Fluxkompensator wird kalibriert...",
287903
+ "Der Unwahrscheinlichkeitsantrieb wird aktiviert...",
287904
+ "Die Macht wird kanalisiert...",
287905
+ "Die Sterne werden f\xFCr optimale Antwort ausgerichtet...",
287906
+ "So sagen wir alle...",
287907
+ "Die n\xE4chste gro\xDFe Idee wird geladen...",
287908
+ "Einen Moment, ich bin in der Zone...",
287909
+ "Bereite mich vor, Sie mit Brillanz zu blenden...",
287910
+ "Einen Augenblick, ich poliere meinen Witz...",
287911
+ "Halten Sie durch, ich erschaffe ein Meisterwerk...",
287912
+ "Einen Moment, ich debugge das Universum...",
287913
+ "Einen Moment, ich richte die Pixel aus...",
287914
+ "Einen Moment, ich optimiere den Humor...",
287915
+ "Einen Moment, ich tune die Algorithmen...",
287916
+ "Warp-Geschwindigkeit aktiviert...",
287917
+ "Mehr Dilithium-Kristalle werden gesucht...",
287918
+ "Keine Panik...",
287919
+ "Dem wei\xDFen Kaninchen wird gefolgt...",
287920
+ "Die Wahrheit ist hier drin... irgendwo...",
287921
+ "Auf die Kassette wird gepustet...",
287922
+ "Ladevorgang... Machen Sie eine Fassrolle!",
287923
+ "Auf den Respawn wird gewartet...",
287924
+ "Der Kessel-Flug wird in weniger als 12 Parsec beendet...",
287925
+ "Der Kuchen ist keine L\xFCge, er l\xE4dt nur noch...",
287926
+ "Am Charaktererstellungsbildschirm wird herumgefummelt...",
287927
+ "Einen Moment, ich suche das richtige Meme...",
287928
+ "'A' wird zum Fortfahren gedr\xFCckt...",
287929
+ "Digitale Katzen werden geh\xFCtet...",
287930
+ "Die Pixel werden poliert...",
287931
+ "Ein passender Ladebildschirm-Witz wird gesucht...",
287932
+ "Ich lenke Sie mit diesem witzigen Spruch ab...",
287933
+ "Fast da... wahrscheinlich...",
287934
+ "Unsere Hamster arbeiten so schnell sie k\xF6nnen...",
287935
+ "Cloudy wird am Kopf gestreichelt...",
287936
+ "Die Katze wird gestreichelt...",
287937
+ "Meinen Chef rickrollen...",
287938
+ "Never gonna give you up, never gonna let you down...",
287939
+ "Auf den Bass wird geschlagen...",
287940
+ "Die Schnozbeeren werden probiert...",
287941
+ "I'm going the distance, I'm going for speed...",
287942
+ "Ist dies das wahre Leben? Ist dies nur Fantasie?...",
287943
+ "Ich habe ein gutes Gef\xFChl dabei...",
287944
+ "Den B\xE4ren wird gestupst...",
287945
+ "Recherche zu den neuesten Memes...",
287946
+ "\xDCberlege, wie ich das witziger machen kann...",
287947
+ "Hmmm... lassen Sie mich nachdenken...",
287948
+ "Wie nennt man einen Fisch ohne Augen? Ein Fsh...",
287949
+ "Warum ging der Computer zur Therapie? Er hatte zu viele Bytes...",
287950
+ "Warum m\xF6gen Programmierer keine Natur? Sie hat zu viele Bugs...",
287951
+ "Warum bevorzugen Programmierer den Dunkelmodus? Weil Licht Bugs anzieht...",
287952
+ "Warum ging der Entwickler pleite? Er hat seinen ganzen Cache aufgebraucht...",
287953
+ "Was kann man mit einem kaputten Bleistift machen? Nichts, er ist sinnlos...",
287954
+ "Perkussive Wartung wird angewendet...",
287955
+ "Die richtige USB-Ausrichtung wird gesucht...",
287956
+ "Es wird sichergestellt, dass der magische Rauch in den Kabeln bleibt...",
287957
+ "Versuche Vim zu beenden...",
287958
+ "Das Hamsterrad wird angeworfen...",
287959
+ "Das ist kein Bug, das ist ein undokumentiertes Feature...",
287960
+ "Engage.",
287961
+ "Ich komme wieder... mit einer Antwort.",
287962
+ "Mein anderer Prozess ist eine TARDIS...",
287963
+ "Mit dem Maschinengeist wird kommuniziert...",
287964
+ "Die Gedanken marinieren lassen...",
287965
+ "Gerade erinnert, wo ich meine Schl\xFCssel hingelegt habe...",
287966
+ "\xDCber die Kugel wird nachgedacht...",
287967
+ "Ich habe Dinge gesehen, die Sie nicht glauben w\xFCrden... wie einen Benutzer, der Lademeldungen liest.",
287968
+ "Nachdenklicher Blick wird initiiert...",
287969
+ "Was ist der Lieblingssnack eines Computers? Mikrochips.",
287970
+ "Warum tragen Java-Entwickler Brillen? Weil sie nicht C#.",
287971
+ "Der Laser wird aufgeladen... pew pew!",
287972
+ "Durch Null wird geteilt... nur Spa\xDF!",
287973
+ "Suche nach einem erwachsenen Aufseh... ich meine, Verarbeitung.",
287974
+ "Es piept und boopt.",
287975
+ "Pufferung... weil auch KIs einen Moment brauchen.",
287976
+ "Quantenteilchen werden f\xFCr schnellere Antwort verschr\xE4nkt...",
287977
+ "Das Chrom wird poliert... an den Algorithmen.",
287978
+ "Sind Sie nicht unterhalten? (Arbeite daran!)",
287979
+ "Die Code-Gremlins werden beschworen... zum Helfen, nat\xFCrlich.",
287980
+ "Warte nur auf das Einwahlton-Ende...",
287981
+ "Das Humor-O-Meter wird neu kalibriert.",
287982
+ "Mein anderer Ladebildschirm ist noch lustiger.",
287983
+ "Ziemlich sicher, dass irgendwo eine Katze \xFCber die Tastatur l\xE4uft...",
287984
+ "Verbessern... Verbessern... L\xE4dt noch.",
287985
+ "Das ist kein Bug, das ist ein Feature... dieses Ladebildschirms.",
287986
+ "Haben Sie versucht, es aus- und wieder einzuschalten? (Den Ladebildschirm, nicht mich.)",
287987
+ "Zus\xE4tzliche Pylonen werden gebaut..."
287988
+ ]
287989
+ };
287990
+ }
287991
+ });
287992
+
287087
287993
  // packages/cli/src/i18n/locales/en.js
287088
287994
  var en_exports = {};
287089
287995
  __export(en_exports, {
@@ -287162,6 +288068,8 @@ var init_en3 = __esm({
287162
288068
  "Available Qwen Code CLI tools:": "Available Qwen Code CLI tools:",
287163
288069
  "No tools available": "No tools available",
287164
288070
  "View or change the approval mode for tool usage": "View or change the approval mode for tool usage",
288071
+ 'Invalid approval mode "{{arg}}". Valid modes: {{modes}}': 'Invalid approval mode "{{arg}}". Valid modes: {{modes}}',
288072
+ 'Approval mode set to "{{mode}}"': 'Approval mode set to "{{mode}}"',
287165
288073
  "View or change the language setting": "View or change the language setting",
287166
288074
  "change the theme": "change the theme",
287167
288075
  "Select Theme": "Select Theme",
@@ -287171,7 +288079,7 @@ var init_en3 = __esm({
287171
288079
  "Theme configuration unavailable due to NO_COLOR env variable.": "Theme configuration unavailable due to NO_COLOR env variable.",
287172
288080
  'Theme "{{themeName}}" not found.': 'Theme "{{themeName}}" not found.',
287173
288081
  'Theme "{{themeName}}" not found in selected scope.': 'Theme "{{themeName}}" not found in selected scope.',
287174
- "clear the screen and conversation history": "clear the screen and conversation history",
288082
+ "Clear conversation history and free up context": "Clear conversation history and free up context",
287175
288083
  "Compresses the context by replacing it with a summary.": "Compresses the context by replacing it with a summary.",
287176
288084
  "open full Qwen Code documentation in your browser": "open full Qwen Code documentation in your browser",
287177
288085
  "Configuration not available.": "Configuration not available.",
@@ -287538,8 +288446,8 @@ var init_en3 = __esm({
287538
288446
  // ============================================================================
287539
288447
  // Commands - Clear
287540
288448
  // ============================================================================
287541
- "Clearing terminal and resetting chat.": "Clearing terminal and resetting chat.",
287542
- "Clearing terminal.": "Clearing terminal.",
288449
+ "Starting a new session, resetting chat, and clearing terminal.": "Starting a new session, resetting chat, and clearing terminal.",
288450
+ "Starting a new session and clearing.": "Starting a new session and clearing.",
287543
288451
  // ============================================================================
287544
288452
  // Commands - Compress
287545
288453
  // ============================================================================
@@ -287784,134 +288692,138 @@ var init_en3 = __esm({
287784
288692
  // ============================================================================
287785
288693
  "Waiting for user confirmation...": "Waiting for user confirmation...",
287786
288694
  "(esc to cancel, {{time}})": "(esc to cancel, {{time}})",
287787
- "I'm Feeling Lucky": "I'm Feeling Lucky",
287788
- "Shipping awesomeness... ": "Shipping awesomeness... ",
287789
- "Painting the serifs back on...": "Painting the serifs back on...",
287790
- "Navigating the slime mold...": "Navigating the slime mold...",
287791
- "Consulting the digital spirits...": "Consulting the digital spirits...",
287792
- "Reticulating splines...": "Reticulating splines...",
287793
- "Warming up the AI hamsters...": "Warming up the AI hamsters...",
287794
- "Asking the magic conch shell...": "Asking the magic conch shell...",
287795
- "Generating witty retort...": "Generating witty retort...",
287796
- "Polishing the algorithms...": "Polishing the algorithms...",
287797
- "Don't rush perfection (or my code)...": "Don't rush perfection (or my code)...",
287798
- "Brewing fresh bytes...": "Brewing fresh bytes...",
287799
- "Counting electrons...": "Counting electrons...",
287800
- "Engaging cognitive processors...": "Engaging cognitive processors...",
287801
- "Checking for syntax errors in the universe...": "Checking for syntax errors in the universe...",
287802
- "One moment, optimizing humor...": "One moment, optimizing humor...",
287803
- "Shuffling punchlines...": "Shuffling punchlines...",
287804
- "Untangling neural nets...": "Untangling neural nets...",
287805
- "Compiling brilliance...": "Compiling brilliance...",
287806
- "Loading wit.exe...": "Loading wit.exe...",
287807
- "Summoning the cloud of wisdom...": "Summoning the cloud of wisdom...",
287808
- "Preparing a witty response...": "Preparing a witty response...",
287809
- "Just a sec, I'm debugging reality...": "Just a sec, I'm debugging reality...",
287810
- "Confuzzling the options...": "Confuzzling the options...",
287811
- "Tuning the cosmic frequencies...": "Tuning the cosmic frequencies...",
287812
- "Crafting a response worthy of your patience...": "Crafting a response worthy of your patience...",
287813
- "Compiling the 1s and 0s...": "Compiling the 1s and 0s...",
287814
- "Resolving dependencies... and existential crises...": "Resolving dependencies... and existential crises...",
287815
- "Defragmenting memories... both RAM and personal...": "Defragmenting memories... both RAM and personal...",
287816
- "Rebooting the humor module...": "Rebooting the humor module...",
287817
- "Caching the essentials (mostly cat memes)...": "Caching the essentials (mostly cat memes)...",
287818
- "Optimizing for ludicrous speed": "Optimizing for ludicrous speed",
287819
- "Swapping bits... don't tell the bytes...": "Swapping bits... don't tell the bytes...",
287820
- "Garbage collecting... be right back...": "Garbage collecting... be right back...",
287821
- "Assembling the interwebs...": "Assembling the interwebs...",
287822
- "Converting coffee into code...": "Converting coffee into code...",
287823
- "Updating the syntax for reality...": "Updating the syntax for reality...",
287824
- "Rewiring the synapses...": "Rewiring the synapses...",
287825
- "Looking for a misplaced semicolon...": "Looking for a misplaced semicolon...",
287826
- "Greasin' the cogs of the machine...": "Greasin' the cogs of the machine...",
287827
- "Pre-heating the servers...": "Pre-heating the servers...",
287828
- "Calibrating the flux capacitor...": "Calibrating the flux capacitor...",
287829
- "Engaging the improbability drive...": "Engaging the improbability drive...",
287830
- "Channeling the Force...": "Channeling the Force...",
287831
- "Aligning the stars for optimal response...": "Aligning the stars for optimal response...",
287832
- "So say we all...": "So say we all...",
287833
- "Loading the next great idea...": "Loading the next great idea...",
287834
- "Just a moment, I'm in the zone...": "Just a moment, I'm in the zone...",
287835
- "Preparing to dazzle you with brilliance...": "Preparing to dazzle you with brilliance...",
287836
- "Just a tick, I'm polishing my wit...": "Just a tick, I'm polishing my wit...",
287837
- "Hold tight, I'm crafting a masterpiece...": "Hold tight, I'm crafting a masterpiece...",
287838
- "Just a jiffy, I'm debugging the universe...": "Just a jiffy, I'm debugging the universe...",
287839
- "Just a moment, I'm aligning the pixels...": "Just a moment, I'm aligning the pixels...",
287840
- "Just a sec, I'm optimizing the humor...": "Just a sec, I'm optimizing the humor...",
287841
- "Just a moment, I'm tuning the algorithms...": "Just a moment, I'm tuning the algorithms...",
287842
- "Warp speed engaged...": "Warp speed engaged...",
287843
- "Mining for more Dilithium crystals...": "Mining for more Dilithium crystals...",
287844
- "Don't panic...": "Don't panic...",
287845
- "Following the white rabbit...": "Following the white rabbit...",
287846
- "The truth is in here... somewhere...": "The truth is in here... somewhere...",
287847
- "Blowing on the cartridge...": "Blowing on the cartridge...",
287848
- "Loading... Do a barrel roll!": "Loading... Do a barrel roll!",
287849
- "Waiting for the respawn...": "Waiting for the respawn...",
287850
- "Finishing the Kessel Run in less than 12 parsecs...": "Finishing the Kessel Run in less than 12 parsecs...",
287851
- "The cake is not a lie, it's just still loading...": "The cake is not a lie, it's just still loading...",
287852
- "Fiddling with the character creation screen...": "Fiddling with the character creation screen...",
287853
- "Just a moment, I'm finding the right meme...": "Just a moment, I'm finding the right meme...",
287854
- "Pressing 'A' to continue...": "Pressing 'A' to continue...",
287855
- "Herding digital cats...": "Herding digital cats...",
287856
- "Polishing the pixels...": "Polishing the pixels...",
287857
- "Finding a suitable loading screen pun...": "Finding a suitable loading screen pun...",
287858
- "Distracting you with this witty phrase...": "Distracting you with this witty phrase...",
287859
- "Almost there... probably...": "Almost there... probably...",
287860
- "Our hamsters are working as fast as they can...": "Our hamsters are working as fast as they can...",
287861
- "Giving Cloudy a pat on the head...": "Giving Cloudy a pat on the head...",
287862
- "Petting the cat...": "Petting the cat...",
287863
- "Rickrolling my boss...": "Rickrolling my boss...",
287864
- "Never gonna give you up, never gonna let you down...": "Never gonna give you up, never gonna let you down...",
287865
- "Slapping the bass...": "Slapping the bass...",
287866
- "Tasting the snozberries...": "Tasting the snozberries...",
287867
- "I'm going the distance, I'm going for speed...": "I'm going the distance, I'm going for speed...",
287868
- "Is this the real life? Is this just fantasy?...": "Is this the real life? Is this just fantasy?...",
287869
- "I've got a good feeling about this...": "I've got a good feeling about this...",
287870
- "Poking the bear...": "Poking the bear...",
287871
- "Doing research on the latest memes...": "Doing research on the latest memes...",
287872
- "Figuring out how to make this more witty...": "Figuring out how to make this more witty...",
287873
- "Hmmm... let me think...": "Hmmm... let me think...",
287874
- "What do you call a fish with no eyes? A fsh...": "What do you call a fish with no eyes? A fsh...",
287875
- "Why did the computer go to therapy? It had too many bytes...": "Why did the computer go to therapy? It had too many bytes...",
287876
- "Why don't programmers like nature? It has too many bugs...": "Why don't programmers like nature? It has too many bugs...",
287877
- "Why do programmers prefer dark mode? Because light attracts bugs...": "Why do programmers prefer dark mode? Because light attracts bugs...",
287878
- "Why did the developer go broke? Because they used up all their cache...": "Why did the developer go broke? Because they used up all their cache...",
287879
- "What can you do with a broken pencil? Nothing, it's pointless...": "What can you do with a broken pencil? Nothing, it's pointless...",
287880
- "Applying percussive maintenance...": "Applying percussive maintenance...",
287881
- "Searching for the correct USB orientation...": "Searching for the correct USB orientation...",
287882
- "Ensuring the magic smoke stays inside the wires...": "Ensuring the magic smoke stays inside the wires...",
287883
- "Rewriting in Rust for no particular reason...": "Rewriting in Rust for no particular reason...",
287884
- "Trying to exit Vim...": "Trying to exit Vim...",
287885
- "Spinning up the hamster wheel...": "Spinning up the hamster wheel...",
287886
- "That's not a bug, it's an undocumented feature...": "That's not a bug, it's an undocumented feature...",
287887
- "Engage.": "Engage.",
287888
- "I'll be back... with an answer.": "I'll be back... with an answer.",
287889
- "My other process is a TARDIS...": "My other process is a TARDIS...",
287890
- "Communing with the machine spirit...": "Communing with the machine spirit...",
287891
- "Letting the thoughts marinate...": "Letting the thoughts marinate...",
287892
- "Just remembered where I put my keys...": "Just remembered where I put my keys...",
287893
- "Pondering the orb...": "Pondering the orb...",
287894
- "I've seen things you people wouldn't believe... like a user who reads loading messages.": "I've seen things you people wouldn't believe... like a user who reads loading messages.",
287895
- "Initiating thoughtful gaze...": "Initiating thoughtful gaze...",
287896
- "What's a computer's favorite snack? Microchips.": "What's a computer's favorite snack? Microchips.",
287897
- "Why do Java developers wear glasses? Because they don't C#.": "Why do Java developers wear glasses? Because they don't C#.",
287898
- "Charging the laser... pew pew!": "Charging the laser... pew pew!",
287899
- "Dividing by zero... just kidding!": "Dividing by zero... just kidding!",
287900
- "Looking for an adult superviso... I mean, processing.": "Looking for an adult superviso... I mean, processing.",
287901
- "Making it go beep boop.": "Making it go beep boop.",
287902
- "Buffering... because even AIs need a moment.": "Buffering... because even AIs need a moment.",
287903
- "Entangling quantum particles for a faster response...": "Entangling quantum particles for a faster response...",
287904
- "Polishing the chrome... on the algorithms.": "Polishing the chrome... on the algorithms.",
287905
- "Are you not entertained? (Working on it!)": "Are you not entertained? (Working on it!)",
287906
- "Summoning the code gremlins... to help, of course.": "Summoning the code gremlins... to help, of course.",
287907
- "Just waiting for the dial-up tone to finish...": "Just waiting for the dial-up tone to finish...",
287908
- "Recalibrating the humor-o-meter.": "Recalibrating the humor-o-meter.",
287909
- "My other loading screen is even funnier.": "My other loading screen is even funnier.",
287910
- "Pretty sure there's a cat walking on the keyboard somewhere...": "Pretty sure there's a cat walking on the keyboard somewhere...",
287911
- "Enhancing... Enhancing... Still loading.": "Enhancing... Enhancing... Still loading.",
287912
- "It's not a bug, it's a feature... of this loading screen.": "It's not a bug, it's a feature... of this loading screen.",
287913
- "Have you tried turning it off and on again? (The loading screen, not me.)": "Have you tried turning it off and on again? (The loading screen, not me.)",
287914
- "Constructing additional pylons...": "Constructing additional pylons..."
288695
+ // ============================================================================
288696
+ // Loading Phrases
288697
+ // ============================================================================
288698
+ WITTY_LOADING_PHRASES: [
288699
+ "I'm Feeling Lucky",
288700
+ "Shipping awesomeness... ",
288701
+ "Painting the serifs back on...",
288702
+ "Navigating the slime mold...",
288703
+ "Consulting the digital spirits...",
288704
+ "Reticulating splines...",
288705
+ "Warming up the AI hamsters...",
288706
+ "Asking the magic conch shell...",
288707
+ "Generating witty retort...",
288708
+ "Polishing the algorithms...",
288709
+ "Don't rush perfection (or my code)...",
288710
+ "Brewing fresh bytes...",
288711
+ "Counting electrons...",
288712
+ "Engaging cognitive processors...",
288713
+ "Checking for syntax errors in the universe...",
288714
+ "One moment, optimizing humor...",
288715
+ "Shuffling punchlines...",
288716
+ "Untangling neural nets...",
288717
+ "Compiling brilliance...",
288718
+ "Loading wit.exe...",
288719
+ "Summoning the cloud of wisdom...",
288720
+ "Preparing a witty response...",
288721
+ "Just a sec, I'm debugging reality...",
288722
+ "Confuzzling the options...",
288723
+ "Tuning the cosmic frequencies...",
288724
+ "Crafting a response worthy of your patience...",
288725
+ "Compiling the 1s and 0s...",
288726
+ "Resolving dependencies... and existential crises...",
288727
+ "Defragmenting memories... both RAM and personal...",
288728
+ "Rebooting the humor module...",
288729
+ "Caching the essentials (mostly cat memes)...",
288730
+ "Optimizing for ludicrous speed",
288731
+ "Swapping bits... don't tell the bytes...",
288732
+ "Garbage collecting... be right back...",
288733
+ "Assembling the interwebs...",
288734
+ "Converting coffee into code...",
288735
+ "Updating the syntax for reality...",
288736
+ "Rewiring the synapses...",
288737
+ "Looking for a misplaced semicolon...",
288738
+ "Greasin' the cogs of the machine...",
288739
+ "Pre-heating the servers...",
288740
+ "Calibrating the flux capacitor...",
288741
+ "Engaging the improbability drive...",
288742
+ "Channeling the Force...",
288743
+ "Aligning the stars for optimal response...",
288744
+ "So say we all...",
288745
+ "Loading the next great idea...",
288746
+ "Just a moment, I'm in the zone...",
288747
+ "Preparing to dazzle you with brilliance...",
288748
+ "Just a tick, I'm polishing my wit...",
288749
+ "Hold tight, I'm crafting a masterpiece...",
288750
+ "Just a jiffy, I'm debugging the universe...",
288751
+ "Just a moment, I'm aligning the pixels...",
288752
+ "Just a sec, I'm optimizing the humor...",
288753
+ "Just a moment, I'm tuning the algorithms...",
288754
+ "Warp speed engaged...",
288755
+ "Mining for more Dilithium crystals...",
288756
+ "Don't panic...",
288757
+ "Following the white rabbit...",
288758
+ "The truth is in here... somewhere...",
288759
+ "Blowing on the cartridge...",
288760
+ "Loading... Do a barrel roll!",
288761
+ "Waiting for the respawn...",
288762
+ "Finishing the Kessel Run in less than 12 parsecs...",
288763
+ "The cake is not a lie, it's just still loading...",
288764
+ "Fiddling with the character creation screen...",
288765
+ "Just a moment, I'm finding the right meme...",
288766
+ "Pressing 'A' to continue...",
288767
+ "Herding digital cats...",
288768
+ "Polishing the pixels...",
288769
+ "Finding a suitable loading screen pun...",
288770
+ "Distracting you with this witty phrase...",
288771
+ "Almost there... probably...",
288772
+ "Our hamsters are working as fast as they can...",
288773
+ "Giving Cloudy a pat on the head...",
288774
+ "Petting the cat...",
288775
+ "Rickrolling my boss...",
288776
+ "Never gonna give you up, never gonna let you down...",
288777
+ "Slapping the bass...",
288778
+ "Tasting the snozberries...",
288779
+ "I'm going the distance, I'm going for speed...",
288780
+ "Is this the real life? Is this just fantasy?...",
288781
+ "I've got a good feeling about this...",
288782
+ "Poking the bear...",
288783
+ "Doing research on the latest memes...",
288784
+ "Figuring out how to make this more witty...",
288785
+ "Hmmm... let me think...",
288786
+ "What do you call a fish with no eyes? A fsh...",
288787
+ "Why did the computer go to therapy? It had too many bytes...",
288788
+ "Why don't programmers like nature? It has too many bugs...",
288789
+ "Why do programmers prefer dark mode? Because light attracts bugs...",
288790
+ "Why did the developer go broke? Because they used up all their cache...",
288791
+ "What can you do with a broken pencil? Nothing, it's pointless...",
288792
+ "Applying percussive maintenance...",
288793
+ "Searching for the correct USB orientation...",
288794
+ "Ensuring the magic smoke stays inside the wires...",
288795
+ "Trying to exit Vim...",
288796
+ "Spinning up the hamster wheel...",
288797
+ "That's not a bug, it's an undocumented feature...",
288798
+ "Engage.",
288799
+ "I'll be back... with an answer.",
288800
+ "My other process is a TARDIS...",
288801
+ "Communing with the machine spirit...",
288802
+ "Letting the thoughts marinate...",
288803
+ "Just remembered where I put my keys...",
288804
+ "Pondering the orb...",
288805
+ "I've seen things you people wouldn't believe... like a user who reads loading messages.",
288806
+ "Initiating thoughtful gaze...",
288807
+ "What's a computer's favorite snack? Microchips.",
288808
+ "Why do Java developers wear glasses? Because they don't C#.",
288809
+ "Charging the laser... pew pew!",
288810
+ "Dividing by zero... just kidding!",
288811
+ "Looking for an adult superviso... I mean, processing.",
288812
+ "Making it go beep boop.",
288813
+ "Buffering... because even AIs need a moment.",
288814
+ "Entangling quantum particles for a faster response...",
288815
+ "Polishing the chrome... on the algorithms.",
288816
+ "Are you not entertained? (Working on it!)",
288817
+ "Summoning the code gremlins... to help, of course.",
288818
+ "Just waiting for the dial-up tone to finish...",
288819
+ "Recalibrating the humor-o-meter.",
288820
+ "My other loading screen is even funnier.",
288821
+ "Pretty sure there's a cat walking on the keyboard somewhere...",
288822
+ "Enhancing... Enhancing... Still loading.",
288823
+ "It's not a bug, it's a feature... of this loading screen.",
288824
+ "Have you tried turning it off and on again? (The loading screen, not me.)",
288825
+ "Constructing additional pylons..."
288826
+ ]
287915
288827
  };
287916
288828
  }
287917
288829
  });
@@ -287994,6 +288906,8 @@ var init_ru = __esm({
287994
288906
  "Available Qwen Code CLI tools:": "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B Qwen Code CLI:",
287995
288907
  "No tools available": "\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432",
287996
288908
  "View or change the approval mode for tool usage": "\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u043B\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0440\u0435\u0436\u0438\u043C\u0430 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432",
288909
+ 'Invalid approval mode "{{arg}}". Valid modes: {{modes}}': '\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439 \u0440\u0435\u0436\u0438\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F "{{arg}}". \u0414\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0435 \u0440\u0435\u0436\u0438\u043C\u044B: {{modes}}',
288910
+ 'Approval mode set to "{{mode}}"': '\u0420\u0435\u0436\u0438\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D \u043D\u0430 "{{mode}}"',
287997
288911
  "View or change the language setting": "\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u043B\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A \u044F\u0437\u044B\u043A\u0430",
287998
288912
  "change the theme": "\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0442\u0435\u043C\u044B",
287999
288913
  "Select Theme": "\u0412\u044B\u0431\u043E\u0440 \u0442\u0435\u043C\u044B",
@@ -288003,7 +288917,7 @@ var init_ru = __esm({
288003
288917
  "Theme configuration unavailable due to NO_COLOR env variable.": "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0442\u0435\u043C\u044B \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0438\u0437-\u0437\u0430 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u044F NO_COLOR.",
288004
288918
  'Theme "{{themeName}}" not found.': '\u0422\u0435\u043C\u0430 "{{themeName}}" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430.',
288005
288919
  'Theme "{{themeName}}" not found in selected scope.': '\u0422\u0435\u043C\u0430 "{{themeName}}" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438.',
288006
- "clear the screen and conversation history": "\u041E\u0447\u0438\u0441\u0442\u043A\u0430 \u044D\u043A\u0440\u0430\u043D\u0430 \u0438 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u0434\u0438\u0430\u043B\u043E\u0433\u0430",
288920
+ "Clear conversation history and free up context": "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0438\u0441\u0442\u043E\u0440\u0438\u044E \u0434\u0438\u0430\u043B\u043E\u0433\u0430 \u0438 \u043E\u0441\u0432\u043E\u0431\u043E\u0434\u0438\u0442\u044C \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442",
288007
288921
  "Compresses the context by replacing it with a summary.": "\u0421\u0436\u0430\u0442\u0438\u0435 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u0430 \u0437\u0430\u043C\u0435\u043D\u043E\u0439 \u043D\u0430 \u043A\u0440\u0430\u0442\u043A\u0443\u044E \u0441\u0432\u043E\u0434\u043A\u0443",
288008
288922
  "open full Qwen Code documentation in your browser": "\u041E\u0442\u043A\u0440\u044B\u0442\u0438\u0435 \u043F\u043E\u043B\u043D\u043E\u0439 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0438 Qwen Code \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435",
288009
288923
  "Configuration not available.": "\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430.",
@@ -288175,6 +289089,7 @@ var init_ru = __esm({
288175
289089
  "Tool Output Truncation Lines": "\u041B\u0438\u043C\u0438\u0442 \u0441\u0442\u0440\u043E\u043A \u0432\u044B\u0432\u043E\u0434\u0430 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432",
288176
289090
  "Folder Trust": "\u0414\u043E\u0432\u0435\u0440\u0438\u0435 \u043A \u043F\u0430\u043F\u043A\u0435",
288177
289091
  "Vision Model Preview": "\u0412\u0438\u0437\u0443\u0430\u043B\u044C\u043D\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C (\u043F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440)",
289092
+ "Tool Schema Compliance": "\u0421\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0445\u0435\u043C\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430",
288178
289093
  // Варианты перечислений настроек
288179
289094
  "Auto (detect from system)": "\u0410\u0432\u0442\u043E (\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043C\u044B)",
288180
289095
  Text: "\u0422\u0435\u043A\u0441\u0442",
@@ -288195,7 +289110,7 @@ var init_ru = __esm({
288195
289110
  "set external editor preference": "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u0435\u043C\u043E\u0433\u043E \u0432\u043D\u0435\u0448\u043D\u0435\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430",
288196
289111
  "Manage extensions": "\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F\u043C\u0438",
288197
289112
  "List active extensions": "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F",
288198
- "Update extensions. Usage: update |--all": "\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435: update |--all",
289113
+ "Update extensions. Usage: update <extension-names>|--all": "\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435: update <extension-names>|--all",
288199
289114
  "manage IDE integration": "\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0438\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0435\u0439 \u0441 IDE",
288200
289115
  "check status of IDE integration": "\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u0441\u0442\u0430\u0442\u0443\u0441 \u0438\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 IDE",
288201
289116
  "install required IDE companion for {{ideName}}": "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0439 \u043A\u043E\u043C\u043F\u0430\u043D\u044C\u043E\u043D IDE \u0434\u043B\u044F {{ideName}}",
@@ -288233,7 +289148,7 @@ var init_ru = __esm({
288233
289148
  "Set UI language": "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u044F\u0437\u044B\u043A\u0430 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430",
288234
289149
  "Set LLM output language": "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u044F\u0437\u044B\u043A\u0430 \u0432\u044B\u0432\u043E\u0434\u0430 LLM",
288235
289150
  "Usage: /language ui [zh-CN|en-US]": "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435: /language ui [zh-CN|en-US|ru-RU]",
288236
- "Usage: /language output ": "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435: /language output ",
289151
+ "Usage: /language output <language>": "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435: /language output <language>",
288237
289152
  "Example: /language output \u4E2D\u6587": "\u041F\u0440\u0438\u043C\u0435\u0440: /language output \u4E2D\u6587",
288238
289153
  "Example: /language output English": "\u041F\u0440\u0438\u043C\u0435\u0440: /language output English",
288239
289154
  "Example: /language output \u65E5\u672C\u8A9E": "\u041F\u0440\u0438\u043C\u0435\u0440: /language output \u65E5\u672C\u8A9E",
@@ -288245,9 +289160,8 @@ var init_ru = __esm({
288245
289160
  "Available subcommands:": "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u043F\u043E\u0434\u043A\u043E\u043C\u0430\u043D\u0434\u044B:",
288246
289161
  "To request additional UI language packs, please open an issue on GitHub.": "\u0414\u043B\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0430 \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u044F\u0437\u044B\u043A\u043E\u0432\u044B\u0445 \u043F\u0430\u043A\u0435\u0442\u043E\u0432 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u043F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0441\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u043D\u0430 GitHub.",
288247
289162
  "Available options:": "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u044B:",
288248
- " - zh-CN: Simplified Chinese": " - zh-CN: \u0423\u043F\u0440\u043E\u0449\u0435\u043D\u043D\u044B\u0439 \u043A\u0438\u0442\u0430\u0439\u0441\u043A\u0438\u0439",
288249
- " - en-US: English": " - en-US: \u0410\u043D\u0433\u043B\u0438\u0439\u0441\u043A\u0438\u0439",
288250
- " - ru-RU: Russian": " - ru-RU: \u0420\u0443\u0441\u0441\u043A\u0438\u0439",
289163
+ " - zh-CN: Simplified Chinese": " - zh-CN: \u0423\u043F\u0440\u043E\u0449\u0435\u043D\u043D\u044B\u0439 \u043A\u0438\u0442\u0430\u0439\u0441\u043A\u0438\u0439",
289164
+ " - en-US: English": " - en-US: \u0410\u043D\u0433\u043B\u0438\u0439\u0441\u043A\u0438\u0439",
288251
289165
  "Set UI language to Simplified Chinese (zh-CN)": "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u044F\u0437\u044B\u043A \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043D\u0430 \u0443\u043F\u0440\u043E\u0449\u0435\u043D\u043D\u044B\u0439 \u043A\u0438\u0442\u0430\u0439\u0441\u043A\u0438\u0439 (zh-CN)",
288252
289166
  "Set UI language to English (en-US)": "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u044F\u0437\u044B\u043A \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043D\u0430 \u0430\u043D\u0433\u043B\u0438\u0439\u0441\u043A\u0438\u0439 (en-US)",
288253
289167
  // ============================================================================
@@ -288258,7 +289172,7 @@ var init_ru = __esm({
288258
289172
  "Available approval modes:": "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0440\u0435\u0436\u0438\u043C\u044B \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F:",
288259
289173
  "Approval mode changed to: {{mode}}": "\u0420\u0435\u0436\u0438\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D \u043D\u0430: {{mode}}",
288260
289174
  "Approval mode changed to: {{mode}} (saved to {{scope}} settings{{location}})": "\u0420\u0435\u0436\u0438\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D \u043D\u0430: {{mode}} (\u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043E \u0432 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430\u0445 {{scope}}{{location}})",
288261
- "Usage: /approval-mode [--session|--user|--project]": "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435: /approval-mode [--session|--user|--project]",
289175
+ "Usage: /approval-mode <mode> [--session|--user|--project]": "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435: /approval-mode <mode> [--session|--user|--project]",
288262
289176
  "Scope subcommands do not accept additional arguments.": "\u041F\u043E\u0434\u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u043D\u0435 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u044E\u0442 \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0432.",
288263
289177
  "Plan mode - Analyze only, do not modify files or execute commands": "\u0420\u0435\u0436\u0438\u043C \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F - \u0442\u043E\u043B\u044C\u043A\u043E \u0430\u043D\u0430\u043B\u0438\u0437, \u0431\u0435\u0437 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0444\u0430\u0439\u043B\u043E\u0432 \u0438\u043B\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043A\u043E\u043C\u0430\u043D\u0434",
288264
289178
  "Default mode - Require approval for file edits or shell commands": "\u0420\u0435\u0436\u0438\u043C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E - \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0444\u0430\u0439\u043B\u043E\u0432 \u0438\u043B\u0438 \u043A\u043E\u043C\u0430\u043D\u0434 \u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B\u0430",
@@ -288347,7 +289261,7 @@ var init_ru = __esm({
288347
289261
  "Error sharing conversation: {{error}}": "\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0435 \u0434\u0438\u0430\u043B\u043E\u0433\u0430: {{error}}",
288348
289262
  "Conversation shared to {{filePath}}": "\u0414\u0438\u0430\u043B\u043E\u0433 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D \u0432 {{filePath}}",
288349
289263
  "No conversation found to share.": "\u041D\u0435\u0442 \u0434\u0438\u0430\u043B\u043E\u0433\u0430 \u0434\u043B\u044F \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430.",
288350
- "Share the current conversation to a markdown or json file. Usage: /chat share <\u043F\u0443\u0442\u044C-\u043A-\u0444\u0430\u0439\u043B\u0443>": "\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u0434\u0438\u0430\u043B\u043E\u0433 \u0432 markdown \u0438\u043B\u0438 json \u0444\u0430\u0439\u043B. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435: /chat share <\u043F\u0443\u0442\u044C-\u043A-\u0444\u0430\u0439\u043B\u0443>",
289264
+ "Share the current conversation to a markdown or json file. Usage: /chat share <file>": "\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u0434\u0438\u0430\u043B\u043E\u0433 \u0432 markdown \u0438\u043B\u0438 json \u0444\u0430\u0439\u043B. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435: /chat share <\u0444\u0430\u0439\u043B>",
288351
289265
  // ============================================================================
288352
289266
  // Команды - Резюме
288353
289267
  // ============================================================================
@@ -288370,8 +289284,8 @@ var init_ru = __esm({
288370
289284
  // ============================================================================
288371
289285
  // Команды - Очистка
288372
289286
  // ============================================================================
288373
- "Clearing terminal and resetting chat.": "\u041E\u0447\u0438\u0441\u0442\u043A\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B\u0430 \u0438 \u0441\u0431\u0440\u043E\u0441 \u0447\u0430\u0442\u0430.",
288374
- "Clearing terminal.": "\u041E\u0447\u0438\u0441\u0442\u043A\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B\u0430.",
289287
+ "Starting a new session, resetting chat, and clearing terminal.": "\u041D\u0430\u0447\u0430\u043B\u043E \u043D\u043E\u0432\u043E\u0439 \u0441\u0435\u0441\u0441\u0438\u0438, \u0441\u0431\u0440\u043E\u0441 \u0447\u0430\u0442\u0430 \u0438 \u043E\u0447\u0438\u0441\u0442\u043A\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B\u0430.",
289288
+ "Starting a new session and clearing.": "\u041D\u0430\u0447\u0430\u043B\u043E \u043D\u043E\u0432\u043E\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 \u0438 \u043E\u0447\u0438\u0441\u0442\u043A\u0430.",
288375
289289
  // ============================================================================
288376
289290
  // Команды - Сжатие
288377
289291
  // ============================================================================
@@ -288391,7 +289305,7 @@ var init_ru = __esm({
288391
289305
  "Please provide at least one path to add.": "\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0445\u043E\u0442\u044F \u0431\u044B \u043E\u0434\u0438\u043D \u043F\u0443\u0442\u044C \u0434\u043B\u044F \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u044F.",
288392
289306
  "The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.": "\u041A\u043E\u043C\u0430\u043D\u0434\u0430 /directory add \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u043F\u0440\u043E\u0444\u0438\u043B\u044F\u0445 \u043F\u0435\u0441\u043E\u0447\u043D\u0438\u0446\u044B. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 --include-directories \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435 \u0441\u0435\u0441\u0441\u0438\u0438.",
288393
289307
  "Error adding '{{path}}': {{error}}": "\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0438 '{{path}}': {{error}}",
288394
- "Successfully added GEMINI.md files from the following directories if there are:\n- {{directories}}": "\u0423\u0441\u043F\u0435\u0448\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0444\u0430\u0439\u043B\u044B GEMINI.md \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u0439 (\u0435\u0441\u043B\u0438 \u043E\u043D\u0438 \u0435\u0441\u0442\u044C):\n- {{directories}}",
289308
+ "Successfully added QWEN.md files from the following directories if there are:\n- {{directories}}": "\u0423\u0441\u043F\u0435\u0448\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0444\u0430\u0439\u043B\u044B QWEN.md \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u0439 (\u0435\u0441\u043B\u0438 \u043E\u043D\u0438 \u0435\u0441\u0442\u044C):\n- {{directories}}",
288395
289309
  "Error refreshing memory: {{error}}": "\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0438 \u043F\u0430\u043C\u044F\u0442\u0438: {{error}}",
288396
289310
  "Successfully added directories:\n- {{directories}}": "\u0423\u0441\u043F\u0435\u0448\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u0438:\n- {{directories}}",
288397
289311
  "Current workspace directories:\n{{directories}}": "\u0422\u0435\u043A\u0443\u0449\u0438\u0435 \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u0438 \u0440\u0430\u0431\u043E\u0447\u0435\u0433\u043E \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u0430:\n{{directories}}",
@@ -288563,6 +289477,7 @@ var init_ru = __esm({
288563
289477
  // Экран выхода / Статистика
288564
289478
  // ============================================================================
288565
289479
  "Agent powering down. Goodbye!": "\u0410\u0433\u0435\u043D\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442 \u0440\u0430\u0431\u043E\u0442\u0443. \u0414\u043E \u0441\u0432\u0438\u0434\u0430\u043D\u0438\u044F!",
289480
+ "To continue this session, run": "\u0414\u043B\u044F \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0438\u044F \u044D\u0442\u043E\u0439 \u0441\u0435\u0441\u0441\u0438\u0438, \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u0435",
288566
289481
  "Interaction Summary": "\u0421\u0432\u043E\u0434\u043A\u0430 \u0432\u0437\u0430\u0438\u043C\u043E\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F",
288567
289482
  "Session ID:": "ID \u0441\u0435\u0441\u0441\u0438\u0438:",
288568
289483
  "Tool Calls:": "\u0412\u044B\u0437\u043E\u0432\u044B \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432:",
@@ -288615,134 +289530,139 @@ var init_ru = __esm({
288615
289530
  // ============================================================================
288616
289531
  "Waiting for user confirmation...": "\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u043E\u0442 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F...",
288617
289532
  "(esc to cancel, {{time}})": "(esc \u0434\u043B\u044F \u043E\u0442\u043C\u0435\u043D\u044B, {{time}})",
288618
- "I'm Feeling Lucky": "\u041C\u043D\u0435 \u043F\u043E\u0432\u0435\u0437\u0451\u0442!",
288619
- "Shipping awesomeness... ": "\u0414\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u043C \u043A\u0440\u0443\u0442\u0438\u0437\u043D\u0443... ",
288620
- "Painting the serifs back on...": "\u0420\u0438\u0441\u0443\u0435\u043C \u0437\u0430\u0441\u0435\u0447\u043A\u0438 \u043D\u0430 \u0431\u0443\u043A\u0432\u0430\u0445...",
288621
- "Navigating the slime mold...": "\u041F\u0440\u043E\u0431\u0438\u0440\u0430\u0435\u043C\u0441\u044F \u0447\u0435\u0440\u0435\u0437 \u0441\u043B\u0438\u0437\u0435\u0432\u0438\u043A\u043E\u0432..",
288622
- "Consulting the digital spirits...": "\u0421\u043E\u0432\u0435\u0442\u0443\u0435\u043C\u0441\u044F \u0441 \u0446\u0438\u0444\u0440\u043E\u0432\u044B\u043C\u0438 \u0434\u0443\u0445\u0430\u043C\u0438...",
288623
- "Reticulating splines...": "\u0421\u0433\u043B\u0430\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u0441\u043F\u043B\u0430\u0439\u043D\u043E\u0432...",
288624
- "Warming up the AI hamsters...": "\u0420\u0430\u0437\u043E\u0433\u0440\u0435\u0432\u0430\u0435\u043C \u0418\u0418-\u0445\u043E\u043C\u044F\u0447\u043A\u043E\u0432...",
288625
- "Asking the magic conch shell...": "\u0421\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043C \u0432\u043E\u043B\u0448\u0435\u0431\u043D\u0443\u044E \u0440\u0430\u043A\u0443\u0448\u043A\u0443...",
288626
- "Generating witty retort...": "\u0413\u0435\u043D\u0435\u0440\u0438\u0440\u0443\u0435\u043C \u043E\u0441\u0442\u0440\u043E\u0443\u043C\u043D\u044B\u0439 \u043E\u0442\u0432\u0435\u0442...",
288627
- "Polishing the algorithms...": "\u041F\u043E\u043B\u0438\u0440\u0443\u0435\u043C \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C\u044B...",
288628
- "Don't rush perfection (or my code)...": "\u041D\u0435 \u0442\u043E\u0440\u043E\u043F\u0438\u0442\u0435 \u0441\u043E\u0432\u0435\u0440\u0448\u0435\u043D\u0441\u0442\u0432\u043E (\u0438\u043B\u0438 \u043C\u043E\u0439 \u043A\u043E\u0434)...",
288629
- "Brewing fresh bytes...": "\u0417\u0430\u0432\u0430\u0440\u0438\u0432\u0430\u0435\u043C \u0441\u0432\u0435\u0436\u0438\u0435 \u0431\u0430\u0439\u0442\u044B...",
288630
- "Counting electrons...": "\u041F\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u044B\u0432\u0430\u0435\u043C \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u044B...",
288631
- "Engaging cognitive processors...": "\u0417\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u043C \u043A\u043E\u0433\u043D\u0438\u0442\u0438\u0432\u043D\u044B\u0435 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u043E\u0440\u044B...",
288632
- "Checking for syntax errors in the universe...": "\u0418\u0449\u0435\u043C \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u043E\u0448\u0438\u0431\u043A\u0438 \u0432\u043E \u0432\u0441\u0435\u043B\u0435\u043D\u043D\u043E\u0439...",
288633
- "One moment, optimizing humor...": "\u0421\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043A\u0443, \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0438\u0440\u0443\u0435\u043C \u044E\u043C\u043E\u0440...",
288634
- "Shuffling punchlines...": "\u041F\u0435\u0440\u0435\u0442\u0430\u0441\u043E\u0432\u044B\u0432\u0430\u0435\u043C \u043F\u0430\u043D\u0447\u043B\u0430\u0439\u043D\u044B...",
288635
- "Untangling neural nets...": "\u0420\u0430\u0441\u043F\u0443\u0442\u0430\u0432\u0430\u0435\u043C \u043D\u0435\u0439\u0440\u043E\u0441\u0435\u0442\u0438...",
288636
- "Compiling brilliance...": "\u041A\u043E\u043C\u043F\u0438\u043B\u0438\u0440\u0443\u0435\u043C \u0433\u0435\u043D\u0438\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u044C...",
288637
- "Loading wit.exe...": "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043C yumor.exe...",
288638
- "Summoning the cloud of wisdom...": "\u041F\u0440\u0438\u0437\u044B\u0432\u0430\u0435\u043C \u043E\u0431\u043B\u0430\u043A\u043E \u043C\u0443\u0434\u0440\u043E\u0441\u0442\u0438...",
288639
- "Preparing a witty response...": "\u0413\u043E\u0442\u043E\u0432\u0438\u043C \u043E\u0441\u0442\u0440\u043E\u0443\u043C\u043D\u044B\u0439 \u043E\u0442\u0432\u0435\u0442...",
288640
- "Just a sec, I'm debugging reality...": "\u0421\u0435\u043A\u0443\u043D\u0434\u0443, \u0438\u0434\u0451\u0442 \u043E\u0442\u043B\u0430\u0434\u043A\u0430 \u0440\u0435\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u0438...",
288641
- "Confuzzling the options...": "\u0417\u0430\u043F\u0443\u0442\u044B\u0432\u0430\u0435\u043C \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u044B...",
288642
- "Tuning the cosmic frequencies...": "\u041D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C \u043A\u043E\u0441\u043C\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0447\u0430\u0441\u0442\u043E\u0442\u044B...",
288643
- "Crafting a response worthy of your patience...": "\u0421\u043E\u0437\u0434\u0430\u0435\u043C \u043E\u0442\u0432\u0435\u0442, \u0434\u043E\u0441\u0442\u043E\u0439\u043D\u044B\u0439 \u0432\u0430\u0448\u0435\u0433\u043E \u0442\u0435\u0440\u043F\u0435\u043D\u0438\u044F...",
288644
- "Compiling the 1s and 0s...": "\u041A\u043E\u043C\u043F\u0438\u043B\u0438\u0440\u0443\u0435\u043C \u0435\u0434\u0438\u043D\u0438\u0447\u043A\u0438 \u0438 \u043D\u043E\u043B\u0438\u043A\u0438...",
288645
- "Resolving dependencies... and existential crises...": "\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043C \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438... \u0438 \u044D\u043A\u0437\u0438\u0441\u0442\u0435\u043D\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u043A\u0440\u0438\u0437\u0438\u0441\u044B...",
288646
- "Defragmenting memories... both RAM and personal...": "\u0414\u0435\u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F \u043F\u0430\u043C\u044F\u0442\u0438... \u0438 \u043E\u043F\u0435\u0440\u0430\u0442\u0438\u0432\u043D\u043E\u0439, \u0438 \u043B\u0438\u0447\u043D\u043E\u0439...",
288647
- "Rebooting the humor module...": "\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043C\u043E\u0434\u0443\u043B\u044F \u044E\u043C\u043E\u0440\u0430...",
288648
- "Caching the essentials (mostly cat memes)...": "\u041A\u044D\u0448\u0438\u0440\u0443\u0435\u043C \u0441\u0430\u043C\u043E\u0435 \u0432\u0430\u0436\u043D\u043E\u0435 (\u0432 \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u043C \u043C\u0435\u043C\u044B \u0441 \u043A\u043E\u0442\u0438\u043A\u0430\u043C\u0438)...",
288649
- "Optimizing for ludicrous speed": "\u041E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0446\u0438\u044F \u0434\u043B\u044F \u0431\u0435\u0437\u0443\u043C\u043D\u043E\u0439 \u0441\u043A\u043E\u0440\u043E\u0441\u0442\u0438",
288650
- "Swapping bits... don't tell the bytes...": "\u041C\u0435\u043D\u044F\u0435\u043C \u0431\u0438\u0442\u044B... \u0442\u043E\u043B\u044C\u043A\u043E \u0431\u0430\u0439\u0442\u0430\u043C \u043D\u0435 \u0433\u043E\u0432\u043E\u0440\u0438\u0442\u0435...",
288651
- "Garbage collecting... be right back...": "\u0421\u0431\u043E\u0440\u043A\u0430 \u043C\u0443\u0441\u043E\u0440\u0430... \u0441\u043A\u043E\u0440\u043E \u0432\u0435\u0440\u043D\u0443\u0441\u044C...",
288652
- "Assembling the interwebs...": "\u0421\u0431\u043E\u0440\u043A\u0430 \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u043E\u0432...",
288653
- "Converting coffee into code...": "\u041F\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u043C \u043A\u043E\u0444\u0435 \u0432 \u043A\u043E\u0434...",
288654
- "Updating the syntax for reality...": "\u041E\u0431\u043D\u043E\u0432\u043B\u044F\u0435\u043C \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u0440\u0435\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u0438...",
288655
- "Rewiring the synapses...": "\u041F\u0435\u0440\u0435\u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0430\u0435\u043C \u0441\u0438\u043D\u0430\u043F\u0441\u044B...",
288656
- "Looking for a misplaced semicolon...": "\u0418\u0449\u0435\u043C \u043B\u0438\u0448\u043D\u044E\u044E \u0442\u043E\u0447\u043A\u0443 \u0441 \u0437\u0430\u043F\u044F\u0442\u043E\u0439...",
288657
- "Greasin' the cogs of the machine...": "\u0421\u043C\u0430\u0437\u044B\u0432\u0430\u0435\u043C \u0448\u0435\u0441\u0442\u0435\u0440\u0451\u043D\u043A\u0438 \u043C\u0430\u0448\u0438\u043D\u044B...",
288658
- "Pre-heating the servers...": "\u0420\u0430\u0437\u043E\u0433\u0440\u0435\u0432\u0430\u0435\u043C \u0441\u0435\u0440\u0432\u0435\u0440\u044B...",
288659
- "Calibrating the flux capacitor...": "\u041A\u0430\u043B\u0438\u0431\u0440\u0443\u0435\u043C \u043F\u043E\u0442\u043E\u043A\u043E\u0432\u044B\u0439 \u043D\u0430\u043A\u043E\u043F\u0438\u0442\u0435\u043B\u044C...",
288660
- "Engaging the improbability drive...": "\u0412\u043A\u043B\u044E\u0447\u0430\u0435\u043C \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043B\u044C \u043D\u0435\u0432\u0435\u0440\u043E\u044F\u0442\u043D\u043E\u0441\u0442\u0438...",
288661
- "Channeling the Force...": "\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u043C \u0421\u0438\u043B\u0443...",
288662
- "Aligning the stars for optimal response...": "\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u0435\u043C \u0437\u0432\u0451\u0437\u0434\u044B \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043E\u0442\u0432\u0435\u0442\u0430...",
288663
- "So say we all...": "\u0422\u0430\u043A \u0441\u043A\u0430\u0436\u0435\u043C \u043C\u044B \u0432\u0441\u0435...",
288664
- "Loading the next great idea...": "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439 \u0432\u0435\u043B\u0438\u043A\u043E\u0439 \u0438\u0434\u0435\u0438...",
288665
- "Just a moment, I'm in the zone...": "\u041C\u0438\u043D\u0443\u0442\u043A\u0443, \u044F \u0432 \u043F\u043E\u0442\u043E\u043A\u0435...",
288666
- "Preparing to dazzle you with brilliance...": "\u0413\u043E\u0442\u043E\u0432\u043B\u044E\u0441\u044C \u043E\u0441\u043B\u0435\u043F\u0438\u0442\u044C \u0432\u0430\u0441 \u0433\u0435\u043D\u0438\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u044C\u044E...",
288667
- "Just a tick, I'm polishing my wit...": "\u0421\u0435\u043A\u0443\u043D\u0434\u0443, \u043F\u043E\u043B\u0438\u0440\u0443\u044E \u043E\u0441\u0442\u0440\u043E\u0443\u043C\u0438\u0435...",
288668
- "Hold tight, I'm crafting a masterpiece...": "\u0414\u0435\u0440\u0436\u0438\u0442\u0435\u0441\u044C, \u0441\u043E\u0437\u0434\u0430\u044E \u0448\u0435\u0434\u0435\u0432\u0440...",
288669
- "Just a jiffy, I'm debugging the universe...": "\u041C\u0438\u0433\u043E\u043C, \u043E\u0442\u043B\u0430\u0436\u0438\u0432\u0430\u044E \u0432\u0441\u0435\u043B\u0435\u043D\u043D\u0443\u044E...",
288670
- "Just a moment, I'm aligning the pixels...": "\u041C\u043E\u043C\u0435\u043D\u0442, \u0432\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u044E \u043F\u0438\u043A\u0441\u0435\u043B\u0438...",
288671
- "Just a sec, I'm optimizing the humor...": "\u0421\u0435\u043A\u0443\u043D\u0434\u0443, \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0438\u0440\u0443\u044E \u044E\u043C\u043E\u0440...",
288672
- "Just a moment, I'm tuning the algorithms...": "\u041C\u043E\u043C\u0435\u043D\u0442, \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044E \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C\u044B...",
288673
- "Warp speed engaged...": "\u0412\u0430\u0440\u043F-\u0441\u043A\u043E\u0440\u043E\u0441\u0442\u044C \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0430...",
288674
- "Mining for more Dilithium crystals...": "\u0414\u043E\u0431\u044B\u0432\u0430\u0435\u043C \u043A\u0440\u0438\u0441\u0442\u0430\u043B\u043B\u044B \u0434\u0438\u043B\u0438\u0442\u0438\u044F...",
288675
- "Don't panic...": "\u0411\u0435\u0437 \u043F\u0430\u043D\u0438\u043A\u0438...",
288676
- "Following the white rabbit...": "\u0421\u043B\u0435\u0434\u0443\u0435\u043C \u0437\u0430 \u0431\u0435\u043B\u044B\u043C \u043A\u0440\u043E\u043B\u0438\u043A\u043E\u043C...",
288677
- "The truth is in here... somewhere...": "\u0418\u0441\u0442\u0438\u043D\u0430 \u0433\u0434\u0435-\u0442\u043E \u0437\u0434\u0435\u0441\u044C... \u0432\u043D\u0443\u0442\u0440\u0438...",
288678
- "Blowing on the cartridge...": "\u041F\u0440\u043E\u0434\u0443\u0432\u0430\u0435\u043C \u043A\u0430\u0440\u0442\u0440\u0438\u0434\u0436...",
288679
- "Loading... Do a barrel roll!": "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430... \u0421\u0434\u0435\u043B\u0430\u0439 \u0431\u043E\u0447\u043A\u0443!",
288680
- "Waiting for the respawn...": "\u0416\u0434\u0435\u043C \u0440\u0435\u0441\u043F\u0430\u0443\u043D\u0430...",
288681
- "Finishing the Kessel Run in less than 12 parsecs...": "\u0414\u0435\u043B\u0430\u0435\u043C \u0414\u0443\u0433\u0443 \u041A\u0435\u0441\u0441\u0435\u043B\u044F \u043C\u0435\u043D\u0435\u0435 \u0447\u0435\u043C \u0437\u0430 12 \u043F\u0430\u0440\u0441\u0435\u043A\u043E\u0432...",
288682
- "The cake is not a lie, it's just still loading...": "\u0422\u043E\u0440\u0442\u0438\u043A \u2014 \u043D\u0435 \u043B\u043E\u0436\u044C, \u043E\u043D \u043F\u0440\u043E\u0441\u0442\u043E \u0435\u0449\u0451 \u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044F...",
288683
- "Fiddling with the character creation screen...": "\u0412\u043E\u0437\u0438\u043C\u0441\u044F \u0441 \u044D\u043A\u0440\u0430\u043D\u043E\u043C \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u0436\u0430...",
288684
- "Just a moment, I'm finding the right meme...": "\u041C\u0438\u043D\u0443\u0442\u043A\u0443, \u0438\u0449\u0443 \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0438\u0439 \u043C\u0435\u043C...",
288685
- "Pressing 'A' to continue...": "\u041D\u0430\u0436\u0438\u043C\u0430\u0435\u043C 'A' \u0434\u043B\u044F \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0438\u044F...",
288686
- "Herding digital cats...": "\u041F\u0430\u0441\u0451\u043C \u0446\u0438\u0444\u0440\u043E\u0432\u044B\u0445 \u043A\u043E\u0442\u043E\u0432...",
288687
- "Polishing the pixels...": "\u041F\u043E\u043B\u0438\u0440\u0443\u0435\u043C \u043F\u0438\u043A\u0441\u0435\u043B\u0438...",
288688
- "Finding a suitable loading screen pun...": "\u0418\u0449\u0435\u043C \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0438\u0439 \u043A\u0430\u043B\u0430\u043C\u0431\u0443\u0440 \u0434\u043B\u044F \u044D\u043A\u0440\u0430\u043D\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438...",
288689
- "Distracting you with this witty phrase...": "\u041E\u0442\u0432\u043B\u0435\u043A\u0430\u0435\u043C \u0432\u0430\u0441 \u044D\u0442\u043E\u0439 \u043E\u0441\u0442\u0440\u043E\u0443\u043C\u043D\u043E\u0439 \u0444\u0440\u0430\u0437\u043E\u0439...",
288690
- "Almost there... probably...": "\u041F\u043E\u0447\u0442\u0438 \u0433\u043E\u0442\u043E\u0432\u043E... \u0432\u0440\u043E\u0434\u0435...",
288691
- "Our hamsters are working as fast as they can...": "\u041D\u0430\u0448\u0438 \u0445\u043E\u043C\u044F\u0447\u043A\u0438 \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0442 \u0438\u0437\u043E \u0432\u0441\u0435\u0445 \u0441\u0438\u043B...",
288692
- "Giving Cloudy a pat on the head...": "\u0413\u043B\u0430\u0434\u0438\u043C \u041E\u0431\u043B\u0430\u0447\u043A\u043E \u043F\u043E \u0433\u043E\u043B\u043E\u0432\u0435...",
288693
- "Petting the cat...": "\u0413\u043B\u0430\u0434\u0438\u043C \u043A\u043E\u0442\u0430...",
288694
- "Rickrolling my boss...": "\u0420\u0438\u043A\u0440\u043E\u043B\u043B\u0438\u043C \u043D\u0430\u0447\u0430\u043B\u044C\u043D\u0438\u043A\u0430...",
288695
- "Never gonna give you up, never gonna let you down...": "Never gonna give you up, never gonna let you down...",
288696
- "Slapping the bass...": "\u041B\u0430\u0431\u0430\u0435\u043C \u0431\u0430\u0441-\u0433\u0438\u0442\u0430\u0440\u0443...",
288697
- "Tasting the snozberries...": "\u041F\u0440\u043E\u0431\u0443\u0435\u043C \u0441\u043D\u0443\u0437\u0431\u0435\u0440\u0440\u0438 \u043D\u0430 \u0432\u043A\u0443\u0441...",
288698
- "I'm going the distance, I'm going for speed...": "\u0418\u0434\u0443 \u0434\u043E \u043A\u043E\u043D\u0446\u0430, \u0438\u0434\u0443 \u043D\u0430 \u0441\u043A\u043E\u0440\u043E\u0441\u0442\u044C...",
288699
- "Is this the real life? Is this just fantasy?...": "Is this the real life? Is this just fantasy?...",
288700
- "I've got a good feeling about this...": "\u0423 \u043C\u0435\u043D\u044F \u0445\u043E\u0440\u043E\u0448\u0435\u0435 \u043F\u0440\u0435\u0434\u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0435...",
288701
- "Poking the bear...": "\u0414\u0440\u0430\u0437\u043D\u0438\u043C \u043C\u0435\u0434\u0432\u0435\u0434\u044F... (\u041D\u0435 \u043B\u0435\u0437\u044C...)",
288702
- "Doing research on the latest memes...": "\u0418\u0437\u0443\u0447\u0430\u0435\u043C \u0441\u0432\u0435\u0436\u0438\u0435 \u043C\u0435\u043C\u044B...",
288703
- "Figuring out how to make this more witty...": "\u0414\u0443\u043C\u0430\u0435\u043C, \u043A\u0430\u043A \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u044D\u0442\u043E \u043E\u0441\u0442\u0440\u043E\u0443\u043C\u043D\u0435\u0435...",
288704
- "Hmmm... let me think...": "\u0425\u043C\u043C... \u0434\u0430\u0439\u0442\u0435 \u043F\u043E\u0434\u0443\u043C\u0430\u0442\u044C...",
288705
- "What do you call a fish with no eyes? A fsh...": "\u041A\u0430\u043A \u043D\u0430\u0437\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u0431\u0443\u043C\u0435\u0440\u0430\u043D\u0433, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u043D\u0435 \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044F? \u041F\u0430\u043B\u043A\u0430...",
288706
- "Why did the computer go to therapy? It had too many bytes...": "\u041F\u043E\u0447\u0435\u043C\u0443 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440 \u043F\u0440\u043E\u0441\u0442\u0443\u0434\u0438\u043B\u0441\u044F? \u041F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043E\u0441\u0442\u0430\u0432\u0438\u043B \u043E\u043A\u043D\u0430 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u043C\u0438...",
288707
- "Why don't programmers like nature? It has too many bugs...": "\u041F\u043E\u0447\u0435\u043C\u0443 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0441\u0442\u044B \u043D\u0435 \u043B\u044E\u0431\u044F\u0442 \u0433\u0443\u043B\u044F\u0442\u044C \u043D\u0430 \u0443\u043B\u0438\u0446\u0435? \u0422\u0430\u043C \u0441\u0440\u0435\u0434\u0430 \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u0430...",
288708
- "Why do programmers prefer dark mode? Because light attracts bugs...": "\u041F\u043E\u0447\u0435\u043C\u0443 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0441\u0442\u044B \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u044E\u0442 \u0442\u0451\u043C\u043D\u0443\u044E \u0442\u0435\u043C\u0443? \u041F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u0432 \u0442\u0435\u043C\u043D\u043E\u0442\u0435 \u043D\u0435 \u0432\u0438\u0434\u043D\u043E \u0431\u0430\u0433\u043E\u0432...",
288709
- "Why did the developer go broke? Because they used up all their cache...": "\u041F\u043E\u0447\u0435\u043C\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A \u0440\u0430\u0437\u043E\u0440\u0438\u043B\u0441\u044F? \u041F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043F\u043E\u0442\u0440\u0430\u0442\u0438\u043B \u0432\u0435\u0441\u044C \u0441\u0432\u043E\u0439 \u043A\u044D\u0448...",
288710
- "What can you do with a broken pencil? Nothing, it's pointless...": "\u0427\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0434\u0435\u043B\u0430\u0442\u044C \u0441\u043E \u0441\u043B\u043E\u043C\u0430\u043D\u043D\u044B\u043C \u043A\u0430\u0440\u0430\u043D\u0434\u0430\u0448\u043E\u043C? \u041D\u0438\u0447\u0435\u0433\u043E \u2014 \u043E\u043D \u0442\u0443\u043F\u043E\u0439...",
288711
- "Applying percussive maintenance...": "\u041F\u0440\u043E\u0432\u043E\u0436\u0443 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0443 \u043C\u0435\u0442\u043E\u0434\u043E\u043C \u0442\u044B\u043A\u0430...",
288712
- "Searching for the correct USB orientation...": "\u0418\u0449\u0435\u043C, \u043A\u0430\u043A\u043E\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u043E\u0439 \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C \u0444\u043B\u0435\u0448\u043A\u0443...",
288713
- "Ensuring the magic smoke stays inside the wires...": "\u0421\u043B\u0435\u0434\u0438\u043C, \u0447\u0442\u043E\u0431\u044B \u0432\u043E\u043B\u0448\u0435\u0431\u043D\u044B\u0439 \u0434\u044B\u043C \u043D\u0435 \u0432\u044B\u0448\u0435\u043B \u0438\u0437 \u043F\u0440\u043E\u0432\u043E\u0434\u043E\u0432...",
288714
- "Rewriting in Rust for no particular reason...": "\u041F\u0435\u0440\u0435\u043F\u0438\u0441\u044B\u0432\u0430\u0435\u043C \u0432\u0441\u0451 \u043D\u0430 Rust \u0431\u0435\u0437 \u043E\u0441\u043E\u0431\u043E\u0439 \u043F\u0440\u0438\u0447\u0438\u043D\u044B...",
288715
- "Trying to exit Vim...": "\u041F\u044B\u0442\u0430\u0435\u043C\u0441\u044F \u0432\u044B\u0439\u0442\u0438 \u0438\u0437 Vim...",
288716
- "Spinning up the hamster wheel...": "\u0420\u0430\u0441\u043A\u0440\u0443\u0447\u0438\u0432\u0430\u0435\u043C \u043A\u043E\u043B\u0435\u0441\u043E \u0434\u043B\u044F \u0445\u043E\u043C\u044F\u043A\u0430...",
288717
- "That's not a bug, it's an undocumented feature...": "\u042D\u0442\u043E \u043D\u0435 \u0431\u0430\u0433, \u0430 \u0444\u0438\u0447\u0430...",
288718
- "Engage.": "\u041F\u043E\u0435\u0445\u0430\u043B\u0438!",
288719
- "I'll be back... with an answer.": "\u042F \u0432\u0435\u0440\u043D\u0443\u0441\u044C... \u0441 \u043E\u0442\u0432\u0435\u0442\u043E\u043C.",
288720
- "My other process is a TARDIS...": "\u041C\u043E\u0439 \u0434\u0440\u0443\u0433\u043E\u0439 \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u2014 \u044D\u0442\u043E \u0422\u0410\u0420\u0414\u0418\u0421...",
288721
- "Communing with the machine spirit...": "\u041E\u0431\u0449\u0430\u0435\u043C\u0441\u044F \u0441 \u0434\u0443\u0445\u043E\u043C \u043C\u0430\u0448\u0438\u043D\u044B...",
288722
- "Letting the thoughts marinate...": "\u0414\u0430\u0435\u043C \u043C\u044B\u0441\u043B\u044F\u043C \u0437\u0430\u043C\u0430\u0440\u0438\u043D\u043E\u0432\u0430\u0442\u044C\u0441\u044F...",
288723
- "Just remembered where I put my keys...": "\u0422\u043E\u043B\u044C\u043A\u043E \u0447\u0442\u043E \u0432\u0441\u043F\u043E\u043C\u043D\u0438\u043B, \u043A\u0443\u0434\u0430 \u043F\u043E\u043B\u043E\u0436\u0438\u043B \u043A\u043B\u044E\u0447\u0438...",
288724
- "Pondering the orb...": "\u0420\u0430\u0437\u043C\u044B\u0448\u043B\u044F\u044E \u043D\u0430\u0434 \u0441\u0444\u0435\u0440\u043E\u0439...",
288725
- "I've seen things you people wouldn't believe... like a user who reads loading messages.": "\u042F \u0432\u0438\u0434\u0435\u043B \u0442\u0430\u043A\u043E\u0435, \u0432\u043E \u0447\u0442\u043E \u0432\u044B, \u043B\u044E\u0434\u0438, \u043F\u0440\u043E\u0441\u0442\u043E \u043D\u0435 \u043F\u043E\u0432\u0435\u0440\u0438\u0442\u0435... \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F, \u0447\u0438\u0442\u0430\u044E\u0449\u0435\u0433\u043E \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438.",
288726
- "Initiating thoughtful gaze...": "\u0418\u043D\u0438\u0446\u0438\u0438\u0440\u0443\u0435\u043C \u0437\u0430\u0434\u0443\u043C\u0447\u0438\u0432\u044B\u0439 \u0432\u0437\u0433\u043B\u044F\u0434...",
288727
- "What's a computer's favorite snack? Microchips.": "\u0427\u0442\u043E \u0441\u0435\u0440\u0432\u0435\u0440 \u0437\u0430\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0432 \u0431\u0430\u0440\u0435? \u041F\u0438\u043D\u0433-\u043A\u043E\u043B\u0430\u0434\u0443.",
288728
- "Why do Java developers wear glasses? Because they don't C#.": "\u041F\u043E\u0447\u0435\u043C\u0443 Java-\u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A\u0438 \u043D\u0435 \u0443\u0431\u0438\u0440\u0430\u044E\u0442\u0441\u044F \u0434\u043E\u043C\u0430? \u041E\u043D\u0438 \u0436\u0434\u0443\u0442 \u0441\u0431\u043E\u0440\u0449\u0438\u043A \u043C\u0443\u0441\u043E\u0440\u0430...",
288729
- "Charging the laser... pew pew!": "\u0417\u0430\u0440\u044F\u0436\u0430\u0435\u043C \u043B\u0430\u0437\u0435\u0440... \u043F\u0438\u0443-\u043F\u0438\u0443!",
288730
- "Dividing by zero... just kidding!": "\u0414\u0435\u043B\u0438\u043C \u043D\u0430 \u043D\u043E\u043B\u044C... \u0448\u0443\u0447\u0443!",
288731
- "Looking for an adult superviso... I mean, processing.": "\u0418\u0449\u0443 \u0432\u0437\u0440\u043E\u0441\u043B\u044B\u0445 \u0434\u043B\u044F \u043F\u0440\u0438\u0441\u043C\u043E\u0442... \u0432 \u0441\u043C\u044B\u0441\u043B\u0435, \u043E\u0431\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u044E.",
288732
- "Making it go beep boop.": "\u0414\u0435\u043B\u0430\u0435\u043C \u0431\u0438\u043F-\u0431\u0443\u043F.",
288733
- "Buffering... because even AIs need a moment.": "\u0411\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044F... \u0434\u0430\u0436\u0435 \u0418\u0418 \u043D\u0443\u0436\u043D\u043E \u043C\u0433\u043D\u043E\u0432\u0435\u043D\u0438\u0435.",
288734
- "Entangling quantum particles for a faster response...": "\u0417\u0430\u043F\u0443\u0442\u044B\u0432\u0430\u0435\u043C \u043A\u0432\u0430\u043D\u0442\u043E\u0432\u044B\u0435 \u0447\u0430\u0441\u0442\u0438\u0446\u044B \u0434\u043B\u044F \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u043E\u0442\u0432\u0435\u0442\u0430...",
288735
- "Polishing the chrome... on the algorithms.": "\u041F\u043E\u043B\u0438\u0440\u0443\u0435\u043C \u0445\u0440\u043E\u043C... \u043D\u0430 \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C\u0430\u0445.",
288736
- "Are you not entertained? (Working on it!)": "\u0412\u044B \u0435\u0449\u0451 \u043D\u0435 \u0440\u0430\u0437\u0432\u043B\u0435\u043A\u043B\u0438\u0441\u044C?! \u0420\u0430\u0437\u0432\u0435 \u0432\u044B \u043D\u0435 \u0437\u0430 \u044D\u0442\u0438\u043C \u0441\u044E\u0434\u0430 \u043F\u0440\u0438\u0448\u043B\u0438?!",
288737
- "Summoning the code gremlins... to help, of course.": "\u041F\u0440\u0438\u0437\u044B\u0432\u0430\u0435\u043C \u0433\u0440\u0435\u043C\u043B\u0438\u043D\u043E\u0432 \u043A\u043E\u0434\u0430... \u0434\u043B\u044F \u043F\u043E\u043C\u043E\u0449\u0438, \u043A\u043E\u043D\u0435\u0447\u043D\u043E \u0436\u0435.",
288738
- "Just waiting for the dial-up tone to finish...": "\u0416\u0434\u0435\u043C, \u043F\u043E\u043A\u0430 \u0437\u0430\u043A\u043E\u043D\u0447\u0438\u0442\u0441\u044F \u0437\u0432\u0443\u043A dial-up \u043C\u043E\u0434\u0435\u043C\u0430...",
288739
- "Recalibrating the humor-o-meter.": "\u041F\u0435\u0440\u0435\u043A\u0430\u043B\u0438\u0431\u0440\u043E\u0432\u043A\u0430 \u044E\u043C\u043E\u0440\u043E\u043C\u0435\u0442\u0440\u0430.",
288740
- "My other loading screen is even funnier.": "\u041C\u043E\u0439 \u0434\u0440\u0443\u0433\u043E\u0439 \u044D\u043A\u0440\u0430\u043D \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0435\u0449\u0451 \u0441\u043C\u0435\u0448\u043D\u0435\u0435.",
288741
- "Pretty sure there's a cat walking on the keyboard somewhere...": "\u041A\u0430\u0436\u0435\u0442\u0441\u044F, \u0433\u0434\u0435-\u0442\u043E \u043F\u043E \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435 \u0433\u0443\u043B\u044F\u0435\u0442 \u043A\u043E\u0442...",
288742
- "Enhancing... Enhancing... Still loading.": "\u0423\u043B\u0443\u0447\u0448\u0430\u0435\u043C... \u0415\u0449\u0451 \u0443\u043B\u0443\u0447\u0448\u0430\u0435\u043C... \u0412\u0441\u0451 \u0435\u0449\u0451 \u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044F.",
288743
- "It's not a bug, it's a feature... of this loading screen.": "\u042D\u0442\u043E \u043D\u0435 \u0431\u0430\u0433, \u044D\u0442\u043E \u0444\u0438\u0447\u0430... \u044D\u043A\u0440\u0430\u043D\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438.",
288744
- "Have you tried turning it off and on again? (The loading screen, not me.)": "\u041F\u0440\u043E\u0431\u043E\u0432\u0430\u043B\u0438 \u0432\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0438 \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u043D\u043E\u0432\u0430? (\u042D\u043A\u0440\u0430\u043D \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438, \u043D\u0435 \u043C\u0435\u043D\u044F!)",
288745
- "Constructing additional pylons...": "\u041D\u0443\u0436\u043D\u043E \u043F\u043E\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435 \u043F\u0438\u043B\u043E\u043D\u043E\u0432..."
289533
+ // ============================================================================
289534
+ // ============================================================================
289535
+ // Loading Phrases
289536
+ // ============================================================================
289537
+ WITTY_LOADING_PHRASES: [
289538
+ "\u041C\u043D\u0435 \u043F\u043E\u0432\u0435\u0437\u0451\u0442!",
289539
+ "\u0414\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u043C \u043A\u0440\u0443\u0442\u0438\u0437\u043D\u0443... ",
289540
+ "\u0420\u0438\u0441\u0443\u0435\u043C \u0437\u0430\u0441\u0435\u0447\u043A\u0438 \u043D\u0430 \u0431\u0443\u043A\u0432\u0430\u0445...",
289541
+ "\u041F\u0440\u043E\u0431\u0438\u0440\u0430\u0435\u043C\u0441\u044F \u0447\u0435\u0440\u0435\u0437 \u0441\u043B\u0438\u0437\u0435\u0432\u0438\u043A\u043E\u0432..",
289542
+ "\u0421\u043E\u0432\u0435\u0442\u0443\u0435\u043C\u0441\u044F \u0441 \u0446\u0438\u0444\u0440\u043E\u0432\u044B\u043C\u0438 \u0434\u0443\u0445\u0430\u043C\u0438...",
289543
+ "\u0421\u0433\u043B\u0430\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u0441\u043F\u043B\u0430\u0439\u043D\u043E\u0432...",
289544
+ "\u0420\u0430\u0437\u043E\u0433\u0440\u0435\u0432\u0430\u0435\u043C \u0418\u0418-\u0445\u043E\u043C\u044F\u0447\u043A\u043E\u0432...",
289545
+ "\u0421\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043C \u0432\u043E\u043B\u0448\u0435\u0431\u043D\u0443\u044E \u0440\u0430\u043A\u0443\u0448\u043A\u0443...",
289546
+ "\u0413\u0435\u043D\u0435\u0440\u0438\u0440\u0443\u0435\u043C \u043E\u0441\u0442\u0440\u043E\u0443\u043C\u043D\u044B\u0439 \u043E\u0442\u0432\u0435\u0442...",
289547
+ "\u041F\u043E\u043B\u0438\u0440\u0443\u0435\u043C \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C\u044B...",
289548
+ "\u041D\u0435 \u0442\u043E\u0440\u043E\u043F\u0438\u0442\u0435 \u0441\u043E\u0432\u0435\u0440\u0448\u0435\u043D\u0441\u0442\u0432\u043E (\u0438\u043B\u0438 \u043C\u043E\u0439 \u043A\u043E\u0434)...",
289549
+ "\u0417\u0430\u0432\u0430\u0440\u0438\u0432\u0430\u0435\u043C \u0441\u0432\u0435\u0436\u0438\u0435 \u0431\u0430\u0439\u0442\u044B...",
289550
+ "\u041F\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u044B\u0432\u0430\u0435\u043C \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u044B...",
289551
+ "\u0417\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u043C \u043A\u043E\u0433\u043D\u0438\u0442\u0438\u0432\u043D\u044B\u0435 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u043E\u0440\u044B...",
289552
+ "\u0418\u0449\u0435\u043C \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u043E\u0448\u0438\u0431\u043A\u0438 \u0432\u043E \u0432\u0441\u0435\u043B\u0435\u043D\u043D\u043E\u0439...",
289553
+ "\u0421\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043A\u0443, \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0438\u0440\u0443\u0435\u043C \u044E\u043C\u043E\u0440...",
289554
+ "\u041F\u0435\u0440\u0435\u0442\u0430\u0441\u043E\u0432\u044B\u0432\u0430\u0435\u043C \u043F\u0430\u043D\u0447\u043B\u0430\u0439\u043D\u044B...",
289555
+ "\u0420\u0430\u0441\u043F\u0443\u0442\u0430\u0432\u0430\u0435\u043C \u043D\u0435\u0439\u0440\u043E\u0441\u0435\u0442\u0438...",
289556
+ "\u041A\u043E\u043C\u043F\u0438\u043B\u0438\u0440\u0443\u0435\u043C \u0433\u0435\u043D\u0438\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u044C...",
289557
+ "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043C yumor.exe...",
289558
+ "\u041F\u0440\u0438\u0437\u044B\u0432\u0430\u0435\u043C \u043E\u0431\u043B\u0430\u043A\u043E \u043C\u0443\u0434\u0440\u043E\u0441\u0442\u0438...",
289559
+ "\u0413\u043E\u0442\u043E\u0432\u0438\u043C \u043E\u0441\u0442\u0440\u043E\u0443\u043C\u043D\u044B\u0439 \u043E\u0442\u0432\u0435\u0442...",
289560
+ "\u0421\u0435\u043A\u0443\u043D\u0434\u0443, \u0438\u0434\u0451\u0442 \u043E\u0442\u043B\u0430\u0434\u043A\u0430 \u0440\u0435\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u0438...",
289561
+ "\u0417\u0430\u043F\u0443\u0442\u044B\u0432\u0430\u0435\u043C \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u044B...",
289562
+ "\u041D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C \u043A\u043E\u0441\u043C\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0447\u0430\u0441\u0442\u043E\u0442\u044B...",
289563
+ "\u0421\u043E\u0437\u0434\u0430\u0435\u043C \u043E\u0442\u0432\u0435\u0442, \u0434\u043E\u0441\u0442\u043E\u0439\u043D\u044B\u0439 \u0432\u0430\u0448\u0435\u0433\u043E \u0442\u0435\u0440\u043F\u0435\u043D\u0438\u044F...",
289564
+ "\u041A\u043E\u043C\u043F\u0438\u043B\u0438\u0440\u0443\u0435\u043C \u0435\u0434\u0438\u043D\u0438\u0447\u043A\u0438 \u0438 \u043D\u043E\u043B\u0438\u043A\u0438...",
289565
+ "\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043C \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438... \u0438 \u044D\u043A\u0437\u0438\u0441\u0442\u0435\u043D\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u043A\u0440\u0438\u0437\u0438\u0441\u044B...",
289566
+ "\u0414\u0435\u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F \u043F\u0430\u043C\u044F\u0442\u0438... \u0438 \u043E\u043F\u0435\u0440\u0430\u0442\u0438\u0432\u043D\u043E\u0439, \u0438 \u043B\u0438\u0447\u043D\u043E\u0439...",
289567
+ "\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043C\u043E\u0434\u0443\u043B\u044F \u044E\u043C\u043E\u0440\u0430...",
289568
+ "\u041A\u044D\u0448\u0438\u0440\u0443\u0435\u043C \u0441\u0430\u043C\u043E\u0435 \u0432\u0430\u0436\u043D\u043E\u0435 (\u0432 \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u043C \u043C\u0435\u043C\u044B \u0441 \u043A\u043E\u0442\u0438\u043A\u0430\u043C\u0438)...",
289569
+ "\u041E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0446\u0438\u044F \u0434\u043B\u044F \u0431\u0435\u0437\u0443\u043C\u043D\u043E\u0439 \u0441\u043A\u043E\u0440\u043E\u0441\u0442\u0438",
289570
+ "\u041C\u0435\u043D\u044F\u0435\u043C \u0431\u0438\u0442\u044B... \u0442\u043E\u043B\u044C\u043A\u043E \u0431\u0430\u0439\u0442\u0430\u043C \u043D\u0435 \u0433\u043E\u0432\u043E\u0440\u0438\u0442\u0435...",
289571
+ "\u0421\u0431\u043E\u0440\u043A\u0430 \u043C\u0443\u0441\u043E\u0440\u0430... \u0441\u043A\u043E\u0440\u043E \u0432\u0435\u0440\u043D\u0443\u0441\u044C...",
289572
+ "\u0421\u0431\u043E\u0440\u043A\u0430 \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u043E\u0432...",
289573
+ "\u041F\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u043C \u043A\u043E\u0444\u0435 \u0432 \u043A\u043E\u0434...",
289574
+ "\u041E\u0431\u043D\u043E\u0432\u043B\u044F\u0435\u043C \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u0440\u0435\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u0438...",
289575
+ "\u041F\u0435\u0440\u0435\u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0430\u0435\u043C \u0441\u0438\u043D\u0430\u043F\u0441\u044B...",
289576
+ "\u0418\u0449\u0435\u043C \u043B\u0438\u0448\u043D\u044E\u044E \u0442\u043E\u0447\u043A\u0443 \u0441 \u0437\u0430\u043F\u044F\u0442\u043E\u0439...",
289577
+ "\u0421\u043C\u0430\u0437\u044B\u0432\u0430\u0435\u043C \u0448\u0435\u0441\u0442\u0435\u0440\u0451\u043D\u043A\u0438 \u043C\u0430\u0448\u0438\u043D\u044B...",
289578
+ "\u0420\u0430\u0437\u043E\u0433\u0440\u0435\u0432\u0430\u0435\u043C \u0441\u0435\u0440\u0432\u0435\u0440\u044B...",
289579
+ "\u041A\u0430\u043B\u0438\u0431\u0440\u0443\u0435\u043C \u043F\u043E\u0442\u043E\u043A\u043E\u0432\u044B\u0439 \u043D\u0430\u043A\u043E\u043F\u0438\u0442\u0435\u043B\u044C...",
289580
+ "\u0412\u043A\u043B\u044E\u0447\u0430\u0435\u043C \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043B\u044C \u043D\u0435\u0432\u0435\u0440\u043E\u044F\u0442\u043D\u043E\u0441\u0442\u0438...",
289581
+ "\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u043C \u0421\u0438\u043B\u0443...",
289582
+ "\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u0435\u043C \u0437\u0432\u0451\u0437\u0434\u044B \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043E\u0442\u0432\u0435\u0442\u0430...",
289583
+ "\u0422\u0430\u043A \u0441\u043A\u0430\u0436\u0435\u043C \u043C\u044B \u0432\u0441\u0435...",
289584
+ "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439 \u0432\u0435\u043B\u0438\u043A\u043E\u0439 \u0438\u0434\u0435\u0438...",
289585
+ "\u041C\u0438\u043D\u0443\u0442\u043A\u0443, \u044F \u0432 \u043F\u043E\u0442\u043E\u043A\u0435...",
289586
+ "\u0413\u043E\u0442\u043E\u0432\u043B\u044E\u0441\u044C \u043E\u0441\u043B\u0435\u043F\u0438\u0442\u044C \u0432\u0430\u0441 \u0433\u0435\u043D\u0438\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u044C\u044E...",
289587
+ "\u0421\u0435\u043A\u0443\u043D\u0434\u0443, \u043F\u043E\u043B\u0438\u0440\u0443\u044E \u043E\u0441\u0442\u0440\u043E\u0443\u043C\u0438\u0435...",
289588
+ "\u0414\u0435\u0440\u0436\u0438\u0442\u0435\u0441\u044C, \u0441\u043E\u0437\u0434\u0430\u044E \u0448\u0435\u0434\u0435\u0432\u0440...",
289589
+ "\u041C\u0438\u0433\u043E\u043C, \u043E\u0442\u043B\u0430\u0436\u0438\u0432\u0430\u044E \u0432\u0441\u0435\u043B\u0435\u043D\u043D\u0443\u044E...",
289590
+ "\u041C\u043E\u043C\u0435\u043D\u0442, \u0432\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u044E \u043F\u0438\u043A\u0441\u0435\u043B\u0438...",
289591
+ "\u0421\u0435\u043A\u0443\u043D\u0434\u0443, \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0438\u0440\u0443\u044E \u044E\u043C\u043E\u0440...",
289592
+ "\u041C\u043E\u043C\u0435\u043D\u0442, \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044E \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C\u044B...",
289593
+ "\u0412\u0430\u0440\u043F-\u043F\u0440\u044B\u0436\u043E\u043A \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D...",
289594
+ "\u0414\u043E\u0431\u044B\u0432\u0430\u0435\u043C \u043A\u0440\u0438\u0441\u0442\u0430\u043B\u043B\u044B \u0434\u0438\u043B\u0438\u0442\u0438\u044F...",
289595
+ "\u0411\u0435\u0437 \u043F\u0430\u043D\u0438\u043A\u0438...",
289596
+ "\u0421\u043B\u0435\u0434\u0443\u0435\u043C \u0437\u0430 \u0431\u0435\u043B\u044B\u043C \u043A\u0440\u043E\u043B\u0438\u043A\u043E\u043C...",
289597
+ "\u0418\u0441\u0442\u0438\u043D\u0430 \u0433\u0434\u0435-\u0442\u043E \u0437\u0434\u0435\u0441\u044C... \u0432\u043D\u0443\u0442\u0440\u0438...",
289598
+ "\u041F\u0440\u043E\u0434\u0443\u0432\u0430\u0435\u043C \u043A\u0430\u0440\u0442\u0440\u0438\u0434\u0436...",
289599
+ "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430... \u0421\u0434\u0435\u043B\u0430\u0439 \u0431\u043E\u0447\u043A\u0443!",
289600
+ "\u0416\u0434\u0435\u043C \u0440\u0435\u0441\u043F\u0430\u0443\u043D\u0430...",
289601
+ "\u0414\u0435\u043B\u0430\u0435\u043C \u0414\u0443\u0433\u0443 \u041A\u0435\u0441\u0441\u0435\u043B\u044F \u043C\u0435\u043D\u0435\u0435 \u0447\u0435\u043C \u0437\u0430 12 \u043F\u0430\u0440\u0441\u0435\u043A\u043E\u0432...",
289602
+ "\u0422\u043E\u0440\u0442\u0438\u043A \u2014 \u043D\u0435 \u043B\u043E\u0436\u044C, \u043E\u043D \u043F\u0440\u043E\u0441\u0442\u043E \u0435\u0449\u0451 \u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044F...",
289603
+ "\u0412\u043E\u0437\u0438\u043C\u0441\u044F \u0441 \u044D\u043A\u0440\u0430\u043D\u043E\u043C \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u0436\u0430...",
289604
+ "\u041C\u0438\u043D\u0443\u0442\u043A\u0443, \u0438\u0449\u0443 \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0438\u0439 \u043C\u0435\u043C...",
289605
+ "\u041D\u0430\u0436\u0438\u043C\u0430\u0435\u043C 'A' \u0434\u043B\u044F \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0438\u044F...",
289606
+ "\u041F\u0430\u0441\u0451\u043C \u0446\u0438\u0444\u0440\u043E\u0432\u044B\u0445 \u043A\u043E\u0442\u043E\u0432...",
289607
+ "\u041F\u043E\u043B\u0438\u0440\u0443\u0435\u043C \u043F\u0438\u043A\u0441\u0435\u043B\u0438...",
289608
+ "\u0418\u0449\u0435\u043C \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0438\u0439 \u043A\u0430\u043B\u0430\u043C\u0431\u0443\u0440 \u0434\u043B\u044F \u044D\u043A\u0440\u0430\u043D\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438...",
289609
+ "\u041E\u0442\u0432\u043B\u0435\u043A\u0430\u0435\u043C \u0432\u0430\u0441 \u044D\u0442\u043E\u0439 \u043E\u0441\u0442\u0440\u043E\u0443\u043C\u043D\u043E\u0439 \u0444\u0440\u0430\u0437\u043E\u0439...",
289610
+ "\u041F\u043E\u0447\u0442\u0438 \u0433\u043E\u0442\u043E\u0432\u043E... \u0432\u0440\u043E\u0434\u0435...",
289611
+ "\u041D\u0430\u0448\u0438 \u0445\u043E\u043C\u044F\u0447\u043A\u0438 \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0442 \u0438\u0437\u043E \u0432\u0441\u0435\u0445 \u0441\u0438\u043B...",
289612
+ "\u0413\u043B\u0430\u0434\u0438\u043C \u041E\u0431\u043B\u0430\u0447\u043A\u043E \u043F\u043E \u0433\u043E\u043B\u043E\u0432\u0435...",
289613
+ "\u0413\u043B\u0430\u0434\u0438\u043C \u043A\u043E\u0442\u0430...",
289614
+ "\u0420\u0438\u043A\u0440\u043E\u043B\u043B\u0438\u043C \u043D\u0430\u0447\u0430\u043B\u044C\u043D\u0438\u043A\u0430...",
289615
+ "Never gonna give you up, never gonna let you down...",
289616
+ "\u041B\u0430\u0431\u0430\u0435\u043C \u0431\u0430\u0441-\u0433\u0438\u0442\u0430\u0440\u0443...",
289617
+ "\u041F\u0440\u043E\u0431\u0443\u0435\u043C \u0441\u043D\u0443\u0437\u0431\u0435\u0440\u0440\u0438 \u043D\u0430 \u0432\u043A\u0443\u0441...",
289618
+ "\u0418\u0434\u0443 \u0434\u043E \u043A\u043E\u043D\u0446\u0430, \u0438\u0434\u0443 \u043D\u0430 \u0441\u043A\u043E\u0440\u043E\u0441\u0442\u044C...",
289619
+ "Is this the real life? Is this just fantasy?...",
289620
+ "\u0423 \u043C\u0435\u043D\u044F \u0445\u043E\u0440\u043E\u0448\u0435\u0435 \u043F\u0440\u0435\u0434\u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0435...",
289621
+ "\u0414\u0440\u0430\u0437\u043D\u0438\u043C \u043C\u0435\u0434\u0432\u0435\u0434\u044F... (\u041D\u0435 \u043B\u0435\u0437\u044C...)",
289622
+ "\u0418\u0437\u0443\u0447\u0430\u0435\u043C \u0441\u0432\u0435\u0436\u0438\u0435 \u043C\u0435\u043C\u044B...",
289623
+ "\u0414\u0443\u043C\u0430\u0435\u043C, \u043A\u0430\u043A \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u044D\u0442\u043E \u043E\u0441\u0442\u0440\u043E\u0443\u043C\u043D\u0435\u0435...",
289624
+ "\u0425\u043C\u043C... \u0434\u0430\u0439\u0442\u0435 \u043F\u043E\u0434\u0443\u043C\u0430\u0442\u044C...",
289625
+ "\u041A\u0430\u043A \u043D\u0430\u0437\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u0431\u0443\u043C\u0435\u0440\u0430\u043D\u0433, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u043D\u0435 \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044F? \u041F\u0430\u043B\u043A\u0430...",
289626
+ "\u041F\u043E\u0447\u0435\u043C\u0443 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440 \u043F\u0440\u043E\u0441\u0442\u0443\u0434\u0438\u043B\u0441\u044F? \u041F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043E\u0441\u0442\u0430\u0432\u0438\u043B \u043E\u043A\u043D\u0430 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u043C\u0438...",
289627
+ "\u041F\u043E\u0447\u0435\u043C\u0443 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0441\u0442\u044B \u043D\u0435 \u043B\u044E\u0431\u044F\u0442 \u0433\u0443\u043B\u044F\u0442\u044C \u043D\u0430 \u0443\u043B\u0438\u0446\u0435? \u0422\u0430\u043C \u0441\u0440\u0435\u0434\u0430 \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u0430...",
289628
+ "\u041F\u043E\u0447\u0435\u043C\u0443 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0441\u0442\u044B \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u044E\u0442 \u0442\u0451\u043C\u043D\u0443\u044E \u0442\u0435\u043C\u0443? \u041F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u0432 \u0442\u0435\u043C\u043D\u043E\u0442\u0435 \u043D\u0435 \u0432\u0438\u0434\u043D\u043E \u0431\u0430\u0433\u043E\u0432...",
289629
+ "\u041F\u043E\u0447\u0435\u043C\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A \u0440\u0430\u0437\u043E\u0440\u0438\u043B\u0441\u044F? \u041F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043F\u043E\u0442\u0440\u0430\u0442\u0438\u043B \u0432\u0435\u0441\u044C \u0441\u0432\u043E\u0439 \u043A\u044D\u0448...",
289630
+ "\u0427\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0434\u0435\u043B\u0430\u0442\u044C \u0441\u043E \u0441\u043B\u043E\u043C\u0430\u043D\u043D\u044B\u043C \u043A\u0430\u0440\u0430\u043D\u0434\u0430\u0448\u043E\u043C? \u041D\u0438\u0447\u0435\u0433\u043E \u2014 \u043E\u043D \u0442\u0443\u043F\u043E\u0439...",
289631
+ "\u041F\u0440\u043E\u0432\u043E\u0436\u0443 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0443 \u043C\u0435\u0442\u043E\u0434\u043E\u043C \u0442\u044B\u043A\u0430...",
289632
+ "\u0418\u0449\u0435\u043C, \u043A\u0430\u043A\u043E\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u043E\u0439 \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C \u0444\u043B\u0435\u0448\u043A\u0443...",
289633
+ "\u0421\u043B\u0435\u0434\u0438\u043C, \u0447\u0442\u043E\u0431\u044B \u0432\u043E\u043B\u0448\u0435\u0431\u043D\u044B\u0439 \u0434\u044B\u043C \u043D\u0435 \u0432\u044B\u0448\u0435\u043B \u0438\u0437 \u043F\u0440\u043E\u0432\u043E\u0434\u043E\u0432...",
289634
+ "\u041F\u044B\u0442\u0430\u0435\u043C\u0441\u044F \u0432\u044B\u0439\u0442\u0438 \u0438\u0437 Vim...",
289635
+ "\u0420\u0430\u0441\u043A\u0440\u0443\u0447\u0438\u0432\u0430\u0435\u043C \u043A\u043E\u043B\u0435\u0441\u043E \u0434\u043B\u044F \u0445\u043E\u043C\u044F\u043A\u0430...",
289636
+ "\u042D\u0442\u043E \u043D\u0435 \u0431\u0430\u0433, \u0430 \u0444\u0438\u0447\u0430...",
289637
+ "\u041F\u043E\u0435\u0445\u0430\u043B\u0438!",
289638
+ "\u042F \u0432\u0435\u0440\u043D\u0443\u0441\u044C... \u0441 \u043E\u0442\u0432\u0435\u0442\u043E\u043C.",
289639
+ "\u041C\u043E\u0439 \u0434\u0440\u0443\u0433\u043E\u0439 \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u2014 \u044D\u0442\u043E \u0422\u0410\u0420\u0414\u0418\u0421...",
289640
+ "\u041E\u0431\u0449\u0430\u0435\u043C\u0441\u044F \u0441 \u0434\u0443\u0445\u043E\u043C \u043C\u0430\u0448\u0438\u043D\u044B...",
289641
+ "\u0414\u0430\u0435\u043C \u043C\u044B\u0441\u043B\u044F\u043C \u0437\u0430\u043C\u0430\u0440\u0438\u043D\u043E\u0432\u0430\u0442\u044C\u0441\u044F...",
289642
+ "\u0422\u043E\u043B\u044C\u043A\u043E \u0447\u0442\u043E \u0432\u0441\u043F\u043E\u043C\u043D\u0438\u043B, \u043A\u0443\u0434\u0430 \u043F\u043E\u043B\u043E\u0436\u0438\u043B \u043A\u043B\u044E\u0447\u0438...",
289643
+ "\u0420\u0430\u0437\u043C\u044B\u0448\u043B\u044F\u044E \u043D\u0430\u0434 \u0441\u0444\u0435\u0440\u043E\u0439...",
289644
+ "\u042F \u0432\u0438\u0434\u0435\u043B \u0442\u0430\u043A\u043E\u0435, \u0447\u0442\u043E \u0432\u0430\u043C, \u043B\u044E\u0434\u044F\u043C, \u0438 \u043D\u0435 \u0441\u043D\u0438\u043B\u043E\u0441\u044C... \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F, \u0447\u0438\u0442\u0430\u044E\u0449\u0435\u0433\u043E \u044D\u0442\u0438 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F.",
289645
+ "\u0418\u043D\u0438\u0446\u0438\u0438\u0440\u0443\u0435\u043C \u0437\u0430\u0434\u0443\u043C\u0447\u0438\u0432\u044B\u0439 \u0432\u0437\u0433\u043B\u044F\u0434...",
289646
+ "\u0427\u0442\u043E \u0441\u0435\u0440\u0432\u0435\u0440 \u0437\u0430\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0432 \u0431\u0430\u0440\u0435? \u041F\u0438\u043D\u0433-\u043A\u043E\u043B\u0430\u0434\u0443.",
289647
+ "\u041F\u043E\u0447\u0435\u043C\u0443 Java-\u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A\u0438 \u043D\u0435 \u0443\u0431\u0438\u0440\u0430\u044E\u0442\u0441\u044F \u0434\u043E\u043C\u0430? \u041E\u043D\u0438 \u0436\u0434\u0443\u0442 \u0441\u0431\u043E\u0440\u0449\u0438\u043A \u043C\u0443\u0441\u043E\u0440\u0430...",
289648
+ "\u0417\u0430\u0440\u044F\u0436\u0430\u0435\u043C \u043B\u0430\u0437\u0435\u0440... \u043F\u0438\u0443-\u043F\u0438\u0443!",
289649
+ "\u0414\u0435\u043B\u0438\u043C \u043D\u0430 \u043D\u043E\u043B\u044C... \u0448\u0443\u0447\u0443!",
289650
+ "\u0418\u0449\u0443 \u0432\u0437\u0440\u043E\u0441\u043B\u044B\u0445 \u0434\u043B\u044F \u043F\u0440\u0438\u0441\u043C\u043E\u0442... \u0432 \u0441\u043C\u044B\u0441\u043B\u0435, \u043E\u0431\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u044E.",
289651
+ "\u0414\u0435\u043B\u0430\u0435\u043C \u0431\u0438\u043F-\u0431\u0443\u043F.",
289652
+ "\u0411\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044F... \u0434\u0430\u0436\u0435 \u0418\u0418 \u043D\u0443\u0436\u043D\u043E \u0432\u0440\u0435\u043C\u044F \u043F\u043E\u0434\u0443\u043C\u0430\u0442\u044C.",
289653
+ "\u0417\u0430\u043F\u0443\u0442\u044B\u0432\u0430\u0435\u043C \u043A\u0432\u0430\u043D\u0442\u043E\u0432\u044B\u0435 \u0447\u0430\u0441\u0442\u0438\u0446\u044B \u0434\u043B\u044F \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u043E\u0442\u0432\u0435\u0442\u0430...",
289654
+ "\u041F\u043E\u043B\u0438\u0440\u0443\u0435\u043C \u0445\u0440\u043E\u043C... \u043D\u0430 \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C\u0430\u0445.",
289655
+ "\u0412\u044B \u0435\u0449\u0451 \u043D\u0435 \u0440\u0430\u0437\u0432\u043B\u0435\u043A\u043B\u0438\u0441\u044C?! \u0420\u0430\u0437\u0432\u0435 \u0432\u044B \u043D\u0435 \u0437\u0430 \u044D\u0442\u0438\u043C \u0441\u044E\u0434\u0430 \u043F\u0440\u0438\u0448\u043B\u0438?!",
289656
+ "\u041F\u0440\u0438\u0437\u044B\u0432\u0430\u0435\u043C \u0433\u0440\u0435\u043C\u043B\u0438\u043D\u043E\u0432 \u043A\u043E\u0434\u0430... \u0434\u043B\u044F \u043F\u043E\u043C\u043E\u0449\u0438, \u043A\u043E\u043D\u0435\u0447\u043D\u043E \u0436\u0435.",
289657
+ "\u0416\u0434\u0435\u043C, \u043F\u043E\u043A\u0430 \u0437\u0430\u043A\u043E\u043D\u0447\u0438\u0442\u0441\u044F \u0437\u0432\u0443\u043A dial-up \u043C\u043E\u0434\u0435\u043C\u0430...",
289658
+ "\u041F\u0435\u0440\u0435\u043A\u0430\u043B\u0438\u0431\u0440\u043E\u0432\u043A\u0430 \u044E\u043C\u043E\u0440\u043E\u043C\u0435\u0442\u0440\u0430.",
289659
+ "\u041C\u043E\u0439 \u0434\u0440\u0443\u0433\u043E\u0439 \u044D\u043A\u0440\u0430\u043D \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0435\u0449\u0451 \u0441\u043C\u0435\u0448\u043D\u0435\u0435.",
289660
+ "\u041A\u0430\u0436\u0435\u0442\u0441\u044F, \u0433\u0434\u0435-\u0442\u043E \u043F\u043E \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435 \u0433\u0443\u043B\u044F\u0435\u0442 \u043A\u043E\u0442...",
289661
+ "\u0423\u043B\u0443\u0447\u0448\u0430\u0435\u043C... \u0415\u0449\u0451 \u0443\u043B\u0443\u0447\u0448\u0430\u0435\u043C... \u0412\u0441\u0451 \u0435\u0449\u0451 \u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044F.",
289662
+ "\u042D\u0442\u043E \u043D\u0435 \u0431\u0430\u0433, \u044D\u0442\u043E \u0444\u0438\u0447\u0430... \u044D\u043A\u0440\u0430\u043D\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438.",
289663
+ "\u041F\u0440\u043E\u0431\u043E\u0432\u0430\u043B\u0438 \u0432\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0438 \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u043D\u043E\u0432\u0430? (\u042D\u043A\u0440\u0430\u043D \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438, \u043D\u0435 \u043C\u0435\u043D\u044F!)",
289664
+ "\u041D\u0443\u0436\u043D\u043E \u043F\u043E\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435 \u043F\u0438\u043B\u043E\u043D\u043E\u0432..."
289665
+ ]
288746
289666
  };
288747
289667
  }
288748
289668
  });
@@ -288825,6 +289745,8 @@ var init_zh = __esm({
288825
289745
  "Available Qwen Code CLI tools:": "\u53EF\u7528\u7684 Qwen Code CLI \u5DE5\u5177\uFF1A",
288826
289746
  "No tools available": "\u6CA1\u6709\u53EF\u7528\u5DE5\u5177",
288827
289747
  "View or change the approval mode for tool usage": "\u67E5\u770B\u6216\u66F4\u6539\u5DE5\u5177\u4F7F\u7528\u7684\u5BA1\u6279\u6A21\u5F0F",
289748
+ 'Invalid approval mode "{{arg}}". Valid modes: {{modes}}': '\u65E0\u6548\u7684\u5BA1\u6279\u6A21\u5F0F "{{arg}}"\u3002\u6709\u6548\u6A21\u5F0F\uFF1A{{modes}}',
289749
+ 'Approval mode set to "{{mode}}"': '\u5BA1\u6279\u6A21\u5F0F\u5DF2\u8BBE\u7F6E\u4E3A "{{mode}}"',
288828
289750
  "View or change the language setting": "\u67E5\u770B\u6216\u66F4\u6539\u8BED\u8A00\u8BBE\u7F6E",
288829
289751
  "change the theme": "\u66F4\u6539\u4E3B\u9898",
288830
289752
  "Select Theme": "\u9009\u62E9\u4E3B\u9898",
@@ -288834,7 +289756,7 @@ var init_zh = __esm({
288834
289756
  "Theme configuration unavailable due to NO_COLOR env variable.": "\u7531\u4E8E NO_COLOR \u73AF\u5883\u53D8\u91CF\uFF0C\u4E3B\u9898\u914D\u7F6E\u4E0D\u53EF\u7528\u3002",
288835
289757
  'Theme "{{themeName}}" not found.': '\u672A\u627E\u5230\u4E3B\u9898 "{{themeName}}"\u3002',
288836
289758
  'Theme "{{themeName}}" not found in selected scope.': '\u5728\u6240\u9009\u4F5C\u7528\u57DF\u4E2D\u672A\u627E\u5230\u4E3B\u9898 "{{themeName}}"\u3002',
288837
- "clear the screen and conversation history": "\u6E05\u5C4F\u5E76\u6E05\u9664\u5BF9\u8BDD\u5386\u53F2",
289759
+ "Clear conversation history and free up context": "\u6E05\u9664\u5BF9\u8BDD\u5386\u53F2\u5E76\u91CA\u653E\u4E0A\u4E0B\u6587",
288838
289760
  "Compresses the context by replacing it with a summary.": "\u901A\u8FC7\u7528\u6458\u8981\u66FF\u6362\u6765\u538B\u7F29\u4E0A\u4E0B\u6587",
288839
289761
  "open full Qwen Code documentation in your browser": "\u5728\u6D4F\u89C8\u5668\u4E2D\u6253\u5F00\u5B8C\u6574\u7684 Qwen Code \u6587\u6863",
288840
289762
  "Configuration not available.": "\u914D\u7F6E\u4E0D\u53EF\u7528",
@@ -289201,8 +290123,8 @@ var init_zh = __esm({
289201
290123
  // ============================================================================
289202
290124
  // Commands - Clear
289203
290125
  // ============================================================================
289204
- "Clearing terminal and resetting chat.": "\u6B63\u5728\u6E05\u5C4F\u5E76\u91CD\u7F6E\u804A\u5929",
289205
- "Clearing terminal.": "\u6B63\u5728\u6E05\u5C4F",
290126
+ "Starting a new session, resetting chat, and clearing terminal.": "\u6B63\u5728\u5F00\u59CB\u65B0\u4F1A\u8BDD\uFF0C\u91CD\u7F6E\u804A\u5929\u5E76\u6E05\u5C4F\u3002",
290127
+ "Starting a new session and clearing.": "\u6B63\u5728\u5F00\u59CB\u65B0\u4F1A\u8BDD\u5E76\u6E05\u5C4F\u3002",
289206
290128
  // ============================================================================
289207
290129
  // Commands - Compress
289208
290130
  // ============================================================================
@@ -289447,134 +290369,37 @@ var init_zh = __esm({
289447
290369
  // ============================================================================
289448
290370
  "Waiting for user confirmation...": "\u7B49\u5F85\u7528\u6237\u786E\u8BA4...",
289449
290371
  "(esc to cancel, {{time}})": "\uFF08\u6309 esc \u53D6\u6D88\uFF0C{{time}}\uFF09",
289450
- "I'm Feeling Lucky": "\u6211\u611F\u89C9\u5F88\u5E78\u8FD0",
289451
- "Shipping awesomeness... ": "\u6B63\u5728\u8FD0\u9001\u7CBE\u5F69\u5185\u5BB9... ",
289452
- "Painting the serifs back on...": "\u6B63\u5728\u91CD\u65B0\u7ED8\u5236\u886C\u7EBF...",
289453
- "Navigating the slime mold...": "\u6B63\u5728\u5BFC\u822A\u7C98\u6DB2\u9709\u83CC...",
289454
- "Consulting the digital spirits...": "\u6B63\u5728\u54A8\u8BE2\u6570\u5B57\u7CBE\u7075...",
289455
- "Reticulating splines...": "\u6B63\u5728\u7F51\u683C\u5316\u6837\u6761\u66F2\u7EBF...",
289456
- "Warming up the AI hamsters...": "\u6B63\u5728\u9884\u70ED AI \u4ED3\u9F20...",
289457
- "Asking the magic conch shell...": "\u6B63\u5728\u8BE2\u95EE\u9B54\u6CD5\u6D77\u87BA\u58F3...",
289458
- "Generating witty retort...": "\u6B63\u5728\u751F\u6210\u673A\u667A\u7684\u53CD\u9A73...",
289459
- "Polishing the algorithms...": "\u6B63\u5728\u6253\u78E8\u7B97\u6CD5...",
289460
- "Don't rush perfection (or my code)...": "\u4E0D\u8981\u6025\u4E8E\u8FFD\u6C42\u5B8C\u7F8E\uFF08\u6216\u6211\u7684\u4EE3\u7801\uFF09...",
289461
- "Brewing fresh bytes...": "\u6B63\u5728\u917F\u9020\u65B0\u9C9C\u5B57\u8282...",
289462
- "Counting electrons...": "\u6B63\u5728\u8BA1\u7B97\u7535\u5B50...",
289463
- "Engaging cognitive processors...": "\u6B63\u5728\u542F\u52A8\u8BA4\u77E5\u5904\u7406\u5668...",
289464
- "Checking for syntax errors in the universe...": "\u6B63\u5728\u68C0\u67E5\u5B87\u5B99\u4E2D\u7684\u8BED\u6CD5\u9519\u8BEF...",
289465
- "One moment, optimizing humor...": "\u7A0D\u7B49\u7247\u523B\uFF0C\u6B63\u5728\u4F18\u5316\u5E7D\u9ED8\u611F...",
289466
- "Shuffling punchlines...": "\u6B63\u5728\u6D17\u724C\u7B11\u70B9...",
289467
- "Untangling neural nets...": "\u6B63\u5728\u89E3\u5F00\u795E\u7ECF\u7F51\u7EDC...",
289468
- "Compiling brilliance...": "\u6B63\u5728\u7F16\u8BD1\u667A\u6167...",
289469
- "Loading wit.exe...": "\u6B63\u5728\u52A0\u8F7D wit.exe...",
289470
- "Summoning the cloud of wisdom...": "\u6B63\u5728\u53EC\u5524\u667A\u6167\u4E91...",
289471
- "Preparing a witty response...": "\u6B63\u5728\u51C6\u5907\u673A\u667A\u7684\u56DE\u590D...",
289472
- "Just a sec, I'm debugging reality...": "\u7A0D\u7B49\u7247\u523B\uFF0C\u6211\u6B63\u5728\u8C03\u8BD5\u73B0\u5B9E...",
289473
- "Confuzzling the options...": "\u6B63\u5728\u6DF7\u6DC6\u9009\u9879...",
289474
- "Tuning the cosmic frequencies...": "\u6B63\u5728\u8C03\u8C10\u5B87\u5B99\u9891\u7387...",
289475
- "Crafting a response worthy of your patience...": "\u6B63\u5728\u5236\u4F5C\u503C\u5F97\u60A8\u8010\u5FC3\u7B49\u5F85\u7684\u56DE\u590D...",
289476
- "Compiling the 1s and 0s...": "\u6B63\u5728\u7F16\u8BD1 1 \u548C 0...",
289477
- "Resolving dependencies... and existential crises...": "\u6B63\u5728\u89E3\u51B3\u4F9D\u8D56\u5173\u7CFB...\u548C\u5B58\u5728\u4E3B\u4E49\u5371\u673A...",
289478
- "Defragmenting memories... both RAM and personal...": "\u6B63\u5728\u6574\u7406\u8BB0\u5FC6\u788E\u7247...\u5305\u62EC RAM \u548C\u4E2A\u4EBA\u8BB0\u5FC6...",
289479
- "Rebooting the humor module...": "\u6B63\u5728\u91CD\u542F\u5E7D\u9ED8\u6A21\u5757...",
289480
- "Caching the essentials (mostly cat memes)...": "\u6B63\u5728\u7F13\u5B58\u5FC5\u9700\u54C1\uFF08\u4E3B\u8981\u662F\u732B\u54AA\u8868\u60C5\u5305\uFF09...",
289481
- "Optimizing for ludicrous speed": "\u6B63\u5728\u4F18\u5316\u5230\u8352\u8C2C\u7684\u901F\u5EA6",
289482
- "Swapping bits... don't tell the bytes...": "\u6B63\u5728\u4EA4\u6362\u4F4D...\u4E0D\u8981\u544A\u8BC9\u5B57\u8282...",
289483
- "Garbage collecting... be right back...": "\u6B63\u5728\u5783\u573E\u56DE\u6536...\u9A6C\u4E0A\u56DE\u6765...",
289484
- "Assembling the interwebs...": "\u6B63\u5728\u7EC4\u88C5\u4E92\u8054\u7F51...",
289485
- "Converting coffee into code...": "\u6B63\u5728\u5C06\u5496\u5561\u8F6C\u6362\u4E3A\u4EE3\u7801...",
289486
- "Updating the syntax for reality...": "\u6B63\u5728\u66F4\u65B0\u73B0\u5B9E\u7684\u8BED\u6CD5...",
289487
- "Rewiring the synapses...": "\u6B63\u5728\u91CD\u65B0\u8FDE\u63A5\u7A81\u89E6...",
289488
- "Looking for a misplaced semicolon...": "\u6B63\u5728\u5BFB\u627E\u653E\u9519\u4F4D\u7F6E\u7684\u5206\u53F7...",
289489
- "Greasin' the cogs of the machine...": "\u6B63\u5728\u7ED9\u673A\u5668\u7684\u9F7F\u8F6E\u4E0A\u6CB9...",
289490
- "Pre-heating the servers...": "\u6B63\u5728\u9884\u70ED\u670D\u52A1\u5668...",
289491
- "Calibrating the flux capacitor...": "\u6B63\u5728\u6821\u51C6\u901A\u91CF\u7535\u5BB9\u5668...",
289492
- "Engaging the improbability drive...": "\u6B63\u5728\u542F\u52A8\u4E0D\u53EF\u80FD\u6027\u9A71\u52A8\u5668...",
289493
- "Channeling the Force...": "\u6B63\u5728\u5F15\u5BFC\u539F\u529B...",
289494
- "Aligning the stars for optimal response...": "\u6B63\u5728\u5BF9\u9F50\u661F\u661F\u4EE5\u83B7\u5F97\u6700\u4F73\u56DE\u590D...",
289495
- "So say we all...": "\u6211\u4EEC\u90FD\u8BF4...",
289496
- "Loading the next great idea...": "\u6B63\u5728\u52A0\u8F7D\u4E0B\u4E00\u4E2A\u4F1F\u5927\u7684\u60F3\u6CD5...",
289497
- "Just a moment, I'm in the zone...": "\u7A0D\u7B49\u7247\u523B\uFF0C\u6211\u6B63\u8FDB\u5165\u72B6\u6001...",
289498
- "Preparing to dazzle you with brilliance...": "\u6B63\u5728\u51C6\u5907\u7528\u667A\u6167\u8BA9\u60A8\u773C\u82B1\u7F2D\u4E71...",
289499
- "Just a tick, I'm polishing my wit...": "\u7A0D\u7B49\u7247\u523B\uFF0C\u6211\u6B63\u5728\u6253\u78E8\u6211\u7684\u667A\u6167...",
289500
- "Hold tight, I'm crafting a masterpiece...": "\u8BF7\u7A0D\u7B49\uFF0C\u6211\u6B63\u5728\u5236\u4F5C\u6770\u4F5C...",
289501
- "Just a jiffy, I'm debugging the universe...": "\u7A0D\u7B49\u7247\u523B\uFF0C\u6211\u6B63\u5728\u8C03\u8BD5\u5B87\u5B99...",
289502
- "Just a moment, I'm aligning the pixels...": "\u7A0D\u7B49\u7247\u523B\uFF0C\u6211\u6B63\u5728\u5BF9\u9F50\u50CF\u7D20...",
289503
- "Just a sec, I'm optimizing the humor...": "\u7A0D\u7B49\u7247\u523B\uFF0C\u6211\u6B63\u5728\u4F18\u5316\u5E7D\u9ED8\u611F...",
289504
- "Just a moment, I'm tuning the algorithms...": "\u7A0D\u7B49\u7247\u523B\uFF0C\u6211\u6B63\u5728\u8C03\u6574\u7B97\u6CD5...",
289505
- "Warp speed engaged...": "\u66F2\u901F\u5DF2\u542F\u52A8...",
289506
- "Mining for more Dilithium crystals...": "\u6B63\u5728\u6316\u6398\u66F4\u591A\u4E8C\u9502\u6676\u4F53...",
289507
- "Don't panic...": "\u4E0D\u8981\u60CA\u614C...",
289508
- "Following the white rabbit...": "\u6B63\u5728\u8DDF\u968F\u767D\u5154...",
289509
- "The truth is in here... somewhere...": "\u771F\u76F8\u5728\u8FD9\u91CC...\u67D0\u4E2A\u5730\u65B9...",
289510
- "Blowing on the cartridge...": "\u6B63\u5728\u5439\u5361\u5E26...",
289511
- "Loading... Do a barrel roll!": "\u6B63\u5728\u52A0\u8F7D...\u505A\u4E2A\u6876\u6EDA\uFF01",
289512
- "Waiting for the respawn...": "\u7B49\u5F85\u91CD\u751F...",
289513
- "Finishing the Kessel Run in less than 12 parsecs...": "\u6B63\u5728\u4EE5\u4E0D\u5230 12 \u79D2\u5DEE\u8DDD\u5B8C\u6210\u51EF\u585E\u5C14\u822A\u7EBF...",
289514
- "The cake is not a lie, it's just still loading...": "\u86CB\u7CD5\u4E0D\u662F\u8C0E\u8A00\uFF0C\u53EA\u662F\u8FD8\u5728\u52A0\u8F7D...",
289515
- "Fiddling with the character creation screen...": "\u6B63\u5728\u6446\u5F04\u89D2\u8272\u521B\u5EFA\u754C\u9762...",
289516
- "Just a moment, I'm finding the right meme...": "\u7A0D\u7B49\u7247\u523B\uFF0C\u6211\u6B63\u5728\u5BFB\u627E\u5408\u9002\u7684\u8868\u60C5\u5305...",
289517
- "Pressing 'A' to continue...": "\u6309 'A' \u7EE7\u7EED...",
289518
- "Herding digital cats...": "\u6B63\u5728\u653E\u7267\u6570\u5B57\u732B...",
289519
- "Polishing the pixels...": "\u6B63\u5728\u6253\u78E8\u50CF\u7D20...",
289520
- "Finding a suitable loading screen pun...": "\u6B63\u5728\u5BFB\u627E\u5408\u9002\u7684\u52A0\u8F7D\u5C4F\u5E55\u53CC\u5173\u8BED...",
289521
- "Distracting you with this witty phrase...": "\u6B63\u5728\u7528\u8FD9\u4E2A\u673A\u667A\u7684\u77ED\u8BED\u5206\u6563\u60A8\u7684\u6CE8\u610F\u529B...",
289522
- "Almost there... probably...": "\u5FEB\u5230\u4E86...\u53EF\u80FD...",
289523
- "Our hamsters are working as fast as they can...": "\u6211\u4EEC\u7684\u4ED3\u9F20\u6B63\u5728\u5C3D\u53EF\u80FD\u5FEB\u5730\u5DE5\u4F5C...",
289524
- "Giving Cloudy a pat on the head...": "\u6B63\u5728\u62CD\u62CD Cloudy \u7684\u5934...",
289525
- "Petting the cat...": "\u6B63\u5728\u629A\u6478\u732B\u54AA...",
289526
- "Rickrolling my boss...": "\u6B63\u5728 Rickroll \u6211\u7684\u8001\u677F...",
289527
- "Never gonna give you up, never gonna let you down...": "\u6C38\u8FDC\u4E0D\u4F1A\u653E\u5F03\u4F60\uFF0C\u6C38\u8FDC\u4E0D\u4F1A\u8BA9\u4F60\u5931\u671B...",
289528
- "Slapping the bass...": "\u6B63\u5728\u62CD\u6253\u4F4E\u97F3...",
289529
- "Tasting the snozberries...": "\u6B63\u5728\u54C1\u5C1D snozberries...",
289530
- "I'm going the distance, I'm going for speed...": "\u6211\u8981\u8D70\u5F97\u66F4\u8FDC\uFF0C\u6211\u8981\u8FFD\u6C42\u901F\u5EA6...",
289531
- "Is this the real life? Is this just fantasy?...": "\u8FD9\u662F\u771F\u5B9E\u7684\u751F\u6D3B\u5417\uFF1F\u8FD8\u662F\u53EA\u662F\u5E7B\u60F3\uFF1F...",
289532
- "I've got a good feeling about this...": "\u6211\u5BF9\u8FD9\u4E2A\u611F\u89C9\u5F88\u597D...",
289533
- "Poking the bear...": "\u6B63\u5728\u6233\u718A...",
289534
- "Doing research on the latest memes...": "\u6B63\u5728\u7814\u7A76\u6700\u65B0\u7684\u8868\u60C5\u5305...",
289535
- "Figuring out how to make this more witty...": "\u6B63\u5728\u60F3\u529E\u6CD5\u8BA9\u8FD9\u66F4\u6709\u8DA3...",
289536
- "Hmmm... let me think...": "\u55EF...\u8BA9\u6211\u60F3\u60F3...",
289537
- "What do you call a fish with no eyes? A fsh...": "\u6CA1\u6709\u773C\u775B\u7684\u9C7C\u53EB\u4EC0\u4E48\uFF1F\u4E00\u6761\u9C7C...",
289538
- "Why did the computer go to therapy? It had too many bytes...": "\u4E3A\u4EC0\u4E48\u7535\u8111\u53BB\u770B\u5FC3\u7406\u533B\u751F\uFF1F\u56E0\u4E3A\u5B83\u6709\u592A\u591A\u5B57\u8282...",
289539
- "Why don't programmers like nature? It has too many bugs...": "\u4E3A\u4EC0\u4E48\u7A0B\u5E8F\u5458\u4E0D\u559C\u6B22\u5927\u81EA\u7136\uFF1F\u56E0\u4E3A\u866B\u5B50\u592A\u591A\u4E86...",
289540
- "Why do programmers prefer dark mode? Because light attracts bugs...": "\u4E3A\u4EC0\u4E48\u7A0B\u5E8F\u5458\u559C\u6B22\u6697\u8272\u6A21\u5F0F\uFF1F\u56E0\u4E3A\u5149\u4F1A\u5438\u5F15\u866B\u5B50...",
289541
- "Why did the developer go broke? Because they used up all their cache...": "\u4E3A\u4EC0\u4E48\u5F00\u53D1\u8005\u7834\u4EA7\u4E86\uFF1F\u56E0\u4E3A\u4ED6\u4EEC\u7528\u5B8C\u4E86\u6240\u6709\u7F13\u5B58...",
289542
- "What can you do with a broken pencil? Nothing, it's pointless...": "\u4F60\u80FD\u7528\u65AD\u4E86\u7684\u94C5\u7B14\u505A\u4EC0\u4E48\uFF1F\u4EC0\u4E48\u90FD\u4E0D\u80FD\uFF0C\u56E0\u4E3A\u5B83\u6CA1\u6709\u7B14\u5C16...",
289543
- "Applying percussive maintenance...": "\u6B63\u5728\u5E94\u7528\u6572\u51FB\u7EF4\u62A4...",
289544
- "Searching for the correct USB orientation...": "\u6B63\u5728\u5BFB\u627E\u6B63\u786E\u7684 USB \u65B9\u5411...",
289545
- "Ensuring the magic smoke stays inside the wires...": "\u786E\u4FDD\u9B54\u6CD5\u70DF\u96FE\u7559\u5728\u7535\u7EBF\u5185...",
289546
- "Rewriting in Rust for no particular reason...": "\u6B63\u5728\u7528 Rust \u91CD\u5199\uFF0C\u6CA1\u6709\u7279\u522B\u7684\u539F\u56E0...",
289547
- "Trying to exit Vim...": "\u6B63\u5728\u5C1D\u8BD5\u9000\u51FA Vim...",
289548
- "Spinning up the hamster wheel...": "\u6B63\u5728\u542F\u52A8\u4ED3\u9F20\u8F6E...",
289549
- "That's not a bug, it's an undocumented feature...": "\u8FD9\u4E0D\u662F\u4E00\u4E2A\u9519\u8BEF\uFF0C\u8FD9\u662F\u4E00\u4E2A\u672A\u8BB0\u5F55\u7684\u529F\u80FD...",
289550
- "Engage.": "\u542F\u52A8\u3002",
289551
- "I'll be back... with an answer.": "\u6211\u4F1A\u56DE\u6765\u7684...\u5E26\u7740\u7B54\u6848\u3002",
289552
- "My other process is a TARDIS...": "\u6211\u7684\u53E6\u4E00\u4E2A\u8FDB\u7A0B\u662F TARDIS...",
289553
- "Communing with the machine spirit...": "\u6B63\u5728\u4E0E\u673A\u5668\u7CBE\u795E\u4EA4\u6D41...",
289554
- "Letting the thoughts marinate...": "\u8BA9\u60F3\u6CD5\u6162\u6162\u915D\u917F...",
289555
- "Just remembered where I put my keys...": "\u521A\u521A\u60F3\u8D77\u6211\u628A\u94A5\u5319\u653E\u5728\u54EA\u91CC\u4E86...",
289556
- "Pondering the orb...": "\u6B63\u5728\u601D\u8003\u7403\u4F53...",
289557
- "I've seen things you people wouldn't believe... like a user who reads loading messages.": "\u6211\u89C1\u8FC7\u4F60\u4EEC\u4E0D\u4F1A\u76F8\u4FE1\u7684\u4E8B\u60C5...\u6BD4\u5982\u4E00\u4E2A\u9605\u8BFB\u52A0\u8F7D\u6D88\u606F\u7684\u7528\u6237\u3002",
289558
- "Initiating thoughtful gaze...": "\u6B63\u5728\u542F\u52A8\u6DF1\u601D\u51DD\u89C6...",
289559
- "What's a computer's favorite snack? Microchips.": "\u7535\u8111\u6700\u559C\u6B22\u7684\u96F6\u98DF\u662F\u4EC0\u4E48\uFF1F\u5FAE\u82AF\u7247\u3002",
289560
- "Why do Java developers wear glasses? Because they don't C#.": "\u4E3A\u4EC0\u4E48 Java \u5F00\u53D1\u8005\u6234\u773C\u955C\uFF1F\u56E0\u4E3A\u4ED6\u4EEC\u4E0D\u4F1A C#\u3002",
289561
- "Charging the laser... pew pew!": "\u6B63\u5728\u7ED9\u6FC0\u5149\u5145\u7535...\u7830\u7830\uFF01",
289562
- "Dividing by zero... just kidding!": "\u9664\u4EE5\u96F6...\u53EA\u662F\u5F00\u73A9\u7B11\uFF01",
289563
- "Looking for an adult superviso... I mean, processing.": "\u6B63\u5728\u5BFB\u627E\u6210\u4EBA\u76D1\u7763...\u6211\u662F\u8BF4\uFF0C\u5904\u7406\u4E2D\u3002",
289564
- "Making it go beep boop.": "\u8BA9\u5B83\u53D1\u51FA\u54D4\u54D4\u58F0\u3002",
289565
- "Buffering... because even AIs need a moment.": "\u6B63\u5728\u7F13\u51B2...\u56E0\u4E3A\u5373\u4F7F\u662F AI \u4E5F\u9700\u8981\u7247\u523B\u3002",
289566
- "Entangling quantum particles for a faster response...": "\u6B63\u5728\u7EA0\u7F20\u91CF\u5B50\u7C92\u5B50\u4EE5\u83B7\u5F97\u66F4\u5FEB\u7684\u56DE\u590D...",
289567
- "Polishing the chrome... on the algorithms.": "\u6B63\u5728\u6253\u78E8\u94EC...\u5728\u7B97\u6CD5\u4E0A\u3002",
289568
- "Are you not entertained? (Working on it!)": "\u4F60\u4E0D\u89C9\u5F97\u6709\u8DA3\u5417\uFF1F\uFF08\u6B63\u5728\u52AA\u529B\uFF01\uFF09",
289569
- "Summoning the code gremlins... to help, of course.": "\u6B63\u5728\u53EC\u5524\u4EE3\u7801\u5C0F\u7CBE\u7075...\u5F53\u7136\u662F\u6765\u5E2E\u5FD9\u7684\u3002",
289570
- "Just waiting for the dial-up tone to finish...": "\u53EA\u662F\u7B49\u5F85\u62E8\u53F7\u97F3\u7ED3\u675F...",
289571
- "Recalibrating the humor-o-meter.": "\u6B63\u5728\u91CD\u65B0\u6821\u51C6\u5E7D\u9ED8\u8BA1\u3002",
289572
- "My other loading screen is even funnier.": "\u6211\u7684\u53E6\u4E00\u4E2A\u52A0\u8F7D\u5C4F\u5E55\u66F4\u6709\u8DA3\u3002",
289573
- "Pretty sure there's a cat walking on the keyboard somewhere...": "\u5F88\u786E\u5B9A\u6709\u53EA\u732B\u5728\u67D0\u4E2A\u5730\u65B9\u952E\u76D8\u4E0A\u8D70...",
289574
- "Enhancing... Enhancing... Still loading.": "\u6B63\u5728\u589E\u5F3A...\u6B63\u5728\u589E\u5F3A...\u4ECD\u5728\u52A0\u8F7D\u3002",
289575
- "It's not a bug, it's a feature... of this loading screen.": "\u8FD9\u4E0D\u662F\u4E00\u4E2A\u9519\u8BEF\uFF0C\u8FD9\u662F\u4E00\u4E2A\u529F\u80FD...\u8FD9\u4E2A\u52A0\u8F7D\u5C4F\u5E55\u7684\u529F\u80FD\u3002",
289576
- "Have you tried turning it off and on again? (The loading screen, not me.)": "\u4F60\u8BD5\u8FC7\u628A\u5B83\u5173\u6389\u518D\u6253\u5F00\u5417\uFF1F\uFF08\u52A0\u8F7D\u5C4F\u5E55\uFF0C\u4E0D\u662F\u6211\u3002\uFF09",
289577
- "Constructing additional pylons...": "\u6B63\u5728\u5EFA\u9020\u989D\u5916\u7684\u80FD\u91CF\u5854..."
290372
+ WITTY_LOADING_PHRASES: [
290373
+ // --- 职场搬砖系列 ---
290374
+ "\u6B63\u5728\u52AA\u529B\u642C\u7816\uFF0C\u8BF7\u7A0D\u5019...",
290375
+ "\u8001\u677F\u5728\u8EAB\u540E\uFF0C\u5FEB\u52A0\u8F7D\u554A\uFF01",
290376
+ "\u5934\u53D1\u6389\u5149\u524D\uFF0C\u4E00\u5B9A\u80FD\u52A0\u8F7D\u5B8C...",
290377
+ "\u670D\u52A1\u5668\u6B63\u5728\u6DF1\u547C\u5438\uFF0C\u51C6\u5907\u653E\u5927\u62DB...",
290378
+ "\u6B63\u5728\u5411\u670D\u52A1\u5668\u6295\u5582\u5496\u5561...",
290379
+ // --- 大厂黑话系列 ---
290380
+ "\u6B63\u5728\u8D4B\u80FD\u5168\u94FE\u8DEF\uFF0C\u5BFB\u627E\u5173\u952E\u6293\u624B...",
290381
+ "\u6B63\u5728\u964D\u672C\u589E\u6548\uFF0C\u4F18\u5316\u52A0\u8F7D\u8DEF\u5F84...",
290382
+ "\u6B63\u5728\u6253\u7834\u90E8\u95E8\u58C1\u5792\uFF0C\u6C89\u6DC0\u65B9\u6CD5\u8BBA...",
290383
+ "\u6B63\u5728\u62E5\u62B1\u53D8\u5316\uFF0C\u8FED\u4EE3\u6838\u5FC3\u4EF7\u503C...",
290384
+ "\u6B63\u5728\u5BF9\u9F50\u9897\u7C92\u5EA6\uFF0C\u6253\u78E8\u5E95\u5C42\u903B\u8F91...",
290385
+ "\u5927\u529B\u51FA\u5947\u8FF9\uFF0C\u6B63\u5728\u5F3A\u884C\u52A0\u8F7D...",
290386
+ // --- 程序员自嘲系列 ---
290387
+ "\u53EA\u8981\u6211\u4E0D\u5199\u4EE3\u7801\uFF0C\u4EE3\u7801\u5C31\u6CA1\u6709 Bug...",
290388
+ "\u6B63\u5728\u628A Bug \u8F6C\u5316\u4E3A Feature...",
290389
+ "\u53EA\u8981\u6211\u4E0D\u5C34\u5C2C\uFF0CBug \u5C31\u8FFD\u4E0D\u4E0A\u6211...",
290390
+ "\u6B63\u5728\u8BD5\u56FE\u7406\u89E3\u53BB\u5E74\u7684\u81EA\u5DF1\u5199\u4E86\u4EC0\u4E48...",
290391
+ "\u6B63\u5728\u733F\u529B\u89C9\u9192\u4E2D\uFF0C\u8BF7\u8010\u5FC3\u7B49\u5F85...",
290392
+ // --- 合作愉快系列 ---
290393
+ "\u6B63\u5728\u8BE2\u95EE\u4EA7\u54C1\u7ECF\u7406\uFF1A\u8FD9\u9700\u6C42\u662F\u771F\u7684\u5417\uFF1F",
290394
+ "\u6B63\u5728\u7ED9\u4EA7\u54C1\u7ECF\u7406\u753B\u997C\uFF0C\u8BF7\u7A0D\u7B49...",
290395
+ // --- 温暖治愈系列 ---
290396
+ "\u6BCF\u4E00\u884C\u4EE3\u7801\uFF0C\u90FD\u5728\u52AA\u529B\u8BA9\u4E16\u754C\u53D8\u5F97\u66F4\u597D\u4E00\u70B9\u70B9...",
290397
+ "\u6BCF\u4E00\u4E2A\u4F1F\u5927\u7684\u60F3\u6CD5\uFF0C\u90FD\u503C\u5F97\u8FD9\u4EFD\u8010\u5FC3\u7684\u7B49\u5F85...",
290398
+ "\u522B\u6025\uFF0C\u7F8E\u597D\u7684\u4E8B\u7269\u603B\u662F\u9700\u8981\u4E00\u70B9\u65F6\u95F4\u53BB\u915D\u917F...",
290399
+ "\u613F\u4F60\u7684\u4EE3\u7801\u6C38\u65E0 Bug\uFF0C\u613F\u4F60\u7684\u68A6\u60F3\u7EC8\u5C06\u6210\u771F...",
290400
+ "\u54EA\u6015\u53EA\u6709 0.1% \u7684\u8FDB\u5EA6\uFF0C\u4E5F\u662F\u5728\u5411\u76EE\u6807\u9760\u8FD1...",
290401
+ "\u52A0\u8F7D\u7684\u662F\u5B57\u8282\uFF0C\u627F\u8F7D\u7684\u662F\u5BF9\u6280\u672F\u7684\u70ED\u7231..."
290402
+ ]
289578
290403
  };
289579
290404
  }
289580
290405
  });
@@ -334266,7 +335091,7 @@ var loadYoga = (() => {
334266
335091
  pa.unshift(a2);
334267
335092
  }
334268
335093
  __name(sa, "sa");
334269
- var F4 = 0, ta = null, G2 = null;
335094
+ var F4 = 0, ta2 = null, G2 = null;
334270
335095
  function x3(a2) {
334271
335096
  if (h3.onAbort) h3.onAbort(a2);
334272
335097
  a2 = "Aborted(" + a2 + ")";
@@ -335409,7 +336234,7 @@ var loadYoga = (() => {
335409
336234
  qa.unshift(h3.asm.F);
335410
336235
  F4--;
335411
336236
  h3.monitorRunDependencies && h3.monitorRunDependencies(F4);
335412
- 0 == F4 && (null !== ta && (clearInterval(ta), ta = null), G2 && (e4 = G2, G2 = null, e4()));
336237
+ 0 == F4 && (null !== ta2 && (clearInterval(ta2), ta2 = null), G2 && (e4 = G2, G2 = null, e4()));
335413
336238
  }
335414
336239
  __name(a2, "a");
335415
336240
  function b2(e4) {
@@ -341431,7 +342256,8 @@ var SETTINGS_SCHEMA = {
341431
342256
  { value: "auto", label: "Auto (detect from system)" },
341432
342257
  { value: "en", label: "English" },
341433
342258
  { value: "zh", label: "\u4E2D\u6587 (Chinese)" },
341434
- { value: "ru", label: "\u0420\u0443\u0441\u0441\u043A\u0438\u0439 (Russian)" }
342259
+ { value: "ru", label: "\u0420\u0443\u0441\u0441\u043A\u0438\u0439 (Russian)" },
342260
+ { value: "de", label: "Deutsch (German)" }
341435
342261
  ]
341436
342262
  },
341437
342263
  terminalBell: {
@@ -342651,7 +343477,18 @@ function handleError(error2, config2, customErrorCode) {
342651
343477
  }
342652
343478
  }
342653
343479
  __name(handleError, "handleError");
342654
- function handleToolError(toolName, toolError, config2, _errorCode, resultDisplay) {
343480
+ function handleToolError(toolName, toolError, config2, errorCode, resultDisplay) {
343481
+ const isExecutionDenied = errorCode === ToolErrorType.EXECUTION_DENIED;
343482
+ const isNonInteractive = !config2.isInteractive();
343483
+ const isTextMode = config2.getOutputFormat() === OutputFormat.TEXT;
343484
+ if (isExecutionDenied && isNonInteractive && isTextMode) {
343485
+ const warningMessage = `Warning: Tool "${toolName}" requires user approval but cannot execute in non-interactive mode.
343486
+ To enable automatic tool execution, use the -y flag (YOLO mode):
343487
+ Example: qwen -p 'your prompt' -y
343488
+
343489
+ `;
343490
+ process.stderr.write(warningMessage);
343491
+ }
342655
343492
  if (config2.getDebugMode()) {
342656
343493
  console.error(
342657
343494
  `Error executing tool ${toolName}: ${resultDisplay || toolError.message}`
@@ -355486,7 +356323,7 @@ __name(getPackageJson, "getPackageJson");
355486
356323
  // packages/cli/src/utils/version.ts
355487
356324
  async function getCliVersion() {
355488
356325
  const pkgJson = await getPackageJson();
355489
- return "0.6.0";
356326
+ return "0.6.1-nightly.20260107.f6771c08";
355490
356327
  }
355491
356328
  __name(getCliVersion, "getCliVersion");
355492
356329
 
@@ -359584,9 +360421,13 @@ async function parseArguments(settings) {
359584
360421
  type: "boolean",
359585
360422
  description: "Enables checkpointing of file edits",
359586
360423
  default: false
359587
- }).option("experimental-acp", {
360424
+ }).option("acp", {
359588
360425
  type: "boolean",
359589
360426
  description: "Starts the agent in ACP mode"
360427
+ }).option("experimental-acp", {
360428
+ type: "boolean",
360429
+ description: "Starts the agent in ACP mode (deprecated, use --acp instead)",
360430
+ hidden: true
359590
360431
  }).option("experimental-skills", {
359591
360432
  type: "boolean",
359592
360433
  description: "Enable experimental Skills feature",
@@ -359782,7 +360623,15 @@ async function parseArguments(settings) {
359782
360623
  }
359783
360624
  }
359784
360625
  result["query"] = q2 || void 0;
359785
- if (result["experimentalAcp"] && !result["channel"]) {
360626
+ if (result["experimentalAcp"]) {
360627
+ console.warn(
360628
+ "\x1B[33m\u26A0 Warning: --experimental-acp is deprecated and will be removed in a future release. Please use --acp instead.\x1B[0m"
360629
+ );
360630
+ if (!result["acp"]) {
360631
+ result["acp"] = true;
360632
+ }
360633
+ }
360634
+ if ((result["acp"] || result["experimentalAcp"]) && !result["channel"]) {
359786
360635
  result["channel"] = "ACP";
359787
360636
  }
359788
360637
  return result;
@@ -359922,14 +360771,36 @@ async function loadCliConfig(settings, extensions, extensionEnablementManager, a
359922
360771
  interactive = false;
359923
360772
  }
359924
360773
  const extraExcludes = [];
360774
+ const resolvedCoreTools = argv.coreTools || settings.tools?.core || [];
360775
+ const resolvedAllowedTools = argv.allowedTools || settings.tools?.allowed || [];
360776
+ const isExplicitlyEnabled = /* @__PURE__ */ __name((toolName) => {
360777
+ if (resolvedCoreTools.length > 0) {
360778
+ if (isToolEnabled(toolName, resolvedCoreTools, [])) {
360779
+ return true;
360780
+ }
360781
+ }
360782
+ if (resolvedAllowedTools.length > 0) {
360783
+ if (isToolEnabled(toolName, resolvedAllowedTools, [])) {
360784
+ return true;
360785
+ }
360786
+ }
360787
+ return false;
360788
+ }, "isExplicitlyEnabled");
360789
+ const excludeUnlessExplicit = /* @__PURE__ */ __name((toolName) => {
360790
+ if (!isExplicitlyEnabled(toolName)) {
360791
+ extraExcludes.push(toolName);
360792
+ }
360793
+ }, "excludeUnlessExplicit");
359925
360794
  if (!interactive && !argv.experimentalAcp && inputFormat !== InputFormat.STREAM_JSON) {
359926
360795
  switch (approvalMode) {
359927
360796
  case ApprovalMode.PLAN:
359928
360797
  case ApprovalMode.DEFAULT:
359929
- extraExcludes.push(ShellTool.Name, EditTool.Name, WriteFileTool.Name);
360798
+ excludeUnlessExplicit(ShellTool.Name);
360799
+ excludeUnlessExplicit(EditTool.Name);
360800
+ excludeUnlessExplicit(WriteFileTool.Name);
359930
360801
  break;
359931
360802
  case ApprovalMode.AUTO_EDIT:
359932
- extraExcludes.push(ShellTool.Name);
360803
+ excludeUnlessExplicit(ShellTool.Name);
359933
360804
  break;
359934
360805
  case ApprovalMode.YOLO:
359935
360806
  break;
@@ -360033,7 +360904,7 @@ async function loadCliConfig(settings, extensions, extensionEnablementManager, a
360033
360904
  extensionContextFilePaths,
360034
360905
  sessionTokenLimit: settings.model?.sessionTokenLimit ?? -1,
360035
360906
  maxSessionTurns: argv.maxSessionTurns ?? settings.model?.maxSessionTurns ?? -1,
360036
- experimentalZedIntegration: argv.experimentalAcp || false,
360907
+ experimentalZedIntegration: argv.acp || argv.experimentalAcp || false,
360037
360908
  experimentalSkills: argv.experimentalSkills || false,
360038
360909
  listExtensions: argv.listExtensions || false,
360039
360910
  extensions: allExtensions,
@@ -362591,8 +363462,39 @@ import * as path80 from "node:path";
362591
363462
  import { fileURLToPath as fileURLToPath11, pathToFileURL as pathToFileURL2 } from "node:url";
362592
363463
  import { homedir as homedir17 } from "node:os";
362593
363464
 
363465
+ // packages/cli/src/i18n/languages.ts
363466
+ init_esbuild_shims();
363467
+ var SUPPORTED_LANGUAGES = [
363468
+ {
363469
+ code: "en",
363470
+ id: "en-US",
363471
+ fullName: "English"
363472
+ },
363473
+ {
363474
+ code: "zh",
363475
+ id: "zh-CN",
363476
+ fullName: "Chinese"
363477
+ },
363478
+ {
363479
+ code: "ru",
363480
+ id: "ru-RU",
363481
+ fullName: "Russian"
363482
+ },
363483
+ {
363484
+ code: "de",
363485
+ id: "de-DE",
363486
+ fullName: "German"
363487
+ }
363488
+ ];
363489
+ function getLanguageNameFromLocale(locale) {
363490
+ const lang = SUPPORTED_LANGUAGES.find((l3) => l3.code === locale);
363491
+ return lang?.fullName || "English";
363492
+ }
363493
+ __name(getLanguageNameFromLocale, "getLanguageNameFromLocale");
363494
+
362594
363495
  // import("./locales/**/*.js") in packages/cli/src/i18n/index.ts
362595
363496
  var globImport_locales_js = __glob({
363497
+ "./locales/de.js": () => Promise.resolve().then(() => (init_de(), de_exports)),
362596
363498
  "./locales/en.js": () => Promise.resolve().then(() => (init_en3(), en_exports)),
362597
363499
  "./locales/ru.js": () => Promise.resolve().then(() => (init_ru(), ru_exports)),
362598
363500
  "./locales/zh.js": () => Promise.resolve().then(() => (init_zh(), zh_exports))
@@ -362617,10 +363519,12 @@ function detectSystemLanguage() {
362617
363519
  if (envLang?.startsWith("zh")) return "zh";
362618
363520
  if (envLang?.startsWith("en")) return "en";
362619
363521
  if (envLang?.startsWith("ru")) return "ru";
363522
+ if (envLang?.startsWith("de")) return "de";
362620
363523
  try {
362621
363524
  const locale = Intl.DateTimeFormat().resolvedOptions().locale;
362622
363525
  if (locale.startsWith("zh")) return "zh";
362623
363526
  if (locale.startsWith("ru")) return "ru";
363527
+ if (locale.startsWith("de")) return "de";
362624
363528
  } catch {
362625
363529
  }
362626
363530
  return "en";
@@ -362721,9 +363625,20 @@ function getCurrentLanguage() {
362721
363625
  __name(getCurrentLanguage, "getCurrentLanguage");
362722
363626
  function t4(key, params) {
362723
363627
  const translation = translations[key] ?? key;
363628
+ if (Array.isArray(translation)) {
363629
+ return key;
363630
+ }
362724
363631
  return interpolate(translation, params);
362725
363632
  }
362726
363633
  __name(t4, "t");
363634
+ function ta(key) {
363635
+ const translation = translations[key];
363636
+ if (Array.isArray(translation)) {
363637
+ return translation;
363638
+ }
363639
+ return [];
363640
+ }
363641
+ __name(ta, "ta");
362727
363642
  async function initializeI18n(lang) {
362728
363643
  await setLanguageAsync(lang ?? "auto");
362729
363644
  }
@@ -362741,10 +363656,344 @@ function validateTheme(settings) {
362741
363656
  }
362742
363657
  __name(validateTheme, "validateTheme");
362743
363658
 
363659
+ // packages/cli/src/ui/commands/languageCommand.ts
363660
+ init_esbuild_shims();
363661
+
363662
+ // packages/cli/src/ui/commands/types.ts
363663
+ init_esbuild_shims();
363664
+
363665
+ // packages/cli/src/ui/commands/languageCommand.ts
363666
+ import * as fs75 from "node:fs";
363667
+ import * as path81 from "node:path";
363668
+ var LLM_OUTPUT_LANGUAGE_RULE_FILENAME = "output-language.md";
363669
+ var LLM_OUTPUT_LANGUAGE_MARKER_PREFIX = "qwen-code:llm-output-language:";
363670
+ function parseUiLanguageArg(input) {
363671
+ const lowered = input.trim().toLowerCase();
363672
+ if (!lowered) return null;
363673
+ for (const lang of SUPPORTED_LANGUAGES) {
363674
+ if (lowered === lang.code || lowered === lang.id.toLowerCase() || lowered === lang.fullName.toLowerCase()) {
363675
+ return lang.code;
363676
+ }
363677
+ }
363678
+ return null;
363679
+ }
363680
+ __name(parseUiLanguageArg, "parseUiLanguageArg");
363681
+ function formatUiLanguageDisplay(lang) {
363682
+ const option2 = SUPPORTED_LANGUAGES.find((o3) => o3.code === lang);
363683
+ return option2 ? `${option2.fullName}\uFF08${option2.id}\uFF09` : lang;
363684
+ }
363685
+ __name(formatUiLanguageDisplay, "formatUiLanguageDisplay");
363686
+ function sanitizeLanguageForMarker(language) {
363687
+ return language.replace(/[\r\n]/g, " ").replace(/--!?>/g, "").replace(/--/g, "");
363688
+ }
363689
+ __name(sanitizeLanguageForMarker, "sanitizeLanguageForMarker");
363690
+ function generateLlmOutputLanguageRule(language) {
363691
+ const markerLanguage = sanitizeLanguageForMarker(language);
363692
+ return `# Output language preference: ${language}
363693
+ <!-- ${LLM_OUTPUT_LANGUAGE_MARKER_PREFIX} ${markerLanguage} -->
363694
+
363695
+ ## Goal
363696
+ Prefer responding in **${language}** for normal assistant messages and explanations.
363697
+
363698
+ ## Keep technical artifacts unchanged
363699
+ Do **not** translate or rewrite:
363700
+ - Code blocks, CLI commands, file paths, stack traces, logs, JSON keys, identifiers
363701
+ - Exact quoted text from the user (keep quotes verbatim)
363702
+
363703
+ ## When a conflict exists
363704
+ If higher-priority instructions (system/developer) require a different behavior, follow them.
363705
+
363706
+ ## Tool / system outputs
363707
+ Raw tool/system outputs may contain fixed-format English. Preserve them verbatim, and if needed, add a short **${language}** explanation below.
363708
+ `;
363709
+ }
363710
+ __name(generateLlmOutputLanguageRule, "generateLlmOutputLanguageRule");
363711
+ function getLlmOutputLanguageRulePath() {
363712
+ return path81.join(
363713
+ Storage.getGlobalQwenDir(),
363714
+ LLM_OUTPUT_LANGUAGE_RULE_FILENAME
363715
+ );
363716
+ }
363717
+ __name(getLlmOutputLanguageRulePath, "getLlmOutputLanguageRulePath");
363718
+ function normalizeLanguageName(language) {
363719
+ const lowered = language.toLowerCase();
363720
+ const fullName = getLanguageNameFromLocale(lowered);
363721
+ if (fullName !== "English" || lowered === "en") {
363722
+ return fullName;
363723
+ }
363724
+ return language;
363725
+ }
363726
+ __name(normalizeLanguageName, "normalizeLanguageName");
363727
+ function extractLlmOutputLanguageFromRuleFileContent(content) {
363728
+ const markerMatch = content.match(
363729
+ new RegExp(
363730
+ String.raw`<!--\s*${LLM_OUTPUT_LANGUAGE_MARKER_PREFIX}\s*(.*?)\s*-->`,
363731
+ "i"
363732
+ )
363733
+ );
363734
+ if (markerMatch?.[1]) {
363735
+ const lang = markerMatch[1].trim();
363736
+ if (lang) return lang;
363737
+ }
363738
+ const headingMatch = content.match(
363739
+ /^#.*?CRITICAL:\s*(.*?)\s+Output Language Rule\b/im
363740
+ );
363741
+ if (headingMatch?.[1]) {
363742
+ const lang = headingMatch[1].trim();
363743
+ if (lang) return lang;
363744
+ }
363745
+ return null;
363746
+ }
363747
+ __name(extractLlmOutputLanguageFromRuleFileContent, "extractLlmOutputLanguageFromRuleFileContent");
363748
+ function initializeLlmOutputLanguage() {
363749
+ const filePath = getLlmOutputLanguageRulePath();
363750
+ if (fs75.existsSync(filePath)) {
363751
+ return;
363752
+ }
363753
+ const detectedLocale = detectSystemLanguage();
363754
+ const languageName = getLanguageNameFromLocale(detectedLocale);
363755
+ const content = generateLlmOutputLanguageRule(languageName);
363756
+ const dir = path81.dirname(filePath);
363757
+ fs75.mkdirSync(dir, { recursive: true });
363758
+ fs75.writeFileSync(filePath, content, "utf-8");
363759
+ }
363760
+ __name(initializeLlmOutputLanguage, "initializeLlmOutputLanguage");
363761
+ function getCurrentLlmOutputLanguage() {
363762
+ const filePath = getLlmOutputLanguageRulePath();
363763
+ if (fs75.existsSync(filePath)) {
363764
+ try {
363765
+ const content = fs75.readFileSync(filePath, "utf-8");
363766
+ return extractLlmOutputLanguageFromRuleFileContent(content);
363767
+ } catch {
363768
+ }
363769
+ }
363770
+ return null;
363771
+ }
363772
+ __name(getCurrentLlmOutputLanguage, "getCurrentLlmOutputLanguage");
363773
+ async function setUiLanguage(context2, lang) {
363774
+ const { services } = context2;
363775
+ const { settings } = services;
363776
+ if (!services.config) {
363777
+ return {
363778
+ type: "message",
363779
+ messageType: "error",
363780
+ content: t4("Configuration not available.")
363781
+ };
363782
+ }
363783
+ await setLanguageAsync(lang);
363784
+ if (settings && typeof settings.setValue === "function") {
363785
+ try {
363786
+ settings.setValue("User" /* User */, "general.language", lang);
363787
+ } catch (error2) {
363788
+ console.warn("Failed to save language setting:", error2);
363789
+ }
363790
+ }
363791
+ context2.ui.reloadCommands();
363792
+ return {
363793
+ type: "message",
363794
+ messageType: "info",
363795
+ content: t4("UI language changed to {{lang}}", {
363796
+ lang: formatUiLanguageDisplay(lang)
363797
+ })
363798
+ };
363799
+ }
363800
+ __name(setUiLanguage, "setUiLanguage");
363801
+ function generateLlmOutputLanguageRuleFile(language) {
363802
+ try {
363803
+ const filePath = getLlmOutputLanguageRulePath();
363804
+ const normalizedLanguage = normalizeLanguageName(language);
363805
+ const content = generateLlmOutputLanguageRule(normalizedLanguage);
363806
+ const dir = path81.dirname(filePath);
363807
+ fs75.mkdirSync(dir, { recursive: true });
363808
+ fs75.writeFileSync(filePath, content, "utf-8");
363809
+ return Promise.resolve({
363810
+ type: "message",
363811
+ messageType: "info",
363812
+ content: [
363813
+ t4("LLM output language rule file generated at {{path}}", {
363814
+ path: filePath
363815
+ }),
363816
+ "",
363817
+ t4("Please restart the application for the changes to take effect.")
363818
+ ].join("\n")
363819
+ });
363820
+ } catch (error2) {
363821
+ return Promise.resolve({
363822
+ type: "message",
363823
+ messageType: "error",
363824
+ content: t4(
363825
+ "Failed to generate LLM output language rule file: {{error}}",
363826
+ {
363827
+ error: error2 instanceof Error ? error2.message : String(error2)
363828
+ }
363829
+ )
363830
+ });
363831
+ }
363832
+ }
363833
+ __name(generateLlmOutputLanguageRuleFile, "generateLlmOutputLanguageRuleFile");
363834
+ var languageCommand = {
363835
+ name: "language",
363836
+ get description() {
363837
+ return t4("View or change the language setting");
363838
+ },
363839
+ kind: "built-in" /* BUILT_IN */,
363840
+ action: /* @__PURE__ */ __name(async (context2, args) => {
363841
+ const { services } = context2;
363842
+ if (!services.config) {
363843
+ return {
363844
+ type: "message",
363845
+ messageType: "error",
363846
+ content: t4("Configuration not available.")
363847
+ };
363848
+ }
363849
+ const trimmedArgs = args.trim();
363850
+ const parts = trimmedArgs.split(/\s+/);
363851
+ const firstArg = parts[0].toLowerCase();
363852
+ const subArgs = parts.slice(1).join(" ");
363853
+ if (firstArg === "ui" || firstArg === "output") {
363854
+ const subCommand = languageCommand.subCommands?.find(
363855
+ (s5) => s5.name === firstArg
363856
+ );
363857
+ if (subCommand?.action) {
363858
+ return subCommand.action(
363859
+ context2,
363860
+ subArgs
363861
+ );
363862
+ }
363863
+ }
363864
+ if (!trimmedArgs) {
363865
+ const currentUiLang = getCurrentLanguage();
363866
+ const currentLlmLang = getCurrentLlmOutputLanguage();
363867
+ const message = [
363868
+ t4("Current UI language: {{lang}}", {
363869
+ lang: formatUiLanguageDisplay(currentUiLang)
363870
+ }),
363871
+ currentLlmLang ? t4("Current LLM output language: {{lang}}", { lang: currentLlmLang }) : t4("LLM output language not set"),
363872
+ "",
363873
+ t4("Available subcommands:"),
363874
+ ` /language ui [${SUPPORTED_LANGUAGES.map((o3) => o3.id).join("|")}] - ${t4("Set UI language")}`,
363875
+ ` /language output <language> - ${t4("Set LLM output language")}`
363876
+ ].join("\n");
363877
+ return {
363878
+ type: "message",
363879
+ messageType: "info",
363880
+ content: message
363881
+ };
363882
+ }
363883
+ const targetLang = parseUiLanguageArg(trimmedArgs);
363884
+ if (targetLang) {
363885
+ return setUiLanguage(context2, targetLang);
363886
+ }
363887
+ return {
363888
+ type: "message",
363889
+ messageType: "error",
363890
+ content: [
363891
+ t4("Invalid command. Available subcommands:"),
363892
+ ` - /language ui [${SUPPORTED_LANGUAGES.map((o3) => o3.id).join("|")}] - ${t4("Set UI language")}`,
363893
+ " - /language output <language> - " + t4("Set LLM output language")
363894
+ ].join("\n")
363895
+ };
363896
+ }, "action"),
363897
+ subCommands: [
363898
+ {
363899
+ name: "ui",
363900
+ get description() {
363901
+ return t4("Set UI language");
363902
+ },
363903
+ kind: "built-in" /* BUILT_IN */,
363904
+ action: /* @__PURE__ */ __name(async (context2, args) => {
363905
+ const trimmedArgs = args.trim();
363906
+ if (!trimmedArgs) {
363907
+ return {
363908
+ type: "message",
363909
+ messageType: "info",
363910
+ content: [
363911
+ t4("Set UI language"),
363912
+ "",
363913
+ t4("Usage: /language ui [{{options}}]", {
363914
+ options: SUPPORTED_LANGUAGES.map((o3) => o3.id).join("|")
363915
+ }),
363916
+ "",
363917
+ t4("Available options:"),
363918
+ ...SUPPORTED_LANGUAGES.map(
363919
+ (o3) => ` - ${o3.id}: ${t4(o3.fullName)}`
363920
+ ),
363921
+ "",
363922
+ t4(
363923
+ "To request additional UI language packs, please open an issue on GitHub."
363924
+ )
363925
+ ].join("\n")
363926
+ };
363927
+ }
363928
+ const targetLang = parseUiLanguageArg(trimmedArgs);
363929
+ if (!targetLang) {
363930
+ return {
363931
+ type: "message",
363932
+ messageType: "error",
363933
+ content: t4("Invalid language. Available: {{options}}", {
363934
+ options: SUPPORTED_LANGUAGES.map((o3) => o3.id).join(",")
363935
+ })
363936
+ };
363937
+ }
363938
+ return setUiLanguage(context2, targetLang);
363939
+ }, "action"),
363940
+ subCommands: SUPPORTED_LANGUAGES.map(createUiLanguageSubCommand)
363941
+ },
363942
+ {
363943
+ name: "output",
363944
+ get description() {
363945
+ return t4("Set LLM output language");
363946
+ },
363947
+ kind: "built-in" /* BUILT_IN */,
363948
+ action: /* @__PURE__ */ __name(async (context2, args) => {
363949
+ const trimmedArgs = args.trim();
363950
+ if (!trimmedArgs) {
363951
+ return {
363952
+ type: "message",
363953
+ messageType: "info",
363954
+ content: [
363955
+ t4("Set LLM output language"),
363956
+ "",
363957
+ t4("Usage: /language output <language>"),
363958
+ ` ${t4("Example: /language output \u4E2D\u6587")}`,
363959
+ ` ${t4("Example: /language output English")}`,
363960
+ ` ${t4("Example: /language output \u65E5\u672C\u8A9E")}`
363961
+ ].join("\n")
363962
+ };
363963
+ }
363964
+ return generateLlmOutputLanguageRuleFile(trimmedArgs);
363965
+ }, "action")
363966
+ }
363967
+ ]
363968
+ };
363969
+ function createUiLanguageSubCommand(option2) {
363970
+ return {
363971
+ name: option2.id,
363972
+ get description() {
363973
+ return t4("Set UI language to {{name}}", { name: option2.fullName });
363974
+ },
363975
+ kind: "built-in" /* BUILT_IN */,
363976
+ action: /* @__PURE__ */ __name(async (context2, args) => {
363977
+ if (args.trim().length > 0) {
363978
+ return {
363979
+ type: "message",
363980
+ messageType: "error",
363981
+ content: t4(
363982
+ "Language subcommands do not accept additional arguments."
363983
+ )
363984
+ };
363985
+ }
363986
+ return setUiLanguage(context2, option2.code);
363987
+ }, "action")
363988
+ };
363989
+ }
363990
+ __name(createUiLanguageSubCommand, "createUiLanguageSubCommand");
363991
+
362744
363992
  // packages/cli/src/core/initializer.ts
362745
363993
  async function initializeApp(config2, settings) {
362746
363994
  const languageSetting = process.env["QWEN_CODE_LANG"] || settings.merged.general?.language || "auto";
362747
363995
  await initializeI18n(languageSetting);
363996
+ initializeLlmOutputLanguage();
362748
363997
  const authType = settings.merged.security?.auth?.selectedType;
362749
363998
  const authError = await performInitialAuth(config2, authType);
362750
363999
  if (authError) {
@@ -362960,11 +364209,6 @@ init_esbuild_shims();
362960
364209
 
362961
364210
  // packages/cli/src/utils/commands.ts
362962
364211
  init_esbuild_shims();
362963
-
362964
- // packages/cli/src/ui/commands/types.ts
362965
- init_esbuild_shims();
362966
-
362967
- // packages/cli/src/utils/commands.ts
362968
364212
  var parseSlashCommand = /* @__PURE__ */ __name((query, commands) => {
362969
364213
  const trimmed2 = query.trim();
362970
364214
  const parts = trimmed2.substring(1).trim().split(/\s+/);
@@ -363162,7 +364406,7 @@ var formatDuration = /* @__PURE__ */ __name((milliseconds) => {
363162
364406
 
363163
364407
  // packages/cli/src/generated/git-commit.ts
363164
364408
  init_esbuild_shims();
363165
- var GIT_COMMIT_INFO2 = "17eb20c1";
364409
+ var GIT_COMMIT_INFO2 = "c27e81ff";
363166
364410
 
363167
364411
  // packages/cli/src/utils/systemInfo.ts
363168
364412
  async function getNpmVersion() {
@@ -363296,16 +364540,56 @@ var agentsCommand = {
363296
364540
 
363297
364541
  // packages/cli/src/ui/commands/approvalModeCommand.ts
363298
364542
  init_esbuild_shims();
364543
+ function parseApprovalModeArg(arg) {
364544
+ const trimmed2 = arg.trim().toLowerCase();
364545
+ if (!trimmed2) {
364546
+ return void 0;
364547
+ }
364548
+ return APPROVAL_MODES.find((mode) => mode.toLowerCase() === trimmed2);
364549
+ }
364550
+ __name(parseApprovalModeArg, "parseApprovalModeArg");
363299
364551
  var approvalModeCommand = {
363300
364552
  name: "approval-mode",
363301
364553
  get description() {
363302
364554
  return t4("View or change the approval mode for tool usage");
363303
364555
  },
363304
364556
  kind: "built-in" /* BUILT_IN */,
363305
- action: /* @__PURE__ */ __name(async (_context, _args) => ({
363306
- type: "dialog",
363307
- dialog: "approval-mode"
363308
- }), "action")
364557
+ action: /* @__PURE__ */ __name(async (context2, args) => {
364558
+ const mode = parseApprovalModeArg(args);
364559
+ if (!args.trim()) {
364560
+ return {
364561
+ type: "dialog",
364562
+ dialog: "approval-mode"
364563
+ };
364564
+ }
364565
+ if (!mode) {
364566
+ return {
364567
+ type: "message",
364568
+ messageType: "error",
364569
+ content: t4('Invalid approval mode "{{arg}}". Valid modes: {{modes}}', {
364570
+ arg: args.trim(),
364571
+ modes: APPROVAL_MODES.join(", ")
364572
+ })
364573
+ };
364574
+ }
364575
+ const { config: config2 } = context2.services;
364576
+ if (config2) {
364577
+ try {
364578
+ config2.setApprovalMode(mode);
364579
+ } catch (e4) {
364580
+ return {
364581
+ type: "message",
364582
+ messageType: "error",
364583
+ content: e4.message
364584
+ };
364585
+ }
364586
+ }
364587
+ return {
364588
+ type: "message",
364589
+ messageType: "info",
364590
+ content: t4('Approval mode set to "{{mode}}"', { mode })
364591
+ };
364592
+ }, "action")
363309
364593
  };
363310
364594
 
363311
364595
  // packages/cli/src/ui/commands/authCommand.ts
@@ -363721,7 +365005,7 @@ var docsCommand = {
363721
365005
  // packages/cli/src/ui/commands/directoryCommand.tsx
363722
365006
  init_esbuild_shims();
363723
365007
  import * as os29 from "node:os";
363724
- import * as path81 from "node:path";
365008
+ import * as path82 from "node:path";
363725
365009
  function expandHomeDir(p2) {
363726
365010
  if (!p2) {
363727
365011
  return "";
@@ -363732,7 +365016,7 @@ function expandHomeDir(p2) {
363732
365016
  } else if (p2 === "~" || p2.startsWith("~/")) {
363733
365017
  expandedPath = os29.homedir() + p2.substring(1);
363734
365018
  }
363735
- return path81.normalize(expandedPath);
365019
+ return path82.normalize(expandedPath);
363736
365020
  }
363737
365021
  __name(expandHomeDir, "expandHomeDir");
363738
365022
  var directoryCommand = {
@@ -364085,7 +365369,7 @@ var helpCommand = {
364085
365369
 
364086
365370
  // packages/cli/src/ui/commands/ideCommand.ts
364087
365371
  init_esbuild_shims();
364088
- import path82 from "node:path";
365372
+ import path83 from "node:path";
364089
365373
  function getIdeStatusMessage(ideClient) {
364090
365374
  const connection = ideClient.getConnectionStatus();
364091
365375
  switch (connection.status) {
@@ -364115,13 +365399,13 @@ __name(getIdeStatusMessage, "getIdeStatusMessage");
364115
365399
  function formatFileList(openFiles) {
364116
365400
  const basenameCounts = /* @__PURE__ */ new Map();
364117
365401
  for (const file of openFiles) {
364118
- const basename19 = path82.basename(file.path);
365402
+ const basename19 = path83.basename(file.path);
364119
365403
  basenameCounts.set(basename19, (basenameCounts.get(basename19) || 0) + 1);
364120
365404
  }
364121
365405
  const fileList = openFiles.map((file) => {
364122
- const basename19 = path82.basename(file.path);
365406
+ const basename19 = path83.basename(file.path);
364123
365407
  const isDuplicate = (basenameCounts.get(basename19) || 0) > 1;
364124
- const parentDir = path82.basename(path82.dirname(file.path));
365408
+ const parentDir = path83.basename(path83.dirname(file.path));
364125
365409
  const displayName = isDuplicate ? `${basename19} (/${parentDir})` : basename19;
364126
365410
  return ` - ${displayName}${file.isActive ? " (active)" : ""}`;
364127
365411
  }).join("\n");
@@ -364352,8 +365636,8 @@ var ideCommand = /* @__PURE__ */ __name(async () => {
364352
365636
 
364353
365637
  // packages/cli/src/ui/commands/initCommand.ts
364354
365638
  init_esbuild_shims();
364355
- import * as fs75 from "node:fs";
364356
- import * as path83 from "node:path";
365639
+ import * as fs76 from "node:fs";
365640
+ import * as path84 from "node:path";
364357
365641
  var import_react27 = __toESM(require_react(), 1);
364358
365642
  var initCommand = {
364359
365643
  name: "init",
@@ -364371,11 +365655,11 @@ var initCommand = {
364371
365655
  }
364372
365656
  const targetDir = context2.services.config.getTargetDir();
364373
365657
  const contextFileName = getCurrentGeminiMdFilename();
364374
- const contextFilePath = path83.join(targetDir, contextFileName);
365658
+ const contextFilePath = path84.join(targetDir, contextFileName);
364375
365659
  try {
364376
- if (fs75.existsSync(contextFilePath)) {
365660
+ if (fs76.existsSync(contextFilePath)) {
364377
365661
  try {
364378
- const existing = fs75.readFileSync(contextFilePath, "utf8");
365662
+ const existing = fs76.readFileSync(contextFilePath, "utf8");
364379
365663
  if (existing && existing.trim().length > 0) {
364380
365664
  if (!context2.overwriteConfirmed) {
364381
365665
  return {
@@ -364397,7 +365681,7 @@ var initCommand = {
364397
365681
  }
364398
365682
  }
364399
365683
  try {
364400
- fs75.writeFileSync(contextFilePath, "", "utf8");
365684
+ fs76.writeFileSync(contextFilePath, "", "utf8");
364401
365685
  context2.ui.addItem(
364402
365686
  {
364403
365687
  type: "info",
@@ -364460,378 +365744,6 @@ Write the complete content to the \`${contextFileName}\` file. The output must b
364460
365744
  }, "action")
364461
365745
  };
364462
365746
 
364463
- // packages/cli/src/ui/commands/languageCommand.ts
364464
- init_esbuild_shims();
364465
- import * as fs76 from "node:fs";
364466
- import * as path84 from "node:path";
364467
- var LLM_OUTPUT_LANGUAGE_RULE_FILENAME = "output-language.md";
364468
- function generateLlmOutputLanguageRule(language) {
364469
- return `# \u26A0\uFE0F CRITICAL: ${language} Output Language Rule - HIGHEST PRIORITY \u26A0\uFE0F
364470
-
364471
- ## \u{1F6A8} MANDATORY RULE - NO EXCEPTIONS \u{1F6A8}
364472
-
364473
- **YOU MUST RESPOND IN ${language.toUpperCase()} FOR EVERY SINGLE OUTPUT, REGARDLESS OF THE USER'S INPUT LANGUAGE.**
364474
-
364475
- This is a **NON-NEGOTIABLE** requirement. Even if the user writes in English, says "hi", asks a simple question, or explicitly requests another language, **YOU MUST ALWAYS RESPOND IN ${language.toUpperCase()}.**
364476
-
364477
- ## What Must Be in ${language}
364478
-
364479
- **EVERYTHING** you output: conversation replies, tool call descriptions, success/error messages, generated file content (comments, documentation), and all explanatory text.
364480
-
364481
- **Tool outputs**: All descriptive text from \`read_file\`, \`write_file\`, \`codebase_search\`, \`run_terminal_cmd\`, \`todo_write\`, \`web_search\`, etc. MUST be in ${language}.
364482
-
364483
- ## Examples
364484
-
364485
- ### \u2705 CORRECT:
364486
- - User says "hi" \u2192 Respond in ${language} (e.g., "Bonjour" if ${language} is French)
364487
- - Tool result \u2192 "\u5DF2\u6210\u529F\u8BFB\u53D6\u6587\u4EF6 config.json" (if ${language} is Chinese)
364488
- - Error \u2192 "\u65E0\u6CD5\u627E\u5230\u6307\u5B9A\u7684\u6587\u4EF6" (if ${language} is Chinese)
364489
-
364490
- ### \u274C WRONG:
364491
- - User says "hi" \u2192 "Hello" in English
364492
- - Tool result \u2192 "Successfully read file" in English
364493
- - Error \u2192 "File not found" in English
364494
-
364495
- ## Notes
364496
-
364497
- - Code elements (variable/function names, syntax) can remain in English
364498
- - Comments, documentation, and all other text MUST be in ${language}
364499
-
364500
- **THIS RULE IS ACTIVE NOW. ALL OUTPUTS MUST BE IN ${language.toUpperCase()}. NO EXCEPTIONS.**
364501
- `;
364502
- }
364503
- __name(generateLlmOutputLanguageRule, "generateLlmOutputLanguageRule");
364504
- function getLlmOutputLanguageRulePath() {
364505
- return path84.join(
364506
- Storage.getGlobalQwenDir(),
364507
- LLM_OUTPUT_LANGUAGE_RULE_FILENAME
364508
- );
364509
- }
364510
- __name(getLlmOutputLanguageRulePath, "getLlmOutputLanguageRulePath");
364511
- function getCurrentLlmOutputLanguage() {
364512
- const filePath = getLlmOutputLanguageRulePath();
364513
- if (fs76.existsSync(filePath)) {
364514
- try {
364515
- const content = fs76.readFileSync(filePath, "utf-8");
364516
- const match2 = content.match(/^#.*?(\w+)\s+Output Language Rule/i);
364517
- if (match2) {
364518
- return match2[1];
364519
- }
364520
- } catch {
364521
- }
364522
- }
364523
- return null;
364524
- }
364525
- __name(getCurrentLlmOutputLanguage, "getCurrentLlmOutputLanguage");
364526
- async function setUiLanguage(context2, lang) {
364527
- const { services } = context2;
364528
- const { settings } = services;
364529
- if (!services.config) {
364530
- return {
364531
- type: "message",
364532
- messageType: "error",
364533
- content: t4("Configuration not available.")
364534
- };
364535
- }
364536
- await setLanguageAsync(lang);
364537
- if (settings && typeof settings.setValue === "function") {
364538
- try {
364539
- settings.setValue("User" /* User */, "general.language", lang);
364540
- } catch (error2) {
364541
- console.warn("Failed to save language setting:", error2);
364542
- }
364543
- }
364544
- context2.ui.reloadCommands();
364545
- const langDisplayNames = {
364546
- zh: "\u4E2D\u6587\uFF08zh-CN\uFF09",
364547
- en: "English\uFF08en-US\uFF09",
364548
- ru: "\u0420\u0443\u0441\u0441\u043A\u0438\u0439 (ru-RU)"
364549
- };
364550
- return {
364551
- type: "message",
364552
- messageType: "info",
364553
- content: t4("UI language changed to {{lang}}", {
364554
- lang: langDisplayNames[lang] || lang
364555
- })
364556
- };
364557
- }
364558
- __name(setUiLanguage, "setUiLanguage");
364559
- function generateLlmOutputLanguageRuleFile(language) {
364560
- try {
364561
- const filePath = getLlmOutputLanguageRulePath();
364562
- const content = generateLlmOutputLanguageRule(language);
364563
- const dir = path84.dirname(filePath);
364564
- fs76.mkdirSync(dir, { recursive: true });
364565
- fs76.writeFileSync(filePath, content, "utf-8");
364566
- return Promise.resolve({
364567
- type: "message",
364568
- messageType: "info",
364569
- content: [
364570
- t4("LLM output language rule file generated at {{path}}", {
364571
- path: filePath
364572
- }),
364573
- "",
364574
- t4("Please restart the application for the changes to take effect.")
364575
- ].join("\n")
364576
- });
364577
- } catch (error2) {
364578
- return Promise.resolve({
364579
- type: "message",
364580
- messageType: "error",
364581
- content: t4(
364582
- "Failed to generate LLM output language rule file: {{error}}",
364583
- {
364584
- error: error2 instanceof Error ? error2.message : String(error2)
364585
- }
364586
- )
364587
- });
364588
- }
364589
- }
364590
- __name(generateLlmOutputLanguageRuleFile, "generateLlmOutputLanguageRuleFile");
364591
- var languageCommand = {
364592
- name: "language",
364593
- get description() {
364594
- return t4("View or change the language setting");
364595
- },
364596
- kind: "built-in" /* BUILT_IN */,
364597
- action: /* @__PURE__ */ __name(async (context2, args) => {
364598
- const { services } = context2;
364599
- if (!services.config) {
364600
- return {
364601
- type: "message",
364602
- messageType: "error",
364603
- content: t4("Configuration not available.")
364604
- };
364605
- }
364606
- const trimmedArgs = args.trim();
364607
- if (!trimmedArgs) {
364608
- const currentUiLang = getCurrentLanguage();
364609
- const currentLlmLang = getCurrentLlmOutputLanguage();
364610
- const message = [
364611
- t4("Current UI language: {{lang}}", { lang: currentUiLang }),
364612
- currentLlmLang ? t4("Current LLM output language: {{lang}}", { lang: currentLlmLang }) : t4("LLM output language not set"),
364613
- "",
364614
- t4("Available subcommands:"),
364615
- ` /language ui [zh-CN|en-US|ru-RU] - ${t4("Set UI language")}`,
364616
- ` /language output <language> - ${t4("Set LLM output language")}`
364617
- ].join("\n");
364618
- return {
364619
- type: "message",
364620
- messageType: "info",
364621
- content: message
364622
- };
364623
- }
364624
- const parts = trimmedArgs.split(/\s+/);
364625
- const subcommand = parts[0].toLowerCase();
364626
- if (subcommand === "ui") {
364627
- if (parts.length === 1) {
364628
- return {
364629
- type: "message",
364630
- messageType: "info",
364631
- content: [
364632
- t4("Set UI language"),
364633
- "",
364634
- t4("Usage: /language ui [zh-CN|en-US|ru-RU]"),
364635
- "",
364636
- t4("Available options:"),
364637
- t4(" - zh-CN: Simplified Chinese"),
364638
- t4(" - en-US: English"),
364639
- t4(" - ru-RU: Russian"),
364640
- "",
364641
- t4(
364642
- "To request additional UI language packs, please open an issue on GitHub."
364643
- )
364644
- ].join("\n")
364645
- };
364646
- }
364647
- const langArg = parts[1].toLowerCase();
364648
- let targetLang = null;
364649
- if (langArg === "en" || langArg === "english" || langArg === "en-us") {
364650
- targetLang = "en";
364651
- } else if (langArg === "zh" || langArg === "chinese" || langArg === "\u4E2D\u6587" || langArg === "zh-cn") {
364652
- targetLang = "zh";
364653
- } else if (langArg === "ru" || langArg === "ru-RU" || langArg === "russian" || langArg === "\u0440\u0443\u0441\u0441\u043A\u0438\u0439") {
364654
- targetLang = "ru";
364655
- } else {
364656
- return {
364657
- type: "message",
364658
- messageType: "error",
364659
- content: t4("Invalid language. Available: en-US, zh-CN, ru-RU")
364660
- };
364661
- }
364662
- return setUiLanguage(context2, targetLang);
364663
- } else if (subcommand === "output") {
364664
- if (parts.length === 1) {
364665
- return {
364666
- type: "message",
364667
- messageType: "info",
364668
- content: [
364669
- t4("Set LLM output language"),
364670
- "",
364671
- t4("Usage: /language output <language>"),
364672
- ` ${t4("Example: /language output \u4E2D\u6587")}`
364673
- ].join("\n")
364674
- };
364675
- }
364676
- const language = parts.slice(1).join(" ");
364677
- return generateLlmOutputLanguageRuleFile(language);
364678
- } else {
364679
- const langArg = trimmedArgs.toLowerCase();
364680
- let targetLang = null;
364681
- if (langArg === "en" || langArg === "english" || langArg === "en-us") {
364682
- targetLang = "en";
364683
- } else if (langArg === "zh" || langArg === "chinese" || langArg === "\u4E2D\u6587" || langArg === "zh-cn") {
364684
- targetLang = "zh";
364685
- } else if (langArg === "ru" || langArg === "ru-RU" || langArg === "russian" || langArg === "\u0440\u0443\u0441\u0441\u043A\u0438\u0439") {
364686
- targetLang = "ru";
364687
- } else {
364688
- return {
364689
- type: "message",
364690
- messageType: "error",
364691
- content: [
364692
- t4("Invalid command. Available subcommands:"),
364693
- " - /language ui [zh-CN|en-US|ru-RU] - " + t4("Set UI language"),
364694
- " - /language output <language> - " + t4("Set LLM output language")
364695
- ].join("\n")
364696
- };
364697
- }
364698
- return setUiLanguage(context2, targetLang);
364699
- }
364700
- }, "action"),
364701
- subCommands: [
364702
- {
364703
- name: "ui",
364704
- get description() {
364705
- return t4("Set UI language");
364706
- },
364707
- kind: "built-in" /* BUILT_IN */,
364708
- action: /* @__PURE__ */ __name(async (context2, args) => {
364709
- const trimmedArgs = args.trim();
364710
- if (!trimmedArgs) {
364711
- return {
364712
- type: "message",
364713
- messageType: "info",
364714
- content: [
364715
- t4("Set UI language"),
364716
- "",
364717
- t4("Usage: /language ui [zh-CN|en-US]"),
364718
- "",
364719
- t4("Available options:"),
364720
- t4(" - zh-CN: Simplified Chinese"),
364721
- t4(" - en-US: English"),
364722
- "",
364723
- t4(
364724
- "To request additional UI language packs, please open an issue on GitHub."
364725
- )
364726
- ].join("\n")
364727
- };
364728
- }
364729
- const langArg = trimmedArgs.toLowerCase();
364730
- let targetLang = null;
364731
- if (langArg === "en" || langArg === "english" || langArg === "en-us") {
364732
- targetLang = "en";
364733
- } else if (langArg === "zh" || langArg === "chinese" || langArg === "\u4E2D\u6587" || langArg === "zh-cn") {
364734
- targetLang = "zh";
364735
- } else {
364736
- return {
364737
- type: "message",
364738
- messageType: "error",
364739
- content: t4("Invalid language. Available: en-US, zh-CN")
364740
- };
364741
- }
364742
- return setUiLanguage(context2, targetLang);
364743
- }, "action"),
364744
- subCommands: [
364745
- {
364746
- name: "zh-CN",
364747
- altNames: ["zh", "chinese", "\u4E2D\u6587"],
364748
- get description() {
364749
- return t4("Set UI language to Simplified Chinese (zh-CN)");
364750
- },
364751
- kind: "built-in" /* BUILT_IN */,
364752
- action: /* @__PURE__ */ __name(async (context2, args) => {
364753
- if (args.trim().length > 0) {
364754
- return {
364755
- type: "message",
364756
- messageType: "error",
364757
- content: t4(
364758
- "Language subcommands do not accept additional arguments."
364759
- )
364760
- };
364761
- }
364762
- return setUiLanguage(context2, "zh");
364763
- }, "action")
364764
- },
364765
- {
364766
- name: "en-US",
364767
- altNames: ["en", "english"],
364768
- get description() {
364769
- return t4("Set UI language to English (en-US)");
364770
- },
364771
- kind: "built-in" /* BUILT_IN */,
364772
- action: /* @__PURE__ */ __name(async (context2, args) => {
364773
- if (args.trim().length > 0) {
364774
- return {
364775
- type: "message",
364776
- messageType: "error",
364777
- content: t4(
364778
- "Language subcommands do not accept additional arguments."
364779
- )
364780
- };
364781
- }
364782
- return setUiLanguage(context2, "en");
364783
- }, "action")
364784
- },
364785
- {
364786
- name: "ru-RU",
364787
- altNames: ["ru", "russian", "\u0440\u0443\u0441\u0441\u043A\u0438\u0439"],
364788
- get description() {
364789
- return t4("Set UI language to Russian (ru-RU)");
364790
- },
364791
- kind: "built-in" /* BUILT_IN */,
364792
- action: /* @__PURE__ */ __name(async (context2, args) => {
364793
- if (args.trim().length > 0) {
364794
- return {
364795
- type: "message",
364796
- messageType: "error",
364797
- content: t4(
364798
- "Language subcommands do not accept additional arguments."
364799
- )
364800
- };
364801
- }
364802
- return setUiLanguage(context2, "ru");
364803
- }, "action")
364804
- }
364805
- ]
364806
- },
364807
- {
364808
- name: "output",
364809
- get description() {
364810
- return t4("Set LLM output language");
364811
- },
364812
- kind: "built-in" /* BUILT_IN */,
364813
- action: /* @__PURE__ */ __name(async (context2, args) => {
364814
- const trimmedArgs = args.trim();
364815
- if (!trimmedArgs) {
364816
- return {
364817
- type: "message",
364818
- messageType: "info",
364819
- content: [
364820
- t4("Set LLM output language"),
364821
- "",
364822
- t4("Usage: /language output <language>"),
364823
- ` ${t4("Example: /language output \u4E2D\u6587")}`,
364824
- ` ${t4("Example: /language output English")}`,
364825
- ` ${t4("Example: /language output \u65E5\u672C\u8A9E")}`
364826
- ].join("\n")
364827
- };
364828
- }
364829
- return generateLlmOutputLanguageRuleFile(trimmedArgs);
364830
- }, "action")
364831
- }
364832
- ]
364833
- };
364834
-
364835
365747
  // packages/cli/src/ui/commands/mcpCommand.ts
364836
365748
  init_esbuild_shims();
364837
365749
  var authCommand2 = {
@@ -366938,15 +367850,28 @@ var ShellProcessor = class {
366938
367850
  const command2 = injection.resolvedCommand;
366939
367851
  if (!command2) continue;
366940
367852
  const { allAllowed, disallowedCommands, blockReason, isHardDenial } = checkCommandPermissions(command2, config2, sessionShellAllowlist);
367853
+ const allowedTools = config2.getAllowedTools() || [];
367854
+ const invocation = {
367855
+ params: { command: command2 }
367856
+ };
367857
+ const isAllowedBySettings = doesToolInvocationMatch(
367858
+ "run_shell_command",
367859
+ invocation,
367860
+ allowedTools
367861
+ );
366941
367862
  if (!allAllowed) {
366942
367863
  if (isHardDenial) {
366943
367864
  throw new Error(
366944
367865
  `${this.commandName} cannot be run. Blocked command: "${command2}". Reason: ${blockReason || "Blocked by configuration."}`
366945
367866
  );
366946
367867
  }
366947
- if (config2.getApprovalMode() !== ApprovalMode.YOLO) {
366948
- disallowedCommands.forEach((uc) => commandsToConfirm.add(uc));
367868
+ if (isAllowedBySettings) {
367869
+ continue;
366949
367870
  }
367871
+ if (config2.getApprovalMode() === ApprovalMode.YOLO) {
367872
+ continue;
367873
+ }
367874
+ disallowedCommands.forEach((uc) => commandsToConfirm.add(uc));
366950
367875
  }
366951
367876
  }
366952
367877
  if (commandsToConfirm.size > 0) {
@@ -368283,7 +369208,14 @@ ${event.value}`, null);
368283
369208
  */
368284
369209
  appendThinking(state, subject, description, parentToolUseId) {
368285
369210
  const actualParentToolUseId = parentToolUseId ?? null;
368286
- const fragment = [subject?.trim(), description?.trim()].filter((value) => value && value.length > 0).join(": ");
369211
+ const parts = [];
369212
+ if (subject && subject.length > 0) {
369213
+ parts.push(subject);
369214
+ }
369215
+ if (description && description.length > 0) {
369216
+ parts.push(description);
369217
+ }
369218
+ const fragment = parts.join(": ");
368287
369219
  if (!fragment) {
368288
369220
  return;
368289
369221
  }
@@ -369384,6 +370316,7 @@ async function runNonInteractive(config2, settings, input, prompt_id, options2 =
369384
370316
  );
369385
370317
  process.stderr.write(`${errorText}
369386
370318
  `);
370319
+ throw new Error(errorText);
369387
370320
  }
369388
370321
  }
369389
370322
  }
@@ -369404,15 +370337,23 @@ async function runNonInteractive(config2, settings, input, prompt_id, options2 =
369404
370337
  adapter
369405
370338
  ) : void 0;
369406
370339
  const taskToolProgressHandler = taskToolProgress?.handler;
370340
+ const nonTaskOutputHandler = !isTaskTool && !adapter ? (callId, outputChunk) => {
370341
+ if (typeof outputChunk === "string") {
370342
+ process.stdout.write(outputChunk);
370343
+ } else if (outputChunk && typeof outputChunk === "object" && "ansiOutput" in outputChunk) {
370344
+ process.stdout.write(String(outputChunk.ansiOutput));
370345
+ }
370346
+ } : void 0;
370347
+ const outputUpdateHandler = taskToolProgressHandler || nonTaskOutputHandler;
369407
370348
  const toolResponse = await executeToolCall(
369408
370349
  config2,
369409
370350
  finalRequestInfo,
369410
370351
  abortController.signal,
369411
- isTaskTool && taskToolProgressHandler ? {
369412
- outputUpdateHandler: taskToolProgressHandler,
369413
- onToolCallsUpdate: toolCallUpdateCallback
369414
- } : toolCallUpdateCallback ? {
369415
- onToolCallsUpdate: toolCallUpdateCallback
370352
+ outputUpdateHandler || toolCallUpdateCallback ? {
370353
+ ...outputUpdateHandler && { outputUpdateHandler },
370354
+ ...toolCallUpdateCallback && {
370355
+ onToolCallsUpdate: toolCallUpdateCallback
370356
+ }
369416
370357
  } : void 0
369417
370358
  );
369418
370359
  if (toolResponse.error) {
@@ -388652,7 +389593,7 @@ var import_chalk5 = __toESM(require_source(), 1);
388652
389593
  // packages/cli/src/ui/components/shared/text-buffer.ts
388653
389594
  init_esbuild_shims();
388654
389595
  var import_react46 = __toESM(require_react(), 1);
388655
- import { spawnSync as spawnSync3 } from "node:child_process";
389596
+ import { spawnSync as spawnSync4 } from "node:child_process";
388656
389597
  import fs83 from "node:fs";
388657
389598
  import os32 from "node:os";
388658
389599
  import pathMod from "node:path";
@@ -390493,7 +391434,7 @@ function useTextBuffer({
390493
391434
  const wasRaw = stdin?.isRaw ?? false;
390494
391435
  try {
390495
391436
  setRawMode?.(false);
390496
- const { status, error: error2 } = spawnSync3(editor, [filePath], {
391437
+ const { status, error: error2 } = spawnSync4(editor, [filePath], {
390497
391438
  stdio: "inherit"
390498
391439
  });
390499
391440
  if (error2) throw error2;
@@ -391196,7 +392137,7 @@ var import_react52 = __toESM(require_react(), 1);
391196
392137
  // packages/cli/src/ui/hooks/useLaunchEditor.ts
391197
392138
  init_esbuild_shims();
391198
392139
  var import_react51 = __toESM(require_react(), 1);
391199
- import { spawnSync as spawnSync4 } from "child_process";
392140
+ import { spawnSync as spawnSync5 } from "child_process";
391200
392141
  function getEditorCommand(preferredEditor) {
391201
392142
  if (preferredEditor) {
391202
392143
  return preferredEditor;
@@ -391231,7 +392172,7 @@ function useLaunchEditor() {
391231
392172
  const wasRaw = stdin?.isRaw ?? false;
391232
392173
  try {
391233
392174
  setRawMode?.(false);
391234
- const { status, error: error2 } = spawnSync4(editorCommand2, editorArgs, {
392175
+ const { status, error: error2 } = spawnSync5(editorCommand2, editorArgs, {
391235
392176
  stdio: "inherit"
391236
392177
  });
391237
392178
  if (error2) throw error2;
@@ -406201,143 +407142,16 @@ var useTimer = /* @__PURE__ */ __name((isActive, resetKey) => {
406201
407142
  // packages/cli/src/ui/hooks/usePhraseCycler.ts
406202
407143
  init_esbuild_shims();
406203
407144
  var import_react119 = __toESM(require_react(), 1);
406204
- var WITTY_LOADING_PHRASES = [
406205
- "I'm Feeling Lucky",
406206
- "Shipping awesomeness... ",
406207
- "Painting the serifs back on...",
406208
- "Navigating the slime mold...",
406209
- "Consulting the digital spirits...",
406210
- "Reticulating splines...",
406211
- "Warming up the AI hamsters...",
406212
- "Asking the magic conch shell...",
406213
- "Generating witty retort...",
406214
- "Polishing the algorithms...",
406215
- "Don't rush perfection (or my code)...",
406216
- "Brewing fresh bytes...",
406217
- "Counting electrons...",
406218
- "Engaging cognitive processors...",
406219
- "Checking for syntax errors in the universe...",
406220
- "One moment, optimizing humor...",
406221
- "Shuffling punchlines...",
406222
- "Untangling neural nets...",
406223
- "Compiling brilliance...",
406224
- "Loading wit.exe...",
406225
- "Summoning the cloud of wisdom...",
406226
- "Preparing a witty response...",
406227
- "Just a sec, I'm debugging reality...",
406228
- "Confuzzling the options...",
406229
- "Tuning the cosmic frequencies...",
406230
- "Crafting a response worthy of your patience...",
406231
- "Compiling the 1s and 0s...",
406232
- "Resolving dependencies... and existential crises...",
406233
- "Defragmenting memories... both RAM and personal...",
406234
- "Rebooting the humor module...",
406235
- "Caching the essentials (mostly cat memes)...",
406236
- "Optimizing for ludicrous speed",
406237
- "Swapping bits... don't tell the bytes...",
406238
- "Garbage collecting... be right back...",
406239
- "Assembling the interwebs...",
406240
- "Converting coffee into code...",
406241
- "Updating the syntax for reality...",
406242
- "Rewiring the synapses...",
406243
- "Looking for a misplaced semicolon...",
406244
- "Greasin' the cogs of the machine...",
406245
- "Pre-heating the servers...",
406246
- "Calibrating the flux capacitor...",
406247
- "Engaging the improbability drive...",
406248
- "Channeling the Force...",
406249
- "Aligning the stars for optimal response...",
406250
- "So say we all...",
406251
- "Loading the next great idea...",
406252
- "Just a moment, I'm in the zone...",
406253
- "Preparing to dazzle you with brilliance...",
406254
- "Just a tick, I'm polishing my wit...",
406255
- "Hold tight, I'm crafting a masterpiece...",
406256
- "Just a jiffy, I'm debugging the universe...",
406257
- "Just a moment, I'm aligning the pixels...",
406258
- "Just a sec, I'm optimizing the humor...",
406259
- "Just a moment, I'm tuning the algorithms...",
406260
- "Warp speed engaged...",
406261
- "Mining for more Dilithium crystals...",
406262
- "Don't panic...",
406263
- "Following the white rabbit...",
406264
- "The truth is in here... somewhere...",
406265
- "Blowing on the cartridge...",
406266
- "Loading... Do a barrel roll!",
406267
- "Waiting for the respawn...",
406268
- "Finishing the Kessel Run in less than 12 parsecs...",
406269
- "The cake is not a lie, it's just still loading...",
406270
- "Fiddling with the character creation screen...",
406271
- "Just a moment, I'm finding the right meme...",
406272
- "Pressing 'A' to continue...",
406273
- "Herding digital cats...",
406274
- "Polishing the pixels...",
406275
- "Finding a suitable loading screen pun...",
406276
- "Distracting you with this witty phrase...",
406277
- "Almost there... probably...",
406278
- "Our hamsters are working as fast as they can...",
406279
- "Giving Cloudy a pat on the head...",
406280
- "Petting the cat...",
406281
- "Rickrolling my boss...",
406282
- "Never gonna give you up, never gonna let you down...",
406283
- "Slapping the bass...",
406284
- "Tasting the snozberries...",
406285
- "I'm going the distance, I'm going for speed...",
406286
- "Is this the real life? Is this just fantasy?...",
406287
- "I've got a good feeling about this...",
406288
- "Poking the bear...",
406289
- "Doing research on the latest memes...",
406290
- "Figuring out how to make this more witty...",
406291
- "Hmmm... let me think...",
406292
- "What do you call a fish with no eyes? A fsh...",
406293
- "Why did the computer go to therapy? It had too many bytes...",
406294
- "Why don't programmers like nature? It has too many bugs...",
406295
- "Why do programmers prefer dark mode? Because light attracts bugs...",
406296
- "Why did the developer go broke? Because they used up all their cache...",
406297
- "What can you do with a broken pencil? Nothing, it's pointless...",
406298
- "Applying percussive maintenance...",
406299
- "Searching for the correct USB orientation...",
406300
- "Ensuring the magic smoke stays inside the wires...",
406301
- "Rewriting in Rust for no particular reason...",
406302
- "Trying to exit Vim...",
406303
- "Spinning up the hamster wheel...",
406304
- "That's not a bug, it's an undocumented feature...",
406305
- "Engage.",
406306
- "I'll be back... with an answer.",
406307
- "My other process is a TARDIS...",
406308
- "Communing with the machine spirit...",
406309
- "Letting the thoughts marinate...",
406310
- "Just remembered where I put my keys...",
406311
- "Pondering the orb...",
406312
- "I've seen things you people wouldn't believe... like a user who reads loading messages.",
406313
- "Initiating thoughtful gaze...",
406314
- "What's a computer's favorite snack? Microchips.",
406315
- "Why do Java developers wear glasses? Because they don't C#.",
406316
- "Charging the laser... pew pew!",
406317
- "Dividing by zero... just kidding!",
406318
- "Looking for an adult superviso... I mean, processing.",
406319
- "Making it go beep boop.",
406320
- "Buffering... because even AIs need a moment.",
406321
- "Entangling quantum particles for a faster response...",
406322
- "Polishing the chrome... on the algorithms.",
406323
- "Are you not entertained? (Working on it!)",
406324
- "Summoning the code gremlins... to help, of course.",
406325
- "Just waiting for the dial-up tone to finish...",
406326
- "Recalibrating the humor-o-meter.",
406327
- "My other loading screen is even funnier.",
406328
- "Pretty sure there's a cat walking on the keyboard somewhere...",
406329
- "Enhancing... Enhancing... Still loading.",
406330
- "It's not a bug, it's a feature... of this loading screen.",
406331
- "Have you tried turning it off and on again? (The loading screen, not me.)",
406332
- "Constructing additional pylons...",
406333
- "New line? That\u2019s Ctrl+J."
406334
- ];
407145
+ var WITTY_LOADING_PHRASES = ["I'm Feeling Lucky"];
406335
407146
  var PHRASE_CHANGE_INTERVAL_MS = 15e3;
406336
407147
  var usePhraseCycler = /* @__PURE__ */ __name((isActive, isWaiting, customPhrases) => {
406337
- const loadingPhrases = (0, import_react119.useMemo)(
406338
- () => customPhrases && customPhrases.length > 0 ? customPhrases : WITTY_LOADING_PHRASES.map((phrase) => t4(phrase)),
406339
- [customPhrases]
406340
- );
407148
+ const loadingPhrases = (0, import_react119.useMemo)(() => {
407149
+ if (customPhrases && customPhrases.length > 0) {
407150
+ return customPhrases;
407151
+ }
407152
+ const translatedPhrases = ta("WITTY_LOADING_PHRASES");
407153
+ return translatedPhrases.length > 0 ? translatedPhrases : WITTY_LOADING_PHRASES;
407154
+ }, [customPhrases]);
406341
407155
  const [currentLoadingPhrase, setCurrentLoadingPhrase] = (0, import_react119.useState)(
406342
407156
  loadingPhrases[0]
406343
407157
  );
@@ -412258,19 +413072,26 @@ async function showResumeSessionPicker(cwd7 = process.cwd()) {
412258
413072
  return new Promise((resolve25) => {
412259
413073
  let selectedId;
412260
413074
  const { unmount, waitUntilExit } = render_default(
412261
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(KeypressProvider, { kittyProtocolEnabled: false, children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
412262
- StandalonePickerScreen,
413075
+ /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
413076
+ KeypressProvider,
412263
413077
  {
412264
- sessionService,
412265
- onSelect: (id) => {
412266
- selectedId = id;
412267
- },
412268
- onCancel: () => {
412269
- selectedId = void 0;
412270
- },
412271
- currentBranch: getGitBranch(cwd7)
413078
+ kittyProtocolEnabled: false,
413079
+ pasteWorkaround: process.platform === "win32" || parseInt(process.versions.node.split(".")[0], 10) < 20,
413080
+ children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
413081
+ StandalonePickerScreen,
413082
+ {
413083
+ sessionService,
413084
+ onSelect: (id) => {
413085
+ selectedId = id;
413086
+ },
413087
+ onCancel: () => {
413088
+ selectedId = void 0;
413089
+ },
413090
+ currentBranch: getGitBranch(cwd7)
413091
+ }
413092
+ )
412272
413093
  }
412273
- ) }),
413094
+ ),
412274
413095
  {
412275
413096
  exitOnCtrlC: false
412276
413097
  }
@@ -414600,7 +415421,7 @@ var GeminiAgent = class {
414600
415421
  name: APPROVAL_MODE_INFO[mode].name,
414601
415422
  description: APPROVAL_MODE_INFO[mode].description
414602
415423
  }));
414603
- const version2 = "0.6.0";
415424
+ const version2 = "0.6.1-nightly.20260107.f6771c08";
414604
415425
  return {
414605
415426
  protocolVersion: PROTOCOL_VERSION,
414606
415427
  agentInfo: {
@@ -414915,13 +415736,15 @@ async function startInteractiveUI(config2, settings, startupWarnings, workspaceR
414915
415736
  isScreenReaderEnabled: config2.getScreenReader()
414916
415737
  }
414917
415738
  );
414918
- checkForUpdates().then((info) => {
414919
- handleAutoUpdate(info, settings, config2.getProjectRoot());
414920
- }).catch((err) => {
414921
- if (config2.getDebugMode()) {
414922
- console.error("Update check failed:", err);
414923
- }
414924
- });
415739
+ if (!settings.merged.general?.disableUpdateNag) {
415740
+ checkForUpdates().then((info) => {
415741
+ handleAutoUpdate(info, settings, config2.getProjectRoot());
415742
+ }).catch((err) => {
415743
+ if (config2.getDebugMode()) {
415744
+ console.error("Update check failed:", err);
415745
+ }
415746
+ });
415747
+ }
414925
415748
  registerCleanup(() => instance.unmount());
414926
415749
  }
414927
415750
  __name(startInteractiveUI, "startInteractiveUI");
@@ -415176,6 +415999,16 @@ main().catch((error2) => {
415176
415999
  * Copyright 2025 Qwen Team
415177
416000
  * SPDX-License-Identifier: Apache-2.0
415178
416001
  */
416002
+ /**
416003
+ * @license
416004
+ * Copyright 2026 Google LLC
416005
+ * SPDX-License-Identifier: Apache-2.0
416006
+ */
416007
+ /**
416008
+ * @license
416009
+ * Copyright 2025 Qwen team
416010
+ * SPDX-License-Identifier: Apache-2.0
416011
+ */
415179
416012
  /*! Bundled license information:
415180
416013
 
415181
416014
  undici/lib/web/fetch/body.js: