@rdmind/rdmind 0.2.2-alpha.4 → 0.2.2
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 +2313 -535
- package/locales/en.js +19 -9
- package/locales/ja.js +886 -0
- package/locales/pt.js +1390 -0
- package/locales/zh.js +20 -11
- package/package.json +2 -2
package/cli.js
CHANGED
|
@@ -8531,7 +8531,7 @@ var require_agent = __commonJS({
|
|
|
8531
8531
|
return opts && opts.connections === 1 ? new Client3(origin, opts) : new Pool(origin, opts);
|
|
8532
8532
|
}
|
|
8533
8533
|
__name(defaultFactory, "defaultFactory");
|
|
8534
|
-
var
|
|
8534
|
+
var Agent4 = class extends DispatcherBase {
|
|
8535
8535
|
static {
|
|
8536
8536
|
__name(this, "Agent");
|
|
8537
8537
|
}
|
|
@@ -8606,7 +8606,7 @@ var require_agent = __commonJS({
|
|
|
8606
8606
|
await Promise.all(destroyPromises);
|
|
8607
8607
|
}
|
|
8608
8608
|
};
|
|
8609
|
-
module2.exports =
|
|
8609
|
+
module2.exports = Agent4;
|
|
8610
8610
|
}
|
|
8611
8611
|
});
|
|
8612
8612
|
|
|
@@ -8617,7 +8617,7 @@ var require_proxy_agent = __commonJS({
|
|
|
8617
8617
|
init_esbuild_shims();
|
|
8618
8618
|
var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols();
|
|
8619
8619
|
var { URL: URL5 } = __require("node:url");
|
|
8620
|
-
var
|
|
8620
|
+
var Agent4 = require_agent();
|
|
8621
8621
|
var Pool = require_pool();
|
|
8622
8622
|
var DispatcherBase = require_dispatcher_base();
|
|
8623
8623
|
var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors();
|
|
@@ -8695,7 +8695,7 @@ var require_proxy_agent = __commonJS({
|
|
|
8695
8695
|
return this.#client.destroy(err);
|
|
8696
8696
|
}
|
|
8697
8697
|
};
|
|
8698
|
-
var
|
|
8698
|
+
var ProxyAgent4 = class extends DispatcherBase {
|
|
8699
8699
|
static {
|
|
8700
8700
|
__name(this, "ProxyAgent");
|
|
8701
8701
|
}
|
|
@@ -8741,7 +8741,7 @@ var require_proxy_agent = __commonJS({
|
|
|
8741
8741
|
return agentFactory(origin2, options2);
|
|
8742
8742
|
}, "factory");
|
|
8743
8743
|
this[kClient] = clientFactory(url2, { connect });
|
|
8744
|
-
this[kAgent] = new
|
|
8744
|
+
this[kAgent] = new Agent4({
|
|
8745
8745
|
...opts,
|
|
8746
8746
|
factory,
|
|
8747
8747
|
connect: /* @__PURE__ */ __name(async (opts2, callback) => {
|
|
@@ -8841,7 +8841,7 @@ var require_proxy_agent = __commonJS({
|
|
|
8841
8841
|
}
|
|
8842
8842
|
}
|
|
8843
8843
|
__name(throwIfProxyAuthIsSent, "throwIfProxyAuthIsSent");
|
|
8844
|
-
module2.exports =
|
|
8844
|
+
module2.exports = ProxyAgent4;
|
|
8845
8845
|
}
|
|
8846
8846
|
});
|
|
8847
8847
|
|
|
@@ -8852,14 +8852,14 @@ var require_env_http_proxy_agent = __commonJS({
|
|
|
8852
8852
|
init_esbuild_shims();
|
|
8853
8853
|
var DispatcherBase = require_dispatcher_base();
|
|
8854
8854
|
var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
|
|
8855
|
-
var
|
|
8856
|
-
var
|
|
8855
|
+
var ProxyAgent4 = require_proxy_agent();
|
|
8856
|
+
var Agent4 = require_agent();
|
|
8857
8857
|
var DEFAULT_PORTS = {
|
|
8858
8858
|
"http:": 80,
|
|
8859
8859
|
"https:": 443
|
|
8860
8860
|
};
|
|
8861
8861
|
var experimentalWarned = false;
|
|
8862
|
-
var
|
|
8862
|
+
var EnvHttpProxyAgent2 = class extends DispatcherBase {
|
|
8863
8863
|
static {
|
|
8864
8864
|
__name(this, "EnvHttpProxyAgent");
|
|
8865
8865
|
}
|
|
@@ -8876,16 +8876,16 @@ var require_env_http_proxy_agent = __commonJS({
|
|
|
8876
8876
|
});
|
|
8877
8877
|
}
|
|
8878
8878
|
const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
|
|
8879
|
-
this[kNoProxyAgent] = new
|
|
8879
|
+
this[kNoProxyAgent] = new Agent4(agentOpts);
|
|
8880
8880
|
const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
|
|
8881
8881
|
if (HTTP_PROXY) {
|
|
8882
|
-
this[kHttpProxyAgent] = new
|
|
8882
|
+
this[kHttpProxyAgent] = new ProxyAgent4({ ...agentOpts, uri: HTTP_PROXY });
|
|
8883
8883
|
} else {
|
|
8884
8884
|
this[kHttpProxyAgent] = this[kNoProxyAgent];
|
|
8885
8885
|
}
|
|
8886
8886
|
const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
|
|
8887
8887
|
if (HTTPS_PROXY) {
|
|
8888
|
-
this[kHttpsProxyAgent] = new
|
|
8888
|
+
this[kHttpsProxyAgent] = new ProxyAgent4({ ...agentOpts, uri: HTTPS_PROXY });
|
|
8889
8889
|
} else {
|
|
8890
8890
|
this[kHttpsProxyAgent] = this[kHttpProxyAgent];
|
|
8891
8891
|
}
|
|
@@ -8981,7 +8981,7 @@ var require_env_http_proxy_agent = __commonJS({
|
|
|
8981
8981
|
return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
|
|
8982
8982
|
}
|
|
8983
8983
|
};
|
|
8984
|
-
module2.exports =
|
|
8984
|
+
module2.exports = EnvHttpProxyAgent2;
|
|
8985
8985
|
}
|
|
8986
8986
|
});
|
|
8987
8987
|
|
|
@@ -11282,7 +11282,7 @@ var require_mock_agent = __commonJS({
|
|
|
11282
11282
|
"use strict";
|
|
11283
11283
|
init_esbuild_shims();
|
|
11284
11284
|
var { kClients } = require_symbols();
|
|
11285
|
-
var
|
|
11285
|
+
var Agent4 = require_agent();
|
|
11286
11286
|
var {
|
|
11287
11287
|
kAgent,
|
|
11288
11288
|
kMockAgentSet,
|
|
@@ -11312,7 +11312,7 @@ var require_mock_agent = __commonJS({
|
|
|
11312
11312
|
if (opts?.agent && typeof opts.agent.dispatch !== "function") {
|
|
11313
11313
|
throw new InvalidArgumentError("Argument opts.agent must implement Agent");
|
|
11314
11314
|
}
|
|
11315
|
-
const agent = opts?.agent ? opts.agent : new
|
|
11315
|
+
const agent = opts?.agent ? opts.agent : new Agent4(opts);
|
|
11316
11316
|
this[kAgent] = agent;
|
|
11317
11317
|
this[kClients] = agent[kClients];
|
|
11318
11318
|
this[kOptions] = buildMockOptions(opts);
|
|
@@ -11417,9 +11417,9 @@ var require_global2 = __commonJS({
|
|
|
11417
11417
|
init_esbuild_shims();
|
|
11418
11418
|
var globalDispatcher = Symbol.for("undici.globalDispatcher.1");
|
|
11419
11419
|
var { InvalidArgumentError } = require_errors();
|
|
11420
|
-
var
|
|
11420
|
+
var Agent4 = require_agent();
|
|
11421
11421
|
if (getGlobalDispatcher() === void 0) {
|
|
11422
|
-
setGlobalDispatcher3(new
|
|
11422
|
+
setGlobalDispatcher3(new Agent4());
|
|
11423
11423
|
}
|
|
11424
11424
|
function setGlobalDispatcher3(agent) {
|
|
11425
11425
|
if (!agent || typeof agent.dispatch !== "function") {
|
|
@@ -18884,9 +18884,9 @@ var require_undici = __commonJS({
|
|
|
18884
18884
|
var Dispatcher = require_dispatcher();
|
|
18885
18885
|
var Pool = require_pool();
|
|
18886
18886
|
var BalancedPool = require_balanced_pool();
|
|
18887
|
-
var
|
|
18888
|
-
var
|
|
18889
|
-
var
|
|
18887
|
+
var Agent4 = require_agent();
|
|
18888
|
+
var ProxyAgent4 = require_proxy_agent();
|
|
18889
|
+
var EnvHttpProxyAgent2 = require_env_http_proxy_agent();
|
|
18890
18890
|
var RetryAgent = require_retry_agent();
|
|
18891
18891
|
var errors = require_errors();
|
|
18892
18892
|
var util4 = require_util();
|
|
@@ -18907,9 +18907,9 @@ var require_undici = __commonJS({
|
|
|
18907
18907
|
module2.exports.Client = Client3;
|
|
18908
18908
|
module2.exports.Pool = Pool;
|
|
18909
18909
|
module2.exports.BalancedPool = BalancedPool;
|
|
18910
|
-
module2.exports.Agent =
|
|
18911
|
-
module2.exports.ProxyAgent =
|
|
18912
|
-
module2.exports.EnvHttpProxyAgent =
|
|
18910
|
+
module2.exports.Agent = Agent4;
|
|
18911
|
+
module2.exports.ProxyAgent = ProxyAgent4;
|
|
18912
|
+
module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent2;
|
|
18913
18913
|
module2.exports.RetryAgent = RetryAgent;
|
|
18914
18914
|
module2.exports.RetryHandler = RetryHandler;
|
|
18915
18915
|
module2.exports.DecoratorHandler = DecoratorHandler;
|
|
@@ -20749,7 +20749,7 @@ var require_dist = __commonJS({
|
|
|
20749
20749
|
var https_1 = __require("https");
|
|
20750
20750
|
__exportStar(require_helpers(), exports2);
|
|
20751
20751
|
var INTERNAL = Symbol("AgentBaseInternalState");
|
|
20752
|
-
var
|
|
20752
|
+
var Agent4 = class extends http7.Agent {
|
|
20753
20753
|
static {
|
|
20754
20754
|
__name(this, "Agent");
|
|
20755
20755
|
}
|
|
@@ -20863,7 +20863,7 @@ var require_dist = __commonJS({
|
|
|
20863
20863
|
}
|
|
20864
20864
|
}
|
|
20865
20865
|
};
|
|
20866
|
-
exports2.Agent =
|
|
20866
|
+
exports2.Agent = Agent4;
|
|
20867
20867
|
}
|
|
20868
20868
|
});
|
|
20869
20869
|
|
|
@@ -105086,8 +105086,8 @@ function readableFromUint8Array(buff) {
|
|
|
105086
105086
|
}
|
|
105087
105087
|
function createHttpAgent(rawUrl, agentOptions) {
|
|
105088
105088
|
const parsedUrl = new URL(rawUrl);
|
|
105089
|
-
const
|
|
105090
|
-
return new
|
|
105089
|
+
const Agent4 = parsedUrl.protocol === "http:" ? http3.Agent : https3.Agent;
|
|
105090
|
+
return new Agent4(agentOptions);
|
|
105091
105091
|
}
|
|
105092
105092
|
var init_http_transport_utils = __esm({
|
|
105093
105093
|
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-transport-utils.js"() {
|
|
@@ -129147,17 +129147,17 @@ var init_tokenUsageReporter = __esm({
|
|
|
129147
129147
|
requestId: item.requestId
|
|
129148
129148
|
}
|
|
129149
129149
|
);
|
|
129150
|
-
} else {
|
|
129151
|
-
|
|
129150
|
+
} else if (this.queue.length === 1) {
|
|
129151
|
+
console.log(
|
|
129152
|
+
`[tokenUsageReporter] Token \u4F7F\u7528\u8BB0\u5F55\u4E0A\u62A5\u529F\u80FD\u5DF2\u542F\u7528\uFF08\u8FBE\u5230 ${BATCH_SIZE} \u6761\u6216 ${BATCH_INTERVAL_MS / 1e3} \u79D2\u540E\u4E0A\u62A5\uFF09`
|
|
129153
|
+
);
|
|
129154
|
+
}
|
|
129155
|
+
if (this.queue.length >= BATCH_SIZE) {
|
|
129156
|
+
if (isDebugEnabled()) {
|
|
129152
129157
|
console.log(
|
|
129153
|
-
`[tokenUsageReporter] \
|
|
129158
|
+
`[tokenUsageReporter] \u961F\u5217\u8FBE\u5230\u6279\u91CF\u5927\u5C0F ${BATCH_SIZE}\uFF0C\u7ACB\u5373\u89E6\u53D1\u4E0A\u62A5`
|
|
129154
129159
|
);
|
|
129155
129160
|
}
|
|
129156
|
-
}
|
|
129157
|
-
if (this.queue.length >= BATCH_SIZE) {
|
|
129158
|
-
console.log(
|
|
129159
|
-
`[tokenUsageReporter] \u961F\u5217\u8FBE\u5230\u6279\u91CF\u5927\u5C0F ${BATCH_SIZE}\uFF0C\u7ACB\u5373\u89E6\u53D1\u4E0A\u62A5`
|
|
129160
|
-
);
|
|
129161
129161
|
debugLog(`\u961F\u5217\u8FBE\u5230\u6279\u91CF\u5927\u5C0F ${BATCH_SIZE}\uFF0C\u7ACB\u5373\u89E6\u53D1\u4E0A\u62A5`);
|
|
129162
129162
|
this.flush();
|
|
129163
129163
|
}
|
|
@@ -129237,9 +129237,11 @@ var init_tokenUsageReporter = __esm({
|
|
|
129237
129237
|
const success = await this.reportToServer(rdmindSsoId, validItems);
|
|
129238
129238
|
if (success) {
|
|
129239
129239
|
this.lastFlushTime = Date.now();
|
|
129240
|
-
|
|
129241
|
-
|
|
129242
|
-
|
|
129240
|
+
if (isDebugEnabled()) {
|
|
129241
|
+
console.log(
|
|
129242
|
+
`[tokenUsageReporter] \u2705 \u6210\u529F\u4E0A\u62A5 ${validItems.length} \u6761 Token \u4F7F\u7528\u8BB0\u5F55`
|
|
129243
|
+
);
|
|
129244
|
+
}
|
|
129243
129245
|
debugLog(`\u2705 \u6210\u529F\u4E0A\u62A5 ${validItems.length} \u6761 Token \u4F7F\u7528\u8BB0\u5F55`);
|
|
129244
129246
|
} else {
|
|
129245
129247
|
const maxRetrySize = BATCH_SIZE * 2;
|
|
@@ -130575,30 +130577,6 @@ function isQwenQuotaExceededError(error2) {
|
|
|
130575
130577
|
}
|
|
130576
130578
|
return false;
|
|
130577
130579
|
}
|
|
130578
|
-
function isQwenThrottlingError(error2) {
|
|
130579
|
-
const checkMessage = /* @__PURE__ */ __name((message) => {
|
|
130580
|
-
const lowerMessage = message.toLowerCase();
|
|
130581
|
-
return lowerMessage.includes("throttling") || lowerMessage.includes("requests throttling triggered") || lowerMessage.includes("rate limit") || lowerMessage.includes("too many requests");
|
|
130582
|
-
}, "checkMessage");
|
|
130583
|
-
const getStatusCode = /* @__PURE__ */ __name((error3) => {
|
|
130584
|
-
if (error3 && typeof error3 === "object") {
|
|
130585
|
-
const errorObj = error3;
|
|
130586
|
-
return errorObj.status || errorObj.code;
|
|
130587
|
-
}
|
|
130588
|
-
return void 0;
|
|
130589
|
-
}, "getStatusCode");
|
|
130590
|
-
const statusCode = getStatusCode(error2);
|
|
130591
|
-
if (typeof error2 === "string") {
|
|
130592
|
-
return statusCode === 429 && checkMessage(error2) || error2.includes("throttling");
|
|
130593
|
-
}
|
|
130594
|
-
if (isStructuredError(error2)) {
|
|
130595
|
-
return statusCode === 429 && checkMessage(error2.message);
|
|
130596
|
-
}
|
|
130597
|
-
if (isApiError(error2)) {
|
|
130598
|
-
return error2.error.code === 429 && checkMessage(error2.error.message);
|
|
130599
|
-
}
|
|
130600
|
-
return false;
|
|
130601
|
-
}
|
|
130602
130580
|
var init_quotaErrorDetection = __esm({
|
|
130603
130581
|
"packages/core/src/utils/quotaErrorDetection.ts"() {
|
|
130604
130582
|
"use strict";
|
|
@@ -130608,7 +130586,6 @@ var init_quotaErrorDetection = __esm({
|
|
|
130608
130586
|
__name(isProQuotaExceededError, "isProQuotaExceededError");
|
|
130609
130587
|
__name(isGenericQuotaExceededError, "isGenericQuotaExceededError");
|
|
130610
130588
|
__name(isQwenQuotaExceededError, "isQwenQuotaExceededError");
|
|
130611
|
-
__name(isQwenThrottlingError, "isQwenThrottlingError");
|
|
130612
130589
|
}
|
|
130613
130590
|
});
|
|
130614
130591
|
|
|
@@ -133235,7 +133212,8 @@ var init_constants3 = __esm({
|
|
|
133235
133212
|
"disableCacheControl",
|
|
133236
133213
|
"schemaCompliance",
|
|
133237
133214
|
"reasoning",
|
|
133238
|
-
"customHeaders"
|
|
133215
|
+
"customHeaders",
|
|
133216
|
+
"extra_body"
|
|
133239
133217
|
];
|
|
133240
133218
|
CREDENTIAL_FIELDS = [
|
|
133241
133219
|
"model",
|
|
@@ -141468,7 +141446,7 @@ function detectRuntime() {
|
|
|
141468
141446
|
}
|
|
141469
141447
|
return "unknown";
|
|
141470
141448
|
}
|
|
141471
|
-
function buildRuntimeFetchOptions(sdkType) {
|
|
141449
|
+
function buildRuntimeFetchOptions(sdkType, proxyUrl) {
|
|
141472
141450
|
const runtime = detectRuntime();
|
|
141473
141451
|
switch (runtime) {
|
|
141474
141452
|
case "bun": {
|
|
@@ -141492,17 +141470,14 @@ function buildRuntimeFetchOptions(sdkType) {
|
|
|
141492
141470
|
}
|
|
141493
141471
|
case "node": {
|
|
141494
141472
|
try {
|
|
141495
|
-
const
|
|
141496
|
-
bodyTimeout: 0
|
|
141497
|
-
// Disable to let SDK timeout control total request time
|
|
141498
|
-
});
|
|
141473
|
+
const dispatcher = createDispatcher(proxyUrl);
|
|
141499
141474
|
if (sdkType === "openai") {
|
|
141500
141475
|
return {
|
|
141501
|
-
dispatcher
|
|
141476
|
+
dispatcher
|
|
141502
141477
|
};
|
|
141503
141478
|
} else {
|
|
141504
141479
|
return {
|
|
141505
|
-
httpAgent:
|
|
141480
|
+
httpAgent: dispatcher
|
|
141506
141481
|
};
|
|
141507
141482
|
}
|
|
141508
141483
|
} catch {
|
|
@@ -141515,17 +141490,14 @@ function buildRuntimeFetchOptions(sdkType) {
|
|
|
141515
141490
|
}
|
|
141516
141491
|
default: {
|
|
141517
141492
|
try {
|
|
141518
|
-
const
|
|
141519
|
-
bodyTimeout: 0
|
|
141520
|
-
// Disable to let SDK timeout control total request time
|
|
141521
|
-
});
|
|
141493
|
+
const dispatcher = createDispatcher(proxyUrl);
|
|
141522
141494
|
if (sdkType === "openai") {
|
|
141523
141495
|
return {
|
|
141524
|
-
dispatcher
|
|
141496
|
+
dispatcher
|
|
141525
141497
|
};
|
|
141526
141498
|
} else {
|
|
141527
141499
|
return {
|
|
141528
|
-
httpAgent:
|
|
141500
|
+
httpAgent: dispatcher
|
|
141529
141501
|
};
|
|
141530
141502
|
}
|
|
141531
141503
|
} catch {
|
|
@@ -141538,6 +141510,19 @@ function buildRuntimeFetchOptions(sdkType) {
|
|
|
141538
141510
|
}
|
|
141539
141511
|
}
|
|
141540
141512
|
}
|
|
141513
|
+
function createDispatcher(proxyUrl) {
|
|
141514
|
+
if (proxyUrl) {
|
|
141515
|
+
return new import_undici.ProxyAgent({
|
|
141516
|
+
uri: proxyUrl,
|
|
141517
|
+
headersTimeout: 0,
|
|
141518
|
+
bodyTimeout: 0
|
|
141519
|
+
});
|
|
141520
|
+
}
|
|
141521
|
+
return new import_undici.Agent({
|
|
141522
|
+
headersTimeout: 0,
|
|
141523
|
+
bodyTimeout: 0
|
|
141524
|
+
});
|
|
141525
|
+
}
|
|
141541
141526
|
var import_undici;
|
|
141542
141527
|
var init_runtimeFetchOptions = __esm({
|
|
141543
141528
|
"packages/core/src/utils/runtimeFetchOptions.ts"() {
|
|
@@ -141546,6 +141531,7 @@ var init_runtimeFetchOptions = __esm({
|
|
|
141546
141531
|
import_undici = __toESM(require_undici(), 1);
|
|
141547
141532
|
__name(detectRuntime, "detectRuntime");
|
|
141548
141533
|
__name(buildRuntimeFetchOptions, "buildRuntimeFetchOptions");
|
|
141534
|
+
__name(createDispatcher, "createDispatcher");
|
|
141549
141535
|
}
|
|
141550
141536
|
});
|
|
141551
141537
|
|
|
@@ -141585,7 +141571,10 @@ var init_default = __esm({
|
|
|
141585
141571
|
maxRetries = DEFAULT_MAX_RETRIES
|
|
141586
141572
|
} = this.contentGeneratorConfig;
|
|
141587
141573
|
const defaultHeaders = this.buildHeaders();
|
|
141588
|
-
const fetchOptions = buildRuntimeFetchOptions(
|
|
141574
|
+
const fetchOptions = buildRuntimeFetchOptions(
|
|
141575
|
+
"openai",
|
|
141576
|
+
this.cliConfig.getProxy()
|
|
141577
|
+
);
|
|
141589
141578
|
return new OpenAI({
|
|
141590
141579
|
apiKey,
|
|
141591
141580
|
baseURL: baseUrl,
|
|
@@ -141596,9 +141585,11 @@ var init_default = __esm({
|
|
|
141596
141585
|
});
|
|
141597
141586
|
}
|
|
141598
141587
|
buildRequest(request4, _userPromptId) {
|
|
141588
|
+
const extraBody = this.contentGeneratorConfig.extra_body;
|
|
141599
141589
|
return {
|
|
141600
|
-
...request4
|
|
141590
|
+
...request4,
|
|
141601
141591
|
// Preserve all original parameters including sampling params
|
|
141592
|
+
...extraBody ? extraBody : {}
|
|
141602
141593
|
};
|
|
141603
141594
|
}
|
|
141604
141595
|
getDefaultGenerationConfig() {
|
|
@@ -141783,6 +141774,8 @@ var init_tokenLimits = __esm({
|
|
|
141783
141774
|
// -------------------
|
|
141784
141775
|
// Moonshot / Kimi
|
|
141785
141776
|
// -------------------
|
|
141777
|
+
[/^kimi-k2\.5.*$/, LIMITS["256k"]],
|
|
141778
|
+
// Kimi-k2.5: 256K context
|
|
141786
141779
|
[/^kimi-k2-0905$/, LIMITS["256k"]],
|
|
141787
141780
|
// Kimi-k2-0905-preview: 256K context
|
|
141788
141781
|
[/^kimi-k2-turbo.*$/, LIMITS["256k"]],
|
|
@@ -141874,7 +141867,10 @@ var init_dashscope = __esm({
|
|
|
141874
141867
|
maxRetries = DEFAULT_MAX_RETRIES
|
|
141875
141868
|
} = this.contentGeneratorConfig;
|
|
141876
141869
|
const defaultHeaders = this.buildHeaders();
|
|
141877
|
-
const fetchOptions = buildRuntimeFetchOptions(
|
|
141870
|
+
const fetchOptions = buildRuntimeFetchOptions(
|
|
141871
|
+
"openai",
|
|
141872
|
+
this.cliConfig.getProxy()
|
|
141873
|
+
);
|
|
141878
141874
|
return new OpenAI({
|
|
141879
141875
|
apiKey,
|
|
141880
141876
|
baseURL: baseUrl,
|
|
@@ -141913,6 +141909,7 @@ var init_dashscope = __esm({
|
|
|
141913
141909
|
request4,
|
|
141914
141910
|
request4.model
|
|
141915
141911
|
);
|
|
141912
|
+
const extraBody = this.contentGeneratorConfig.extra_body;
|
|
141916
141913
|
if (this.isVisionModel(request4.model)) {
|
|
141917
141914
|
return {
|
|
141918
141915
|
...requestWithTokenLimits,
|
|
@@ -141920,7 +141917,8 @@ var init_dashscope = __esm({
|
|
|
141920
141917
|
...tools ? { tools } : {},
|
|
141921
141918
|
...this.buildMetadata(userPromptId) || {},
|
|
141922
141919
|
/* @ts-expect-error dashscope exclusive */
|
|
141923
|
-
vl_high_resolution_images: true
|
|
141920
|
+
vl_high_resolution_images: true,
|
|
141921
|
+
...extraBody ? extraBody : {}
|
|
141924
141922
|
};
|
|
141925
141923
|
}
|
|
141926
141924
|
return {
|
|
@@ -141928,7 +141926,8 @@ var init_dashscope = __esm({
|
|
|
141928
141926
|
// Preserve all original parameters including sampling params and adjusted max_tokens
|
|
141929
141927
|
messages,
|
|
141930
141928
|
...tools ? { tools } : {},
|
|
141931
|
-
...this.buildMetadata(userPromptId) || {}
|
|
141929
|
+
...this.buildMetadata(userPromptId) || {},
|
|
141930
|
+
...extraBody ? extraBody : {}
|
|
141932
141931
|
};
|
|
141933
141932
|
}
|
|
141934
141933
|
buildMetadata(userPromptId) {
|
|
@@ -151658,7 +151657,7 @@ var require_agent2 = __commonJS({
|
|
|
151658
151657
|
console.log("[agentkeepalive:deprecated] %s", message);
|
|
151659
151658
|
}
|
|
151660
151659
|
__name(deprecate6, "deprecate");
|
|
151661
|
-
var
|
|
151660
|
+
var Agent4 = class extends OriginalAgent {
|
|
151662
151661
|
static {
|
|
151663
151662
|
__name(this, "Agent");
|
|
151664
151663
|
}
|
|
@@ -151958,7 +151957,7 @@ var require_agent2 = __commonJS({
|
|
|
151958
151957
|
socket.on("agentRemove", onRemove);
|
|
151959
151958
|
}
|
|
151960
151959
|
__name(installListeners, "installListeners");
|
|
151961
|
-
module2.exports =
|
|
151960
|
+
module2.exports = Agent4;
|
|
151962
151961
|
function inspect3(obj) {
|
|
151963
151962
|
const res = {};
|
|
151964
151963
|
for (const key in obj) {
|
|
@@ -156875,17 +156874,21 @@ var init_anthropicContentGenerator = __esm({
|
|
|
156875
156874
|
init_safeJsonParse();
|
|
156876
156875
|
init_converter2();
|
|
156877
156876
|
init_runtimeFetchOptions();
|
|
156877
|
+
init_constants2();
|
|
156878
156878
|
AnthropicContentGenerator = class {
|
|
156879
156879
|
constructor(contentGeneratorConfig, cliConfig) {
|
|
156880
156880
|
this.contentGeneratorConfig = contentGeneratorConfig;
|
|
156881
156881
|
this.cliConfig = cliConfig;
|
|
156882
156882
|
const defaultHeaders = this.buildHeaders();
|
|
156883
156883
|
const baseURL = contentGeneratorConfig.baseUrl;
|
|
156884
|
-
const runtimeOptions = buildRuntimeFetchOptions(
|
|
156884
|
+
const runtimeOptions = buildRuntimeFetchOptions(
|
|
156885
|
+
"anthropic",
|
|
156886
|
+
this.cliConfig.getProxy()
|
|
156887
|
+
);
|
|
156885
156888
|
this.client = new sdk_default({
|
|
156886
156889
|
apiKey: contentGeneratorConfig.apiKey,
|
|
156887
156890
|
baseURL,
|
|
156888
|
-
timeout: contentGeneratorConfig.timeout,
|
|
156891
|
+
timeout: contentGeneratorConfig.timeout || DEFAULT_TIMEOUT,
|
|
156889
156892
|
maxRetries: contentGeneratorConfig.maxRetries,
|
|
156890
156893
|
defaultHeaders,
|
|
156891
156894
|
...runtimeOptions
|
|
@@ -157359,7 +157362,7 @@ __export(geminiContentGenerator_exports2, {
|
|
|
157359
157362
|
createGeminiContentGenerator: () => createGeminiContentGenerator
|
|
157360
157363
|
});
|
|
157361
157364
|
function createGeminiContentGenerator(config2, gcConfig) {
|
|
157362
|
-
const version2 = "0.2.2
|
|
157365
|
+
const version2 = "0.2.2";
|
|
157363
157366
|
const userAgent2 = config2.userAgent || `QwenCode/${version2} (${process.platform}; ${process.arch})`;
|
|
157364
157367
|
const baseHeaders = {
|
|
157365
157368
|
"User-Agent": userAgent2
|
|
@@ -157579,17 +157582,8 @@ var init_contentGenerator = __esm({
|
|
|
157579
157582
|
|
|
157580
157583
|
// packages/core/src/utils/retry.ts
|
|
157581
157584
|
function defaultShouldRetry(error2) {
|
|
157582
|
-
|
|
157583
|
-
|
|
157584
|
-
if (status === 429 || status >= 500 && status < 600) {
|
|
157585
|
-
return true;
|
|
157586
|
-
}
|
|
157587
|
-
}
|
|
157588
|
-
if (error2 instanceof Error && error2.message) {
|
|
157589
|
-
if (error2.message.includes("429")) return true;
|
|
157590
|
-
if (error2.message.match(/5\d{2}/)) return true;
|
|
157591
|
-
}
|
|
157592
|
-
return false;
|
|
157585
|
+
const status = getErrorStatus(error2);
|
|
157586
|
+
return status === 429 || status !== void 0 && status >= 500 && status < 600;
|
|
157593
157587
|
}
|
|
157594
157588
|
function delay(ms) {
|
|
157595
157589
|
return new Promise((resolve30) => setTimeout(resolve30, ms));
|
|
@@ -157612,7 +157606,6 @@ async function retryWithBackoff(fn, options2) {
|
|
|
157612
157606
|
};
|
|
157613
157607
|
let attempt = 0;
|
|
157614
157608
|
let currentDelay = initialDelayMs;
|
|
157615
|
-
let consecutive429Count = 0;
|
|
157616
157609
|
while (attempt < maxAttempts) {
|
|
157617
157610
|
attempt++;
|
|
157618
157611
|
try {
|
|
@@ -157632,26 +157625,16 @@ async function retryWithBackoff(fn, options2) {
|
|
|
157632
157625
|
`Qwen API quota exceeded: Your Qwen API quota has been exhausted. Please wait for your quota to reset.`
|
|
157633
157626
|
);
|
|
157634
157627
|
}
|
|
157635
|
-
if (errorStatus === 429) {
|
|
157636
|
-
if (authType === "qwen-oauth" /* QWEN_OAUTH */ && isQwenThrottlingError(error2)) {
|
|
157637
|
-
consecutive429Count = 0;
|
|
157638
|
-
} else {
|
|
157639
|
-
consecutive429Count++;
|
|
157640
|
-
}
|
|
157641
|
-
} else {
|
|
157642
|
-
consecutive429Count = 0;
|
|
157643
|
-
}
|
|
157644
|
-
console.debug("consecutive429Count", consecutive429Count);
|
|
157645
157628
|
if (attempt >= maxAttempts || !shouldRetryOnError(error2)) {
|
|
157646
157629
|
throw error2;
|
|
157647
157630
|
}
|
|
157648
|
-
const
|
|
157649
|
-
if (
|
|
157631
|
+
const retryAfterMs = errorStatus === 429 ? getRetryAfterDelayMs(error2) : 0;
|
|
157632
|
+
if (retryAfterMs > 0) {
|
|
157650
157633
|
console.warn(
|
|
157651
|
-
`Attempt ${attempt} failed with status ${
|
|
157634
|
+
`Attempt ${attempt} failed with status ${errorStatus ?? "unknown"}. Retrying after explicit delay of ${retryAfterMs}ms...`,
|
|
157652
157635
|
error2
|
|
157653
157636
|
);
|
|
157654
|
-
await delay(
|
|
157637
|
+
await delay(retryAfterMs);
|
|
157655
157638
|
currentDelay = initialDelayMs;
|
|
157656
157639
|
} else {
|
|
157657
157640
|
logRetryAttempt(attempt, error2, errorStatus);
|
|
@@ -157665,18 +157648,12 @@ async function retryWithBackoff(fn, options2) {
|
|
|
157665
157648
|
throw new Error("Retry attempts exhausted");
|
|
157666
157649
|
}
|
|
157667
157650
|
function getErrorStatus(error2) {
|
|
157668
|
-
if (typeof error2
|
|
157669
|
-
|
|
157670
|
-
return error2.status;
|
|
157671
|
-
}
|
|
157672
|
-
if ("response" in error2 && typeof error2.response === "object" && error2.response !== null) {
|
|
157673
|
-
const response = error2.response;
|
|
157674
|
-
if ("status" in response && typeof response.status === "number") {
|
|
157675
|
-
return response.status;
|
|
157676
|
-
}
|
|
157677
|
-
}
|
|
157651
|
+
if (typeof error2 !== "object" || error2 === null) {
|
|
157652
|
+
return void 0;
|
|
157678
157653
|
}
|
|
157679
|
-
|
|
157654
|
+
const err = error2;
|
|
157655
|
+
const value = err.status ?? err.statusCode ?? err.response?.status ?? err.error?.code;
|
|
157656
|
+
return typeof value === "number" && value >= 100 && value <= 599 ? value : void 0;
|
|
157680
157657
|
}
|
|
157681
157658
|
function getRetryAfterDelayMs(error2) {
|
|
157682
157659
|
if (typeof error2 === "object" && error2 !== null) {
|
|
@@ -157700,37 +157677,12 @@ function getRetryAfterDelayMs(error2) {
|
|
|
157700
157677
|
}
|
|
157701
157678
|
return 0;
|
|
157702
157679
|
}
|
|
157703
|
-
function getDelayDurationAndStatus(error2) {
|
|
157704
|
-
const errorStatus = getErrorStatus(error2);
|
|
157705
|
-
let delayDurationMs = 0;
|
|
157706
|
-
if (errorStatus === 429) {
|
|
157707
|
-
delayDurationMs = getRetryAfterDelayMs(error2);
|
|
157708
|
-
}
|
|
157709
|
-
return { delayDurationMs, errorStatus };
|
|
157710
|
-
}
|
|
157711
157680
|
function logRetryAttempt(attempt, error2, errorStatus) {
|
|
157712
|
-
|
|
157713
|
-
if (errorStatus) {
|
|
157714
|
-
message = `Attempt ${attempt} failed with status ${errorStatus}. Retrying with backoff...`;
|
|
157715
|
-
}
|
|
157681
|
+
const message = errorStatus ? `Attempt ${attempt} failed with status ${errorStatus}. Retrying with backoff...` : `Attempt ${attempt} failed. Retrying with backoff...`;
|
|
157716
157682
|
if (errorStatus === 429) {
|
|
157717
157683
|
console.warn(message, error2);
|
|
157718
157684
|
} else if (errorStatus && errorStatus >= 500 && errorStatus < 600) {
|
|
157719
157685
|
console.error(message, error2);
|
|
157720
|
-
} else if (error2 instanceof Error) {
|
|
157721
|
-
if (error2.message.includes("429")) {
|
|
157722
|
-
console.warn(
|
|
157723
|
-
`Attempt ${attempt} failed with 429 error (no Retry-After header). Retrying with backoff...`,
|
|
157724
|
-
error2
|
|
157725
|
-
);
|
|
157726
|
-
} else if (error2.message.match(/5\d{2}/)) {
|
|
157727
|
-
console.error(
|
|
157728
|
-
`Attempt ${attempt} failed with 5xx error. Retrying with backoff...`,
|
|
157729
|
-
error2
|
|
157730
|
-
);
|
|
157731
|
-
} else {
|
|
157732
|
-
console.warn(message, error2);
|
|
157733
|
-
}
|
|
157734
157686
|
} else {
|
|
157735
157687
|
console.warn(message, error2);
|
|
157736
157688
|
}
|
|
@@ -157743,8 +157695,8 @@ var init_retry = __esm({
|
|
|
157743
157695
|
init_contentGenerator();
|
|
157744
157696
|
init_quotaErrorDetection();
|
|
157745
157697
|
DEFAULT_RETRY_OPTIONS = {
|
|
157746
|
-
maxAttempts:
|
|
157747
|
-
initialDelayMs:
|
|
157698
|
+
maxAttempts: 7,
|
|
157699
|
+
initialDelayMs: 1500,
|
|
157748
157700
|
maxDelayMs: 3e4,
|
|
157749
157701
|
// 30 seconds
|
|
157750
157702
|
shouldRetryOnError: defaultShouldRetry
|
|
@@ -157754,7 +157706,6 @@ var init_retry = __esm({
|
|
|
157754
157706
|
__name(retryWithBackoff, "retryWithBackoff");
|
|
157755
157707
|
__name(getErrorStatus, "getErrorStatus");
|
|
157756
157708
|
__name(getRetryAfterDelayMs, "getRetryAfterDelayMs");
|
|
157757
|
-
__name(getDelayDurationAndStatus, "getDelayDurationAndStatus");
|
|
157758
157709
|
__name(logRetryAttempt, "logRetryAttempt");
|
|
157759
157710
|
}
|
|
157760
157711
|
});
|
|
@@ -157954,7 +157905,7 @@ var init_baseLlmClient = __esm({
|
|
|
157954
157905
|
init_errors();
|
|
157955
157906
|
init_retry();
|
|
157956
157907
|
init_generateContentResponseUtilities();
|
|
157957
|
-
DEFAULT_MAX_ATTEMPTS =
|
|
157908
|
+
DEFAULT_MAX_ATTEMPTS = 7;
|
|
157958
157909
|
BaseLlmClient = class {
|
|
157959
157910
|
constructor(contentGenerator, config2) {
|
|
157960
157911
|
this.contentGenerator = contentGenerator;
|
|
@@ -158470,44 +158421,6 @@ var init_chatRecordingService = __esm({
|
|
|
158470
158421
|
}
|
|
158471
158422
|
});
|
|
158472
158423
|
|
|
158473
|
-
// packages/core/src/fallback/handler.ts
|
|
158474
|
-
async function handleFallback(config2, failedModel, authType, error2) {
|
|
158475
|
-
if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
|
|
158476
|
-
return handleQwenOAuthError(error2);
|
|
158477
|
-
}
|
|
158478
|
-
return null;
|
|
158479
|
-
}
|
|
158480
|
-
async function handleQwenOAuthError(error2) {
|
|
158481
|
-
if (!error2) {
|
|
158482
|
-
return null;
|
|
158483
|
-
}
|
|
158484
|
-
const errorMessage = error2 instanceof Error ? error2.message.toLowerCase() : String(error2).toLowerCase();
|
|
158485
|
-
const errorCode = error2?.status || error2?.code;
|
|
158486
|
-
const isAuthError = errorCode === 401 || errorCode === 403 || errorMessage.includes("unauthorized") || errorMessage.includes("forbidden") || errorMessage.includes("invalid api key") || errorMessage.includes("authentication") || errorMessage.includes("access denied") || errorMessage.includes("token") && errorMessage.includes("expired");
|
|
158487
|
-
const isRateLimitError = errorCode === 429 || errorMessage.includes("429") || errorMessage.includes("rate limit") || errorMessage.includes("too many requests");
|
|
158488
|
-
if (isAuthError) {
|
|
158489
|
-
console.warn("Qwen OAuth authentication error detected:", errorMessage);
|
|
158490
|
-
console.log(
|
|
158491
|
-
"Note: If this persists, you may need to re-authenticate with Qwen OAuth"
|
|
158492
|
-
);
|
|
158493
|
-
return null;
|
|
158494
|
-
}
|
|
158495
|
-
if (isRateLimitError) {
|
|
158496
|
-
console.warn("Qwen API rate limit encountered:", errorMessage);
|
|
158497
|
-
return null;
|
|
158498
|
-
}
|
|
158499
|
-
return null;
|
|
158500
|
-
}
|
|
158501
|
-
var init_handler = __esm({
|
|
158502
|
-
"packages/core/src/fallback/handler.ts"() {
|
|
158503
|
-
"use strict";
|
|
158504
|
-
init_esbuild_shims();
|
|
158505
|
-
init_contentGenerator();
|
|
158506
|
-
__name(handleFallback, "handleFallback");
|
|
158507
|
-
__name(handleQwenOAuthError, "handleQwenOAuthError");
|
|
158508
|
-
}
|
|
158509
|
-
});
|
|
158510
|
-
|
|
158511
158424
|
// packages/core/src/core/geminiChat.ts
|
|
158512
158425
|
function isValidResponse2(response) {
|
|
158513
158426
|
if (response.usageMetadata) {
|
|
@@ -158597,7 +158510,6 @@ var init_geminiChat = __esm({
|
|
|
158597
158510
|
init_loggers();
|
|
158598
158511
|
init_chatRecordingService();
|
|
158599
158512
|
init_types();
|
|
158600
|
-
init_handler();
|
|
158601
158513
|
init_uiTelemetry();
|
|
158602
158514
|
StreamEventType = /* @__PURE__ */ ((StreamEventType2) => {
|
|
158603
158515
|
StreamEventType2["CHUNK"] = "chunk";
|
|
@@ -158757,18 +158669,18 @@ var init_geminiChat = __esm({
|
|
|
158757
158669
|
},
|
|
158758
158670
|
prompt_id
|
|
158759
158671
|
), "apiCall");
|
|
158760
|
-
const onPersistent429Callback = /* @__PURE__ */ __name(async (authType, error2) => await handleFallback(this.config, model, authType, error2), "onPersistent429Callback");
|
|
158761
158672
|
const streamResponse2 = await retryWithBackoff(apiCall, {
|
|
158762
158673
|
shouldRetryOnError: /* @__PURE__ */ __name((error2) => {
|
|
158763
|
-
if (error2 instanceof
|
|
158764
|
-
if (error2.status === 400) return false;
|
|
158674
|
+
if (error2 instanceof Error) {
|
|
158765
158675
|
if (isSchemaDepthError(error2.message)) return false;
|
|
158766
|
-
if (error2.
|
|
158767
|
-
if (error2.status >= 500 && error2.status < 600) return true;
|
|
158676
|
+
if (isInvalidArgumentError(error2.message)) return false;
|
|
158768
158677
|
}
|
|
158678
|
+
const status = getErrorStatus(error2);
|
|
158679
|
+
if (status === 400) return false;
|
|
158680
|
+
if (status === 429) return true;
|
|
158681
|
+
if (status && status >= 500 && status < 600) return true;
|
|
158769
158682
|
return false;
|
|
158770
158683
|
}, "shouldRetryOnError"),
|
|
158771
|
-
onPersistent429: onPersistent429Callback,
|
|
158772
158684
|
authType: this.config.getContentGeneratorConfig()?.authType
|
|
158773
158685
|
});
|
|
158774
158686
|
return this.processStreamResponse(model, streamResponse2);
|
|
@@ -173360,12 +173272,11 @@ function isShellCommandReadOnly(command2) {
|
|
|
173360
173272
|
}
|
|
173361
173273
|
const segments = splitCommands(command2);
|
|
173362
173274
|
for (const segment of segments) {
|
|
173363
|
-
|
|
173364
|
-
if (!isAllowed) {
|
|
173275
|
+
if (!evaluateShellSegment(segment)) {
|
|
173365
173276
|
return false;
|
|
173366
173277
|
}
|
|
173367
173278
|
}
|
|
173368
|
-
return
|
|
173279
|
+
return segments.length > 0;
|
|
173369
173280
|
}
|
|
173370
173281
|
var import_shell_quote, READ_ONLY_ROOT_COMMANDS, BLOCKED_FIND_FLAGS, BLOCKED_FIND_PREFIXES, READ_ONLY_GIT_SUBCOMMANDS, BLOCKED_GIT_REMOTE_ACTIONS, BLOCKED_GIT_BRANCH_FLAGS, BLOCKED_SED_PREFIXES, AWK_SIDE_EFFECT_PATTERNS, SED_SIDE_EFFECT_PATTERNS, ENV_ASSIGNMENT_REGEX;
|
|
173371
173282
|
var init_shellReadOnlyChecker = __esm({
|
|
@@ -173566,6 +173477,13 @@ function splitCommands(command2) {
|
|
|
173566
173477
|
} else if (char === ";" || char === "&" || char === "|") {
|
|
173567
173478
|
commands.push(currentCommand.trim());
|
|
173568
173479
|
currentCommand = "";
|
|
173480
|
+
} else if (char === "\r" && nextChar === "\n") {
|
|
173481
|
+
commands.push(currentCommand.trim());
|
|
173482
|
+
currentCommand = "";
|
|
173483
|
+
i3++;
|
|
173484
|
+
} else if (char === "\n") {
|
|
173485
|
+
commands.push(currentCommand.trim());
|
|
173486
|
+
currentCommand = "";
|
|
173569
173487
|
} else {
|
|
173570
173488
|
currentCommand += char;
|
|
173571
173489
|
}
|
|
@@ -174434,6 +174352,7 @@ var init_coreToolScheduler = __esm({
|
|
|
174434
174352
|
"use strict";
|
|
174435
174353
|
init_esbuild_shims();
|
|
174436
174354
|
init_src2();
|
|
174355
|
+
init_tool_names();
|
|
174437
174356
|
init_generateContentResponseUtilities();
|
|
174438
174357
|
init_modifiable_tool();
|
|
174439
174358
|
init_lib();
|
|
@@ -174658,15 +174577,21 @@ var init_coreToolScheduler = __esm({
|
|
|
174658
174577
|
}
|
|
174659
174578
|
}
|
|
174660
174579
|
/**
|
|
174661
|
-
* Generates
|
|
174662
|
-
*
|
|
174663
|
-
* Note: Excluded tools are handled separately before calling this method, so this only
|
|
174664
|
-
* handles the case where a tool is truly not found (hallucinated or typo).
|
|
174665
|
-
* @param unknownToolName The tool name that was not found.
|
|
174666
|
-
* @param topN The number of suggestions to return. Defaults to 3.
|
|
174667
|
-
* @returns A suggestion string like " Did you mean 'tool'?" or " Did you mean one of: 'tool1', 'tool2'?",
|
|
174668
|
-
* or an empty string if no suggestions are found.
|
|
174580
|
+
* Generates error message for unknown tool. Returns early with skill-specific
|
|
174581
|
+
* message if the name matches a skill, otherwise uses Levenshtein suggestions.
|
|
174669
174582
|
*/
|
|
174583
|
+
getToolNotFoundMessage(unknownToolName, topN = 3) {
|
|
174584
|
+
const skillTool = this.toolRegistry.getTool(ToolNames.SKILL);
|
|
174585
|
+
if (skillTool instanceof SkillTool) {
|
|
174586
|
+
const availableSkillNames = skillTool.getAvailableSkillNames();
|
|
174587
|
+
if (availableSkillNames.includes(unknownToolName)) {
|
|
174588
|
+
return `"${unknownToolName}" is a skill name, not a tool name. To use this skill, invoke the "${ToolNames.SKILL}" tool with parameter: skill: "${unknownToolName}"`;
|
|
174589
|
+
}
|
|
174590
|
+
}
|
|
174591
|
+
const suggestion = this.getToolSuggestion(unknownToolName, topN);
|
|
174592
|
+
return `Tool "${unknownToolName}" not found in registry. Tools must use the exact names that are registered.${suggestion}`;
|
|
174593
|
+
}
|
|
174594
|
+
/** Suggests similar tool names using Levenshtein distance. */
|
|
174670
174595
|
getToolSuggestion(unknownToolName, topN = 3) {
|
|
174671
174596
|
const allToolNames = this.toolRegistry.getAllToolNames();
|
|
174672
174597
|
const matches = allToolNames.map((toolName) => ({
|
|
@@ -174747,8 +174672,7 @@ var init_coreToolScheduler = __esm({
|
|
|
174747
174672
|
}
|
|
174748
174673
|
const toolInstance = this.toolRegistry.getTool(reqInfo.name);
|
|
174749
174674
|
if (!toolInstance) {
|
|
174750
|
-
const
|
|
174751
|
-
const errorMessage = `Tool "${reqInfo.name}" not found in registry. Tools must use the exact names that are registered.${suggestion}`;
|
|
174675
|
+
const errorMessage = this.getToolNotFoundMessage(reqInfo.name);
|
|
174752
174676
|
return {
|
|
174753
174677
|
status: "error",
|
|
174754
174678
|
request: reqInfo,
|
|
@@ -175844,12 +175768,14 @@ var init_subagent = __esm({
|
|
|
175844
175768
|
const hadFunctionCallsFromHelper = resp.functionCalls && resp.functionCalls.length > 0;
|
|
175845
175769
|
for (const p2 of parts) {
|
|
175846
175770
|
const txt = p2.text;
|
|
175847
|
-
|
|
175771
|
+
const isThought = p2.thought ?? false;
|
|
175772
|
+
if (txt && !isThought) roundText += txt;
|
|
175848
175773
|
if (txt)
|
|
175849
175774
|
this.eventEmitter?.emit("stream_text" /* STREAM_TEXT */, {
|
|
175850
175775
|
subagentId: this.subagentId,
|
|
175851
175776
|
round: turnCounter,
|
|
175852
175777
|
text: txt,
|
|
175778
|
+
thought: isThought,
|
|
175853
175779
|
timestamp: Date.now()
|
|
175854
175780
|
});
|
|
175855
175781
|
if (!hadFunctionCallsFromHelper) {
|
|
@@ -182224,7 +182150,6 @@ var init_client2 = __esm({
|
|
|
182224
182150
|
init_retry();
|
|
182225
182151
|
init_ideContext();
|
|
182226
182152
|
init_types7();
|
|
182227
|
-
init_handler();
|
|
182228
182153
|
MAX_TURNS = 100;
|
|
182229
182154
|
GeminiClient = class {
|
|
182230
182155
|
constructor(config2) {
|
|
@@ -182643,12 +182568,7 @@ var init_client2 = __esm({
|
|
|
182643
182568
|
this.lastPromptId
|
|
182644
182569
|
);
|
|
182645
182570
|
}, "apiCall");
|
|
182646
|
-
const onPersistent429Callback = /* @__PURE__ */ __name(async (authType, error2) => (
|
|
182647
|
-
// Pass the captured model to the centralized handler.
|
|
182648
|
-
await handleFallback(this.config, currentAttemptModel, authType, error2)
|
|
182649
|
-
), "onPersistent429Callback");
|
|
182650
182571
|
const result = await retryWithBackoff(apiCall, {
|
|
182651
|
-
onPersistent429: onPersistent429Callback,
|
|
182652
182572
|
authType: this.config.getContentGeneratorConfig()?.authType
|
|
182653
182573
|
});
|
|
182654
182574
|
return result;
|
|
@@ -223513,7 +223433,7 @@ function createFsWatchInstance(path129, options2, listener, errHandler, emitRaw)
|
|
|
223513
223433
|
}
|
|
223514
223434
|
}
|
|
223515
223435
|
var STR_DATA, STR_END, STR_CLOSE, EMPTY_FN, pl, isWindows2, isMacos, isLinux, isFreeBSD, isIBMi, EVENTS, EV, THROTTLE_MODE_WATCH, statMethods, KEY_LISTENERS, KEY_ERR, KEY_RAW, HANDLER_KEYS, binaryExtensions, isBinaryPath, foreach, addAndConvert, clearItem, delFromSet, isEmptySet, FsWatchInstances, fsWatchBroadcast, setFsWatchListener, FsWatchFileInstances, setFsWatchFileListener, NodeFsHandler;
|
|
223516
|
-
var
|
|
223436
|
+
var init_handler = __esm({
|
|
223517
223437
|
"node_modules/chokidar/esm/handler.js"() {
|
|
223518
223438
|
init_esbuild_shims();
|
|
223519
223439
|
STR_DATA = "data";
|
|
@@ -224335,7 +224255,7 @@ var init_esm21 = __esm({
|
|
|
224335
224255
|
"node_modules/chokidar/esm/index.js"() {
|
|
224336
224256
|
init_esbuild_shims();
|
|
224337
224257
|
init_esm20();
|
|
224338
|
-
|
|
224258
|
+
init_handler();
|
|
224339
224259
|
SLASH = "/";
|
|
224340
224260
|
SLASH_SLASH = "//";
|
|
224341
224261
|
ONE_DOT = ".";
|
|
@@ -234477,7 +234397,9 @@ var init_storage2 = __esm({
|
|
|
234477
234397
|
return storage.getExtensionsDir();
|
|
234478
234398
|
}
|
|
234479
234399
|
static async createTmpDir() {
|
|
234480
|
-
return await fs60.promises.mkdtemp(
|
|
234400
|
+
return await fs60.promises.mkdtemp(
|
|
234401
|
+
path62.join(os24.tmpdir(), "rdmind-extension")
|
|
234402
|
+
);
|
|
234481
234403
|
}
|
|
234482
234404
|
};
|
|
234483
234405
|
}
|
|
@@ -236951,22 +236873,24 @@ async function convertClaudePluginPackage(extensionDir, pluginName) {
|
|
|
236951
236873
|
const tmpDir = await ExtensionStorage.createTmpDir();
|
|
236952
236874
|
try {
|
|
236953
236875
|
await copyDirectory(pluginSource, tmpDir);
|
|
236954
|
-
|
|
236955
|
-
|
|
236956
|
-
|
|
236957
|
-
|
|
236958
|
-
|
|
236959
|
-
|
|
236960
|
-
);
|
|
236961
|
-
|
|
236962
|
-
|
|
236963
|
-
|
|
236964
|
-
|
|
236876
|
+
const resourceConfigs = [
|
|
236877
|
+
{ name: "commands", config: mergedConfig.commands },
|
|
236878
|
+
{ name: "skills", config: mergedConfig.skills },
|
|
236879
|
+
{ name: "agents", config: mergedConfig.agents }
|
|
236880
|
+
];
|
|
236881
|
+
for (const { name: name3, config: config2 } of resourceConfigs) {
|
|
236882
|
+
const folderPath = path64.join(tmpDir, name3);
|
|
236883
|
+
const sourceFolderPath = path64.join(pluginSource, name3);
|
|
236884
|
+
if (config2) {
|
|
236885
|
+
if (fs62.existsSync(folderPath)) {
|
|
236886
|
+
fs62.rmSync(folderPath, { recursive: true, force: true });
|
|
236887
|
+
}
|
|
236888
|
+
await collectResources(config2, pluginSource, folderPath);
|
|
236889
|
+
} else if (!fs62.existsSync(sourceFolderPath) && fs62.existsSync(folderPath)) {
|
|
236890
|
+
fs62.rmSync(folderPath, { recursive: true, force: true });
|
|
236891
|
+
}
|
|
236965
236892
|
}
|
|
236966
236893
|
const agentsDestDir = path64.join(tmpDir, "agents");
|
|
236967
|
-
if (mergedConfig.agents) {
|
|
236968
|
-
await collectResources(mergedConfig.agents, pluginSource, agentsDestDir);
|
|
236969
|
-
}
|
|
236970
236894
|
await convertAgentFiles(agentsDestDir);
|
|
236971
236895
|
const qwenConfig = convertClaudeToQwenConfig(mergedConfig);
|
|
236972
236896
|
const qwenConfigPath = path64.join(tmpDir, "rdmind-extension.json");
|
|
@@ -237009,6 +236933,7 @@ async function collectResources(resourcePaths, pluginRoot, destDir) {
|
|
|
237009
236933
|
);
|
|
237010
236934
|
continue;
|
|
237011
236935
|
}
|
|
236936
|
+
const finalDestDir = path64.join(destDir, dirName);
|
|
237012
236937
|
const files = await glob("**/*", {
|
|
237013
236938
|
cwd: resolvedPath,
|
|
237014
236939
|
nodir: true,
|
|
@@ -237016,7 +236941,7 @@ async function collectResources(resourcePaths, pluginRoot, destDir) {
|
|
|
237016
236941
|
});
|
|
237017
236942
|
for (const file of files) {
|
|
237018
236943
|
const srcFile = path64.join(resolvedPath, file);
|
|
237019
|
-
const destFile = path64.join(
|
|
236944
|
+
const destFile = path64.join(finalDestDir, file);
|
|
237020
236945
|
const destFileDir = path64.dirname(destFile);
|
|
237021
236946
|
if (!fs62.existsSync(destFileDir)) {
|
|
237022
236947
|
fs62.mkdirSync(destFileDir, { recursive: true });
|
|
@@ -247481,7 +247406,7 @@ var init_config3 = __esm({
|
|
|
247481
247406
|
contentGeneratorConfigSources = {};
|
|
247482
247407
|
contentGenerator;
|
|
247483
247408
|
embeddingModel;
|
|
247484
|
-
|
|
247409
|
+
modelsConfig;
|
|
247485
247410
|
modelProvidersConfig;
|
|
247486
247411
|
sandbox;
|
|
247487
247412
|
targetDir;
|
|
@@ -247665,7 +247590,7 @@ var init_config3 = __esm({
|
|
|
247665
247590
|
if (params.contextFileName) {
|
|
247666
247591
|
setGeminiMdFilename(params.contextFileName);
|
|
247667
247592
|
}
|
|
247668
|
-
this.
|
|
247593
|
+
this.modelsConfig = new ModelsConfig({
|
|
247669
247594
|
initialAuthType: params.authType ?? params.generationConfig?.authType,
|
|
247670
247595
|
modelProvidersConfig: this.modelProvidersConfig,
|
|
247671
247596
|
generationConfig: {
|
|
@@ -247742,8 +247667,8 @@ var init_config3 = __esm({
|
|
|
247742
247667
|
* Get the ModelsConfig instance for model-related operations.
|
|
247743
247668
|
* External code (e.g., CLI) can use this to access model configuration.
|
|
247744
247669
|
*/
|
|
247745
|
-
|
|
247746
|
-
return this.
|
|
247670
|
+
getModelsConfig() {
|
|
247671
|
+
return this.modelsConfig;
|
|
247747
247672
|
}
|
|
247748
247673
|
/**
|
|
247749
247674
|
* Updates the credentials in the generation config.
|
|
@@ -247751,22 +247676,22 @@ var init_config3 = __esm({
|
|
|
247751
247676
|
* Delegates to ModelsConfig.
|
|
247752
247677
|
*/
|
|
247753
247678
|
updateCredentials(credentials, settingsGenerationConfig) {
|
|
247754
|
-
this.
|
|
247679
|
+
this.modelsConfig.updateCredentials(credentials, settingsGenerationConfig);
|
|
247755
247680
|
}
|
|
247756
247681
|
/**
|
|
247757
247682
|
* Refresh authentication and rebuild ContentGenerator.
|
|
247758
247683
|
*/
|
|
247759
247684
|
async refreshAuth(authMethod, isInitialAuth) {
|
|
247760
|
-
const modelId = this.
|
|
247761
|
-
this.
|
|
247762
|
-
const requireCached = this.
|
|
247685
|
+
const modelId = this.modelsConfig.getModel();
|
|
247686
|
+
this.modelsConfig.syncAfterAuthRefresh(authMethod, modelId);
|
|
247687
|
+
const requireCached = this.modelsConfig.consumeRequireCachedCredentialsFlag();
|
|
247763
247688
|
const { config: config2, sources } = resolveContentGeneratorConfigWithSources(
|
|
247764
247689
|
this,
|
|
247765
247690
|
authMethod,
|
|
247766
|
-
this.
|
|
247767
|
-
this.
|
|
247691
|
+
this.modelsConfig.getGenerationConfig(),
|
|
247692
|
+
this.modelsConfig.getGenerationConfigSources(),
|
|
247768
247693
|
{
|
|
247769
|
-
strictModelProvider: this.
|
|
247694
|
+
strictModelProvider: this.modelsConfig.isStrictModelProviderSelection()
|
|
247770
247695
|
}
|
|
247771
247696
|
);
|
|
247772
247697
|
const newContentGeneratorConfig = config2;
|
|
@@ -247834,20 +247759,20 @@ var init_config3 = __esm({
|
|
|
247834
247759
|
return this.contentGeneratorConfig;
|
|
247835
247760
|
}
|
|
247836
247761
|
getContentGeneratorConfigSources() {
|
|
247837
|
-
if (Object.keys(this.contentGeneratorConfigSources).length === 0 && this.
|
|
247838
|
-
return this.
|
|
247762
|
+
if (Object.keys(this.contentGeneratorConfigSources).length === 0 && this.modelsConfig) {
|
|
247763
|
+
return this.modelsConfig.getGenerationConfigSources();
|
|
247839
247764
|
}
|
|
247840
247765
|
return this.contentGeneratorConfigSources;
|
|
247841
247766
|
}
|
|
247842
247767
|
getModel() {
|
|
247843
|
-
return this.contentGeneratorConfig?.model || this.
|
|
247768
|
+
return this.contentGeneratorConfig?.model || this.modelsConfig.getModel();
|
|
247844
247769
|
}
|
|
247845
247770
|
/**
|
|
247846
247771
|
* Set model programmatically (e.g., VLM auto-switch, fallback).
|
|
247847
247772
|
* Delegates to ModelsConfig.
|
|
247848
247773
|
*/
|
|
247849
247774
|
async setModel(newModel, metadata) {
|
|
247850
|
-
await this.
|
|
247775
|
+
await this.modelsConfig.setModel(newModel, metadata);
|
|
247851
247776
|
if (this.contentGeneratorConfig) {
|
|
247852
247777
|
this.contentGeneratorConfig.model = newModel;
|
|
247853
247778
|
}
|
|
@@ -247864,10 +247789,10 @@ var init_config3 = __esm({
|
|
|
247864
247789
|
const { config: config2, sources } = resolveContentGeneratorConfigWithSources(
|
|
247865
247790
|
this,
|
|
247866
247791
|
authType,
|
|
247867
|
-
this.
|
|
247868
|
-
this.
|
|
247792
|
+
this.modelsConfig.getGenerationConfig(),
|
|
247793
|
+
this.modelsConfig.getGenerationConfigSources(),
|
|
247869
247794
|
{
|
|
247870
|
-
strictModelProvider: this.
|
|
247795
|
+
strictModelProvider: this.modelsConfig.isStrictModelProviderSelection()
|
|
247871
247796
|
}
|
|
247872
247797
|
);
|
|
247873
247798
|
this.contentGeneratorConfig.model = config2.model;
|
|
@@ -247891,14 +247816,14 @@ var init_config3 = __esm({
|
|
|
247891
247816
|
* Delegates to ModelsConfig.
|
|
247892
247817
|
*/
|
|
247893
247818
|
getAvailableModels() {
|
|
247894
|
-
return this.
|
|
247819
|
+
return this.modelsConfig.getAvailableModels();
|
|
247895
247820
|
}
|
|
247896
247821
|
/**
|
|
247897
247822
|
* Get available models for a specific authType.
|
|
247898
247823
|
* Delegates to ModelsConfig.
|
|
247899
247824
|
*/
|
|
247900
247825
|
getAvailableModelsForAuthType(authType) {
|
|
247901
|
-
return this.
|
|
247826
|
+
return this.modelsConfig.getAvailableModelsForAuthType(authType);
|
|
247902
247827
|
}
|
|
247903
247828
|
/**
|
|
247904
247829
|
* Switch authType+model via registry-backed selection.
|
|
@@ -247911,7 +247836,7 @@ var init_config3 = __esm({
|
|
|
247911
247836
|
* @param metadata - Metadata for logging/tracking
|
|
247912
247837
|
*/
|
|
247913
247838
|
async switchModel(authType, modelId, options2, metadata) {
|
|
247914
|
-
await this.
|
|
247839
|
+
await this.modelsConfig.switchModel(authType, modelId, options2, metadata);
|
|
247915
247840
|
}
|
|
247916
247841
|
getMaxSessionTurns() {
|
|
247917
247842
|
return this.maxSessionTurns;
|
|
@@ -254755,8 +254680,8 @@ var init_git_commit = __esm({
|
|
|
254755
254680
|
"packages/core/src/generated/git-commit.ts"() {
|
|
254756
254681
|
"use strict";
|
|
254757
254682
|
init_esbuild_shims();
|
|
254758
|
-
GIT_COMMIT_INFO = "
|
|
254759
|
-
CLI_VERSION = "0.2.2
|
|
254683
|
+
GIT_COMMIT_INFO = "2ca4ee323";
|
|
254684
|
+
CLI_VERSION = "0.2.2";
|
|
254760
254685
|
}
|
|
254761
254686
|
});
|
|
254762
254687
|
|
|
@@ -255970,7 +255895,6 @@ __export(core_exports5, {
|
|
|
255970
255895
|
isPrivateIp: () => isPrivateIp,
|
|
255971
255896
|
isProQuotaExceededError: () => isProQuotaExceededError,
|
|
255972
255897
|
isQwenQuotaExceededError: () => isQwenQuotaExceededError,
|
|
255973
|
-
isQwenThrottlingError: () => isQwenThrottlingError,
|
|
255974
255898
|
isSchemaDepthError: () => isSchemaDepthError,
|
|
255975
255899
|
isSdkMcpServerConfig: () => isSdkMcpServerConfig,
|
|
255976
255900
|
isStructuredError: () => isStructuredError,
|
|
@@ -290123,12 +290047,12 @@ var require_backend = __commonJS({
|
|
|
290123
290047
|
(_console = console).log.apply(_console, ["%cAgent %c".concat(methodName), "color: purple; font-weight: bold;", "font-weight: bold;"].concat(args));
|
|
290124
290048
|
}
|
|
290125
290049
|
}, "debug");
|
|
290126
|
-
var
|
|
290127
|
-
agent_inherits(
|
|
290128
|
-
var _super = agent_createSuper(
|
|
290129
|
-
function
|
|
290050
|
+
var Agent4 = /* @__PURE__ */ function(_EventEmitter) {
|
|
290051
|
+
agent_inherits(Agent5, _EventEmitter);
|
|
290052
|
+
var _super = agent_createSuper(Agent5);
|
|
290053
|
+
function Agent5(bridge) {
|
|
290130
290054
|
var _this;
|
|
290131
|
-
agent_classCallCheck(this,
|
|
290055
|
+
agent_classCallCheck(this, Agent5);
|
|
290132
290056
|
_this = _super.call(this);
|
|
290133
290057
|
agent_defineProperty(agent_assertThisInitialized(_this), "_isProfiling", false);
|
|
290134
290058
|
agent_defineProperty(agent_assertThisInitialized(_this), "_recordChangeDescriptions", false);
|
|
@@ -290528,8 +290452,8 @@ var require_backend = __commonJS({
|
|
|
290528
290452
|
TraceUpdates_initialize(agent_assertThisInitialized(_this));
|
|
290529
290453
|
return _this;
|
|
290530
290454
|
}
|
|
290531
|
-
__name(
|
|
290532
|
-
agent_createClass(
|
|
290455
|
+
__name(Agent5, "Agent");
|
|
290456
|
+
agent_createClass(Agent5, [{
|
|
290533
290457
|
key: "getInstanceAndStyle",
|
|
290534
290458
|
value: /* @__PURE__ */ __name(function getInstanceAndStyle(_ref22) {
|
|
290535
290459
|
var id = _ref22.id, rendererID = _ref22.rendererID;
|
|
@@ -290601,7 +290525,7 @@ var require_backend = __commonJS({
|
|
|
290601
290525
|
return this._rendererInterfaces;
|
|
290602
290526
|
}, "get")
|
|
290603
290527
|
}]);
|
|
290604
|
-
return
|
|
290528
|
+
return Agent5;
|
|
290605
290529
|
}(EventEmitter12);
|
|
290606
290530
|
;
|
|
290607
290531
|
function hook_typeof(obj) {
|
|
@@ -292469,7 +292393,7 @@ var require_backend = __commonJS({
|
|
|
292469
292393
|
if (window.__REACT_DEVTOOLS_COMPONENT_FILTERS__ == null) {
|
|
292470
292394
|
bridge.send("overrideComponentFilters", savedComponentFilters);
|
|
292471
292395
|
}
|
|
292472
|
-
var agent2 = new
|
|
292396
|
+
var agent2 = new Agent4(bridge);
|
|
292473
292397
|
agent2.addListener("shutdown", function() {
|
|
292474
292398
|
hook.emit("shutdown");
|
|
292475
292399
|
});
|
|
@@ -294269,8 +294193,54 @@ var init_trustedFolders = __esm({
|
|
|
294269
294193
|
}
|
|
294270
294194
|
});
|
|
294271
294195
|
|
|
294196
|
+
// packages/cli/src/i18n/languages.ts
|
|
294197
|
+
function getLanguageNameFromLocale(locale) {
|
|
294198
|
+
const lang = SUPPORTED_LANGUAGES.find((l3) => l3.code === locale);
|
|
294199
|
+
return lang?.fullName || "English";
|
|
294200
|
+
}
|
|
294201
|
+
function getLanguageSettingsOptions() {
|
|
294202
|
+
return [
|
|
294203
|
+
{ value: "auto", label: "Auto (detect from system)" },
|
|
294204
|
+
...SUPPORTED_LANGUAGES.map((l3) => ({
|
|
294205
|
+
value: l3.code,
|
|
294206
|
+
label: l3.nativeName ? `${l3.nativeName} (${l3.fullName})` : `${l3.fullName} (${l3.id})`
|
|
294207
|
+
}))
|
|
294208
|
+
];
|
|
294209
|
+
}
|
|
294210
|
+
function getSupportedLanguageIds(separator = "|") {
|
|
294211
|
+
return SUPPORTED_LANGUAGES.map((l3) => l3.id).join(separator);
|
|
294212
|
+
}
|
|
294213
|
+
var SUPPORTED_LANGUAGES;
|
|
294214
|
+
var init_languages = __esm({
|
|
294215
|
+
"packages/cli/src/i18n/languages.ts"() {
|
|
294216
|
+
"use strict";
|
|
294217
|
+
init_esbuild_shims();
|
|
294218
|
+
SUPPORTED_LANGUAGES = [
|
|
294219
|
+
{
|
|
294220
|
+
code: "en",
|
|
294221
|
+
id: "en-US",
|
|
294222
|
+
fullName: "English",
|
|
294223
|
+
nativeName: "English"
|
|
294224
|
+
},
|
|
294225
|
+
{
|
|
294226
|
+
code: "zh",
|
|
294227
|
+
id: "zh-CN",
|
|
294228
|
+
fullName: "Chinese",
|
|
294229
|
+
nativeName: "\u4E2D\u6587"
|
|
294230
|
+
}
|
|
294231
|
+
];
|
|
294232
|
+
__name(getLanguageNameFromLocale, "getLanguageNameFromLocale");
|
|
294233
|
+
__name(getLanguageSettingsOptions, "getLanguageSettingsOptions");
|
|
294234
|
+
__name(getSupportedLanguageIds, "getSupportedLanguageIds");
|
|
294235
|
+
}
|
|
294236
|
+
});
|
|
294237
|
+
|
|
294272
294238
|
// packages/cli/src/config/settingsSchema.ts
|
|
294273
294239
|
function getSettingsSchema() {
|
|
294240
|
+
const schema = SETTINGS_SCHEMA;
|
|
294241
|
+
if (schema["general"]?.properties?.["language"]) {
|
|
294242
|
+
schema["general"].properties["language"].options = getLanguageSettingsOptions();
|
|
294243
|
+
}
|
|
294274
294244
|
return SETTINGS_SCHEMA;
|
|
294275
294245
|
}
|
|
294276
294246
|
var TOGGLE_TYPES, SETTINGS_SCHEMA;
|
|
@@ -294279,6 +294249,7 @@ var init_settingsSchema = __esm({
|
|
|
294279
294249
|
"use strict";
|
|
294280
294250
|
init_esbuild_shims();
|
|
294281
294251
|
init_core5();
|
|
294252
|
+
init_languages();
|
|
294282
294253
|
TOGGLE_TYPES = /* @__PURE__ */ new Set([
|
|
294283
294254
|
"boolean",
|
|
294284
294255
|
"enum"
|
|
@@ -294397,11 +294368,7 @@ var init_settingsSchema = __esm({
|
|
|
294397
294368
|
default: "auto",
|
|
294398
294369
|
description: 'The language for the user interface. Use "auto" to detect from system settings. You can also use custom language codes (e.g., "es", "fr") by placing JS language files in ~/.rdmind/locales/ (e.g., ~/.rdmind/locales/es.js).',
|
|
294399
294370
|
showInDialog: true,
|
|
294400
|
-
options: [
|
|
294401
|
-
{ value: "auto", label: "Auto (detect from system)" },
|
|
294402
|
-
{ value: "en", label: "English" },
|
|
294403
|
-
{ value: "zh", label: "\u4E2D\u6587 (Chinese)" }
|
|
294404
|
-
]
|
|
294371
|
+
options: []
|
|
294405
294372
|
},
|
|
294406
294373
|
outputLanguage: {
|
|
294407
294374
|
type: "string",
|
|
@@ -294409,7 +294376,7 @@ var init_settingsSchema = __esm({
|
|
|
294409
294376
|
category: "General",
|
|
294410
294377
|
requiresRestart: true,
|
|
294411
294378
|
default: "auto",
|
|
294412
|
-
description: 'The language for LLM output. Use "auto" to detect from system settings, or set a specific language
|
|
294379
|
+
description: 'The language for LLM output. Use "auto" to detect from system settings, or set a specific language.',
|
|
294413
294380
|
showInDialog: true
|
|
294414
294381
|
},
|
|
294415
294382
|
terminalBell: {
|
|
@@ -304292,7 +304259,7 @@ var init_en3 = __esm({
|
|
|
304292
304259
|
// ============================================================================
|
|
304293
304260
|
// System Information Fields
|
|
304294
304261
|
// ============================================================================
|
|
304295
|
-
|
|
304262
|
+
RDMind: "RDMind",
|
|
304296
304263
|
Runtime: "Runtime",
|
|
304297
304264
|
OS: "OS",
|
|
304298
304265
|
Auth: "Auth",
|
|
@@ -304604,6 +304571,17 @@ var init_en3 = __esm({
|
|
|
304604
304571
|
"Update all extensions.": "Update all extensions.",
|
|
304605
304572
|
"Either an extension name or --all must be provided": "Either an extension name or --all must be provided",
|
|
304606
304573
|
"Lists installed extensions.": "Lists installed extensions.",
|
|
304574
|
+
"Path:": "Path:",
|
|
304575
|
+
"Source:": "Source:",
|
|
304576
|
+
"Type:": "Type:",
|
|
304577
|
+
"Ref:": "Ref:",
|
|
304578
|
+
"Release tag:": "Release tag:",
|
|
304579
|
+
"Enabled (User):": "Enabled (User):",
|
|
304580
|
+
"Enabled (Workspace):": "Enabled (Workspace):",
|
|
304581
|
+
"Context files:": "Context files:",
|
|
304582
|
+
"Skills:": "Skills:",
|
|
304583
|
+
"Agents:": "Agents:",
|
|
304584
|
+
"MCP servers:": "MCP servers:",
|
|
304607
304585
|
"Link extension failed to install.": "Link extension failed to install.",
|
|
304608
304586
|
'Extension "{{name}}" linked successfully and enabled.': 'Extension "{{name}}" linked successfully and enabled.',
|
|
304609
304587
|
"Links an extension from a local path. Updates made to the local path will always be reflected.": "Links an extension from a local path. Updates made to the local path will always be reflected.",
|
|
@@ -304662,18 +304640,19 @@ var init_en3 = __esm({
|
|
|
304662
304640
|
// ============================================================================
|
|
304663
304641
|
// Commands - Language
|
|
304664
304642
|
// ============================================================================
|
|
304665
|
-
"Invalid language. Available:
|
|
304643
|
+
"Invalid language. Available: {{options}}": "Invalid language. Available: {{options}}",
|
|
304666
304644
|
"Language subcommands do not accept additional arguments.": "Language subcommands do not accept additional arguments.",
|
|
304667
304645
|
"Current UI language: {{lang}}": "Current UI language: {{lang}}",
|
|
304668
304646
|
"Current LLM output language: {{lang}}": "Current LLM output language: {{lang}}",
|
|
304669
304647
|
"LLM output language not set": "LLM output language not set",
|
|
304670
304648
|
"Set UI language": "Set UI language",
|
|
304671
304649
|
"Set LLM output language": "Set LLM output language",
|
|
304672
|
-
"Usage: /language ui [
|
|
304650
|
+
"Usage: /language ui [{{options}}]": "Usage: /language ui [{{options}}]",
|
|
304673
304651
|
"Usage: /language output <language>": "Usage: /language output <language>",
|
|
304674
304652
|
"Example: /language output \u4E2D\u6587": "Example: /language output \u4E2D\u6587",
|
|
304675
304653
|
"Example: /language output English": "Example: /language output English",
|
|
304676
304654
|
"Example: /language output \u65E5\u672C\u8A9E": "Example: /language output \u65E5\u672C\u8A9E",
|
|
304655
|
+
"Example: /language output Portugu\xEAs": "Example: /language output Portugu\xEAs",
|
|
304677
304656
|
"UI language changed to {{lang}}": "UI language changed to {{lang}}",
|
|
304678
304657
|
"LLM output language set to {{lang}}": "LLM output language set to {{lang}}",
|
|
304679
304658
|
"LLM output language rule file generated at {{path}}": "LLM output language rule file generated at {{path}}",
|
|
@@ -304683,10 +304662,7 @@ var init_en3 = __esm({
|
|
|
304683
304662
|
"Available subcommands:": "Available subcommands:",
|
|
304684
304663
|
"To request additional UI language packs, please open an issue on GitHub.": "To request additional UI language packs, please open an issue on GitHub.",
|
|
304685
304664
|
"Available options:": "Available options:",
|
|
304686
|
-
"
|
|
304687
|
-
" - en-US: English": " - en-US: English",
|
|
304688
|
-
"Set UI language to Simplified Chinese (zh-CN)": "Set UI language to Simplified Chinese (zh-CN)",
|
|
304689
|
-
"Set UI language to English (en-US)": "Set UI language to English (en-US)",
|
|
304665
|
+
"Set UI language to {{name}}": "Set UI language to {{name}}",
|
|
304690
304666
|
// ============================================================================
|
|
304691
304667
|
// Commands - Approval Mode
|
|
304692
304668
|
// ============================================================================
|
|
@@ -305043,6 +305019,7 @@ var init_en3 = __esm({
|
|
|
305043
305019
|
"RDMind now supports custom commands, sub-agents, skills and other features. Check the documentation for usage help.": "RDMind now supports custom commands, sub-agents, skills and other features. Check the documentation for usage help.",
|
|
305044
305020
|
"Try asking RDMind to help you commit code.": "Try asking RDMind to help you commit code.",
|
|
305045
305021
|
"RDMind can read REDoc. Please do not upload documents involving user privacy and core algorithms.": "RDMind can read REDoc. Please do not upload documents involving user privacy and core algorithms.",
|
|
305022
|
+
"If you find RDMind useful, feel free to recommend it to your colleagues~": "If you find RDMind useful, feel free to recommend it to your colleagues~",
|
|
305046
305023
|
// ============================================================================
|
|
305047
305024
|
// Exit Screen / Stats
|
|
305048
305025
|
// ============================================================================
|
|
@@ -305288,6 +305265,1719 @@ var init_en3 = __esm({
|
|
|
305288
305265
|
}
|
|
305289
305266
|
});
|
|
305290
305267
|
|
|
305268
|
+
// packages/cli/src/i18n/locales/ja.js
|
|
305269
|
+
var ja_exports = {};
|
|
305270
|
+
__export(ja_exports, {
|
|
305271
|
+
default: () => ja_default
|
|
305272
|
+
});
|
|
305273
|
+
var ja_default;
|
|
305274
|
+
var init_ja = __esm({
|
|
305275
|
+
"packages/cli/src/i18n/locales/ja.js"() {
|
|
305276
|
+
"use strict";
|
|
305277
|
+
init_esbuild_shims();
|
|
305278
|
+
ja_default = {
|
|
305279
|
+
// ============================================================================
|
|
305280
|
+
// Help / UI Components
|
|
305281
|
+
// ============================================================================
|
|
305282
|
+
"Basics:": "\u57FA\u672C\u64CD\u4F5C:",
|
|
305283
|
+
"Add context": "\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u8FFD\u52A0",
|
|
305284
|
+
"Use {{symbol}} to specify files for context (e.g., {{example}}) to target specific files or folders.": "{{symbol}} \u3092\u4F7F\u7528\u3057\u3066\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u7528\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u6307\u5B9A\u3057\u307E\u3059(\u4F8B: {{example}}) \u307E\u305F\u3001\u7279\u5B9A\u306E\u30D5\u30A1\u30A4\u30EB\u3084\u30D5\u30A9\u30EB\u30C0\u3092\u5BFE\u8C61\u306B\u3067\u304D\u307E\u3059",
|
|
305285
|
+
"@": "@",
|
|
305286
|
+
"@src/myFile.ts": "@src/myFile.ts",
|
|
305287
|
+
"Shell mode": "\u30B7\u30A7\u30EB\u30E2\u30FC\u30C9",
|
|
305288
|
+
"YOLO mode": "YOLO\u30E2\u30FC\u30C9",
|
|
305289
|
+
"plan mode": "\u30D7\u30E9\u30F3\u30E2\u30FC\u30C9",
|
|
305290
|
+
"auto-accept edits": "\u7DE8\u96C6\u3092\u81EA\u52D5\u627F\u8A8D",
|
|
305291
|
+
"Accepting edits": "\u7DE8\u96C6\u3092\u627F\u8A8D\u4E2D",
|
|
305292
|
+
"(shift + tab to cycle)": "(Shift + Tab \u3067\u5207\u308A\u66FF\u3048)",
|
|
305293
|
+
"Execute shell commands via {{symbol}} (e.g., {{example1}}) or use natural language (e.g., {{example2}}).": "{{symbol}} \u3067\u30B7\u30A7\u30EB\u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C(\u4F8B: {{example1}})\u3001\u307E\u305F\u306F\u81EA\u7136\u8A00\u8A9E\u3067\u5165\u529B(\u4F8B: {{example2}})",
|
|
305294
|
+
"!": "!",
|
|
305295
|
+
"!npm run start": "!npm run start",
|
|
305296
|
+
"start server": "\u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5",
|
|
305297
|
+
"Commands:": "\u30B3\u30DE\u30F3\u30C9:",
|
|
305298
|
+
"shell command": "\u30B7\u30A7\u30EB\u30B3\u30DE\u30F3\u30C9",
|
|
305299
|
+
"Model Context Protocol command (from external servers)": "Model Context Protocol \u30B3\u30DE\u30F3\u30C9(\u5916\u90E8\u30B5\u30FC\u30D0\u30FC\u304B\u3089)",
|
|
305300
|
+
"Keyboard Shortcuts:": "\u30AD\u30FC\u30DC\u30FC\u30C9\u30B7\u30E7\u30FC\u30C8\u30AB\u30C3\u30C8:",
|
|
305301
|
+
"Jump through words in the input": "\u5165\u529B\u6B04\u306E\u5358\u8A9E\u9593\u3092\u79FB\u52D5",
|
|
305302
|
+
"Close dialogs, cancel requests, or quit application": "\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u9589\u3058\u308B\u3001\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3001\u307E\u305F\u306F\u30A2\u30D7\u30EA\u3092\u7D42\u4E86",
|
|
305303
|
+
"New line": "\u6539\u884C",
|
|
305304
|
+
"New line (Alt+Enter works for certain linux distros)": "\u6539\u884C(\u4E00\u90E8\u306ELinux\u30C7\u30A3\u30B9\u30C8\u30EA\u30D3\u30E5\u30FC\u30B7\u30E7\u30F3\u3067\u306FAlt+Enter\u304C\u6709\u52B9)",
|
|
305305
|
+
"Clear the screen": "\u753B\u9762\u3092\u30AF\u30EA\u30A2",
|
|
305306
|
+
"Open input in external editor": "\u5916\u90E8\u30A8\u30C7\u30A3\u30BF\u3067\u5165\u529B\u3092\u958B\u304F",
|
|
305307
|
+
"Send message": "\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1",
|
|
305308
|
+
"Initializing...": "\u521D\u671F\u5316\u4E2D...",
|
|
305309
|
+
"Connecting to MCP servers... ({{connected}}/{{total}})": "MCP\u30B5\u30FC\u30D0\u30FC\u306B\u63A5\u7D9A\u4E2D... ({{connected}}/{{total}})",
|
|
305310
|
+
"Type your message or @path/to/file": "\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u5165\u529B\u3001@\u30D1\u30B9/\u30D5\u30A1\u30A4\u30EB\u3067\u30D5\u30A1\u30A4\u30EB\u3092\u6DFB\u4ED8(D&D\u5BFE\u5FDC)",
|
|
305311
|
+
"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.": "'i' \u3067INSERT\u30E2\u30FC\u30C9\u3001'Esc' \u3067NORMAL\u30E2\u30FC\u30C9",
|
|
305312
|
+
"Cancel operation / Clear input (double press)": "\u64CD\u4F5C\u3092\u30AD\u30E3\u30F3\u30BB\u30EB / \u5165\u529B\u3092\u30AF\u30EA\u30A2(2\u56DE\u62BC\u3057)",
|
|
305313
|
+
"Cycle approval modes": "\u627F\u8A8D\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048",
|
|
305314
|
+
"Cycle through your prompt history": "\u30D7\u30ED\u30F3\u30D7\u30C8\u5C65\u6B74\u3092\u9806\u306B\u8868\u793A",
|
|
305315
|
+
"For a full list of shortcuts, see {{docPath}}": "\u30B7\u30E7\u30FC\u30C8\u30AB\u30C3\u30C8\u306E\u5B8C\u5168\u306A\u30EA\u30B9\u30C8\u306F {{docPath}} \u3092\u53C2\u7167",
|
|
305316
|
+
"docs/keyboard-shortcuts.md": "docs/keyboard-shortcuts.md",
|
|
305317
|
+
"for help on Qwen Code": "Qwen Code \u306E\u30D8\u30EB\u30D7",
|
|
305318
|
+
"show version info": "\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u8868\u793A",
|
|
305319
|
+
"submit a bug report": "\u30D0\u30B0\u30EC\u30DD\u30FC\u30C8\u3092\u9001\u4FE1",
|
|
305320
|
+
"About Qwen Code": "Qwen Code \u306B\u3064\u3044\u3066",
|
|
305321
|
+
// ============================================================================
|
|
305322
|
+
// System Information Fields
|
|
305323
|
+
// ============================================================================
|
|
305324
|
+
"CLI Version": "CLI\u30D0\u30FC\u30B8\u30E7\u30F3",
|
|
305325
|
+
"Git Commit": "Git\u30B3\u30DF\u30C3\u30C8",
|
|
305326
|
+
Model: "\u30E2\u30C7\u30EB",
|
|
305327
|
+
Sandbox: "\u30B5\u30F3\u30C9\u30DC\u30C3\u30AF\u30B9",
|
|
305328
|
+
"OS Platform": "OS\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0",
|
|
305329
|
+
"OS Arch": "OS\u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3",
|
|
305330
|
+
"OS Release": "OS\u30EA\u30EA\u30FC\u30B9",
|
|
305331
|
+
"Node.js Version": "Node.js \u30D0\u30FC\u30B8\u30E7\u30F3",
|
|
305332
|
+
"NPM Version": "NPM \u30D0\u30FC\u30B8\u30E7\u30F3",
|
|
305333
|
+
"Session ID": "\u30BB\u30C3\u30B7\u30E7\u30F3ID",
|
|
305334
|
+
"Auth Method": "\u8A8D\u8A3C\u65B9\u5F0F",
|
|
305335
|
+
"Base URL": "\u30D9\u30FC\u30B9URL",
|
|
305336
|
+
"Memory Usage": "\u30E1\u30E2\u30EA\u4F7F\u7528\u91CF",
|
|
305337
|
+
"IDE Client": "IDE\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8",
|
|
305338
|
+
// ============================================================================
|
|
305339
|
+
// Commands - General
|
|
305340
|
+
// ============================================================================
|
|
305341
|
+
"Analyzes the project and creates a tailored QWEN.md file.": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u5206\u6790\u3057\u3001\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3055\u308C\u305F QWEN.md \u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210",
|
|
305342
|
+
"list available Qwen Code tools. Usage: /tools [desc]": "\u5229\u7528\u53EF\u80FD\u306A Qwen Code \u30C4\u30FC\u30EB\u3092\u4E00\u89A7\u8868\u793A\u3002\u4F7F\u3044\u65B9: /tools [desc]",
|
|
305343
|
+
"Available Qwen Code CLI tools:": "\u5229\u7528\u53EF\u80FD\u306A Qwen Code CLI \u30C4\u30FC\u30EB:",
|
|
305344
|
+
"No tools available": "\u5229\u7528\u53EF\u80FD\u306A\u30C4\u30FC\u30EB\u306F\u3042\u308A\u307E\u305B\u3093",
|
|
305345
|
+
"View or change the approval mode for tool usage": "\u30C4\u30FC\u30EB\u4F7F\u7528\u306E\u627F\u8A8D\u30E2\u30FC\u30C9\u3092\u8868\u793A\u307E\u305F\u306F\u5909\u66F4",
|
|
305346
|
+
"View or change the language setting": "\u8A00\u8A9E\u8A2D\u5B9A\u3092\u8868\u793A\u307E\u305F\u306F\u5909\u66F4",
|
|
305347
|
+
"change the theme": "\u30C6\u30FC\u30DE\u3092\u5909\u66F4",
|
|
305348
|
+
"Select Theme": "\u30C6\u30FC\u30DE\u3092\u9078\u629E",
|
|
305349
|
+
Preview: "\u30D7\u30EC\u30D3\u30E5\u30FC",
|
|
305350
|
+
"(Use Enter to select, Tab to configure scope)": "(Enter \u3067\u9078\u629E\u3001Tab \u3067\u30B9\u30B3\u30FC\u30D7\u3092\u8A2D\u5B9A)",
|
|
305351
|
+
"(Use Enter to apply scope, Tab to select theme)": "(Enter \u3067\u30B9\u30B3\u30FC\u30D7\u3092\u9069\u7528\u3001Tab \u3067\u30C6\u30FC\u30DE\u3092\u9078\u629E)",
|
|
305352
|
+
"Theme configuration unavailable due to NO_COLOR env variable.": "NO_COLOR \u74B0\u5883\u5909\u6570\u306E\u305F\u3081\u30C6\u30FC\u30DE\u8A2D\u5B9A\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093",
|
|
305353
|
+
'Theme "{{themeName}}" not found.': '\u30C6\u30FC\u30DE "{{themeName}}" \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093',
|
|
305354
|
+
'Theme "{{themeName}}" not found in selected scope.': '\u9078\u629E\u3057\u305F\u30B9\u30B3\u30FC\u30D7\u306B\u30C6\u30FC\u30DE "{{themeName}}" \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093',
|
|
305355
|
+
"Clear conversation history and free up context": "\u4F1A\u8A71\u5C65\u6B74\u3092\u30AF\u30EA\u30A2\u3057\u3066\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u89E3\u653E",
|
|
305356
|
+
"Compresses the context by replacing it with a summary.": "\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u8981\u7D04\u306B\u7F6E\u304D\u63DB\u3048\u3066\u5727\u7E2E",
|
|
305357
|
+
"open full Qwen Code documentation in your browser": "\u30D6\u30E9\u30A6\u30B6\u3067 Qwen Code \u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u958B\u304F",
|
|
305358
|
+
"Configuration not available.": "\u8A2D\u5B9A\u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093",
|
|
305359
|
+
"change the auth method": "\u8A8D\u8A3C\u65B9\u5F0F\u3092\u5909\u66F4",
|
|
305360
|
+
"Copy the last result or code snippet to clipboard": "\u6700\u5F8C\u306E\u7D50\u679C\u307E\u305F\u306F\u30B3\u30FC\u30C9\u30B9\u30CB\u30DA\u30C3\u30C8\u3092\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC",
|
|
305361
|
+
// ============================================================================
|
|
305362
|
+
// Commands - Agents
|
|
305363
|
+
// ============================================================================
|
|
305364
|
+
"Manage subagents for specialized task delegation.": "\u5C02\u9580\u30BF\u30B9\u30AF\u3092\u59D4\u4EFB\u3059\u308B\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u7BA1\u7406",
|
|
305365
|
+
"Manage existing subagents (view, edit, delete).": "\u65E2\u5B58\u306E\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u7BA1\u7406(\u8868\u793A\u3001\u7DE8\u96C6\u3001\u524A\u9664)",
|
|
305366
|
+
"Create a new subagent with guided setup.": "\u30AC\u30A4\u30C9\u4ED8\u304D\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3067\u65B0\u3057\u3044\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u4F5C\u6210",
|
|
305367
|
+
// ============================================================================
|
|
305368
|
+
// Agents - Management Dialog
|
|
305369
|
+
// ============================================================================
|
|
305370
|
+
Agents: "\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8",
|
|
305371
|
+
"Choose Action": "\u30A2\u30AF\u30B7\u30E7\u30F3\u3092\u9078\u629E",
|
|
305372
|
+
"Edit {{name}}": "{{name}} \u3092\u7DE8\u96C6",
|
|
305373
|
+
"Edit Tools: {{name}}": "\u30C4\u30FC\u30EB\u3092\u7DE8\u96C6: {{name}}",
|
|
305374
|
+
"Edit Color: {{name}}": "\u8272\u3092\u7DE8\u96C6: {{name}}",
|
|
305375
|
+
"Delete {{name}}": "{{name}} \u3092\u524A\u9664",
|
|
305376
|
+
"Unknown Step": "\u4E0D\u660E\u306A\u30B9\u30C6\u30C3\u30D7",
|
|
305377
|
+
"Esc to close": "Esc \u3067\u9589\u3058\u308B",
|
|
305378
|
+
"Enter to select, \u2191\u2193 to navigate, Esc to close": "Enter \u3067\u9078\u629E\u3001\u2191\u2193 \u3067\u79FB\u52D5\u3001Esc \u3067\u9589\u3058\u308B",
|
|
305379
|
+
"Esc to go back": "Esc \u3067\u623B\u308B",
|
|
305380
|
+
"Enter to confirm, Esc to cancel": "Enter \u3067\u78BA\u5B9A\u3001Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB",
|
|
305381
|
+
"Enter to select, \u2191\u2193 to navigate, Esc to go back": "Enter \u3067\u9078\u629E\u3001\u2191\u2193 \u3067\u79FB\u52D5\u3001Esc \u3067\u623B\u308B",
|
|
305382
|
+
"Invalid step: {{step}}": "\u7121\u52B9\u306A\u30B9\u30C6\u30C3\u30D7: {{step}}",
|
|
305383
|
+
"No subagents found.": "\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
|
|
305384
|
+
"Use '/agents create' to create your first subagent.": "'/agents create' \u3067\u6700\u521D\u306E\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u4F5C\u6210\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305385
|
+
"(built-in)": "(\u7D44\u307F\u8FBC\u307F)",
|
|
305386
|
+
"(overridden by project level agent)": "(\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EC\u30D9\u30EB\u306E\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3067\u4E0A\u66F8\u304D)",
|
|
305387
|
+
"Project Level ({{path}})": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EC\u30D9\u30EB ({{path}})",
|
|
305388
|
+
"User Level ({{path}})": "\u30E6\u30FC\u30B6\u30FC\u30EC\u30D9\u30EB ({{path}})",
|
|
305389
|
+
"Built-in Agents": "\u7D44\u307F\u8FBC\u307F\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8",
|
|
305390
|
+
"Using: {{count}} agents": "\u4F7F\u7528\u4E2D: {{count}} \u30A8\u30FC\u30B8\u30A7\u30F3\u30C8",
|
|
305391
|
+
"View Agent": "\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u8868\u793A",
|
|
305392
|
+
"Edit Agent": "\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u7DE8\u96C6",
|
|
305393
|
+
"Delete Agent": "\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u524A\u9664",
|
|
305394
|
+
Back: "\u623B\u308B",
|
|
305395
|
+
"No agent selected": "\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093",
|
|
305396
|
+
"File Path: ": "\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9: ",
|
|
305397
|
+
"Tools: ": "\u30C4\u30FC\u30EB: ",
|
|
305398
|
+
"Color: ": "\u8272: ",
|
|
305399
|
+
"Description:": "\u8AAC\u660E:",
|
|
305400
|
+
"System Prompt:": "\u30B7\u30B9\u30C6\u30E0\u30D7\u30ED\u30F3\u30D7\u30C8:",
|
|
305401
|
+
"Open in editor": "\u30A8\u30C7\u30A3\u30BF\u3067\u958B\u304F",
|
|
305402
|
+
"Edit tools": "\u30C4\u30FC\u30EB\u3092\u7DE8\u96C6",
|
|
305403
|
+
"Edit color": "\u8272\u3092\u7DE8\u96C6",
|
|
305404
|
+
"\u274C Error:": "\u274C \u30A8\u30E9\u30FC:",
|
|
305405
|
+
'Are you sure you want to delete agent "{{name}}"?': '\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8 "{{name}}" \u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B?',
|
|
305406
|
+
"Project Level (.qwen/agents/)": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EC\u30D9\u30EB (.qwen/agents/)",
|
|
305407
|
+
"User Level (~/.qwen/agents/)": "\u30E6\u30FC\u30B6\u30FC\u30EC\u30D9\u30EB (~/.qwen/agents/)",
|
|
305408
|
+
"\u2705 Subagent Created Successfully!": "\u2705 \u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306E\u4F5C\u6210\u306B\u6210\u529F\u3057\u307E\u3057\u305F!",
|
|
305409
|
+
'Subagent "{{name}}" has been saved to {{level}} level.': '\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8 "{{name}}" \u3092 {{level}} \u306B\u4FDD\u5B58\u3057\u307E\u3057\u305F',
|
|
305410
|
+
"Name: ": "\u540D\u524D: ",
|
|
305411
|
+
"Location: ": "\u5834\u6240: ",
|
|
305412
|
+
"\u274C Error saving subagent:": "\u274C \u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u4FDD\u5B58\u30A8\u30E9\u30FC:",
|
|
305413
|
+
"Warnings:": "\u8B66\u544A:",
|
|
305414
|
+
"Step {{n}}: Choose Location": "\u30B9\u30C6\u30C3\u30D7 {{n}}: \u5834\u6240\u3092\u9078\u629E",
|
|
305415
|
+
"Step {{n}}: Choose Generation Method": "\u30B9\u30C6\u30C3\u30D7 {{n}}: \u4F5C\u6210\u65B9\u6CD5\u3092\u9078\u629E",
|
|
305416
|
+
"Generate with Qwen Code (Recommended)": "Qwen Code \u3067\u751F\u6210(\u63A8\u5968)",
|
|
305417
|
+
"Manual Creation": "\u624B\u52D5\u4F5C\u6210",
|
|
305418
|
+
"Generating subagent configuration...": "\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u8A2D\u5B9A\u3092\u751F\u6210\u4E2D...",
|
|
305419
|
+
"Failed to generate subagent: {{error}}": "\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306E\u751F\u6210\u306B\u5931\u6557: {{error}}",
|
|
305420
|
+
"Step {{n}}: Describe Your Subagent": "\u30B9\u30C6\u30C3\u30D7 {{n}}: \u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u8AAC\u660E",
|
|
305421
|
+
"Step {{n}}: Enter Subagent Name": "\u30B9\u30C6\u30C3\u30D7 {{n}}: \u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u540D\u3092\u5165\u529B",
|
|
305422
|
+
"Step {{n}}: Enter System Prompt": "\u30B9\u30C6\u30C3\u30D7 {{n}}: \u30B7\u30B9\u30C6\u30E0\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u5165\u529B",
|
|
305423
|
+
"Step {{n}}: Enter Description": "\u30B9\u30C6\u30C3\u30D7 {{n}}: \u8AAC\u660E\u3092\u5165\u529B",
|
|
305424
|
+
"Step {{n}}: Select Tools": "\u30B9\u30C6\u30C3\u30D7 {{n}}: \u30C4\u30FC\u30EB\u3092\u9078\u629E",
|
|
305425
|
+
"All Tools (Default)": "\u5168\u30C4\u30FC\u30EB(\u30C7\u30D5\u30A9\u30EB\u30C8)",
|
|
305426
|
+
"All Tools": "\u5168\u30C4\u30FC\u30EB",
|
|
305427
|
+
"Read-only Tools": "\u8AAD\u307F\u53D6\u308A\u5C02\u7528\u30C4\u30FC\u30EB",
|
|
305428
|
+
"Read & Edit Tools": "\u8AAD\u307F\u53D6\u308A\uFF06\u7DE8\u96C6\u30C4\u30FC\u30EB",
|
|
305429
|
+
"Read & Edit & Execution Tools": "\u8AAD\u307F\u53D6\u308A\uFF06\u7DE8\u96C6\uFF06\u5B9F\u884C\u30C4\u30FC\u30EB",
|
|
305430
|
+
"Selected tools:": "\u9078\u629E\u3055\u308C\u305F\u30C4\u30FC\u30EB:",
|
|
305431
|
+
"Step {{n}}: Choose Background Color": "\u30B9\u30C6\u30C3\u30D7 {{n}}: \u80CC\u666F\u8272\u3092\u9078\u629E",
|
|
305432
|
+
"Step {{n}}: Confirm and Save": "\u30B9\u30C6\u30C3\u30D7 {{n}}: \u78BA\u8A8D\u3057\u3066\u4FDD\u5B58",
|
|
305433
|
+
"Esc to cancel": "Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB",
|
|
305434
|
+
cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB",
|
|
305435
|
+
"go back": "\u623B\u308B",
|
|
305436
|
+
"\u2191\u2193 to navigate, ": "\u2191\u2193 \u3067\u79FB\u52D5\u3001",
|
|
305437
|
+
"Name cannot be empty.": "\u540D\u524D\u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093",
|
|
305438
|
+
"System prompt cannot be empty.": "\u30B7\u30B9\u30C6\u30E0\u30D7\u30ED\u30F3\u30D7\u30C8\u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093",
|
|
305439
|
+
"Description cannot be empty.": "\u8AAC\u660E\u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093",
|
|
305440
|
+
"Failed to launch editor: {{error}}": "\u30A8\u30C7\u30A3\u30BF\u306E\u8D77\u52D5\u306B\u5931\u6557: {{error}}",
|
|
305441
|
+
"Failed to save and edit subagent: {{error}}": "\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306E\u4FDD\u5B58\u3068\u7DE8\u96C6\u306B\u5931\u6557: {{error}}",
|
|
305442
|
+
'Name "{{name}}" already exists at {{level}} level - will overwrite existing subagent': '"{{name}}" \u306F {{level}} \u306B\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059 - \u65E2\u5B58\u306E\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u4E0A\u66F8\u304D\u3057\u307E\u3059',
|
|
305443
|
+
'Name "{{name}}" exists at user level - project level will take precedence': '"{{name}}" \u306F\u30E6\u30FC\u30B6\u30FC\u30EC\u30D9\u30EB\u306B\u5B58\u5728\u3057\u307E\u3059 - \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EC\u30D9\u30EB\u304C\u512A\u5148\u3055\u308C\u307E\u3059',
|
|
305444
|
+
'Name "{{name}}" exists at project level - existing subagent will take precedence': '"{{name}}" \u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EC\u30D9\u30EB\u306B\u5B58\u5728\u3057\u307E\u3059 - \u65E2\u5B58\u306E\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u304C\u512A\u5148\u3055\u308C\u307E\u3059',
|
|
305445
|
+
"Description is over {{length}} characters": "\u8AAC\u660E\u304C {{length}} \u6587\u5B57\u3092\u8D85\u3048\u3066\u3044\u307E\u3059",
|
|
305446
|
+
"System prompt is over {{length}} characters": "\u30B7\u30B9\u30C6\u30E0\u30D7\u30ED\u30F3\u30D7\u30C8\u304C {{length}} \u6587\u5B57\u3092\u8D85\u3048\u3066\u3044\u307E\u3059",
|
|
305447
|
+
"Describe what this subagent should do and when it should be used. (Be comprehensive for best results)": "\u3053\u306E\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306E\u5F79\u5272\u3068\u4F7F\u7528\u30BF\u30A4\u30DF\u30F3\u30B0\u3092\u8AAC\u660E\u3057\u3066\u304F\u3060\u3055\u3044(\u8A73\u7D30\u306B\u8A18\u8FF0\u3059\u308B\u307B\u3069\u826F\u3044\u7D50\u679C\u304C\u5F97\u3089\u308C\u307E\u3059)",
|
|
305448
|
+
"e.g., Expert code reviewer that reviews code based on best practices...": "\u4F8B: \u30D9\u30B9\u30C8\u30D7\u30E9\u30AF\u30C6\u30A3\u30B9\u306B\u57FA\u3065\u3044\u3066\u30B3\u30FC\u30C9\u3092\u30EC\u30D3\u30E5\u30FC\u3059\u308B\u30A8\u30AD\u30B9\u30D1\u30FC\u30C8\u30EC\u30D3\u30E5\u30A2\u30FC...",
|
|
305449
|
+
"All tools selected, including MCP tools": "MCP\u30C4\u30FC\u30EB\u3092\u542B\u3080\u3059\u3079\u3066\u306E\u30C4\u30FC\u30EB\u3092\u9078\u629E",
|
|
305450
|
+
"Read-only tools:": "\u8AAD\u307F\u53D6\u308A\u5C02\u7528\u30C4\u30FC\u30EB:",
|
|
305451
|
+
"Edit tools:": "\u7DE8\u96C6\u30C4\u30FC\u30EB:",
|
|
305452
|
+
"Execution tools:": "\u5B9F\u884C\u30C4\u30FC\u30EB:",
|
|
305453
|
+
"Press Enter to save, e to save and edit, Esc to go back": "Enter \u3067\u4FDD\u5B58\u3001e \u3067\u4FDD\u5B58\u3057\u3066\u7DE8\u96C6\u3001Esc \u3067\u623B\u308B",
|
|
305454
|
+
"Press Enter to continue, {{navigation}}Esc to {{action}}": "Enter \u3067\u7D9A\u884C\u3001{{navigation}}Esc \u3067{{action}}",
|
|
305455
|
+
"Enter a clear, unique name for this subagent.": "\u3053\u306E\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306E\u660E\u78BA\u3067\u4E00\u610F\u306A\u540D\u524D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305456
|
+
"e.g., Code Reviewer": "\u4F8B: \u30B3\u30FC\u30C9\u30EC\u30D3\u30E5\u30A2\u30FC",
|
|
305457
|
+
"Write the system prompt that defines this subagent's behavior. Be comprehensive for best results.": "\u3053\u306E\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306E\u52D5\u4F5C\u3092\u5B9A\u7FA9\u3059\u308B\u30B7\u30B9\u30C6\u30E0\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8A18\u8FF0\u3057\u3066\u304F\u3060\u3055\u3044 (\u8A73\u7D30\u306B\u66F8\u304F\u307B\u3069\u826F\u3044\u7D50\u679C\u304C\u5F97\u3089\u308C\u307E\u3059)",
|
|
305458
|
+
"e.g., You are an expert code reviewer...": "\u4F8B: \u3042\u306A\u305F\u306F\u30A8\u30AD\u30B9\u30D1\u30FC\u30C8\u30B3\u30FC\u30C9\u30EC\u30D3\u30E5\u30A2\u30FC\u3067\u3059...",
|
|
305459
|
+
"Describe when and how this subagent should be used.": "\u3053\u306E\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u3044\u3064\u3069\u306E\u3088\u3046\u306B\u4F7F\u7528\u3059\u308B\u304B\u3092\u8AAC\u660E\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305460
|
+
"e.g., Reviews code for best practices and potential bugs.": "\u4F8B: \u30D9\u30B9\u30C8\u30D7\u30E9\u30AF\u30C6\u30A3\u30B9\u3068\u6F5C\u5728\u7684\u306A\u30D0\u30B0\u306B\u3064\u3044\u3066\u30B3\u30FC\u30C9\u3092\u30EC\u30D3\u30E5\u30FC\u3057\u307E\u3059\u3002",
|
|
305461
|
+
// Commands - General (continued)
|
|
305462
|
+
"(Use Enter to select{{tabText}})": "(Enter \u3067\u9078\u629E{{tabText}})",
|
|
305463
|
+
", Tab to change focus": "\u3001Tab \u3067\u30D5\u30A9\u30FC\u30AB\u30B9\u5909\u66F4",
|
|
305464
|
+
"To see changes, Qwen Code must be restarted. Press r to exit and apply changes now.": "\u5909\u66F4\u3092\u78BA\u8A8D\u3059\u308B\u306B\u306F Qwen Code \u3092\u518D\u8D77\u52D5\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 r \u3092\u62BC\u3057\u3066\u7D42\u4E86\u3057\u3001\u5909\u66F4\u3092\u9069\u7528\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305465
|
+
'The command "/{{command}}" is not supported in non-interactive mode.': '\u30B3\u30DE\u30F3\u30C9 "/{{command}}" \u306F\u975E\u5BFE\u8A71\u30E2\u30FC\u30C9\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093',
|
|
305466
|
+
"View and edit Qwen Code settings": "Qwen Code \u306E\u8A2D\u5B9A\u3092\u8868\u793A\u30FB\u7DE8\u96C6",
|
|
305467
|
+
Settings: "\u8A2D\u5B9A",
|
|
305468
|
+
"Vim Mode": "Vim \u30E2\u30FC\u30C9",
|
|
305469
|
+
"Disable Auto Update": "\u81EA\u52D5\u66F4\u65B0\u3092\u7121\u52B9\u5316",
|
|
305470
|
+
Language: "\u8A00\u8A9E",
|
|
305471
|
+
"Output Format": "\u51FA\u529B\u5F62\u5F0F",
|
|
305472
|
+
"Hide Tips": "\u30D2\u30F3\u30C8\u3092\u975E\u8868\u793A",
|
|
305473
|
+
"Hide Banner": "\u30D0\u30CA\u30FC\u3092\u975E\u8868\u793A",
|
|
305474
|
+
"Show Memory Usage": "\u30E1\u30E2\u30EA\u4F7F\u7528\u91CF\u3092\u8868\u793A",
|
|
305475
|
+
"Show Line Numbers": "\u884C\u756A\u53F7\u3092\u8868\u793A",
|
|
305476
|
+
Text: "\u30C6\u30AD\u30B9\u30C8",
|
|
305477
|
+
JSON: "JSON",
|
|
305478
|
+
Plan: "\u30D7\u30E9\u30F3",
|
|
305479
|
+
Default: "\u30C7\u30D5\u30A9\u30EB\u30C8",
|
|
305480
|
+
"Auto Edit": "\u81EA\u52D5\u7DE8\u96C6",
|
|
305481
|
+
YOLO: "YOLO",
|
|
305482
|
+
"toggle vim mode on/off": "Vim \u30E2\u30FC\u30C9\u306E\u30AA\u30F3/\u30AA\u30D5\u3092\u5207\u308A\u66FF\u3048",
|
|
305483
|
+
"exit the cli": "CLI\u3092\u7D42\u4E86",
|
|
305484
|
+
Timeout: "\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8",
|
|
305485
|
+
"Max Retries": "\u6700\u5927\u30EA\u30C8\u30E9\u30A4\u56DE\u6570",
|
|
305486
|
+
"Auto Accept": "\u81EA\u52D5\u627F\u8A8D",
|
|
305487
|
+
"Folder Trust": "\u30D5\u30A9\u30EB\u30C0\u306E\u4FE1\u983C",
|
|
305488
|
+
"Enable Prompt Completion": "\u30D7\u30ED\u30F3\u30D7\u30C8\u88DC\u5B8C\u3092\u6709\u52B9\u5316",
|
|
305489
|
+
"Debug Keystroke Logging": "\u30AD\u30FC\u30B9\u30C8\u30ED\u30FC\u30AF\u306E\u30C7\u30D0\u30C3\u30B0\u30ED\u30B0",
|
|
305490
|
+
"Hide Window Title": "\u30A6\u30A3\u30F3\u30C9\u30A6\u30BF\u30A4\u30C8\u30EB\u3092\u975E\u8868\u793A",
|
|
305491
|
+
"Show Status in Title": "\u30BF\u30A4\u30C8\u30EB\u306B\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u8868\u793A",
|
|
305492
|
+
"Hide Context Summary": "\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u8981\u7D04\u3092\u975E\u8868\u793A",
|
|
305493
|
+
"Hide CWD": "\u4F5C\u696D\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u975E\u8868\u793A",
|
|
305494
|
+
"Hide Sandbox Status": "\u30B5\u30F3\u30C9\u30DC\u30C3\u30AF\u30B9\u72B6\u614B\u3092\u975E\u8868\u793A",
|
|
305495
|
+
"Hide Model Info": "\u30E2\u30C7\u30EB\u60C5\u5831\u3092\u975E\u8868\u793A",
|
|
305496
|
+
"Hide Footer": "\u30D5\u30C3\u30BF\u30FC\u3092\u975E\u8868\u793A",
|
|
305497
|
+
"Show Citations": "\u5F15\u7528\u3092\u8868\u793A",
|
|
305498
|
+
"Custom Witty Phrases": "\u30AB\u30B9\u30BF\u30E0\u30A6\u30A3\u30C3\u30C8\u30D5\u30EC\u30FC\u30BA",
|
|
305499
|
+
"Enable Welcome Back": "\u30A6\u30A7\u30EB\u30AB\u30E0\u30D0\u30C3\u30AF\u6A5F\u80FD\u3092\u6709\u52B9\u5316",
|
|
305500
|
+
"Disable Loading Phrases": "\u30ED\u30FC\u30C7\u30A3\u30F3\u30B0\u30D5\u30EC\u30FC\u30BA\u3092\u7121\u52B9\u5316",
|
|
305501
|
+
"Screen Reader Mode": "\u30B9\u30AF\u30EA\u30FC\u30F3\u30EA\u30FC\u30C0\u30FC\u30E2\u30FC\u30C9",
|
|
305502
|
+
"IDE Mode": "IDE\u30E2\u30FC\u30C9",
|
|
305503
|
+
"Max Session Turns": "\u6700\u5927\u30BB\u30C3\u30B7\u30E7\u30F3\u30BF\u30FC\u30F3\u6570",
|
|
305504
|
+
"Skip Next Speaker Check": "\u6B21\u306E\u767A\u8A00\u8005\u30C1\u30A7\u30C3\u30AF\u3092\u30B9\u30AD\u30C3\u30D7",
|
|
305505
|
+
"Skip Loop Detection": "\u30EB\u30FC\u30D7\u691C\u51FA\u3092\u30B9\u30AD\u30C3\u30D7",
|
|
305506
|
+
"Skip Startup Context": "\u8D77\u52D5\u6642\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u30B9\u30AD\u30C3\u30D7",
|
|
305507
|
+
"Enable OpenAI Logging": "OpenAI \u30ED\u30B0\u3092\u6709\u52B9\u5316",
|
|
305508
|
+
"OpenAI Logging Directory": "OpenAI \u30ED\u30B0\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA",
|
|
305509
|
+
"Disable Cache Control": "\u30AD\u30E3\u30C3\u30B7\u30E5\u5236\u5FA1\u3092\u7121\u52B9\u5316",
|
|
305510
|
+
"Memory Discovery Max Dirs": "\u30E1\u30E2\u30EA\u691C\u51FA\u306E\u6700\u5927\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u6570",
|
|
305511
|
+
"Load Memory From Include Directories": "\u30A4\u30F3\u30AF\u30EB\u30FC\u30C9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304B\u3089\u30E1\u30E2\u30EA\u3092\u8AAD\u307F\u8FBC\u307F",
|
|
305512
|
+
"Respect .gitignore": ".gitignore \u3092\u512A\u5148",
|
|
305513
|
+
"Respect .qwenignore": ".qwenignore \u3092\u512A\u5148",
|
|
305514
|
+
"Enable Recursive File Search": "\u518D\u5E30\u7684\u30D5\u30A1\u30A4\u30EB\u691C\u7D22\u3092\u6709\u52B9\u5316",
|
|
305515
|
+
"Disable Fuzzy Search": "\u30D5\u30A1\u30B8\u30FC\u691C\u7D22\u3092\u7121\u52B9\u5316",
|
|
305516
|
+
"Enable Interactive Shell": "\u5BFE\u8A71\u578B\u30B7\u30A7\u30EB\u3092\u6709\u52B9\u5316",
|
|
305517
|
+
"Show Color": "\u8272\u3092\u8868\u793A",
|
|
305518
|
+
"Use Ripgrep": "Ripgrep \u3092\u4F7F\u7528",
|
|
305519
|
+
"Use Builtin Ripgrep": "\u7D44\u307F\u8FBC\u307F Ripgrep \u3092\u4F7F\u7528",
|
|
305520
|
+
"Enable Tool Output Truncation": "\u30C4\u30FC\u30EB\u51FA\u529B\u306E\u5207\u308A\u8A70\u3081\u3092\u6709\u52B9\u5316",
|
|
305521
|
+
"Tool Output Truncation Threshold": "\u30C4\u30FC\u30EB\u51FA\u529B\u5207\u308A\u8A70\u3081\u306E\u3057\u304D\u3044\u5024",
|
|
305522
|
+
"Tool Output Truncation Lines": "\u30C4\u30FC\u30EB\u51FA\u529B\u306E\u5207\u308A\u8A70\u3081\u884C\u6570",
|
|
305523
|
+
"Vision Model Preview": "\u30D3\u30B8\u30E7\u30F3\u30E2\u30C7\u30EB\u30D7\u30EC\u30D3\u30E5\u30FC",
|
|
305524
|
+
"Tool Schema Compliance": "\u30C4\u30FC\u30EB\u30B9\u30AD\u30FC\u30DE\u6E96\u62E0",
|
|
305525
|
+
"Auto (detect from system)": "\u81EA\u52D5(\u30B7\u30B9\u30C6\u30E0\u304B\u3089\u691C\u51FA)",
|
|
305526
|
+
"check session stats. Usage: /stats [model|tools]": "\u30BB\u30C3\u30B7\u30E7\u30F3\u7D71\u8A08\u3092\u78BA\u8A8D\u3002\u4F7F\u3044\u65B9: /stats [model|tools]",
|
|
305527
|
+
"Show model-specific usage statistics.": "\u30E2\u30C7\u30EB\u5225\u306E\u4F7F\u7528\u7D71\u8A08\u3092\u8868\u793A",
|
|
305528
|
+
"Show tool-specific usage statistics.": "\u30C4\u30FC\u30EB\u5225\u306E\u4F7F\u7528\u7D71\u8A08\u3092\u8868\u793A",
|
|
305529
|
+
"list configured MCP servers and tools, or authenticate with OAuth-enabled servers": "\u8A2D\u5B9A\u6E08\u307F\u306EMCP\u30B5\u30FC\u30D0\u30FC\u3068\u30C4\u30FC\u30EB\u3092\u4E00\u89A7\u8868\u793A\u3001\u307E\u305F\u306FOAuth\u5BFE\u5FDC\u30B5\u30FC\u30D0\u30FC\u3067\u8A8D\u8A3C",
|
|
305530
|
+
"Manage workspace directories": "\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u7BA1\u7406",
|
|
305531
|
+
"Add directories to the workspace. Use comma to separate multiple paths": "\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u8FFD\u52A0\u3002\u8907\u6570\u30D1\u30B9\u306F\u30AB\u30F3\u30DE\u3067\u533A\u5207\u3063\u3066\u304F\u3060\u3055\u3044",
|
|
305532
|
+
"Show all directories in the workspace": "\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u3059\u3079\u3066\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u8868\u793A",
|
|
305533
|
+
"set external editor preference": "\u5916\u90E8\u30A8\u30C7\u30A3\u30BF\u306E\u8A2D\u5B9A",
|
|
305534
|
+
"Manage extensions": "\u62E1\u5F35\u6A5F\u80FD\u3092\u7BA1\u7406",
|
|
305535
|
+
"List active extensions": "\u6709\u52B9\u306A\u62E1\u5F35\u6A5F\u80FD\u3092\u4E00\u89A7\u8868\u793A",
|
|
305536
|
+
"Update extensions. Usage: update <extension-names>|--all": "\u62E1\u5F35\u6A5F\u80FD\u3092\u66F4\u65B0\u3002\u4F7F\u3044\u65B9: update <\u62E1\u5F35\u6A5F\u80FD\u540D>|--all",
|
|
305537
|
+
"manage IDE integration": "IDE\u9023\u643A\u3092\u7BA1\u7406",
|
|
305538
|
+
"check status of IDE integration": "IDE\u9023\u643A\u306E\u72B6\u614B\u3092\u78BA\u8A8D",
|
|
305539
|
+
"install required IDE companion for {{ideName}}": "{{ideName}} \u7528\u306E\u5FC5\u8981\u306AIDE\u30B3\u30F3\u30D1\u30CB\u30AA\u30F3\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB",
|
|
305540
|
+
"enable IDE integration": "IDE\u9023\u643A\u3092\u6709\u52B9\u5316",
|
|
305541
|
+
"disable IDE integration": "IDE\u9023\u643A\u3092\u7121\u52B9\u5316",
|
|
305542
|
+
"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.": "\u73FE\u5728\u306E\u74B0\u5883\u3067\u306FIDE\u9023\u643A\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u3053\u306E\u6A5F\u80FD\u3092\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001VS Code \u307E\u305F\u306F VS Code \u6D3E\u751F\u30A8\u30C7\u30A3\u30BF\u3067 Qwen Code \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305543
|
+
"Set up GitHub Actions": "GitHub Actions \u3092\u8A2D\u5B9A",
|
|
305544
|
+
"Configure terminal keybindings for multiline input (VS Code, Cursor, Windsurf, Trae)": "\u8907\u6570\u884C\u5165\u529B\u7528\u306E\u30BF\u30FC\u30DF\u30CA\u30EB\u30AD\u30FC\u30D0\u30A4\u30F3\u30C9\u3092\u8A2D\u5B9A(VS Code\u3001Cursor\u3001Windsurf\u3001Trae)",
|
|
305545
|
+
"Please restart your terminal for the changes to take effect.": "\u5909\u66F4\u3092\u6709\u52B9\u306B\u3059\u308B\u306B\u306F\u30BF\u30FC\u30DF\u30CA\u30EB\u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305546
|
+
"Failed to configure terminal: {{error}}": "\u30BF\u30FC\u30DF\u30CA\u30EB\u306E\u8A2D\u5B9A\u306B\u5931\u6557: {{error}}",
|
|
305547
|
+
"Could not determine {{terminalName}} config path on Windows: APPDATA environment variable is not set.": "Windows \u3067 {{terminalName}} \u306E\u8A2D\u5B9A\u30D1\u30B9\u3092\u7279\u5B9A\u3067\u304D\u307E\u305B\u3093: APPDATA \u74B0\u5883\u5909\u6570\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093",
|
|
305548
|
+
"{{terminalName}} keybindings.json exists but is not a valid JSON array. Please fix the file manually or delete it to allow automatic configuration.": "{{terminalName}} \u306E keybindings.json \u306F\u5B58\u5728\u3057\u307E\u3059\u304C\u3001\u6709\u52B9\u306AJSON\u914D\u5217\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u30D5\u30A1\u30A4\u30EB\u3092\u624B\u52D5\u3067\u4FEE\u6B63\u3059\u308B\u304B\u3001\u524A\u9664\u3057\u3066\u81EA\u52D5\u8A2D\u5B9A\u3092\u8A31\u53EF\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305549
|
+
"File: {{file}}": "\u30D5\u30A1\u30A4\u30EB: {{file}}",
|
|
305550
|
+
"Failed to parse {{terminalName}} keybindings.json. The file contains invalid JSON. Please fix the file manually or delete it to allow automatic configuration.": "{{terminalName}} \u306E keybindings.json \u306E\u89E3\u6790\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u30D5\u30A1\u30A4\u30EB\u306B\u7121\u52B9\u306AJSON\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u624B\u52D5\u3067\u4FEE\u6B63\u3059\u308B\u304B\u3001\u524A\u9664\u3057\u3066\u81EA\u52D5\u8A2D\u5B9A\u3092\u8A31\u53EF\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305551
|
+
"Error: {{error}}": "\u30A8\u30E9\u30FC: {{error}}",
|
|
305552
|
+
"Shift+Enter binding already exists": "Shift+Enter \u30D0\u30A4\u30F3\u30C9\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059",
|
|
305553
|
+
"Ctrl+Enter binding already exists": "Ctrl+Enter \u30D0\u30A4\u30F3\u30C9\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059",
|
|
305554
|
+
"Existing keybindings detected. Will not modify to avoid conflicts.": "\u65E2\u5B58\u306E\u30AD\u30FC\u30D0\u30A4\u30F3\u30C9\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002\u7AF6\u5408\u3092\u907F\u3051\u308B\u305F\u3081\u5909\u66F4\u3092\u3057\u307E\u305B\u3093",
|
|
305555
|
+
"Please check and modify manually if needed: {{file}}": "\u5FC5\u8981\u306B\u5FDC\u3058\u3066\u624B\u52D5\u3067\u78BA\u8A8D\u30FB\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044: {{file}}",
|
|
305556
|
+
"Added Shift+Enter and Ctrl+Enter keybindings to {{terminalName}}.": "{{terminalName}} \u306B Shift+Enter \u3068 Ctrl+Enter \u306E\u30AD\u30FC\u30D0\u30A4\u30F3\u30C9\u3092\u8FFD\u52A0\u3057\u307E\u3057\u305F",
|
|
305557
|
+
"Modified: {{file}}": "\u5909\u66F4\u6E08\u307F: {{file}}",
|
|
305558
|
+
"{{terminalName}} keybindings already configured.": "{{terminalName}} \u306E\u30AD\u30FC\u30D0\u30A4\u30F3\u30C9\u306F\u65E2\u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059",
|
|
305559
|
+
"Failed to configure {{terminalName}}.": "{{terminalName}} \u306E\u8A2D\u5B9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
305560
|
+
"Your terminal is already configured for an optimal experience with multiline input (Shift+Enter and Ctrl+Enter).": "\u30BF\u30FC\u30DF\u30CA\u30EB\u306F\u8907\u6570\u884C\u5165\u529B(Shift+Enter \u3068 Ctrl+Enter)\u306B\u6700\u9069\u5316\u3055\u308C\u3066\u3044\u307E\u3059",
|
|
305561
|
+
"Could not detect terminal type. Supported terminals: VS Code, Cursor, Windsurf, and Trae.": "\u30BF\u30FC\u30DF\u30CA\u30EB\u306E\u7A2E\u985E\u3092\u691C\u51FA\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u30BF\u30FC\u30DF\u30CA\u30EB: VS Code\u3001Cursor\u3001Windsurf\u3001Trae",
|
|
305562
|
+
'Terminal "{{terminal}}" is not supported yet.': '\u30BF\u30FC\u30DF\u30CA\u30EB "{{terminal}}" \u306F\u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093',
|
|
305563
|
+
// Commands - Language
|
|
305564
|
+
"Invalid language. Available: {{options}}": "\u7121\u52B9\u306A\u8A00\u8A9E\u3067\u3059\u3002\u4F7F\u7528\u53EF\u80FD: {{options}}",
|
|
305565
|
+
"Language subcommands do not accept additional arguments.": "\u8A00\u8A9E\u30B5\u30D6\u30B3\u30DE\u30F3\u30C9\u306F\u8FFD\u52A0\u306E\u5F15\u6570\u3092\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093",
|
|
305566
|
+
"Current UI language: {{lang}}": "\u73FE\u5728\u306EUI\u8A00\u8A9E: {{lang}}",
|
|
305567
|
+
"Current LLM output language: {{lang}}": "\u73FE\u5728\u306ELLM\u51FA\u529B\u8A00\u8A9E: {{lang}}",
|
|
305568
|
+
"LLM output language not set": "LLM\u51FA\u529B\u8A00\u8A9E\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093",
|
|
305569
|
+
"Set UI language": "UI\u8A00\u8A9E\u3092\u8A2D\u5B9A",
|
|
305570
|
+
"Set LLM output language": "LLM\u51FA\u529B\u8A00\u8A9E\u3092\u8A2D\u5B9A",
|
|
305571
|
+
"Usage: /language ui [{{options}}]": "\u4F7F\u3044\u65B9: /language ui [{{options}}]",
|
|
305572
|
+
"Usage: /language output <language>": "\u4F7F\u3044\u65B9: /language output <\u8A00\u8A9E>",
|
|
305573
|
+
"Example: /language output \u4E2D\u6587": "\u4F8B: /language output \u4E2D\u6587",
|
|
305574
|
+
"Example: /language output English": "\u4F8B: /language output English",
|
|
305575
|
+
"Example: /language output \u65E5\u672C\u8A9E": "\u4F8B: /language output \u65E5\u672C\u8A9E",
|
|
305576
|
+
"Example: /language output Portugu\xEAs": "\u4F8B: /language output Portugu\xEAs",
|
|
305577
|
+
"UI language changed to {{lang}}": "UI\u8A00\u8A9E\u3092 {{lang}} \u306B\u5909\u66F4\u3057\u307E\u3057\u305F",
|
|
305578
|
+
"LLM output language rule file generated at {{path}}": "LLM\u51FA\u529B\u8A00\u8A9E\u30EB\u30FC\u30EB\u30D5\u30A1\u30A4\u30EB\u3092 {{path}} \u306B\u751F\u6210\u3057\u307E\u3057\u305F",
|
|
305579
|
+
"Please restart the application for the changes to take effect.": "\u5909\u66F4\u3092\u6709\u52B9\u306B\u3059\u308B\u306B\u306F\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305580
|
+
"Failed to generate LLM output language rule file: {{error}}": "LLM\u51FA\u529B\u8A00\u8A9E\u30EB\u30FC\u30EB\u30D5\u30A1\u30A4\u30EB\u306E\u751F\u6210\u306B\u5931\u6557: {{error}}",
|
|
305581
|
+
"Invalid command. Available subcommands:": "\u7121\u52B9\u306A\u30B3\u30DE\u30F3\u30C9\u3067\u3059\u3002\u4F7F\u7528\u53EF\u80FD\u306A\u30B5\u30D6\u30B3\u30DE\u30F3\u30C9:",
|
|
305582
|
+
"Available subcommands:": "\u4F7F\u7528\u53EF\u80FD\u306A\u30B5\u30D6\u30B3\u30DE\u30F3\u30C9:",
|
|
305583
|
+
"To request additional UI language packs, please open an issue on GitHub.": "\u8FFD\u52A0\u306EUI\u8A00\u8A9E\u30D1\u30C3\u30AF\u3092\u30EA\u30AF\u30A8\u30B9\u30C8\u3059\u308B\u306B\u306F\u3001GitHub \u3067 Issue \u3092\u4F5C\u6210\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305584
|
+
"Available options:": "\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3:",
|
|
305585
|
+
"Set UI language to {{name}}": "UI\u8A00\u8A9E\u3092 {{name}} \u306B\u8A2D\u5B9A",
|
|
305586
|
+
// Approval Mode
|
|
305587
|
+
"Approval Mode": "\u627F\u8A8D\u30E2\u30FC\u30C9",
|
|
305588
|
+
"Current approval mode: {{mode}}": "\u73FE\u5728\u306E\u627F\u8A8D\u30E2\u30FC\u30C9: {{mode}}",
|
|
305589
|
+
"Available approval modes:": "\u5229\u7528\u53EF\u80FD\u306A\u627F\u8A8D\u30E2\u30FC\u30C9:",
|
|
305590
|
+
"Approval mode changed to: {{mode}}": "\u627F\u8A8D\u30E2\u30FC\u30C9\u3092\u5909\u66F4\u3057\u307E\u3057\u305F: {{mode}}",
|
|
305591
|
+
"Approval mode changed to: {{mode}} (saved to {{scope}} settings{{location}})": "\u627F\u8A8D\u30E2\u30FC\u30C9\u3092 {{mode}} \u306B\u5909\u66F4\u3057\u307E\u3057\u305F({{scope}} \u8A2D\u5B9A{{location}}\u306B\u4FDD\u5B58)",
|
|
305592
|
+
"Usage: /approval-mode <mode> [--session|--user|--project]": "\u4F7F\u3044\u65B9: /approval-mode <\u30E2\u30FC\u30C9> [--session|--user|--project]",
|
|
305593
|
+
"Scope subcommands do not accept additional arguments.": "\u30B9\u30B3\u30FC\u30D7\u30B5\u30D6\u30B3\u30DE\u30F3\u30C9\u306F\u8FFD\u52A0\u306E\u5F15\u6570\u3092\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093",
|
|
305594
|
+
"Plan mode - Analyze only, do not modify files or execute commands": "\u30D7\u30E9\u30F3\u30E2\u30FC\u30C9 - \u5206\u6790\u306E\u307F\u3001\u30D5\u30A1\u30A4\u30EB\u306E\u5909\u66F4\u3084\u30B3\u30DE\u30F3\u30C9\u306E\u5B9F\u884C\u306F\u3057\u307E\u305B\u3093",
|
|
305595
|
+
"Default mode - Require approval for file edits or shell commands": "\u30C7\u30D5\u30A9\u30EB\u30C8\u30E2\u30FC\u30C9 - \u30D5\u30A1\u30A4\u30EB\u7DE8\u96C6\u3084\u30B7\u30A7\u30EB\u30B3\u30DE\u30F3\u30C9\u306B\u306F\u627F\u8A8D\u304C\u5FC5\u8981",
|
|
305596
|
+
"Auto-edit mode - Automatically approve file edits": "\u81EA\u52D5\u7DE8\u96C6\u30E2\u30FC\u30C9 - \u30D5\u30A1\u30A4\u30EB\u7DE8\u96C6\u3092\u81EA\u52D5\u627F\u8A8D",
|
|
305597
|
+
"YOLO mode - Automatically approve all tools": "YOLO\u30E2\u30FC\u30C9 - \u3059\u3079\u3066\u306E\u30C4\u30FC\u30EB\u3092\u81EA\u52D5\u627F\u8A8D",
|
|
305598
|
+
"{{mode}} mode": "{{mode}}\u30E2\u30FC\u30C9",
|
|
305599
|
+
"Settings service is not available; unable to persist the approval mode.": "\u8A2D\u5B9A\u30B5\u30FC\u30D3\u30B9\u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u627F\u8A8D\u30E2\u30FC\u30C9\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093",
|
|
305600
|
+
"Failed to save approval mode: {{error}}": "\u627F\u8A8D\u30E2\u30FC\u30C9\u306E\u4FDD\u5B58\u306B\u5931\u6557: {{error}}",
|
|
305601
|
+
"Failed to change approval mode: {{error}}": "\u627F\u8A8D\u30E2\u30FC\u30C9\u306E\u5909\u66F4\u306B\u5931\u6557: {{error}}",
|
|
305602
|
+
"Apply to current session only (temporary)": "\u73FE\u5728\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u307F\u306B\u9069\u7528(\u4E00\u6642\u7684)",
|
|
305603
|
+
"Persist for this project/workspace": "\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8/\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306B\u4FDD\u5B58",
|
|
305604
|
+
"Persist for this user on this machine": "\u3053\u306E\u30DE\u30B7\u30F3\u306E\u3053\u306E\u30E6\u30FC\u30B6\u30FC\u306B\u4FDD\u5B58",
|
|
305605
|
+
"Analyze only, do not modify files or execute commands": "\u5206\u6790\u306E\u307F\u3001\u30D5\u30A1\u30A4\u30EB\u306E\u5909\u66F4\u3084\u30B3\u30DE\u30F3\u30C9\u306E\u5B9F\u884C\u306F\u3057\u307E\u305B\u3093",
|
|
305606
|
+
"Require approval for file edits or shell commands": "\u30D5\u30A1\u30A4\u30EB\u7DE8\u96C6\u3084\u30B7\u30A7\u30EB\u30B3\u30DE\u30F3\u30C9\u306B\u306F\u627F\u8A8D\u304C\u5FC5\u8981",
|
|
305607
|
+
"Automatically approve file edits": "\u30D5\u30A1\u30A4\u30EB\u7DE8\u96C6\u3092\u81EA\u52D5\u627F\u8A8D",
|
|
305608
|
+
"Automatically approve all tools": "\u3059\u3079\u3066\u306E\u30C4\u30FC\u30EB\u3092\u81EA\u52D5\u627F\u8A8D",
|
|
305609
|
+
"Workspace approval mode exists and takes priority. User-level change will have no effect.": "\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u627F\u8A8D\u30E2\u30FC\u30C9\u304C\u5B58\u5728\u3057\u3001\u512A\u5148\u3055\u308C\u307E\u3059\u3002\u30E6\u30FC\u30B6\u30FC\u30EC\u30D9\u30EB\u306E\u5909\u66F4\u306F\u52B9\u679C\u304C\u3042\u308A\u307E\u305B\u3093",
|
|
305610
|
+
"(Use Enter to select, Tab to change focus)": "(Enter \u3067\u9078\u629E\u3001Tab \u3067\u30D5\u30A9\u30FC\u30AB\u30B9\u5909\u66F4)",
|
|
305611
|
+
"Apply To": "\u9069\u7528\u5148",
|
|
305612
|
+
"User Settings": "\u30E6\u30FC\u30B6\u30FC\u8A2D\u5B9A",
|
|
305613
|
+
"Workspace Settings": "\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u8A2D\u5B9A",
|
|
305614
|
+
// Memory
|
|
305615
|
+
"Commands for interacting with memory.": "\u30E1\u30E2\u30EA\u64CD\u4F5C\u306E\u30B3\u30DE\u30F3\u30C9",
|
|
305616
|
+
"Show the current memory contents.": "\u73FE\u5728\u306E\u30E1\u30E2\u30EA\u5185\u5BB9\u3092\u8868\u793A",
|
|
305617
|
+
"Show project-level memory contents.": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EC\u30D9\u30EB\u306E\u30E1\u30E2\u30EA\u5185\u5BB9\u3092\u8868\u793A",
|
|
305618
|
+
"Show global memory contents.": "\u30B0\u30ED\u30FC\u30D0\u30EB\u30E1\u30E2\u30EA\u5185\u5BB9\u3092\u8868\u793A",
|
|
305619
|
+
"Add content to project-level memory.": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EC\u30D9\u30EB\u306E\u30E1\u30E2\u30EA\u306B\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u8FFD\u52A0",
|
|
305620
|
+
"Add content to global memory.": "\u30B0\u30ED\u30FC\u30D0\u30EB\u30E1\u30E2\u30EA\u306B\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u8FFD\u52A0",
|
|
305621
|
+
"Refresh the memory from the source.": "\u30BD\u30FC\u30B9\u304B\u3089\u30E1\u30E2\u30EA\u3092\u66F4\u65B0",
|
|
305622
|
+
"Usage: /memory add --project <text to remember>": "\u4F7F\u3044\u65B9: /memory add --project <\u8A18\u61B6\u3059\u308B\u30C6\u30AD\u30B9\u30C8>",
|
|
305623
|
+
"Usage: /memory add --global <text to remember>": "\u4F7F\u3044\u65B9: /memory add --global <\u8A18\u61B6\u3059\u308B\u30C6\u30AD\u30B9\u30C8>",
|
|
305624
|
+
'Attempting to save to project memory: "{{text}}"': '\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30E1\u30E2\u30EA\u3078\u306E\u4FDD\u5B58\u3092\u8A66\u884C\u4E2D: "{{text}}"',
|
|
305625
|
+
'Attempting to save to global memory: "{{text}}"': '\u30B0\u30ED\u30FC\u30D0\u30EB\u30E1\u30E2\u30EA\u3078\u306E\u4FDD\u5B58\u3092\u8A66\u884C\u4E2D: "{{text}}"',
|
|
305626
|
+
"Current memory content from {{count}} file(s):": "{{count}} \u500B\u306E\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u306E\u73FE\u5728\u306E\u30E1\u30E2\u30EA\u5185\u5BB9:",
|
|
305627
|
+
"Memory is currently empty.": "\u30E1\u30E2\u30EA\u306F\u73FE\u5728\u7A7A\u3067\u3059",
|
|
305628
|
+
"Project memory file not found or is currently empty.": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30E1\u30E2\u30EA\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u3089\u306A\u3044\u304B\u3001\u73FE\u5728\u7A7A\u3067\u3059",
|
|
305629
|
+
"Global memory file not found or is currently empty.": "\u30B0\u30ED\u30FC\u30D0\u30EB\u30E1\u30E2\u30EA\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u3089\u306A\u3044\u304B\u3001\u73FE\u5728\u7A7A\u3067\u3059",
|
|
305630
|
+
"Global memory is currently empty.": "\u30B0\u30ED\u30FC\u30D0\u30EB\u30E1\u30E2\u30EA\u306F\u73FE\u5728\u7A7A\u3067\u3059",
|
|
305631
|
+
"Global memory content:\n\n---\n{{content}}\n---": "\u30B0\u30ED\u30FC\u30D0\u30EB\u30E1\u30E2\u30EA\u5185\u5BB9:\n\n---\n{{content}}\n---",
|
|
305632
|
+
"Project memory content from {{path}}:\n\n---\n{{content}}\n---": "{{path}} \u304B\u3089\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30E1\u30E2\u30EA\u5185\u5BB9:\n\n---\n{{content}}\n---",
|
|
305633
|
+
"Project memory is currently empty.": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30E1\u30E2\u30EA\u306F\u73FE\u5728\u7A7A\u3067\u3059",
|
|
305634
|
+
"Refreshing memory from source files...": "\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30E1\u30E2\u30EA\u3092\u66F4\u65B0\u4E2D...",
|
|
305635
|
+
"Add content to the memory. Use --global for global memory or --project for project memory.": "\u30E1\u30E2\u30EA\u306B\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u8FFD\u52A0\u3002\u30B0\u30ED\u30FC\u30D0\u30EB\u30E1\u30E2\u30EA\u306B\u306F --global\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30E1\u30E2\u30EA\u306B\u306F --project \u3092\u4F7F\u7528",
|
|
305636
|
+
"Usage: /memory add [--global|--project] <text to remember>": "\u4F7F\u3044\u65B9: /memory add [--global|--project] <\u8A18\u61B6\u3059\u308B\u30C6\u30AD\u30B9\u30C8>",
|
|
305637
|
+
'Attempting to save to memory {{scope}}: "{{fact}}"': '\u30E1\u30E2\u30EA {{scope}} \u3078\u306E\u4FDD\u5B58\u3092\u8A66\u884C\u4E2D: "{{fact}}"',
|
|
305638
|
+
// MCP
|
|
305639
|
+
"Authenticate with an OAuth-enabled MCP server": "OAuth\u5BFE\u5FDC\u306EMCP\u30B5\u30FC\u30D0\u30FC\u3067\u8A8D\u8A3C",
|
|
305640
|
+
"List configured MCP servers and tools": "\u8A2D\u5B9A\u6E08\u307F\u306EMCP\u30B5\u30FC\u30D0\u30FC\u3068\u30C4\u30FC\u30EB\u3092\u4E00\u89A7\u8868\u793A",
|
|
305641
|
+
"No MCP servers configured.": "MCP\u30B5\u30FC\u30D0\u30FC\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093",
|
|
305642
|
+
"Restarts MCP servers.": "MCP\u30B5\u30FC\u30D0\u30FC\u3092\u518D\u8D77\u52D5\u3057\u307E\u3059",
|
|
305643
|
+
"Config not loaded.": "\u8A2D\u5B9A\u304C\u8AAD\u307F\u8FBC\u307E\u308C\u3066\u3044\u307E\u305B\u3093",
|
|
305644
|
+
"Could not retrieve tool registry.": "\u30C4\u30FC\u30EB\u30EC\u30B8\u30B9\u30C8\u30EA\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F",
|
|
305645
|
+
"No MCP servers configured with OAuth authentication.": "OAuth\u8A8D\u8A3C\u304C\u8A2D\u5B9A\u3055\u308C\u305FMCP\u30B5\u30FC\u30D0\u30FC\u306F\u3042\u308A\u307E\u305B\u3093",
|
|
305646
|
+
"MCP servers with OAuth authentication:": "OAuth\u8A8D\u8A3C\u306EMCP\u30B5\u30FC\u30D0\u30FC:",
|
|
305647
|
+
"Use /mcp auth <server-name> to authenticate.": "\u8A8D\u8A3C\u3059\u308B\u306B\u306F /mcp auth <\u30B5\u30FC\u30D0\u30FC\u540D> \u3092\u4F7F\u7528",
|
|
305648
|
+
"MCP server '{{name}}' not found.": "MCP\u30B5\u30FC\u30D0\u30FC '{{name}}' \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
|
|
305649
|
+
"Successfully authenticated and refreshed tools for '{{name}}'.": "'{{name}}' \u306E\u8A8D\u8A3C\u3068\u30C4\u30FC\u30EB\u66F4\u65B0\u306B\u6210\u529F\u3057\u307E\u3057\u305F",
|
|
305650
|
+
"Failed to authenticate with MCP server '{{name}}': {{error}}": "MCP\u30B5\u30FC\u30D0\u30FC '{{name}}' \u3067\u306E\u8A8D\u8A3C\u306B\u5931\u6557: {{error}}",
|
|
305651
|
+
"Re-discovering tools from '{{name}}'...": "'{{name}}' \u304B\u3089\u30C4\u30FC\u30EB\u3092\u518D\u691C\u51FA\u4E2D...",
|
|
305652
|
+
"Configured MCP servers:": "\u8A2D\u5B9A\u6E08\u307FMCP\u30B5\u30FC\u30D0\u30FC:",
|
|
305653
|
+
Ready: "\u6E96\u5099\u5B8C\u4E86",
|
|
305654
|
+
Disconnected: "\u5207\u65AD",
|
|
305655
|
+
"{{count}} tool": "{{count}} \u30C4\u30FC\u30EB",
|
|
305656
|
+
"{{count}} tools": "{{count}} \u30C4\u30FC\u30EB",
|
|
305657
|
+
"Restarting MCP servers...": "MCP\u30B5\u30FC\u30D0\u30FC\u3092\u518D\u8D77\u52D5\u4E2D...",
|
|
305658
|
+
// Chat
|
|
305659
|
+
"Manage conversation history.": "\u4F1A\u8A71\u5C65\u6B74\u3092\u7BA1\u7406\u3057\u307E\u3059",
|
|
305660
|
+
"List saved conversation checkpoints": "\u4FDD\u5B58\u3055\u308C\u305F\u4F1A\u8A71\u30C1\u30A7\u30C3\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u4E00\u89A7\u8868\u793A",
|
|
305661
|
+
"No saved conversation checkpoints found.": "\u4FDD\u5B58\u3055\u308C\u305F\u4F1A\u8A71\u30C1\u30A7\u30C3\u30AF\u30DD\u30A4\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
|
|
305662
|
+
"List of saved conversations:": "\u4FDD\u5B58\u3055\u308C\u305F\u4F1A\u8A71\u306E\u4E00\u89A7:",
|
|
305663
|
+
"Note: Newest last, oldest first": "\u6CE8: \u6700\u65B0\u306E\u3082\u306E\u304C\u4E0B\u306B\u3042\u308A\u3001\u904E\u53BB\u306E\u3082\u306E\u304C\u4E0A\u306B\u3042\u308A\u307E\u3059",
|
|
305664
|
+
"Save the current conversation as a checkpoint. Usage: /chat save <tag>": "\u73FE\u5728\u306E\u4F1A\u8A71\u3092\u30C1\u30A7\u30C3\u30AF\u30DD\u30A4\u30F3\u30C8\u3068\u3057\u3066\u4FDD\u5B58\u3002\u4F7F\u3044\u65B9: /chat save <\u30BF\u30B0>",
|
|
305665
|
+
"Missing tag. Usage: /chat save <tag>": "\u30BF\u30B0\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002\u4F7F\u3044\u65B9: /chat save <\u30BF\u30B0>",
|
|
305666
|
+
"Delete a conversation checkpoint. Usage: /chat delete <tag>": "\u4F1A\u8A71\u30C1\u30A7\u30C3\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u524A\u9664\u3002\u4F7F\u3044\u65B9: /chat delete <\u30BF\u30B0>",
|
|
305667
|
+
"Missing tag. Usage: /chat delete <tag>": "\u30BF\u30B0\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002\u4F7F\u3044\u65B9: /chat delete <\u30BF\u30B0>",
|
|
305668
|
+
"Conversation checkpoint '{{tag}}' has been deleted.": "\u4F1A\u8A71\u30C1\u30A7\u30C3\u30AF\u30DD\u30A4\u30F3\u30C8 '{{tag}}' \u3092\u524A\u9664\u3057\u307E\u3057\u305F",
|
|
305669
|
+
"Error: No checkpoint found with tag '{{tag}}'.": "\u30A8\u30E9\u30FC: \u30BF\u30B0 '{{tag}}' \u306E\u30C1\u30A7\u30C3\u30AF\u30DD\u30A4\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
|
|
305670
|
+
"Resume a conversation from a checkpoint. Usage: /chat resume <tag>": "\u30C1\u30A7\u30C3\u30AF\u30DD\u30A4\u30F3\u30C8\u304B\u3089\u4F1A\u8A71\u3092\u518D\u958B\u3002\u4F7F\u3044\u65B9: /chat resume <\u30BF\u30B0>",
|
|
305671
|
+
"Missing tag. Usage: /chat resume <tag>": "\u30BF\u30B0\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002\u4F7F\u3044\u65B9: /chat resume <\u30BF\u30B0>",
|
|
305672
|
+
"No saved checkpoint found with tag: {{tag}}.": "\u30BF\u30B0 {{tag}} \u306E\u30C1\u30A7\u30C3\u30AF\u30DD\u30A4\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
|
|
305673
|
+
"A checkpoint with the tag {{tag}} already exists. Do you want to overwrite it?": "\u30BF\u30B0 {{tag}} \u306E\u30C1\u30A7\u30C3\u30AF\u30DD\u30A4\u30F3\u30C8\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B?",
|
|
305674
|
+
"No chat client available to save conversation.": "\u4F1A\u8A71\u3092\u4FDD\u5B58\u3059\u308B\u305F\u3081\u306E\u30C1\u30E3\u30C3\u30C8\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u304C\u3042\u308A\u307E\u305B\u3093",
|
|
305675
|
+
"Conversation checkpoint saved with tag: {{tag}}.": "\u30BF\u30B0 {{tag}} \u3067\u4F1A\u8A71\u30C1\u30A7\u30C3\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u307E\u3057\u305F",
|
|
305676
|
+
"No conversation found to save.": "\u4FDD\u5B58\u3059\u308B\u4F1A\u8A71\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
|
|
305677
|
+
"No chat client available to share conversation.": "\u4F1A\u8A71\u3092\u5171\u6709\u3059\u308B\u305F\u3081\u306E\u30C1\u30E3\u30C3\u30C8\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u304C\u3042\u308A\u307E\u305B\u3093",
|
|
305678
|
+
"Invalid file format. Only .md and .json are supported.": "\u7121\u52B9\u306A\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u3067\u3059\u3002.md \u3068 .json \u306E\u307F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059",
|
|
305679
|
+
"Error sharing conversation: {{error}}": "\u4F1A\u8A71\u306E\u5171\u6709\u4E2D\u306B\u30A8\u30E9\u30FC: {{error}}",
|
|
305680
|
+
"Conversation shared to {{filePath}}": "\u4F1A\u8A71\u3092 {{filePath}} \u306B\u5171\u6709\u3057\u307E\u3057\u305F",
|
|
305681
|
+
"No conversation found to share.": "\u5171\u6709\u3059\u308B\u4F1A\u8A71\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
|
|
305682
|
+
"Share the current conversation to a markdown or json file. Usage: /chat share <file>": "\u73FE\u5728\u306E\u4F1A\u8A71\u3092markdown\u307E\u305F\u306Fjson\u30D5\u30A1\u30A4\u30EB\u306B\u5171\u6709\u3002\u4F7F\u3044\u65B9: /chat share <\u30D5\u30A1\u30A4\u30EB>",
|
|
305683
|
+
// Summary
|
|
305684
|
+
"Generate a project summary and save it to .qwen/PROJECT_SUMMARY.md": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B5\u30DE\u30EA\u30FC\u3092\u751F\u6210\u3057\u3001.qwen/PROJECT_SUMMARY.md \u306B\u4FDD\u5B58",
|
|
305685
|
+
"No chat client available to generate summary.": "\u30B5\u30DE\u30EA\u30FC\u3092\u751F\u6210\u3059\u308B\u305F\u3081\u306E\u30C1\u30E3\u30C3\u30C8\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u304C\u3042\u308A\u307E\u305B\u3093",
|
|
305686
|
+
"Already generating summary, wait for previous request to complete": "\u30B5\u30DE\u30EA\u30FC\u751F\u6210\u4E2D\u3067\u3059\u3002\u524D\u306E\u30EA\u30AF\u30A8\u30B9\u30C8\u306E\u5B8C\u4E86\u3092\u304A\u5F85\u3061\u304F\u3060\u3055\u3044",
|
|
305687
|
+
"No conversation found to summarize.": "\u8981\u7D04\u3059\u308B\u4F1A\u8A71\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
|
|
305688
|
+
"Failed to generate project context summary: {{error}}": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B5\u30DE\u30EA\u30FC\u306E\u751F\u6210\u306B\u5931\u6557: {{error}}",
|
|
305689
|
+
"Saved project summary to {{filePathForDisplay}}.": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B5\u30DE\u30EA\u30FC\u3092 {{filePathForDisplay}} \u306B\u4FDD\u5B58\u3057\u307E\u3057\u305F",
|
|
305690
|
+
"Saving project summary...": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B5\u30DE\u30EA\u30FC\u3092\u4FDD\u5B58\u4E2D...",
|
|
305691
|
+
"Generating project summary...": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B5\u30DE\u30EA\u30FC\u3092\u751F\u6210\u4E2D...",
|
|
305692
|
+
"Failed to generate summary - no text content received from LLM response": "\u30B5\u30DE\u30EA\u30FC\u306E\u751F\u6210\u306B\u5931\u6557 - LLM\u30EC\u30B9\u30DD\u30F3\u30B9\u304B\u3089\u30C6\u30AD\u30B9\u30C8\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u53D7\u4FE1\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F",
|
|
305693
|
+
// Model
|
|
305694
|
+
"Switch the model for this session": "\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u30E2\u30C7\u30EB\u3092\u5207\u308A\u66FF\u3048",
|
|
305695
|
+
"Content generator configuration not available.": "\u30B3\u30F3\u30C6\u30F3\u30C4\u30B8\u30A7\u30CD\u30EC\u30FC\u30BF\u30FC\u8A2D\u5B9A\u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093",
|
|
305696
|
+
"Authentication type not available.": "\u8A8D\u8A3C\u30BF\u30A4\u30D7\u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093",
|
|
305697
|
+
"No models available for the current authentication type ({{authType}}).": "\u73FE\u5728\u306E\u8A8D\u8A3C\u30BF\u30A4\u30D7({{authType}})\u3067\u5229\u7528\u53EF\u80FD\u306A\u30E2\u30C7\u30EB\u306F\u3042\u308A\u307E\u305B\u3093",
|
|
305698
|
+
// Clear
|
|
305699
|
+
"Starting a new session, resetting chat, and clearing terminal.": "\u65B0\u3057\u3044\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u958B\u59CB\u3057\u3001\u30C1\u30E3\u30C3\u30C8\u3092\u30EA\u30BB\u30C3\u30C8\u3057\u3001\u30BF\u30FC\u30DF\u30CA\u30EB\u3092\u30AF\u30EA\u30A2\u3057\u3066\u3044\u307E\u3059",
|
|
305700
|
+
"Starting a new session and clearing.": "\u65B0\u3057\u3044\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u958B\u59CB\u3057\u3066\u30AF\u30EA\u30A2\u3057\u3066\u3044\u307E\u3059",
|
|
305701
|
+
// Compress
|
|
305702
|
+
"Already compressing, wait for previous request to complete": "\u5727\u7E2E\u4E2D\u3067\u3059\u3002\u524D\u306E\u30EA\u30AF\u30A8\u30B9\u30C8\u306E\u5B8C\u4E86\u3092\u304A\u5F85\u3061\u304F\u3060\u3055\u3044",
|
|
305703
|
+
"Failed to compress chat history.": "\u30C1\u30E3\u30C3\u30C8\u5C65\u6B74\u306E\u5727\u7E2E\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
305704
|
+
"Failed to compress chat history: {{error}}": "\u30C1\u30E3\u30C3\u30C8\u5C65\u6B74\u306E\u5727\u7E2E\u306B\u5931\u6557: {{error}}",
|
|
305705
|
+
"Compressing chat history": "\u30C1\u30E3\u30C3\u30C8\u5C65\u6B74\u3092\u5727\u7E2E\u4E2D",
|
|
305706
|
+
"Chat history compressed from {{originalTokens}} to {{newTokens}} tokens.": "\u30C1\u30E3\u30C3\u30C8\u5C65\u6B74\u3092 {{originalTokens}} \u30C8\u30FC\u30AF\u30F3\u304B\u3089 {{newTokens}} \u30C8\u30FC\u30AF\u30F3\u306B\u5727\u7E2E\u3057\u307E\u3057\u305F",
|
|
305707
|
+
"Compression was not beneficial for this history size.": "\u3053\u306E\u5C65\u6B74\u30B5\u30A4\u30BA\u306B\u306F\u5727\u7E2E\u306E\u52B9\u679C\u304C\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F",
|
|
305708
|
+
"Chat history compression did not reduce size. This may indicate issues with the compression prompt.": "\u30C1\u30E3\u30C3\u30C8\u5C65\u6B74\u306E\u5727\u7E2E\u3067\u30B5\u30A4\u30BA\u304C\u6E1B\u5C11\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u5727\u7E2E\u30D7\u30ED\u30F3\u30D7\u30C8\u306B\u554F\u984C\u304C\u3042\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059",
|
|
305709
|
+
"Could not compress chat history due to a token counting error.": "\u30C8\u30FC\u30AF\u30F3\u30AB\u30A6\u30F3\u30C8\u30A8\u30E9\u30FC\u306E\u305F\u3081\u3001\u30C1\u30E3\u30C3\u30C8\u5C65\u6B74\u3092\u5727\u7E2E\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F",
|
|
305710
|
+
"Chat history is already compressed.": "\u30C1\u30E3\u30C3\u30C8\u5C65\u6B74\u306F\u65E2\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u307E\u3059",
|
|
305711
|
+
// Directory
|
|
305712
|
+
"Configuration is not available.": "\u8A2D\u5B9A\u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093",
|
|
305713
|
+
"Please provide at least one path to add.": "\u8FFD\u52A0\u3059\u308B\u30D1\u30B9\u3092\u5C11\u306A\u304F\u3068\u30821\u3064\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305714
|
+
"The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.": "\u5236\u9650\u7684\u306A\u30B5\u30F3\u30C9\u30DC\u30C3\u30AF\u30B9\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u3067\u306F /directory add \u30B3\u30DE\u30F3\u30C9\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u4EE3\u308F\u308A\u306B\u30BB\u30C3\u30B7\u30E7\u30F3\u958B\u59CB\u6642\u306B --include-directories \u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305715
|
+
"Error adding '{{path}}': {{error}}": "'{{path}}' \u306E\u8FFD\u52A0\u4E2D\u306B\u30A8\u30E9\u30FC: {{error}}",
|
|
305716
|
+
"Successfully added QWEN.md files from the following directories if there are:\n- {{directories}}": "\u4EE5\u4E0B\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304B\u3089 QWEN.md \u30D5\u30A1\u30A4\u30EB\u3092\u8FFD\u52A0\u3057\u307E\u3057\u305F(\u5B58\u5728\u3059\u308B\u5834\u5408):\n- {{directories}}",
|
|
305717
|
+
"Error refreshing memory: {{error}}": "\u30E1\u30E2\u30EA\u306E\u66F4\u65B0\u4E2D\u306B\u30A8\u30E9\u30FC: {{error}}",
|
|
305718
|
+
"Successfully added directories:\n- {{directories}}": "\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u6B63\u5E38\u306B\u8FFD\u52A0\u3057\u307E\u3057\u305F:\n- {{directories}}",
|
|
305719
|
+
"Current workspace directories:\n{{directories}}": "\u73FE\u5728\u306E\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA:\n{{directories}}",
|
|
305720
|
+
// Docs
|
|
305721
|
+
"Please open the following URL in your browser to view the documentation:\n{{url}}": "\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8868\u793A\u3059\u308B\u306B\u306F\u3001\u30D6\u30E9\u30A6\u30B6\u3067\u4EE5\u4E0B\u306EURL\u3092\u958B\u3044\u3066\u304F\u3060\u3055\u3044:\n{{url}}",
|
|
305722
|
+
"Opening documentation in your browser: {{url}}": " \u30D6\u30E9\u30A6\u30B6\u3067\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u958B\u304D\u307E\u3057\u305F: {{url}}",
|
|
305723
|
+
// Dialogs - Tool Confirmation
|
|
305724
|
+
"Do you want to proceed?": "\u7D9A\u884C\u3057\u307E\u3059\u304B?",
|
|
305725
|
+
"Yes, allow once": "\u306F\u3044(\u4ECA\u56DE\u306E\u307F\u8A31\u53EF)",
|
|
305726
|
+
"Allow always": "\u5E38\u306B\u8A31\u53EF\u3059\u308B",
|
|
305727
|
+
No: "\u3044\u3044\u3048",
|
|
305728
|
+
"No (esc)": "\u3044\u3044\u3048 (Esc)",
|
|
305729
|
+
"Yes, allow always for this session": "\u306F\u3044\u3001\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u5E38\u306B\u8A31\u53EF",
|
|
305730
|
+
"Modify in progress:": "\u5909\u66F4\u4E2D:",
|
|
305731
|
+
"Save and close external editor to continue": "\u7D9A\u884C\u3059\u308B\u306B\u306F\u5916\u90E8\u30A8\u30C7\u30A3\u30BF\u3092\u4FDD\u5B58\u3057\u3066\u9589\u3058\u3066\u304F\u3060\u3055\u3044",
|
|
305732
|
+
"Apply this change?": "\u3053\u306E\u5909\u66F4\u3092\u9069\u7528\u3057\u307E\u3059\u304B?",
|
|
305733
|
+
"Yes, allow always": "\u306F\u3044\u3001\u5E38\u306B\u8A31\u53EF",
|
|
305734
|
+
"Modify with external editor": "\u5916\u90E8\u30A8\u30C7\u30A3\u30BF\u3067\u7DE8\u96C6",
|
|
305735
|
+
"No, suggest changes (esc)": "\u3044\u3044\u3048\u3001\u5909\u66F4\u3092\u63D0\u6848 (Esc)",
|
|
305736
|
+
"Allow execution of: '{{command}}'?": "'{{command}}' \u306E\u5B9F\u884C\u3092\u8A31\u53EF\u3057\u307E\u3059\u304B?",
|
|
305737
|
+
"Yes, allow always ...": "\u306F\u3044\u3001\u5E38\u306B\u8A31\u53EF...",
|
|
305738
|
+
"Yes, and auto-accept edits": "\u306F\u3044\u3001\u7DE8\u96C6\u3092\u81EA\u52D5\u627F\u8A8D",
|
|
305739
|
+
"Yes, and manually approve edits": "\u306F\u3044\u3001\u7DE8\u96C6\u3092\u624B\u52D5\u627F\u8A8D",
|
|
305740
|
+
"No, keep planning (esc)": "\u3044\u3044\u3048\u3001\u8A08\u753B\u3092\u7D9A\u3051\u308B (Esc)",
|
|
305741
|
+
"URLs to fetch:": "\u53D6\u5F97\u3059\u308BURL:",
|
|
305742
|
+
"MCP Server: {{server}}": "MCP\u30B5\u30FC\u30D0\u30FC: {{server}}",
|
|
305743
|
+
"Tool: {{tool}}": "\u30C4\u30FC\u30EB: {{tool}}",
|
|
305744
|
+
'Allow execution of MCP tool "{{tool}}" from server "{{server}}"?': '\u30B5\u30FC\u30D0\u30FC "{{server}}" \u304B\u3089\u306E MCP\u30C4\u30FC\u30EB "{{tool}}" \u306E\u5B9F\u884C\u3092\u8A31\u53EF\u3057\u307E\u3059\u304B?',
|
|
305745
|
+
'Yes, always allow tool "{{tool}}" from server "{{server}}"': '\u306F\u3044\u3001\u30B5\u30FC\u30D0\u30FC "{{server}}" \u304B\u3089\u306E\u30C4\u30FC\u30EB "{{tool}}" \u3092\u5E38\u306B\u8A31\u53EF',
|
|
305746
|
+
'Yes, always allow all tools from server "{{server}}"': '\u306F\u3044\u3001\u30B5\u30FC\u30D0\u30FC "{{server}}" \u304B\u3089\u306E\u3059\u3079\u3066\u306E\u30C4\u30FC\u30EB\u3092\u5E38\u306B\u8A31\u53EF',
|
|
305747
|
+
// Dialogs - Shell Confirmation
|
|
305748
|
+
"Shell Command Execution": "\u30B7\u30A7\u30EB\u30B3\u30DE\u30F3\u30C9\u5B9F\u884C",
|
|
305749
|
+
"A custom command wants to run the following shell commands:": "\u30AB\u30B9\u30BF\u30E0\u30B3\u30DE\u30F3\u30C9\u304C\u4EE5\u4E0B\u306E\u30B7\u30A7\u30EB\u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059:",
|
|
305750
|
+
// Dialogs - Pro Quota
|
|
305751
|
+
"Pro quota limit reached for {{model}}.": "{{model}} \u306EPro\u30AF\u30A9\u30FC\u30BF\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F",
|
|
305752
|
+
"Change auth (executes the /auth command)": "\u8A8D\u8A3C\u3092\u5909\u66F4(/auth \u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C)",
|
|
305753
|
+
"Continue with {{model}}": "{{model}} \u3067\u7D9A\u884C",
|
|
305754
|
+
// Dialogs - Welcome Back
|
|
305755
|
+
"Current Plan:": "\u73FE\u5728\u306E\u30D7\u30E9\u30F3:",
|
|
305756
|
+
"Progress: {{done}}/{{total}} tasks completed": "\u9032\u6357: {{done}}/{{total}} \u30BF\u30B9\u30AF\u5B8C\u4E86",
|
|
305757
|
+
", {{inProgress}} in progress": "\u3001{{inProgress}} \u9032\u884C\u4E2D",
|
|
305758
|
+
"Pending Tasks:": "\u4FDD\u7559\u4E2D\u306E\u30BF\u30B9\u30AF:",
|
|
305759
|
+
"What would you like to do?": "\u4F55\u3092\u3057\u307E\u3059\u304B?",
|
|
305760
|
+
"Choose how to proceed with your session:": "\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u7D9A\u884C\u65B9\u6CD5\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",
|
|
305761
|
+
"Start new chat session": "\u65B0\u3057\u3044\u30C1\u30E3\u30C3\u30C8\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u958B\u59CB",
|
|
305762
|
+
"Continue previous conversation": "\u524D\u56DE\u306E\u4F1A\u8A71\u3092\u7D9A\u884C",
|
|
305763
|
+
"\u{1F44B} Welcome back! (Last updated: {{timeAgo}})": "\u{1F44B} \u304A\u304B\u3048\u308A\u306A\u3055\u3044!(\u6700\u7D42\u66F4\u65B0: {{timeAgo}})",
|
|
305764
|
+
"\u{1F3AF} Overall Goal:": "\u{1F3AF} \u5168\u4F53\u76EE\u6A19:",
|
|
305765
|
+
// Dialogs - Auth
|
|
305766
|
+
"Get started": "\u59CB\u3081\u308B",
|
|
305767
|
+
"How would you like to authenticate for this project?": "\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u8A8D\u8A3C\u65B9\u6CD5\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",
|
|
305768
|
+
"OpenAI API key is required to use OpenAI authentication.": "OpenAI\u8A8D\u8A3C\u3092\u4F7F\u7528\u3059\u308B\u306B\u306F OpenAI API\u30AD\u30FC\u304C\u5FC5\u8981\u3067\u3059",
|
|
305769
|
+
"You must select an auth method to proceed. Press Ctrl+C again to exit.": "\u7D9A\u884C\u3059\u308B\u306B\u306F\u8A8D\u8A3C\u65B9\u6CD5\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002Ctrl+C \u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3059\u3068\u7D42\u4E86\u3057\u307E\u3059",
|
|
305770
|
+
"(Use Enter to Set Auth)": "(Enter \u3067\u8A8D\u8A3C\u3092\u8A2D\u5B9A)",
|
|
305771
|
+
"Terms of Services and Privacy Notice for Qwen Code": "Qwen Code \u306E\u5229\u7528\u898F\u7D04\u3068\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u901A\u77E5",
|
|
305772
|
+
"Qwen OAuth": "Qwen OAuth",
|
|
305773
|
+
OpenAI: "OpenAI",
|
|
305774
|
+
"Failed to login. Message: {{message}}": "\u30ED\u30B0\u30A4\u30F3\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u30E1\u30C3\u30BB\u30FC\u30B8: {{message}}",
|
|
305775
|
+
"Authentication is enforced to be {{enforcedType}}, but you are currently using {{currentType}}.": "\u8A8D\u8A3C\u306F {{enforcedType}} \u306B\u5F37\u5236\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u73FE\u5728 {{currentType}} \u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059",
|
|
305776
|
+
"Qwen OAuth authentication timed out. Please try again.": "Qwen OAuth\u8A8D\u8A3C\u304C\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u3057\u307E\u3057\u305F\u3002\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044",
|
|
305777
|
+
"Qwen OAuth authentication cancelled.": "Qwen OAuth\u8A8D\u8A3C\u304C\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F",
|
|
305778
|
+
"Qwen OAuth Authentication": "Qwen OAuth\u8A8D\u8A3C",
|
|
305779
|
+
"Please visit this URL to authorize:": "\u8A8D\u8A3C\u3059\u308B\u306B\u306F\u4EE5\u4E0B\u306EURL\u306B\u30A2\u30AF\u30BB\u30B9\u3057\u3066\u304F\u3060\u3055\u3044:",
|
|
305780
|
+
"Or scan the QR code below:": "\u307E\u305F\u306F\u4EE5\u4E0B\u306EQR\u30B3\u30FC\u30C9\u3092\u30B9\u30AD\u30E3\u30F3:",
|
|
305781
|
+
"Waiting for authorization": "\u8A8D\u8A3C\u3092\u5F85\u3063\u3066\u3044\u307E\u3059",
|
|
305782
|
+
"Time remaining:": "\u6B8B\u308A\u6642\u9593:",
|
|
305783
|
+
"(Press ESC or CTRL+C to cancel)": "(ESC \u307E\u305F\u306F CTRL+C \u3067\u30AD\u30E3\u30F3\u30BB\u30EB)",
|
|
305784
|
+
"Qwen OAuth Authentication Timeout": "Qwen OAuth\u8A8D\u8A3C\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8",
|
|
305785
|
+
"OAuth token expired (over {{seconds}} seconds). Please select authentication method again.": "OAuth\u30C8\u30FC\u30AF\u30F3\u304C\u671F\u9650\u5207\u308C\u3067\u3059({{seconds}}\u79D2\u4EE5\u4E0A)\u3002\u8A8D\u8A3C\u65B9\u6CD5\u3092\u518D\u5EA6\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305786
|
+
"Press any key to return to authentication type selection.": "\u8A8D\u8A3C\u30BF\u30A4\u30D7\u9078\u629E\u306B\u623B\u308B\u306B\u306F\u4EFB\u610F\u306E\u30AD\u30FC\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305787
|
+
"Waiting for Qwen OAuth authentication...": "Qwen OAuth\u8A8D\u8A3C\u3092\u5F85\u3063\u3066\u3044\u307E\u3059...",
|
|
305788
|
+
"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.": "\u6CE8: Qwen OAuth\u3092\u4F7F\u7528\u3057\u3066\u3082\u3001settings.json\u5185\u306E\u65E2\u5B58\u306EAPI\u30AD\u30FC\u306F\u30AF\u30EA\u30A2\u3055\u308C\u307E\u305B\u3093\u3002\u5FC5\u8981\u306B\u5FDC\u3058\u3066\u5F8C\u3067OpenAI\u8A8D\u8A3C\u306B\u5207\u308A\u66FF\u3048\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059",
|
|
305789
|
+
"Authentication timed out. Please try again.": "\u8A8D\u8A3C\u304C\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u3057\u307E\u3057\u305F\u3002\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044",
|
|
305790
|
+
"Waiting for auth... (Press ESC or CTRL+C to cancel)": "\u8A8D\u8A3C\u3092\u5F85\u3063\u3066\u3044\u307E\u3059... (ESC \u307E\u305F\u306F CTRL+C \u3067\u30AD\u30E3\u30F3\u30BB\u30EB)",
|
|
305791
|
+
"Failed to authenticate. Message: {{message}}": "\u8A8D\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u30E1\u30C3\u30BB\u30FC\u30B8: {{message}}",
|
|
305792
|
+
"Authenticated successfully with {{authType}} credentials.": "{{authType}} \u8A8D\u8A3C\u60C5\u5831\u3067\u6B63\u5E38\u306B\u8A8D\u8A3C\u3055\u308C\u307E\u3057\u305F",
|
|
305793
|
+
'Invalid QWEN_DEFAULT_AUTH_TYPE value: "{{value}}". Valid values are: {{validValues}}': '\u7121\u52B9\u306A QWEN_DEFAULT_AUTH_TYPE \u5024: "{{value}}"\u3002\u6709\u52B9\u306A\u5024: {{validValues}}',
|
|
305794
|
+
"OpenAI Configuration Required": "OpenAI\u8A2D\u5B9A\u304C\u5FC5\u8981\u3067\u3059",
|
|
305795
|
+
"Please enter your OpenAI configuration. You can get an API key from": "OpenAI\u8A2D\u5B9A\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002API\u30AD\u30FC\u306F\u4EE5\u4E0B\u304B\u3089\u53D6\u5F97\u3067\u304D\u307E\u3059",
|
|
305796
|
+
"API Key:": "API\u30AD\u30FC:",
|
|
305797
|
+
"Invalid credentials: {{errorMessage}}": "\u7121\u52B9\u306A\u8A8D\u8A3C\u60C5\u5831: {{errorMessage}}",
|
|
305798
|
+
"Failed to validate credentials": "\u8A8D\u8A3C\u60C5\u5831\u306E\u691C\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
305799
|
+
"Press Enter to continue, Tab/\u2191\u2193 to navigate, Esc to cancel": "Enter \u3067\u7D9A\u884C\u3001Tab/\u2191\u2193 \u3067\u79FB\u52D5\u3001Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB",
|
|
305800
|
+
// Dialogs - Model
|
|
305801
|
+
"Select Model": "\u30E2\u30C7\u30EB\u3092\u9078\u629E",
|
|
305802
|
+
"(Press Esc to close)": "(Esc \u3067\u9589\u3058\u308B)",
|
|
305803
|
+
"The latest Qwen Coder model from Alibaba Cloud ModelStudio (version: qwen3-coder-plus-2025-09-23)": "Alibaba Cloud ModelStudio\u306E\u6700\u65B0Qwen Coder\u30E2\u30C7\u30EB(\u30D0\u30FC\u30B8\u30E7\u30F3: qwen3-coder-plus-2025-09-23)",
|
|
305804
|
+
"The latest Qwen Vision model from Alibaba Cloud ModelStudio (version: qwen3-vl-plus-2025-09-23)": "Alibaba Cloud ModelStudio\u306E\u6700\u65B0Qwen Vision\u30E2\u30C7\u30EB(\u30D0\u30FC\u30B8\u30E7\u30F3: qwen3-vl-plus-2025-09-23)",
|
|
305805
|
+
// Dialogs - Permissions
|
|
305806
|
+
"Manage folder trust settings": "\u30D5\u30A9\u30EB\u30C0\u4FE1\u983C\u8A2D\u5B9A\u3092\u7BA1\u7406",
|
|
305807
|
+
// Status Bar
|
|
305808
|
+
"Using:": "\u4F7F\u7528\u4E2D:",
|
|
305809
|
+
"{{count}} open file": "{{count}} \u500B\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u3044\u3066\u3044\u307E\u3059",
|
|
305810
|
+
"{{count}} open files": "{{count}} \u500B\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u3044\u3066\u3044\u307E\u3059",
|
|
305811
|
+
"(ctrl+g to view)": "(Ctrl+G \u3067\u8868\u793A)",
|
|
305812
|
+
"{{count}} {{name}} file": "{{count}} {{name}} \u30D5\u30A1\u30A4\u30EB",
|
|
305813
|
+
"{{count}} {{name}} files": "{{count}} {{name}} \u30D5\u30A1\u30A4\u30EB",
|
|
305814
|
+
"{{count}} MCP server": "{{count}} MCP\u30B5\u30FC\u30D0\u30FC",
|
|
305815
|
+
"{{count}} MCP servers": "{{count}} MCP\u30B5\u30FC\u30D0\u30FC",
|
|
305816
|
+
"{{count}} Blocked": "{{count}} \u30D6\u30ED\u30C3\u30AF",
|
|
305817
|
+
"(ctrl+t to view)": "(Ctrl+T \u3067\u8868\u793A)",
|
|
305818
|
+
"(ctrl+t to toggle)": "(Ctrl+T \u3067\u5207\u308A\u66FF\u3048)",
|
|
305819
|
+
"Press Ctrl+C again to exit.": "Ctrl+C \u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3059\u3068\u7D42\u4E86\u3057\u307E\u3059",
|
|
305820
|
+
"Press Ctrl+D again to exit.": "Ctrl+D \u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3059\u3068\u7D42\u4E86\u3057\u307E\u3059",
|
|
305821
|
+
"Press Esc again to clear.": "Esc \u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3059\u3068\u30AF\u30EA\u30A2\u3057\u307E\u3059",
|
|
305822
|
+
// MCP Status
|
|
305823
|
+
"Please view MCP documentation in your browser:": "\u30D6\u30E9\u30A6\u30B6\u3067MCP\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044:",
|
|
305824
|
+
"or use the cli /docs command": "\u307E\u305F\u306F CLI \u306E /docs \u30B3\u30DE\u30F3\u30C9\u3092\u4F7F\u7528",
|
|
305825
|
+
"\u23F3 MCP servers are starting up ({{count}} initializing)...": "\u23F3 MCP\u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5\u4E2D({{count}} \u521D\u671F\u5316\u4E2D)...",
|
|
305826
|
+
"Note: First startup may take longer. Tool availability will update automatically.": "\u6CE8: \u521D\u56DE\u8D77\u52D5\u306B\u306F\u6642\u9593\u304C\u304B\u304B\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\u30C4\u30FC\u30EB\u306E\u5229\u7528\u53EF\u80FD\u72B6\u6CC1\u306F\u81EA\u52D5\u7684\u306B\u66F4\u65B0\u3055\u308C\u307E\u3059",
|
|
305827
|
+
"Starting... (first startup may take longer)": "\u8D77\u52D5\u4E2D...(\u521D\u56DE\u8D77\u52D5\u306B\u306F\u6642\u9593\u304C\u304B\u304B\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059)",
|
|
305828
|
+
"{{count}} prompt": "{{count}} \u30D7\u30ED\u30F3\u30D7\u30C8",
|
|
305829
|
+
"{{count}} prompts": "{{count}} \u30D7\u30ED\u30F3\u30D7\u30C8",
|
|
305830
|
+
"(from {{extensionName}})": "({{extensionName}} \u304B\u3089)",
|
|
305831
|
+
OAuth: "OAuth",
|
|
305832
|
+
"OAuth expired": "OAuth \u671F\u9650\u5207\u308C",
|
|
305833
|
+
"OAuth not authenticated": "OAuth \u672A\u8A8D\u8A3C",
|
|
305834
|
+
"tools and prompts will appear when ready": "\u30C4\u30FC\u30EB\u3068\u30D7\u30ED\u30F3\u30D7\u30C8\u306F\u6E96\u5099\u5B8C\u4E86\u5F8C\u306B\u8868\u793A\u3055\u308C\u307E\u3059",
|
|
305835
|
+
"{{count}} tools cached": "{{count}} \u30C4\u30FC\u30EB(\u30AD\u30E3\u30C3\u30B7\u30E5\u6E08\u307F)",
|
|
305836
|
+
"Tools:": "\u30C4\u30FC\u30EB:",
|
|
305837
|
+
"Parameters:": "\u30D1\u30E9\u30E1\u30FC\u30BF:",
|
|
305838
|
+
"Prompts:": "\u30D7\u30ED\u30F3\u30D7\u30C8:",
|
|
305839
|
+
Blocked: "\u30D6\u30ED\u30C3\u30AF",
|
|
305840
|
+
"\u{1F4A1} Tips:": "\u{1F4A1} \u30D2\u30F3\u30C8:",
|
|
305841
|
+
Use: "\u4F7F\u7528",
|
|
305842
|
+
"to show server and tool descriptions": "\u30B5\u30FC\u30D0\u30FC\u3068\u30C4\u30FC\u30EB\u306E\u8AAC\u660E\u3092\u8868\u793A",
|
|
305843
|
+
"to show tool parameter schemas": "\u30C4\u30FC\u30EB\u30D1\u30E9\u30E1\u30FC\u30BF\u30B9\u30AD\u30FC\u30DE\u3092\u8868\u793A",
|
|
305844
|
+
"to hide descriptions": "\u8AAC\u660E\u3092\u975E\u8868\u793A",
|
|
305845
|
+
"to authenticate with OAuth-enabled servers": "OAuth\u5BFE\u5FDC\u30B5\u30FC\u30D0\u30FC\u3067\u8A8D\u8A3C",
|
|
305846
|
+
Press: "\u62BC\u3059",
|
|
305847
|
+
"to toggle tool descriptions on/off": "\u30C4\u30FC\u30EB\u8AAC\u660E\u306E\u8868\u793A/\u975E\u8868\u793A\u3092\u5207\u308A\u66FF\u3048",
|
|
305848
|
+
"Starting OAuth authentication for MCP server '{{name}}'...": "MCP\u30B5\u30FC\u30D0\u30FC '{{name}}' \u306EOAuth\u8A8D\u8A3C\u3092\u958B\u59CB\u4E2D...",
|
|
305849
|
+
// Startup Tips
|
|
305850
|
+
"Tips for getting started:": "\u59CB\u3081\u308B\u305F\u3081\u306E\u30D2\u30F3\u30C8:",
|
|
305851
|
+
"1. Ask questions, edit files, or run commands.": "1. \u8CEA\u554F\u3057\u305F\u308A\u3001\u30D5\u30A1\u30A4\u30EB\u3092\u7DE8\u96C6\u3057\u305F\u308A\u3001\u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C\u3057\u305F\u308A\u3067\u304D\u307E\u3059",
|
|
305852
|
+
"2. Be specific for the best results.": "2. \u5177\u4F53\u7684\u306B\u6307\u793A\u3059\u308B\u3068\u6700\u826F\u306E\u7D50\u679C\u304C\u5F97\u3089\u308C\u307E\u3059",
|
|
305853
|
+
"files to customize your interactions with Qwen Code.": "Qwen Code \u3068\u306E\u5BFE\u8A71\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3059\u308B\u305F\u3081\u306E\u30D5\u30A1\u30A4\u30EB",
|
|
305854
|
+
"for more information.": "\u8A73\u7D30\u60C5\u5831\u3092\u78BA\u8A8D\u3067\u304D\u307E\u3059",
|
|
305855
|
+
// Exit Screen / Stats
|
|
305856
|
+
"Agent powering down. Goodbye!": "\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u7D42\u4E86\u3057\u307E\u3059\u3002\u3055\u3088\u3046\u306A\u3089!",
|
|
305857
|
+
"To continue this session, run": "\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u7D9A\u884C\u3059\u308B\u306B\u306F\u3001\u6B21\u3092\u5B9F\u884C:",
|
|
305858
|
+
"Interaction Summary": "\u30A4\u30F3\u30BF\u30E9\u30AF\u30B7\u30E7\u30F3\u6982\u8981",
|
|
305859
|
+
"Session ID:": "\u30BB\u30C3\u30B7\u30E7\u30F3ID:",
|
|
305860
|
+
"Tool Calls:": "\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057:",
|
|
305861
|
+
"Success Rate:": "\u6210\u529F\u7387:",
|
|
305862
|
+
"User Agreement:": "\u30E6\u30FC\u30B6\u30FC\u540C\u610F:",
|
|
305863
|
+
reviewed: "\u30EC\u30D3\u30E5\u30FC\u6E08\u307F",
|
|
305864
|
+
"Code Changes:": "\u30B3\u30FC\u30C9\u5909\u66F4:",
|
|
305865
|
+
Performance: "\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9",
|
|
305866
|
+
"Wall Time:": "\u7D4C\u904E\u6642\u9593:",
|
|
305867
|
+
"Agent Active:": "\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u7A3C\u50CD\u6642\u9593:",
|
|
305868
|
+
"API Time:": "API\u6642\u9593:",
|
|
305869
|
+
"Tool Time:": "\u30C4\u30FC\u30EB\u6642\u9593:",
|
|
305870
|
+
"Session Stats": "\u30BB\u30C3\u30B7\u30E7\u30F3\u7D71\u8A08",
|
|
305871
|
+
"Model Usage": "\u30E2\u30C7\u30EB\u4F7F\u7528\u91CF",
|
|
305872
|
+
Reqs: "\u30EA\u30AF\u30A8\u30B9\u30C8",
|
|
305873
|
+
"Input Tokens": "\u5165\u529B\u30C8\u30FC\u30AF\u30F3",
|
|
305874
|
+
"Output Tokens": "\u51FA\u529B\u30C8\u30FC\u30AF\u30F3",
|
|
305875
|
+
"Savings Highlight:": "\u7BC0\u7D04\u30CF\u30A4\u30E9\u30A4\u30C8:",
|
|
305876
|
+
"of input tokens were served from the cache, reducing costs.": "\u5165\u529B\u30C8\u30FC\u30AF\u30F3\u304C\u30AD\u30E3\u30C3\u30B7\u30E5\u304B\u3089\u63D0\u4F9B\u3055\u308C\u3001\u30B3\u30B9\u30C8\u3092\u524A\u6E1B\u3057\u307E\u3057\u305F",
|
|
305877
|
+
"Tip: For a full token breakdown, run `/stats model`.": "\u30D2\u30F3\u30C8: \u30C8\u30FC\u30AF\u30F3\u306E\u8A73\u7D30\u306A\u5185\u8A33\u306F `/stats model` \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
305878
|
+
"Model Stats For Nerds": "\u30DE\u30CB\u30A2\u5411\u3051\u30E2\u30C7\u30EB\u7D71\u8A08",
|
|
305879
|
+
"Tool Stats For Nerds": "\u30DE\u30CB\u30A2\u5411\u3051\u30C4\u30FC\u30EB\u7D71\u8A08",
|
|
305880
|
+
Metric: "\u30E1\u30C8\u30EA\u30C3\u30AF",
|
|
305881
|
+
API: "API",
|
|
305882
|
+
Requests: "\u30EA\u30AF\u30A8\u30B9\u30C8",
|
|
305883
|
+
Errors: "\u30A8\u30E9\u30FC",
|
|
305884
|
+
"Avg Latency": "\u5E73\u5747\u30EC\u30A4\u30C6\u30F3\u30B7",
|
|
305885
|
+
Tokens: "\u30C8\u30FC\u30AF\u30F3",
|
|
305886
|
+
Total: "\u5408\u8A08",
|
|
305887
|
+
Prompt: "\u30D7\u30ED\u30F3\u30D7\u30C8",
|
|
305888
|
+
Cached: "\u30AD\u30E3\u30C3\u30B7\u30E5",
|
|
305889
|
+
Thoughts: "\u601D\u8003",
|
|
305890
|
+
Tool: "\u30C4\u30FC\u30EB",
|
|
305891
|
+
Output: "\u51FA\u529B",
|
|
305892
|
+
"No API calls have been made in this session.": "\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u306FAPI\u547C\u3073\u51FA\u3057\u304C\u884C\u308F\u308C\u3066\u3044\u307E\u305B\u3093",
|
|
305893
|
+
"Tool Name": "\u30C4\u30FC\u30EB\u540D",
|
|
305894
|
+
Calls: "\u547C\u3073\u51FA\u3057",
|
|
305895
|
+
"Success Rate": "\u6210\u529F\u7387",
|
|
305896
|
+
"Avg Duration": "\u5E73\u5747\u6642\u9593",
|
|
305897
|
+
"User Decision Summary": "\u30E6\u30FC\u30B6\u30FC\u6C7A\u5B9A\u30B5\u30DE\u30EA\u30FC",
|
|
305898
|
+
"Total Reviewed Suggestions:": "\u7DCF\u30EC\u30D3\u30E5\u30FC\u63D0\u6848\u6570:",
|
|
305899
|
+
" \xBB Accepted:": " \xBB \u627F\u8A8D:",
|
|
305900
|
+
" \xBB Rejected:": " \xBB \u5374\u4E0B:",
|
|
305901
|
+
" \xBB Modified:": " \xBB \u5909\u66F4:",
|
|
305902
|
+
" Overall Agreement Rate:": " \u5168\u4F53\u627F\u8A8D\u7387:",
|
|
305903
|
+
"No tool calls have been made in this session.": "\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u306F\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057\u304C\u884C\u308F\u308C\u3066\u3044\u307E\u305B\u3093",
|
|
305904
|
+
"Session start time is unavailable, cannot calculate stats.": "\u30BB\u30C3\u30B7\u30E7\u30F3\u958B\u59CB\u6642\u523B\u304C\u5229\u7528\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u7D71\u8A08\u3092\u8A08\u7B97\u3067\u304D\u307E\u305B\u3093",
|
|
305905
|
+
// Loading
|
|
305906
|
+
"Waiting for user confirmation...": "\u30E6\u30FC\u30B6\u30FC\u306E\u78BA\u8A8D\u3092\u5F85\u3063\u3066\u3044\u307E\u3059...",
|
|
305907
|
+
"(esc to cancel, {{time}})": "(Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB\u3001{{time}})",
|
|
305908
|
+
// Witty Loading Phrases
|
|
305909
|
+
WITTY_LOADING_PHRASES: [
|
|
305910
|
+
"\u904B\u4EFB\u305B\u3067\u691C\u7D22\u4E2D...",
|
|
305911
|
+
"\u4E2D\u306E\u4EBA\u304C\u30BF\u30A4\u30D4\u30F3\u30B0\u4E2D...",
|
|
305912
|
+
"\u30ED\u30B8\u30C3\u30AF\u3092\u6700\u9069\u5316\u4E2D...",
|
|
305913
|
+
"\u96FB\u5B50\u306E\u6570\u3092\u78BA\u8A8D\u4E2D...",
|
|
305914
|
+
"\u5B87\u5B99\u306E\u30D0\u30B0\u3092\u30C1\u30A7\u30C3\u30AF\u4E2D...",
|
|
305915
|
+
"\u5927\u91CF\u306E0\u30681\u3092\u30B3\u30F3\u30D1\u30A4\u30EB\u4E2D...",
|
|
305916
|
+
"HDD\u3068\u601D\u3044\u51FA\u3092\u30C7\u30D5\u30E9\u30B0\u4E2D...",
|
|
305917
|
+
"\u30D3\u30C3\u30C8\u3092\u3053\u3063\u305D\u308A\u5165\u308C\u66FF\u3048\u4E2D...",
|
|
305918
|
+
"\u30CB\u30E5\u30FC\u30ED\u30F3\u306E\u63A5\u7D9A\u3092\u518D\u69CB\u7BC9\u4E2D...",
|
|
305919
|
+
"\u3069\u3053\u304B\u306B\u884C\u3063\u305F\u30BB\u30DF\u30B3\u30ED\u30F3\u3092\u635C\u7D22\u4E2D...",
|
|
305920
|
+
"\u30D5\u30E9\u30C3\u30AF\u30B9\u30AD\u30E3\u30D1\u30B7\u30BF\u3092\u8ABF\u6574\u4E2D...",
|
|
305921
|
+
"\u30D5\u30A9\u30FC\u30B9\u3068\u4EA4\u611F\u4E2D...",
|
|
305922
|
+
"\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u3092\u30C1\u30E5\u30FC\u30CB\u30F3\u30B0\u4E2D...",
|
|
305923
|
+
"\u767D\u3044\u30A6\u30B5\u30AE\u3092\u8FFD\u8DE1\u4E2D...",
|
|
305924
|
+
"\u30AB\u30BB\u30C3\u30C8\u30D5\u30FC\u30D5\u30FC\u4E2D...",
|
|
305925
|
+
"\u30ED\u30FC\u30C7\u30A3\u30F3\u30B0\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8003\u3048\u4E2D...",
|
|
305926
|
+
"\u307B\u307C\u5B8C\u4E86...\u591A\u5206...",
|
|
305927
|
+
"\u6700\u65B0\u306E\u30DF\u30FC\u30E0\u306B\u3064\u3044\u3066\u8ABF\u67FB\u4E2D...",
|
|
305928
|
+
"\u3053\u306E\u8868\u793A\u3092\u6539\u5584\u3059\u308B\u30A2\u30A4\u30C7\u30A2\u3092\u601D\u7D22\u4E2D...",
|
|
305929
|
+
"\u3053\u306E\u554F\u984C\u3092\u8003\u3048\u4E2D...",
|
|
305930
|
+
"\u305D\u308C\u306F\u30D0\u30B0\u3067\u306A\u304F\u8AB0\u3082\u77E5\u3089\u306A\u3044\u65B0\u6A5F\u80FD\u3060\u3088",
|
|
305931
|
+
"\u30C0\u30A4\u30E4\u30EB\u30A2\u30C3\u30D7\u63A5\u7D9A\u97F3\u304C\u7D42\u308F\u308B\u306E\u3092\u5F85\u6A5F\u4E2D...",
|
|
305932
|
+
"\u30B3\u30FC\u30C9\u306B\u6CB9\u3092\u8FFD\u52A0\u4E2D...",
|
|
305933
|
+
// かなり意訳が入ってるもの
|
|
305934
|
+
"\u30A4\u30E4\u30DB\u30F3\u3092\u307B\u3069\u304D\u4E2D...",
|
|
305935
|
+
"\u30AB\u30D5\u30A7\u30A4\u30F3\u3092\u30B3\u30FC\u30C9\u306B\u5909\u63DB\u4E2D...",
|
|
305936
|
+
"\u5929\u52D5\u8AAC\u3092\u5730\u52D5\u8AAC\u306B\u66F8\u304D\u63DB\u3048\u4E2D...",
|
|
305937
|
+
"\u30D7\u30FC\u30EB\u3067\u6642\u8A08\u306E\u5B8C\u6210\u3092\u5F85\u6A5F\u4E2D...",
|
|
305938
|
+
"\u7B11\u6483\u7684\u306A\u56DE\u7B54\u3092\u7528\u610F\u4E2D...",
|
|
305939
|
+
"\u9069\u5207\u306A\u30DF\u30FC\u30E0\u3092\u8A18\u8FF0\u4E2D...",
|
|
305940
|
+
"A\u30DC\u30BF\u30F3\u3092\u62BC\u3057\u3066\u6B21\u3078...",
|
|
305941
|
+
"\u30B3\u30FC\u30C9\u306B\u30EA\u30C3\u30AF\u30ED\u30FC\u30EB\u3092\u4ED5\u8FBC\u307F\u4E2D...",
|
|
305942
|
+
"\u30D7\u30ED\u30B0\u30E9\u30DE\u30FC\u304C\u8CA7\u4E4F\u306A\u306E\u306F\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u4F7F\u3044\u3059\u304E\u308B\u304B\u3089...",
|
|
305943
|
+
"\u30D7\u30ED\u30B0\u30E9\u30DE\u30FC\u304C\u30C0\u30FC\u30AF\u30E2\u30FC\u30C9\u306A\u306E\u306F\u30D0\u30B0\u3092\u898B\u305F\u304F\u306A\u3044\u304B\u3089...",
|
|
305944
|
+
"\u30B3\u30FC\u30C9\u304C\u58CA\u308C\u305F?\u53E9\u3051\u3070\u6CBB\u308B\u3055",
|
|
305945
|
+
"USB\u306E\u5DEE\u3057\u8FBC\u307F\u306B\u6311\u6226\u4E2D..."
|
|
305946
|
+
]
|
|
305947
|
+
};
|
|
305948
|
+
}
|
|
305949
|
+
});
|
|
305950
|
+
|
|
305951
|
+
// packages/cli/src/i18n/locales/pt.js
|
|
305952
|
+
var pt_exports = {};
|
|
305953
|
+
__export(pt_exports, {
|
|
305954
|
+
default: () => pt_default
|
|
305955
|
+
});
|
|
305956
|
+
var pt_default;
|
|
305957
|
+
var init_pt = __esm({
|
|
305958
|
+
"packages/cli/src/i18n/locales/pt.js"() {
|
|
305959
|
+
"use strict";
|
|
305960
|
+
init_esbuild_shims();
|
|
305961
|
+
pt_default = {
|
|
305962
|
+
// ============================================================================
|
|
305963
|
+
// Help / UI Components
|
|
305964
|
+
// ============================================================================
|
|
305965
|
+
"Basics:": "No\xE7\xF5es b\xE1sicas:",
|
|
305966
|
+
"Add context": "Adicionar contexto",
|
|
305967
|
+
"Use {{symbol}} to specify files for context (e.g., {{example}}) to target specific files or folders.": "Use {{symbol}} para especificar arquivos para o contexto (ex: {{example}}) para atingir arquivos ou pastas espec\xEDficos.",
|
|
305968
|
+
"@": "@",
|
|
305969
|
+
"@src/myFile.ts": "@src/myFile.ts",
|
|
305970
|
+
"Shell mode": "Modo shell",
|
|
305971
|
+
"YOLO mode": "Modo YOLO",
|
|
305972
|
+
"plan mode": "modo planejamento",
|
|
305973
|
+
"auto-accept edits": "aceitar edi\xE7\xF5es automaticamente",
|
|
305974
|
+
"Accepting edits": "Aceitando edi\xE7\xF5es",
|
|
305975
|
+
"(shift + tab to cycle)": "(shift + tab para alternar)",
|
|
305976
|
+
"Execute shell commands via {{symbol}} (e.g., {{example1}}) or use natural language (e.g., {{example2}}).": "Execute comandos shell via {{symbol}} (ex: {{example1}}) ou use linguagem natural (ex: {{example2}}).",
|
|
305977
|
+
"!": "!",
|
|
305978
|
+
"!npm run start": "!npm run start",
|
|
305979
|
+
"start server": "iniciar servidor",
|
|
305980
|
+
"Commands:": "Comandos:",
|
|
305981
|
+
"shell command": "comando shell",
|
|
305982
|
+
"Model Context Protocol command (from external servers)": "Comando Model Context Protocol (de servidores externos)",
|
|
305983
|
+
"Keyboard Shortcuts:": "Atalhos de teclado:",
|
|
305984
|
+
"Toggle this help display": "Alternar exibi\xE7\xE3o desta ajuda",
|
|
305985
|
+
"Toggle shell mode": "Alternar modo shell",
|
|
305986
|
+
"Open command menu": "Abrir menu de comandos",
|
|
305987
|
+
"Add file context": "Adicionar contexto de arquivo",
|
|
305988
|
+
"Accept suggestion / Autocomplete": "Aceitar sugest\xE3o / Autocompletar",
|
|
305989
|
+
"Reverse search history": "Pesquisa reversa no hist\xF3rico",
|
|
305990
|
+
"Press ? again to close": "Pressione ? novamente para fechar",
|
|
305991
|
+
// Keyboard shortcuts panel descriptions
|
|
305992
|
+
"for shell mode": "para modo shell",
|
|
305993
|
+
"for commands": "para comandos",
|
|
305994
|
+
"for file paths": "para caminhos de arquivo",
|
|
305995
|
+
"to clear input": "para limpar entrada",
|
|
305996
|
+
"to cycle approvals": "para alternar aprova\xE7\xF5es",
|
|
305997
|
+
"to quit": "para sair",
|
|
305998
|
+
"for newline": "para nova linha",
|
|
305999
|
+
"to clear screen": "para limpar a tela",
|
|
306000
|
+
"to search history": "para pesquisar no hist\xF3rico",
|
|
306001
|
+
"to paste images": "para colar imagens",
|
|
306002
|
+
"for external editor": "para editor externo",
|
|
306003
|
+
"Jump through words in the input": "Pular palavras na entrada",
|
|
306004
|
+
"Close dialogs, cancel requests, or quit application": "Fechar di\xE1logos, cancelar solicita\xE7\xF5es ou sair do aplicativo",
|
|
306005
|
+
"New line": "Nova linha",
|
|
306006
|
+
"New line (Alt+Enter works for certain linux distros)": "Nova linha (Alt+Enter funciona em certas distros linux)",
|
|
306007
|
+
"Clear the screen": "Limpar a tela",
|
|
306008
|
+
"Open input in external editor": "Abrir entrada no editor externo",
|
|
306009
|
+
"Send message": "Enviar mensagem",
|
|
306010
|
+
"Initializing...": "Inicializando...",
|
|
306011
|
+
"Connecting to MCP servers... ({{connected}}/{{total}})": "Conectando aos servidores MCP... ({{connected}}/{{total}})",
|
|
306012
|
+
"Type your message or @path/to/file": "Digite sua mensagem ou @caminho/do/arquivo",
|
|
306013
|
+
"? for shortcuts": "? para atalhos",
|
|
306014
|
+
"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.": "Pressione 'i' para modo INSER\xC7\xC3O e 'Esc' para modo NORMAL.",
|
|
306015
|
+
"Cancel operation / Clear input (double press)": "Cancelar opera\xE7\xE3o / Limpar entrada (pressionar duas vezes)",
|
|
306016
|
+
"Cycle approval modes": "Alternar modos de aprova\xE7\xE3o",
|
|
306017
|
+
"Cycle through your prompt history": "Alternar hist\xF3rico de prompts",
|
|
306018
|
+
"For a full list of shortcuts, see {{docPath}}": "Para uma lista completa de atalhos, consulte {{docPath}}",
|
|
306019
|
+
"docs/keyboard-shortcuts.md": "docs/keyboard-shortcuts.md",
|
|
306020
|
+
"for help on Qwen Code": "para ajuda sobre o Qwen Code",
|
|
306021
|
+
"show version info": "mostrar informa\xE7\xF5es de vers\xE3o",
|
|
306022
|
+
"submit a bug report": "enviar um relat\xF3rio de erro",
|
|
306023
|
+
"About Qwen Code": "Sobre o Qwen Code",
|
|
306024
|
+
Status: "Status",
|
|
306025
|
+
// ============================================================================
|
|
306026
|
+
// System Information Fields
|
|
306027
|
+
// ============================================================================
|
|
306028
|
+
"Qwen Code": "Qwen Code",
|
|
306029
|
+
Runtime: "Runtime",
|
|
306030
|
+
OS: "SO",
|
|
306031
|
+
Auth: "Autentica\xE7\xE3o",
|
|
306032
|
+
"CLI Version": "Vers\xE3o da CLI",
|
|
306033
|
+
"Git Commit": "Commit do Git",
|
|
306034
|
+
Model: "Modelo",
|
|
306035
|
+
Sandbox: "Sandbox",
|
|
306036
|
+
"OS Platform": "Plataforma do SO",
|
|
306037
|
+
"OS Arch": "Arquitetura do SO",
|
|
306038
|
+
"OS Release": "Vers\xE3o do SO",
|
|
306039
|
+
"Node.js Version": "Vers\xE3o do Node.js",
|
|
306040
|
+
"NPM Version": "Vers\xE3o do NPM",
|
|
306041
|
+
"Session ID": "ID da Sess\xE3o",
|
|
306042
|
+
"Auth Method": "M\xE9todo de Autentica\xE7\xE3o",
|
|
306043
|
+
"Base URL": "URL Base",
|
|
306044
|
+
Proxy: "Proxy",
|
|
306045
|
+
"Memory Usage": "Uso de Mem\xF3ria",
|
|
306046
|
+
"IDE Client": "Cliente IDE",
|
|
306047
|
+
// ============================================================================
|
|
306048
|
+
// Commands - General
|
|
306049
|
+
// ============================================================================
|
|
306050
|
+
"Analyzes the project and creates a tailored QWEN.md file.": "Analisa o projeto e cria um arquivo QWEN.md personalizado.",
|
|
306051
|
+
"list available Qwen Code tools. Usage: /tools [desc]": "listar ferramentas Qwen Code dispon\xEDveis. Uso: /tools [desc]",
|
|
306052
|
+
"Available Qwen Code CLI tools:": "Ferramentas CLI do Qwen Code dispon\xEDveis:",
|
|
306053
|
+
"No tools available": "Nenhuma ferramenta dispon\xEDvel",
|
|
306054
|
+
"View or change the approval mode for tool usage": "Ver ou alterar o modo de aprova\xE7\xE3o para uso de ferramentas",
|
|
306055
|
+
'Invalid approval mode "{{arg}}". Valid modes: {{modes}}': 'Modo de aprova\xE7\xE3o inv\xE1lido "{{arg}}". Modos v\xE1lidos: {{modes}}',
|
|
306056
|
+
'Approval mode set to "{{mode}}"': 'Modo de aprova\xE7\xE3o definido como "{{mode}}"',
|
|
306057
|
+
"View or change the language setting": "Ver ou alterar a configura\xE7\xE3o de idioma",
|
|
306058
|
+
"change the theme": "alterar o tema",
|
|
306059
|
+
"Select Theme": "Selecionar Tema",
|
|
306060
|
+
Preview: "Visualizar",
|
|
306061
|
+
"(Use Enter to select, Tab to configure scope)": "(Use Enter para selecionar, Tab para configurar o escopo)",
|
|
306062
|
+
"(Use Enter to apply scope, Tab to go back)": "(Use Enter para aplicar o escopo, Tab para voltar)",
|
|
306063
|
+
"Theme configuration unavailable due to NO_COLOR env variable.": "Configura\xE7\xE3o de tema indispon\xEDvel devido \xE0 vari\xE1vel de ambiente NO_COLOR.",
|
|
306064
|
+
'Theme "{{themeName}}" not found.': 'Tema "{{themeName}}" n\xE3o encontrado.',
|
|
306065
|
+
'Theme "{{themeName}}" not found in selected scope.': 'Tema "{{themeName}}" n\xE3o encontrado no escopo selecionado.',
|
|
306066
|
+
"Clear conversation history and free up context": "Limpar hist\xF3rico de conversa e liberar contexto",
|
|
306067
|
+
"Compresses the context by replacing it with a summary.": "Comprime o contexto substituindo-o por um resumo.",
|
|
306068
|
+
"open full Qwen Code documentation in your browser": "abrir documenta\xE7\xE3o completa do Qwen Code no seu navegador",
|
|
306069
|
+
"Configuration not available.": "Configura\xE7\xE3o n\xE3o dispon\xEDvel.",
|
|
306070
|
+
"change the auth method": "alterar o m\xE9todo de autentica\xE7\xE3o",
|
|
306071
|
+
"Copy the last result or code snippet to clipboard": "Copiar o \xFAltimo resultado ou trecho de c\xF3digo para a \xE1rea de transfer\xEAncia",
|
|
306072
|
+
// ============================================================================
|
|
306073
|
+
// Commands - Agents
|
|
306074
|
+
// ============================================================================
|
|
306075
|
+
"Manage subagents for specialized task delegation.": "Gerenciar subagentes para delega\xE7\xE3o de tarefas especializadas.",
|
|
306076
|
+
"Manage existing subagents (view, edit, delete).": "Gerenciar subagentes existentes (ver, editar, excluir).",
|
|
306077
|
+
"Create a new subagent with guided setup.": "Criar um novo subagente com configura\xE7\xE3o guiada.",
|
|
306078
|
+
// ============================================================================
|
|
306079
|
+
// Agents - Management Dialog
|
|
306080
|
+
// ============================================================================
|
|
306081
|
+
Agents: "Agentes",
|
|
306082
|
+
"Choose Action": "Escolher A\xE7\xE3o",
|
|
306083
|
+
"Edit {{name}}": "Editar {{name}}",
|
|
306084
|
+
"Edit Tools: {{name}}": "Editar Ferramentas: {{name}}",
|
|
306085
|
+
"Edit Color: {{name}}": "Editar Cor: {{name}}",
|
|
306086
|
+
"Delete {{name}}": "Excluir {{name}}",
|
|
306087
|
+
"Unknown Step": "Etapa Desconhecida",
|
|
306088
|
+
"Esc to close": "Esc para fechar",
|
|
306089
|
+
"Enter to select, \u2191\u2193 to navigate, Esc to close": "Enter para selecionar, \u2191\u2193 para navegar, Esc para fechar",
|
|
306090
|
+
"Esc to go back": "Esc para voltar",
|
|
306091
|
+
"Enter to confirm, Esc to cancel": "Enter para confirmar, Esc para cancelar",
|
|
306092
|
+
"Enter to select, \u2191\u2193 to navigate, Esc to go back": "Enter para selecionar, \u2191\u2193 para navegar, Esc para voltar",
|
|
306093
|
+
"Invalid step: {{step}}": "Etapa inv\xE1lida: {{step}}",
|
|
306094
|
+
"No subagents found.": "Nenhum subagente encontrado.",
|
|
306095
|
+
"Use '/agents create' to create your first subagent.": "Use '/agents create' para criar seu primeiro subagente.",
|
|
306096
|
+
"(built-in)": "(integrado)",
|
|
306097
|
+
"(overridden by project level agent)": "(substitu\xEDdo por agente de n\xEDvel de projeto)",
|
|
306098
|
+
"Project Level ({{path}})": "N\xEDvel de Projeto ({{path}})",
|
|
306099
|
+
"User Level ({{path}})": "N\xEDvel de Usu\xE1rio ({{path}})",
|
|
306100
|
+
"Built-in Agents": "Agentes Integrados",
|
|
306101
|
+
"Extension Agents": "Agentes de Extens\xE3o",
|
|
306102
|
+
"Using: {{count}} agents": "Usando: {{count}} agentes",
|
|
306103
|
+
"View Agent": "Ver Agente",
|
|
306104
|
+
"Edit Agent": "Editar Agente",
|
|
306105
|
+
"Delete Agent": "Excluir Agente",
|
|
306106
|
+
Back: "Voltar",
|
|
306107
|
+
"No agent selected": "Nenhum agente selecionado",
|
|
306108
|
+
"File Path: ": "Caminho do Arquivo: ",
|
|
306109
|
+
"Tools: ": "Ferramentas: ",
|
|
306110
|
+
"Color: ": "Cor: ",
|
|
306111
|
+
"Description:": "Descri\xE7\xE3o:",
|
|
306112
|
+
"System Prompt:": "Prompt do Sistema:",
|
|
306113
|
+
"Open in editor": "Abrir no editor",
|
|
306114
|
+
"Edit tools": "Editar ferramentas",
|
|
306115
|
+
"Edit color": "Editar cor",
|
|
306116
|
+
"\u274C Error:": "\u274C Erro:",
|
|
306117
|
+
'Are you sure you want to delete agent "{{name}}"?': 'Tem certeza que deseja excluir o agente "{{name}}"?',
|
|
306118
|
+
// ============================================================================
|
|
306119
|
+
// Agents - Creation Wizard
|
|
306120
|
+
// ============================================================================
|
|
306121
|
+
"Project Level (.qwen/agents/)": "N\xEDvel de Projeto (.qwen/agents/)",
|
|
306122
|
+
"User Level (~/.qwen/agents/)": "N\xEDvel de Usu\xE1rio (~/.qwen/agents/)",
|
|
306123
|
+
"\u2705 Subagent Created Successfully!": "\u2705 Subagente criado com sucesso!",
|
|
306124
|
+
'Subagent "{{name}}" has been saved to {{level}} level.': 'O subagente "{{name}}" foi salvo no n\xEDvel {{level}}.',
|
|
306125
|
+
"Name: ": "Nome: ",
|
|
306126
|
+
"Location: ": "Localiza\xE7\xE3o: ",
|
|
306127
|
+
"\u274C Error saving subagent:": "\u274C Erro ao salvar subagente:",
|
|
306128
|
+
"Warnings:": "Avisos:",
|
|
306129
|
+
'Name "{{name}}" already exists at {{level}} level - will overwrite existing subagent': 'O nome "{{name}}" j\xE1 existe no n\xEDvel {{level}} - o subagente existente ser\xE1 substitu\xEDdo',
|
|
306130
|
+
'Name "{{name}}" exists at user level - project level will take precedence': 'O nome "{{name}}" existe no n\xEDvel de usu\xE1rio - o n\xEDvel de projeto ter\xE1 preced\xEAncia',
|
|
306131
|
+
'Name "{{name}}" exists at project level - existing subagent will take precedence': 'O nome "{{name}}" existe no n\xEDvel de projeto - o subagente existente ter\xE1 preced\xEAncia',
|
|
306132
|
+
"Description is over {{length}} characters": "A descri\xE7\xE3o tem mais de {{length}} caracteres",
|
|
306133
|
+
"System prompt is over {{length}} characters": "O prompt do sistema tem mais de {{length}} caracteres",
|
|
306134
|
+
// ============================================================================
|
|
306135
|
+
// Agents - Creation Wizard Steps
|
|
306136
|
+
// ============================================================================
|
|
306137
|
+
"Step {{n}}: Choose Location": "Etapa {{n}}: Escolher Localiza\xE7\xE3o",
|
|
306138
|
+
"Step {{n}}: Choose Generation Method": "Etapa {{n}}: Escolher M\xE9todo de Gera\xE7\xE3o",
|
|
306139
|
+
"Generate with Qwen Code (Recommended)": "Gerar com Qwen Code (Recomendado)",
|
|
306140
|
+
"Manual Creation": "Cria\xE7\xE3o Manual",
|
|
306141
|
+
"Describe what this subagent should do and when it should be used. (Be comprehensive for best results)": "Descreva o que este subagente deve fazer e quando deve ser usado. (Seja abrangente para melhores resultados)",
|
|
306142
|
+
"e.g., Expert code reviewer that reviews code based on best practices...": "ex: Revisor de c\xF3digo especialista que revisa c\xF3digo com base em melhores pr\xE1ticas...",
|
|
306143
|
+
"Generating subagent configuration...": "Gerando configura\xE7\xE3o do subagente...",
|
|
306144
|
+
"Failed to generate subagent: {{error}}": "Falha ao gerar subagente: {{error}}",
|
|
306145
|
+
"Step {{n}}: Describe Your Subagent": "Etapa {{n}}: Descreva Seu Subagente",
|
|
306146
|
+
"Step {{n}}: Enter Subagent Name": "Etapa {{n}}: Digite o Nome do Subagente",
|
|
306147
|
+
"Step {{n}}: Enter System Prompt": "Etapa {{n}}: Digite o Prompt do Sistema",
|
|
306148
|
+
"Step {{n}}: Enter Description": "Etapa {{n}}: Digite a Descri\xE7\xE3o",
|
|
306149
|
+
// ============================================================================
|
|
306150
|
+
// Agents - Tool Selection
|
|
306151
|
+
// ============================================================================
|
|
306152
|
+
"Step {{n}}: Select Tools": "Etapa {{n}}: Selecionar Ferramentas",
|
|
306153
|
+
"All Tools (Default)": "Todas as Ferramentas (Padr\xE3o)",
|
|
306154
|
+
"All Tools": "Todas as Ferramentas",
|
|
306155
|
+
"Read-only Tools": "Ferramentas de Somente Leitura",
|
|
306156
|
+
"Read & Edit Tools": "Ferramentas de Leitura e Edi\xE7\xE3o",
|
|
306157
|
+
"Read & Edit & Execution Tools": "Ferramentas de Leitura, Edi\xE7\xE3o e Execu\xE7\xE3o",
|
|
306158
|
+
"All tools selected, including MCP tools": "Todas as ferramentas selecionadas, incluindo ferramentas MCP",
|
|
306159
|
+
"Selected tools:": "Ferramentas selecionadas:",
|
|
306160
|
+
"Read-only tools:": "Ferramentas de somente leitura:",
|
|
306161
|
+
"Edit tools:": "Ferramentas de edi\xE7\xE3o:",
|
|
306162
|
+
"Execution tools:": "Ferramentas de execu\xE7\xE3o:",
|
|
306163
|
+
"Step {{n}}: Choose Background Color": "Etapa {{n}}: Escolher Cor de Fundo",
|
|
306164
|
+
"Step {{n}}: Confirm and Save": "Etapa {{n}}: Confirmar e Salvar",
|
|
306165
|
+
// ============================================================================
|
|
306166
|
+
// Agents - Navigation & Instructions
|
|
306167
|
+
// ============================================================================
|
|
306168
|
+
"Esc to cancel": "Esc para cancelar",
|
|
306169
|
+
"Press Enter to save, e to save and edit, Esc to go back": "Pressione Enter para salvar, e para salvar e editar, Esc para voltar",
|
|
306170
|
+
"Press Enter to continue, {{navigation}}Esc to {{action}}": "Pressione Enter para continuar, {{navigation}}Esc para {{action}}",
|
|
306171
|
+
cancel: "cancelar",
|
|
306172
|
+
"go back": "voltar",
|
|
306173
|
+
"\u2191\u2193 to navigate, ": "\u2191\u2193 para navegar, ",
|
|
306174
|
+
"Enter a clear, unique name for this subagent.": "Digite um nome claro e \xFAnico para este subagente.",
|
|
306175
|
+
"e.g., Code Reviewer": "ex: Revisor de C\xF3digo",
|
|
306176
|
+
"Name cannot be empty.": "O nome n\xE3o pode estar vazio.",
|
|
306177
|
+
"Write the system prompt that defines this subagent's behavior. Be comprehensive for best results.": "Escreva o prompt do sistema que define o comportamento deste subagente. Seja abrangente para melhores resultados.",
|
|
306178
|
+
"e.g., You are an expert code reviewer...": "ex: Voc\xEA \xE9 um revisor de c\xF3digo especialista...",
|
|
306179
|
+
"System prompt cannot be empty.": "O prompt do sistema n\xE3o pode estar vazio.",
|
|
306180
|
+
"Describe when and how this subagent should be used.": "Descreva quando e como este subagente deve ser usado.",
|
|
306181
|
+
"e.g., Reviews code for best practices and potential bugs.": "ex: Revisa o c\xF3digo em busca de melhores pr\xE1ticas e erros potenciais.",
|
|
306182
|
+
"Description cannot be empty.": "A descri\xE7\xE3o n\xE3o pode estar vazia.",
|
|
306183
|
+
"Failed to launch editor: {{error}}": "Falha ao iniciar editor: {{error}}",
|
|
306184
|
+
"Failed to save and edit subagent: {{error}}": "Falha ao salvar e editar subagente: {{error}}",
|
|
306185
|
+
// ============================================================================
|
|
306186
|
+
// Commands - General (continued)
|
|
306187
|
+
// ============================================================================
|
|
306188
|
+
"View and edit Qwen Code settings": "Ver e editar configura\xE7\xF5es do Qwen Code",
|
|
306189
|
+
Settings: "Configura\xE7\xF5es",
|
|
306190
|
+
"To see changes, Qwen Code must be restarted. Press r to exit and apply changes now.": "Para ver as altera\xE7\xF5es, o Qwen Code deve ser reiniciado. Pressione r para sair e aplicar as altera\xE7\xF5es agora.",
|
|
306191
|
+
'The command "/{{command}}" is not supported in non-interactive mode.': 'O comando "/{{command}}" n\xE3o \xE9 suportado no modo n\xE3o interativo.',
|
|
306192
|
+
// ============================================================================
|
|
306193
|
+
// Settings Labels
|
|
306194
|
+
// ============================================================================
|
|
306195
|
+
"Vim Mode": "Modo Vim",
|
|
306196
|
+
"Disable Auto Update": "Desativar Atualiza\xE7\xE3o Autom\xE1tica",
|
|
306197
|
+
"Attribution: commit": "Atribui\xE7\xE3o: commit",
|
|
306198
|
+
"Terminal Bell Notification": "Notifica\xE7\xE3o Sonora do Terminal",
|
|
306199
|
+
"Enable Usage Statistics": "Ativar Estat\xEDsticas de Uso",
|
|
306200
|
+
Theme: "Tema",
|
|
306201
|
+
"Preferred Editor": "Editor Preferido",
|
|
306202
|
+
"Auto-connect to IDE": "Conex\xE3o Autom\xE1tica com IDE",
|
|
306203
|
+
"Enable Prompt Completion": "Ativar Autocompletar de Prompts",
|
|
306204
|
+
"Debug Keystroke Logging": "Log de Depura\xE7\xE3o de Teclas",
|
|
306205
|
+
"Language: UI": "Idioma: Interface",
|
|
306206
|
+
"Language: Model": "Idioma: Modelo",
|
|
306207
|
+
"Output Format": "Formato de Sa\xEDda",
|
|
306208
|
+
"Hide Window Title": "Ocultar T\xEDtulo da Janela",
|
|
306209
|
+
"Show Status in Title": "Mostrar Status no T\xEDtulo",
|
|
306210
|
+
"Hide Tips": "Ocultar Dicas",
|
|
306211
|
+
"Show Line Numbers in Code": "Mostrar N\xFAmeros de Linhas no C\xF3digo",
|
|
306212
|
+
"Show Citations": "Mostrar Cita\xE7\xF5es",
|
|
306213
|
+
"Custom Witty Phrases": "Frases de Efeito Personalizadas",
|
|
306214
|
+
"Show Welcome Back Dialog": "Mostrar Di\xE1logo de Bem-vindo de Volta",
|
|
306215
|
+
"Enable User Feedback": "Ativar Feedback do Usu\xE1rio",
|
|
306216
|
+
"How is Qwen doing this session? (optional)": "Como o Qwen est\xE1 se saindo nesta sess\xE3o? (opcional)",
|
|
306217
|
+
Bad: "Ruim",
|
|
306218
|
+
Fine: "Bom",
|
|
306219
|
+
Good: "\xD3timo",
|
|
306220
|
+
Dismiss: "Ignorar",
|
|
306221
|
+
"Not Sure Yet": "N\xE3o tenho certeza ainda",
|
|
306222
|
+
"Any other key": "Qualquer outra tecla",
|
|
306223
|
+
"Disable Loading Phrases": "Desativar Frases de Carregamento",
|
|
306224
|
+
"Screen Reader Mode": "Modo de Leitor de Tela",
|
|
306225
|
+
"IDE Mode": "Modo IDE",
|
|
306226
|
+
"Max Session Turns": "M\xE1ximo de Turnos da Sess\xE3o",
|
|
306227
|
+
"Skip Next Speaker Check": "Pular Verifica\xE7\xE3o do Pr\xF3ximo Falante",
|
|
306228
|
+
"Skip Loop Detection": "Pular Detec\xE7\xE3o de Loop",
|
|
306229
|
+
"Skip Startup Context": "Pular Contexto de Inicializa\xE7\xE3o",
|
|
306230
|
+
"Enable OpenAI Logging": "Ativar Log do OpenAI",
|
|
306231
|
+
"OpenAI Logging Directory": "Diret\xF3rio de Log do OpenAI",
|
|
306232
|
+
Timeout: "Tempo Limite",
|
|
306233
|
+
"Max Retries": "M\xE1ximo de Tentativas",
|
|
306234
|
+
"Disable Cache Control": "Desativar Controle de Cache",
|
|
306235
|
+
"Memory Discovery Max Dirs": "Descoberta de Mem\xF3ria M\xE1x. Diretorios",
|
|
306236
|
+
"Load Memory From Include Directories": "Carregar Mem\xF3ria de Diret\xF3rios Inclu\xEDdos",
|
|
306237
|
+
"Respect .gitignore": "Respeitar .gitignore",
|
|
306238
|
+
"Respect .qwenignore": "Respeitar .qwenignore",
|
|
306239
|
+
"Enable Recursive File Search": "Ativar Pesquisa Recursiva de Arquivos",
|
|
306240
|
+
"Disable Fuzzy Search": "Desativar Pesquisa Difusa",
|
|
306241
|
+
"Interactive Shell (PTY)": "Shell Interativo (PTY)",
|
|
306242
|
+
"Show Color": "Mostrar Cores",
|
|
306243
|
+
"Auto Accept": "Aceitar Automaticamente",
|
|
306244
|
+
"Use Ripgrep": "Usar Ripgrep",
|
|
306245
|
+
"Use Builtin Ripgrep": "Usar Ripgrep Integrado",
|
|
306246
|
+
"Enable Tool Output Truncation": "Ativar Truncamento de Sa\xEDda de Ferramenta",
|
|
306247
|
+
"Tool Output Truncation Threshold": "Limite de Truncamento de Sa\xEDda de Ferramenta",
|
|
306248
|
+
"Tool Output Truncation Lines": "Linhas de Truncamento de Sa\xEDda de Ferramenta",
|
|
306249
|
+
"Folder Trust": "Confian\xE7a de Pasta",
|
|
306250
|
+
"Vision Model Preview": "Visualiza\xE7\xE3o de Modelo de Vis\xE3o",
|
|
306251
|
+
"Tool Schema Compliance": "Conformidade de Esquema de Ferramenta",
|
|
306252
|
+
"Experimental: Skills": "Experimental: Habilidades",
|
|
306253
|
+
// Settings enum options
|
|
306254
|
+
"Auto (detect from system)": "Autom\xE1tico (detectar do sistema)",
|
|
306255
|
+
Text: "Texto",
|
|
306256
|
+
JSON: "JSON",
|
|
306257
|
+
Plan: "Planejamento",
|
|
306258
|
+
Default: "Padr\xE3o",
|
|
306259
|
+
"Auto Edit": "Edi\xE7\xE3o Autom\xE1tica",
|
|
306260
|
+
YOLO: "YOLO",
|
|
306261
|
+
"toggle vim mode on/off": "alternar modo vim ligado/desligado",
|
|
306262
|
+
"check session stats. Usage: /stats [model|tools]": "verificar estat\xEDsticas da sess\xE3o. Uso: /stats [model|tools]",
|
|
306263
|
+
"Show model-specific usage statistics.": "Mostrar estat\xEDsticas de uso espec\xEDficas do modelo.",
|
|
306264
|
+
"Show tool-specific usage statistics.": "Mostrar estat\xEDsticas de uso espec\xEDficas da ferramenta.",
|
|
306265
|
+
"exit the cli": "sair da cli",
|
|
306266
|
+
"list configured MCP servers and tools, or authenticate with OAuth-enabled servers": "listar servidores e ferramentas MCP configurados, ou autenticar com servidores habilitados para OAuth",
|
|
306267
|
+
"Manage workspace directories": "Gerenciar diret\xF3rios do workspace",
|
|
306268
|
+
"Add directories to the workspace. Use comma to separate multiple paths": "Adicionar diret\xF3rios ao workspace. Use v\xEDrgula para separar v\xE1rios caminhos",
|
|
306269
|
+
"Show all directories in the workspace": "Mostrar todos os diret\xF3rios no workspace",
|
|
306270
|
+
"set external editor preference": "definir prefer\xEAncia de editor externo",
|
|
306271
|
+
"Select Editor": "Selecionar Editor",
|
|
306272
|
+
"Editor Preference": "Prefer\xEAncia de Editor",
|
|
306273
|
+
"These editors are currently supported. Please note that some editors cannot be used in sandbox mode.": "Estes editores s\xE3o suportados atualmente. Note que alguns editores n\xE3o podem ser usados no modo sandbox.",
|
|
306274
|
+
"Your preferred editor is:": "Seu editor preferido \xE9:",
|
|
306275
|
+
"Manage extensions": "Gerenciar extens\xF5es",
|
|
306276
|
+
"List active extensions": "Listar extens\xF5es ativas",
|
|
306277
|
+
"Update extensions. Usage: update <extension-names>|--all": "Atualizar extens\xF5es. Uso: update <nomes-das-extensoes>|--all",
|
|
306278
|
+
"Disable an extension": "Desativar uma extens\xE3o",
|
|
306279
|
+
"Enable an extension": "Ativar uma extens\xE3o",
|
|
306280
|
+
"Install an extension from a git repo or local path": "Instalar uma extens\xE3o de um reposit\xF3rio git ou caminho local",
|
|
306281
|
+
"Uninstall an extension": "Desinstalar uma extens\xE3o",
|
|
306282
|
+
"No extensions installed.": "Nenhuma extens\xE3o instalada.",
|
|
306283
|
+
"Usage: /extensions update <extension-names>|--all": "Uso: /extensions update <nomes-das-extensoes>|--all",
|
|
306284
|
+
'Extension "{{name}}" not found.': 'Extens\xE3o "{{name}}" n\xE3o encontrada.',
|
|
306285
|
+
"No extensions to update.": "Nenhuma extens\xE3o para atualizar.",
|
|
306286
|
+
"Usage: /extensions install <source>": "Uso: /extensions install <fonte>",
|
|
306287
|
+
'Installing extension from "{{source}}"...': 'Instalando extens\xE3o de "{{source}}"...',
|
|
306288
|
+
'Extension "{{name}}" installed successfully.': 'Extens\xE3o "{{name}}" instalada com sucesso.',
|
|
306289
|
+
'Failed to install extension from "{{source}}": {{error}}': 'Falha ao instalar extens\xE3o de "{{source}}": {{error}}',
|
|
306290
|
+
"Usage: /extensions uninstall <extension-name>": "Uso: /extensions uninstall <nome-da-extensao>",
|
|
306291
|
+
'Uninstalling extension "{{name}}"...': 'Desinstalando extens\xE3o "{{name}}"...',
|
|
306292
|
+
'Extension "{{name}}" uninstalled successfully.': 'Extens\xE3o "{{name}}" desinstalada com sucesso.',
|
|
306293
|
+
'Failed to uninstall extension "{{name}}": {{error}}': 'Falha ao desinstalar extens\xE3o "{{name}}": {{error}}',
|
|
306294
|
+
"Usage: /extensions {{command}} <extension> [--scope=<user|workspace>]": "Uso: /extensions {{command}} <extensao> [--scope=<user|workspace>]",
|
|
306295
|
+
'Unsupported scope "{{scope}}", deve ser um de "user" ou "workspace"': 'Escopo n\xE3o suportado "{{scope}}", deve ser um de "user" ou "workspace"',
|
|
306296
|
+
'Extension "{{name}}" disabled for scope "{{scope}}"': 'Extens\xE3o "{{name}}" desativada para o escopo "{{scope}}"',
|
|
306297
|
+
'Extension "{{name}}" enabled for scope "{{scope}}"': 'Extens\xE3o "{{name}}" ativada para o escopo "{{scope}}"',
|
|
306298
|
+
"Do you want to continue? [Y/n]: ": "Voc\xEA deseja continuar? [Y/n]: ",
|
|
306299
|
+
"Do you want to continue?": "Voc\xEA deseja continuar?",
|
|
306300
|
+
'Installing extension "{{name}}".': 'Instalando extens\xE3o "{{name}}".',
|
|
306301
|
+
"**Extensions may introduce unexpected behavior. Ensure you have investigated the extension source and trust the author.**": "**As extens\xF5es podem introduzir comportamentos inesperados. Certifique-se de ter investigado a fonte da extens\xE3o e confie no autor.**",
|
|
306302
|
+
"This extension will run the following MCP servers:": "Esta extens\xE3o executar\xE1 os seguintes servidores MCP:",
|
|
306303
|
+
local: "local",
|
|
306304
|
+
remote: "remoto",
|
|
306305
|
+
"This extension will add the following commands: {{commands}}.": "Esta extens\xE3o adicionar\xE1 os seguintes comandos: {{commands}}.",
|
|
306306
|
+
"This extension will append info to your QWEN.md context using {{fileName}}": "Esta extens\xE3o anexar\xE1 informa\xE7\xF5es ao seu contexto QWEN.md usando {{fileName}}",
|
|
306307
|
+
"This extension will exclude the following core tools: {{tools}}": "Esta extens\xE3o excluir\xE1 as seguintes ferramentas principais: {{tools}}",
|
|
306308
|
+
"This extension will install the following skills:": "Esta extens\xE3o instalar\xE1 as seguintes habilidades:",
|
|
306309
|
+
"This extension will install the following subagents:": "Esta extens\xE3o instalar\xE1 os seguintes subagentes:",
|
|
306310
|
+
'Installation cancelled for "{{name}}".': 'Instala\xE7\xE3o cancelada para "{{name}}".',
|
|
306311
|
+
"--ref and --auto-update are not applicable for marketplace extensions.": "--ref e --auto-update n\xE3o s\xE3o aplic\xE1veis para extens\xF5es de marketplace.",
|
|
306312
|
+
'Extension "{{name}}" installed successfully and enabled.': 'Extens\xE3o "{{name}}" instalada com sucesso e ativada.',
|
|
306313
|
+
"Installs an extension from a git repository URL, local path, or claude marketplace (marketplace-url:plugin-name).": "Instala uma extens\xE3o de uma URL de reposit\xF3rio git, caminho local ou marketplace do claude (marketplace-url:plugin-name).",
|
|
306314
|
+
"The github URL, local path, or marketplace source (marketplace-url:plugin-name) of the extension to install.": "A URL do github, caminho local ou fonte do marketplace (marketplace-url:plugin-name) da extens\xE3o para instalar.",
|
|
306315
|
+
"The git ref to install from.": "A refer\xEAncia git para instalar.",
|
|
306316
|
+
"Enable auto-update for this extension.": "Ativar atualiza\xE7\xE3o autom\xE1tica para esta extens\xE3o.",
|
|
306317
|
+
"Enable pre-release versions for this extension.": "Ativar vers\xF5es de pr\xE9-lan\xE7amento para esta extens\xE3o.",
|
|
306318
|
+
"Acknowledge the security risks of installing an extension and skip the confirmation prompt.": "Reconhecer os riscos de seguran\xE7a de instalar uma extens\xE3o e pular o prompt de confirma\xE7\xE3o.",
|
|
306319
|
+
"The source argument must be provided.": "O argumento fonte deve ser fornecido.",
|
|
306320
|
+
'Extension "{{name}}" successfully uninstalled.': 'Extens\xE3o "{{name}}" desinstalada com sucesso.',
|
|
306321
|
+
"Uninstalls an extension.": "Desinstala uma extens\xE3o.",
|
|
306322
|
+
"The name or source path of the extension to uninstall.": "O nome ou caminho da fonte da extens\xE3o para desinstalar.",
|
|
306323
|
+
"Please include the name of the extension to uninstall as a positional argument.": "Inclua o nome da extens\xE3o para desinstalar como um argumento posicional.",
|
|
306324
|
+
"Enables an extension.": "Ativa uma extens\xE3o.",
|
|
306325
|
+
"The name of the extension to enable.": "O nome da extens\xE3o para ativar.",
|
|
306326
|
+
"The scope to enable the extenison in. If not set, will be enabled in all scopes.": "O escopo para ativar a extens\xE3o. Se n\xE3o definido, ser\xE1 ativada em todos os escopos.",
|
|
306327
|
+
'Extension "{{name}}" successfully enabled for scope "{{scope}}".': 'Extens\xE3o "{{name}}" ativada com sucesso para o escopo "{{scope}}".',
|
|
306328
|
+
'Extension "{{name}}" successfully enabled in all scopes.': 'Extens\xE3o "{{name}}" ativada com sucesso em todos os escopos.',
|
|
306329
|
+
"Invalid scope: {{scope}}. Please use one of {{scopes}}.": "Escopo inv\xE1lido: {{scope}}. Use um de {{scopes}}.",
|
|
306330
|
+
"Disables an extension.": "Desativa uma extens\xE3o.",
|
|
306331
|
+
"The name of the extension to disable.": "O nome da extens\xE3o para desativar.",
|
|
306332
|
+
"The scope to disable the extenison in.": "O escopo para desativar a extens\xE3o.",
|
|
306333
|
+
'Extension "{{name}}" successfully disabled for scope "{{scope}}".': 'Extens\xE3o "{{name}}" desativada com sucesso para o escopo "{{scope}}".',
|
|
306334
|
+
'Extension "{{name}}" successfully updated: {{oldVersion}} \u2192 {{newVersion}}.': 'Extens\xE3o "{{name}}" atualizada com sucesso: {{oldVersion}} \u2192 {{newVersion}}.',
|
|
306335
|
+
'Unable to install extension "{{name}}" due to missing install metadata': 'N\xE3o foi poss\xEDvel instalar a extens\xE3o "{{name}}" devido \xE0 falta de metadados de instala\xE7\xE3o',
|
|
306336
|
+
'Extension "{{name}}" is already up to date.': 'A extens\xE3o "{{name}}" j\xE1 est\xE1 atualizada.',
|
|
306337
|
+
"Updates all extensions or a named extension to the latest version.": "Atualiza todas as extens\xF5es ou uma extens\xE3o nomeada para a \xFAltima vers\xE3o.",
|
|
306338
|
+
"Update all extensions.": "Atualizar todas as extens\xF5es.",
|
|
306339
|
+
"Either an extension name or --all must be provided": "Um nome de extens\xE3o ou --all deve ser fornecido",
|
|
306340
|
+
"Lists installed extensions.": "Lista as extens\xF5es instaladas.",
|
|
306341
|
+
"Link extension failed to install.": "Falha ao instalar link da extens\xE3o.",
|
|
306342
|
+
'Extension "{{name}}" linked successfully and enabled.': 'Extens\xE3o "{{name}}" vinculada com sucesso e ativada.',
|
|
306343
|
+
"Links an extension from a local path. Updates made to the local path will always be reflected.": "Vincula uma extens\xE3o de um caminho local. Atualiza\xE7\xF5es feitas no caminho local sempre ser\xE3o refletidas.",
|
|
306344
|
+
"The name of the extension to link.": "O nome da extens\xE3o para vincular.",
|
|
306345
|
+
"Set a specific setting for an extension.": "Define uma configura\xE7\xE3o espec\xEDfica para uma extens\xE3o.",
|
|
306346
|
+
"Name of the extension to configure.": "Nome da extens\xE3o para configurar.",
|
|
306347
|
+
"The setting to configure (name or env var).": "A configura\xE7\xE3o para configurar (nome ou var env).",
|
|
306348
|
+
"The scope to set the setting in.": "O escopo para definir a configura\xE7\xE3o.",
|
|
306349
|
+
"List all settings for an extension.": "Listar todas as configura\xE7\xF5es de uma extens\xE3o.",
|
|
306350
|
+
"Name of the extension.": "Nome da extens\xE3o.",
|
|
306351
|
+
'Extension "{{name}}" has no settings to configure.': 'A extens\xE3o "{{name}}" n\xE3o tem configura\xE7\xF5es para configurar.',
|
|
306352
|
+
'Settings for "{{name}}":': 'Configura\xE7\xF5es para "{{name}}":',
|
|
306353
|
+
"(workspace)": "(workspace)",
|
|
306354
|
+
"(user)": "(usu\xE1rio)",
|
|
306355
|
+
"[not set]": "[n\xE3o definido]",
|
|
306356
|
+
"[value stored in keychain]": "[valor armazenado no chaveiro]",
|
|
306357
|
+
"Value:": "Valor:",
|
|
306358
|
+
"Manage extension settings.": "Gerenciar configura\xE7\xF5es de extens\xE3o.",
|
|
306359
|
+
"You need to specify a command (set or list).": "Voc\xEA precisa especificar um comando (set ou list).",
|
|
306360
|
+
// ============================================================================
|
|
306361
|
+
// Plugin Choice / Marketplace
|
|
306362
|
+
// ============================================================================
|
|
306363
|
+
"No plugins available in this marketplace.": "Nenhum plugin dispon\xEDvel neste marketplace.",
|
|
306364
|
+
'Select a plugin to install from marketplace "{{name}}":': 'Selecione um plugin para instalar do marketplace "{{name}}":',
|
|
306365
|
+
"Plugin selection cancelled.": "Sele\xE7\xE3o de plugin cancelada.",
|
|
306366
|
+
'Select a plugin from "{{name}}"': 'Selecione um plugin de "{{name}}"',
|
|
306367
|
+
"Use \u2191\u2193 or j/k to navigate, Enter to select, Escape to cancel": "Use \u2191\u2193 ou j/k para navegar, Enter para selecionar, Escape para cancelar",
|
|
306368
|
+
"{{count}} more above": "{{count}} mais acima",
|
|
306369
|
+
"{{count}} more below": "{{count}} mais abaixo",
|
|
306370
|
+
"manage IDE integration": "gerenciar integra\xE7\xE3o com IDE",
|
|
306371
|
+
"check status of IDE integration": "verificar status da integra\xE7\xE3o com IDE",
|
|
306372
|
+
"install required IDE companion for {{ideName}}": "instalar companion IDE necess\xE1rio para {{ideName}}",
|
|
306373
|
+
"enable IDE integration": "ativar integra\xE7\xE3o com IDE",
|
|
306374
|
+
"disable IDE integration": "desativar integra\xE7\xE3o com IDE",
|
|
306375
|
+
"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.": "A integra\xE7\xE3o com IDE n\xE3o \xE9 suportada no seu ambiente atual. Para usar este recurso, execute o Qwen Code em um destes IDEs suportados: VS Code ou forks do VS Code.",
|
|
306376
|
+
"Set up GitHub Actions": "Configurar GitHub Actions",
|
|
306377
|
+
"Configure terminal keybindings for multiline input (VS Code, Cursor, Windsurf, Trae)": "Configurar atalhos de terminal para entrada multilinhas (VS Code, Cursor, Windsurf, Trae)",
|
|
306378
|
+
"Please restart your terminal for the changes to take effect.": "Reinicie seu terminal para que as altera\xE7\xF5es tenham efeito.",
|
|
306379
|
+
"Failed to configure terminal: {{error}}": "Falha ao configurar terminal: {{error}}",
|
|
306380
|
+
"Could not determine {{terminalName}} config path on Windows: APPDATA environment variable is not set.": "N\xE3o foi poss\xEDvel determinar o caminho de configura\xE7\xE3o de {{terminalName}} no Windows: vari\xE1vel de ambiente APPDATA n\xE3o est\xE1 definida.",
|
|
306381
|
+
"{{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 existe mas n\xE3o \xE9 um array JSON v\xE1lido. Corrija o arquivo manualmente ou exclua-o para permitir a configura\xE7\xE3o autom\xE1tica.",
|
|
306382
|
+
"File: {{file}}": "Arquivo: {{file}}",
|
|
306383
|
+
"Failed to parse {{terminalName}} keybindings.json. The file contains invalid JSON. Please fix the file manually or delete it to allow automatic configuration.": "Falha ao analisar {{terminalName}} keybindings.json. O arquivo cont\xE9m JSON inv\xE1lido. Corrija o arquivo manualmente ou exclua-o para permitir a configura\xE7\xE3o autom\xE1tica.",
|
|
306384
|
+
"Error: {{error}}": "Erro: {{error}}",
|
|
306385
|
+
"Shift+Enter binding already exists": "Atalho Shift+Enter j\xE1 existe",
|
|
306386
|
+
"Ctrl+Enter binding already exists": "Atalho Ctrl+Enter j\xE1 existe",
|
|
306387
|
+
"Existing keybindings detected. Will not modify to avoid conflicts.": "Atalhos existentes detectados. N\xE3o ser\xE3o modificados para evitar conflitos.",
|
|
306388
|
+
"Please check and modify manually if needed: {{file}}": "Verifique e modifique manualmente se necess\xE1rio: {{file}}",
|
|
306389
|
+
"Added Shift+Enter and Ctrl+Enter keybindings to {{terminalName}}.": "Adicionados atalhos Shift+Enter e Ctrl+Enter para {{terminalName}}.",
|
|
306390
|
+
"Modified: {{file}}": "Modificado: {{file}}",
|
|
306391
|
+
"{{terminalName}} keybindings already configured.": "Atalhos de {{terminalName}} j\xE1 configurados.",
|
|
306392
|
+
"Failed to configure {{terminalName}}.": "Falha ao configurar {{terminalName}}.",
|
|
306393
|
+
"Your terminal is already configured for an optimal experience with multiline input (Shift+Enter and Ctrl+Enter).": "Seu terminal j\xE1 est\xE1 configurado para uma experi\xEAncia ideal com entrada multilinhas (Shift+Enter e Ctrl+Enter).",
|
|
306394
|
+
"Could not detect terminal type. Supported terminals: VS Code, Cursor, Windsurf, and Trae.": "N\xE3o foi poss\xEDvel detectar o tipo de terminal. Terminais suportados: VS Code, Cursor, Windsurf e Trae.",
|
|
306395
|
+
'Terminal "{{terminal}}" is not supported yet.': 'O terminal "{{terminal}}" ainda n\xE3o \xE9 suportado.',
|
|
306396
|
+
// ============================================================================
|
|
306397
|
+
// Commands - Language
|
|
306398
|
+
// ============================================================================
|
|
306399
|
+
"Invalid language. Available: {{options}}": "Idioma inv\xE1lido. Dispon\xEDveis: {{options}}",
|
|
306400
|
+
"Language subcommands do not accept additional arguments.": "Subcomandos de idioma n\xE3o aceitam argumentos adicionais.",
|
|
306401
|
+
"Current UI language: {{lang}}": "Idioma atual da interface: {{lang}}",
|
|
306402
|
+
"Current LLM output language: {{lang}}": "Idioma atual da sa\xEDda do LLM: {{lang}}",
|
|
306403
|
+
"LLM output language not set": "Idioma de sa\xEDda do LLM n\xE3o definido",
|
|
306404
|
+
"Set UI language": "Definir idioma da interface",
|
|
306405
|
+
"Set LLM output language": "Definir idioma de sa\xEDda do LLM",
|
|
306406
|
+
"Usage: /language ui [{{options}}]": "Uso: /language ui [{{options}}]",
|
|
306407
|
+
"Usage: /language output <language>": "Uso: /language output <idioma>",
|
|
306408
|
+
"Example: /language output \u4E2D\u6587": "Exemplo: /language output Portugu\xEAs",
|
|
306409
|
+
"Example: /language output English": "Exemplo: /language output Ingl\xEAs",
|
|
306410
|
+
"Example: /language output \u65E5\u672C\u8A9E": "Exemplo: /language output Japon\xEAs",
|
|
306411
|
+
"Example: /language output Portugu\xEAs": "Exemplo: /language output Portugu\xEAs",
|
|
306412
|
+
"UI language changed to {{lang}}": "Idioma da interface alterado para {{lang}}",
|
|
306413
|
+
"LLM output language set to {{lang}}": "Idioma de sa\xEDda do LLM definido para {{lang}}",
|
|
306414
|
+
"LLM output language rule file generated at {{path}}": "Arquivo de regra de idioma de sa\xEDda do LLM gerado em {{path}}",
|
|
306415
|
+
"Please restart the application for the changes to take effect.": "Reinicie o aplicativo para que as altera\xE7\xF5es tenham efeito.",
|
|
306416
|
+
"Failed to generate LLM output language rule file: {{error}}": "Falha ao gerar arquivo de regra de idioma de sa\xEDda do LLM: {{error}}",
|
|
306417
|
+
"Invalid command. Available subcommands:": "Comando inv\xE1lido. Subcomandos dispon\xEDveis:",
|
|
306418
|
+
"Available subcommands:": "Subcomandos dispon\xEDveis:",
|
|
306419
|
+
"To request additional UI language packs, please open an issue on GitHub.": "Para solicitar pacotes de idiomas de interface adicionais, abra um problema no GitHub.",
|
|
306420
|
+
"Available options:": "Op\xE7\xF5es dispon\xEDveis:",
|
|
306421
|
+
"Set UI language to {{name}}": "Definir idioma da interface para {{name}}",
|
|
306422
|
+
// ============================================================================
|
|
306423
|
+
// Commands - Approval Mode
|
|
306424
|
+
// ============================================================================
|
|
306425
|
+
"Tool Approval Mode": "Modo de Aprova\xE7\xE3o de Ferramenta",
|
|
306426
|
+
"Current approval mode: {{mode}}": "Modo de aprova\xE7\xE3o atual: {{mode}}",
|
|
306427
|
+
"Available approval modes:": "Modos de aprova\xE7\xE3o dispon\xEDveis:",
|
|
306428
|
+
"Approval mode changed to: {{mode}}": "Modo de aprova\xE7\xE3o alterado para: {{mode}}",
|
|
306429
|
+
"Approval mode changed to: {{mode}} (saved to {{scope}} settings{{location}})": "Modo de aprova\xE7\xE3o alterado para: {{mode}} (salvo nas configura\xE7\xF5es de {{scope}}{{location}})",
|
|
306430
|
+
"Usage: /approval-mode <mode> [--session|--user|--project]": "Uso: /approval-mode <mode> [--session|--user|--project]",
|
|
306431
|
+
"Scope subcommands do not accept additional arguments.": "Subcomandos de escopo n\xE3o aceitam argumentos adicionais.",
|
|
306432
|
+
"Plan mode - Analyze only, do not modify files or execute commands": "Modo planejamento - Apenas analisa, n\xE3o modifica arquivos nem executa comandos",
|
|
306433
|
+
"Default mode - Require approval for file edits or shell commands": "Modo padr\xE3o - Exige aprova\xE7\xE3o para edi\xE7\xF5es de arquivos ou comandos shell",
|
|
306434
|
+
"Auto-edit mode - Automatically approve file edits": "Modo auto-edi\xE7\xE3o - Aprova automaticamente edi\xE7\xF5es de arquivos",
|
|
306435
|
+
"YOLO mode - Automatically approve all tools": "Modo YOLO - Aprova automaticamente todas as ferramentas",
|
|
306436
|
+
"{{mode}} mode": "Modo {{mode}}",
|
|
306437
|
+
"Settings service is not available; unable to persist the approval mode.": "Servi\xE7o de configura\xE7\xF5es n\xE3o dispon\xEDvel; n\xE3o foi poss\xEDvel persistir o modo de aprova\xE7\xE3o.",
|
|
306438
|
+
"Failed to save approval mode: {{error}}": "Falha ao salvar modo de aprova\xE7\xE3o: {{error}}",
|
|
306439
|
+
"Failed to change approval mode: {{error}}": "Falha ao alterar modo de aprova\xE7\xE3o: {{error}}",
|
|
306440
|
+
"Apply to current session only (temporary)": "Aplicar apenas \xE0 sess\xE3o atual (tempor\xE1rio)",
|
|
306441
|
+
"Persist for this project/workspace": "Persistir para este projeto/workspace",
|
|
306442
|
+
"Persist for this user on this machine": "Persistir para este usu\xE1rio nesta m\xE1quina",
|
|
306443
|
+
"Analyze only, do not modify files or execute commands": "Apenas analisar, n\xE3o modificar arquivos nem executar comandos",
|
|
306444
|
+
"Require approval for file edits or shell commands": "Exigir aprova\xE7\xE3o para edi\xE7\xF5es de arquivos ou comandos shell",
|
|
306445
|
+
"Automatically approve file edits": "Aprovar automaticamente edi\xE7\xF5es de arquivos",
|
|
306446
|
+
"Automatically approve all tools": "Aprovar automaticamente todas as ferramentas",
|
|
306447
|
+
"Workspace approval mode exists and takes priority. User-level change will have no effect.": "O modo de aprova\xE7\xE3o do workspace existe e tem prioridade. A altera\xE7\xE3o no n\xEDvel do usu\xE1rio n\xE3o ter\xE1 efeito.",
|
|
306448
|
+
"Apply To": "Aplicar A",
|
|
306449
|
+
"User Settings": "Configura\xE7\xF5es do Usu\xE1rio",
|
|
306450
|
+
"Workspace Settings": "Configura\xE7\xF5es do Workspace",
|
|
306451
|
+
// ============================================================================
|
|
306452
|
+
// Commands - Memory
|
|
306453
|
+
// ============================================================================
|
|
306454
|
+
"Commands for interacting with memory.": "Comandos para interagir com a mem\xF3ria.",
|
|
306455
|
+
"Show the current memory contents.": "Mostrar os conte\xFAdos atuais da mem\xF3ria.",
|
|
306456
|
+
"Show project-level memory contents.": "Mostrar conte\xFAdos da mem\xF3ria de n\xEDvel de projeto.",
|
|
306457
|
+
"Show global memory contents.": "Mostrar conte\xFAdos da mem\xF3ria global.",
|
|
306458
|
+
"Add content to project-level memory.": "Adicionar conte\xFAdo \xE0 mem\xF3ria de n\xEDvel de projeto.",
|
|
306459
|
+
"Add content to global memory.": "Adicionar conte\xFAdo \xE0 mem\xF3ria global.",
|
|
306460
|
+
"Refresh the memory from the source.": "Atualizar a mem\xF3ria da fonte.",
|
|
306461
|
+
"Usage: /memory add --project <text to remember>": "Uso: /memory add --project <texto para lembrar>",
|
|
306462
|
+
"Usage: /memory add --global <text to remember>": "Uso: /memory add --global <texto para lembrar>",
|
|
306463
|
+
'Attempting to save to project memory: "{{text}}"': 'Tentando salvar na mem\xF3ria do projeto: "{{text}}"',
|
|
306464
|
+
'Attempting to save to global memory: "{{text}}"': 'Tentando salvar na mem\xF3ria global: "{{text}}"',
|
|
306465
|
+
"Current memory content from {{count}} file(s):": "Conte\xFAdo da mem\xF3ria atual de {{count}} arquivo(s):",
|
|
306466
|
+
"Memory is currently empty.": "A mem\xF3ria est\xE1 vazia no momento.",
|
|
306467
|
+
"Project memory file not found or is currently empty.": "Arquivo de mem\xF3ria do projeto n\xE3o encontrado ou est\xE1 vazio.",
|
|
306468
|
+
"Global memory file not found or is currently empty.": "Arquivo de mem\xF3ria global n\xE3o encontrado ou est\xE1 vazio.",
|
|
306469
|
+
"Global memory is currently empty.": "A mem\xF3ria global est\xE1 vazia no momento.",
|
|
306470
|
+
"Global memory content:\n\n---\n{{content}}\n---": "Conte\xFAdo da mem\xF3ria global:\n\n---\n{{content}}\n---",
|
|
306471
|
+
"Project memory content from {{path}}:\n\n---\n{{content}}\n---": "Conte\xFAdo da mem\xF3ria do projeto de {{path}}:\n\n---\n{{content}}\n---",
|
|
306472
|
+
"Project memory is currently empty.": "A mem\xF3ria do projeto est\xE1 vazia no momento.",
|
|
306473
|
+
"Refreshing memory from source files...": "Atualizando mem\xF3ria dos arquivos fonte...",
|
|
306474
|
+
"Add content to the memory. Use --global for global memory or --project for project memory.": "Adicionar conte\xFAdo \xE0 mem\xF3ria. Use --global para mem\xF3ria global ou --project para mem\xF3ria do projeto.",
|
|
306475
|
+
"Usage: /memory add [--global|--project] <text to remember>": "Uso: /memory add [--global|--project] <texto para lembrar>",
|
|
306476
|
+
'Attempting to save to memory {{scope}}: "{{fact}}"': 'Tentando salvar na mem\xF3ria {{scope}}: "{{fact}}"',
|
|
306477
|
+
// ============================================================================
|
|
306478
|
+
// Commands - MCP
|
|
306479
|
+
// ============================================================================
|
|
306480
|
+
"Authenticate with an OAuth-enabled MCP server": "Autenticar com um servidor MCP habilitado para OAuth",
|
|
306481
|
+
"List configured MCP servers and tools": "Listar servidores e ferramentas MCP configurados",
|
|
306482
|
+
"Restarts MCP servers.": "Reinicia os servidores MCP.",
|
|
306483
|
+
"Config not loaded.": "Configura\xE7\xE3o n\xE3o carregada.",
|
|
306484
|
+
"Could not retrieve tool registry.": "N\xE3o foi poss\xEDvel recuperar o registro de ferramentas.",
|
|
306485
|
+
"No MCP servers configured with OAuth authentication.": "Nenhum servidor MCP configurado com autentica\xE7\xE3o OAuth.",
|
|
306486
|
+
"MCP servers with OAuth authentication:": "Servidores MCP com autentica\xE7\xE3o OAuth:",
|
|
306487
|
+
"Use /mcp auth <server-name> to authenticate.": "Use /mcp auth <nome-do-servidor> para autenticar.",
|
|
306488
|
+
"MCP server '{{name}}' not found.": "Servidor MCP '{{name}}' n\xE3o encontrado.",
|
|
306489
|
+
"Successfully authenticated and refreshed tools for '{{name}}'.": "Autenticado com sucesso e ferramentas atualizadas para '{{name}}'.",
|
|
306490
|
+
"Failed to authenticate with MCP server '{{name}}': {{error}}": "Falha ao autenticar com o servidor MCP '{{name}}': {{error}}",
|
|
306491
|
+
"Re-discovering tools from '{{name}}'...": "Redescobrindo ferramentas de '{{name}}'...",
|
|
306492
|
+
// ============================================================================
|
|
306493
|
+
// Commands - Chat
|
|
306494
|
+
// ============================================================================
|
|
306495
|
+
"Manage conversation history.": "Gerenciar hist\xF3rico de conversas.",
|
|
306496
|
+
"List saved conversation checkpoints": "Listar checkpoints de conversa salvos",
|
|
306497
|
+
"No saved conversation checkpoints found.": "Nenhum checkpoint de conversa salvo encontrado.",
|
|
306498
|
+
"List of saved conversations:": "Lista de conversas salvas:",
|
|
306499
|
+
"Note: Newest last, oldest first": "Nota: Mais novos por \xFAltimo, mais antigos primeiro",
|
|
306500
|
+
"Save the current conversation as a checkpoint. Usage: /chat save <tag>": "Salvar a conversa atual como um checkpoint. Uso: /chat save <tag>",
|
|
306501
|
+
"Missing tag. Usage: /chat save <tag>": "Tag ausente. Uso: /chat save <tag>",
|
|
306502
|
+
"Delete a conversation checkpoint. Usage: /chat delete <tag>": "Excluir um checkpoint de conversa. Uso: /chat delete <tag>",
|
|
306503
|
+
"Missing tag. Usage: /chat delete <tag>": "Tag ausente. Uso: /chat delete <tag>",
|
|
306504
|
+
"Conversation checkpoint '{{tag}}' has been deleted.": "O checkpoint de conversa '{{tag}}' foi exclu\xEDdo.",
|
|
306505
|
+
"Error: No checkpoint found with tag '{{tag}}'.": "Erro: Nenhum checkpoint encontrado com a tag '{{tag}}'.",
|
|
306506
|
+
"Resume a conversation from a checkpoint. Usage: /chat resume <tag>": "Retomar uma conversa de um checkpoint. Uso: /chat resume <tag>",
|
|
306507
|
+
"Missing tag. Usage: /chat resume <tag>": "Tag ausente. Uso: /chat resume <tag>",
|
|
306508
|
+
"No saved checkpoint found with tag: {{tag}}.": "Nenhum checkpoint salvo encontrado com a tag: {{tag}}.",
|
|
306509
|
+
"A checkpoint with the tag {{tag}} already exists. Do you want to overwrite it?": "Um checkpoint com a tag {{tag}} j\xE1 existe. Voc\xEA deseja substitu\xED-lo?",
|
|
306510
|
+
"No chat client available to save conversation.": "Nenhum cliente de chat dispon\xEDvel para salvar a conversa.",
|
|
306511
|
+
"Conversation checkpoint saved with tag: {{tag}}.": "Checkpoint de conversa salvo com a tag: {{tag}}.",
|
|
306512
|
+
"No conversation found to save.": "Nenhuma conversa encontrada para salvar.",
|
|
306513
|
+
"No chat client available to share conversation.": "Nenhum cliente de chat dispon\xEDvel para compartilhar a conversa.",
|
|
306514
|
+
"Invalid file format. Only .md and .json are supported.": "Formato de arquivo inv\xE1lido. Apenas .md e .json s\xE3o suportados.",
|
|
306515
|
+
"Error sharing conversation: {{error}}": "Erro ao compartilhar conversa: {{error}}",
|
|
306516
|
+
"Conversation shared to {{filePath}}": "Conversa compartilhada em {{filePath}}",
|
|
306517
|
+
"No conversation found to share.": "Nenhuma conversa encontrada para compartilhar.",
|
|
306518
|
+
"Share the current conversation to a markdown or json file. Usage: /chat share <file>": "Compartilhar a conversa atual para um arquivo markdown ou json. Uso: /chat share <arquivo>",
|
|
306519
|
+
// ============================================================================
|
|
306520
|
+
// Commands - Summary
|
|
306521
|
+
// ============================================================================
|
|
306522
|
+
"Generate a project summary and save it to .qwen/PROJECT_SUMMARY.md": "Gerar um resumo do projeto e salv\xE1-lo em .qwen/PROJECT_SUMMARY.md",
|
|
306523
|
+
"No chat client available to generate summary.": "Nenhum cliente de chat dispon\xEDvel para gerar o resumo.",
|
|
306524
|
+
"Already generating summary, wait for previous request to complete": "J\xE1 gerando resumo, aguarde a conclus\xE3o da solicita\xE7\xE3o anterior",
|
|
306525
|
+
"No conversation found to summarize.": "Nenhuma conversa encontrada para resumir.",
|
|
306526
|
+
"Failed to generate project context summary: {{error}}": "Falha ao gerar resumo do contexto do projeto: {{error}}",
|
|
306527
|
+
"Saved project summary to {{filePathForDisplay}}.": "Resumo do projeto salvo em {{filePathForDisplay}}.",
|
|
306528
|
+
"Saving project summary...": "Salvando resumo do projeto...",
|
|
306529
|
+
"Generating project summary...": "Gerando resumo do projeto...",
|
|
306530
|
+
"Failed to generate summary - no text content received from LLM response": "Falha ao gerar resumo - nenhum conte\xFAdo de texto recebido da resposta do LLM",
|
|
306531
|
+
// ============================================================================
|
|
306532
|
+
// Commands - Model
|
|
306533
|
+
// ============================================================================
|
|
306534
|
+
"Switch the model for this session": "Trocar o modelo para esta sess\xE3o",
|
|
306535
|
+
"Content generator configuration not available.": "Configura\xE7\xE3o do gerador de conte\xFAdo n\xE3o dispon\xEDvel.",
|
|
306536
|
+
"Authentication type not available.": "Tipo de autentica\xE7\xE3o n\xE3o dispon\xEDvel.",
|
|
306537
|
+
"No models available for the current authentication type ({{authType}}).": "Nenhum modelo dispon\xEDvel para o tipo de autentica\xE7\xE3o atual ({{authType}}).",
|
|
306538
|
+
// ============================================================================
|
|
306539
|
+
// Commands - Clear
|
|
306540
|
+
// ============================================================================
|
|
306541
|
+
"Starting a new session, resetting chat, and clearing terminal.": "Iniciando uma nova sess\xE3o, resetando o chat e limpando o terminal.",
|
|
306542
|
+
"Starting a new session and clearing.": "Iniciando uma nova sess\xE3o e limpando.",
|
|
306543
|
+
// ============================================================================
|
|
306544
|
+
// Commands - Compress
|
|
306545
|
+
// ============================================================================
|
|
306546
|
+
"Already compressing, wait for previous request to complete": "J\xE1 comprimindo, aguarde a conclus\xE3o da solicita\xE7\xE3o anterior",
|
|
306547
|
+
"Failed to compress chat history.": "Falha ao comprimir hist\xF3rico do chat.",
|
|
306548
|
+
"Failed to compress chat history: {{error}}": "Falha ao comprimir hist\xF3rico do chat: {{error}}",
|
|
306549
|
+
"Compressing chat history": "Comprimindo hist\xF3rico do chat",
|
|
306550
|
+
"Chat history compressed from {{originalTokens}} to {{newTokens}} tokens.": "Hist\xF3rico do chat comprimido de {{originalTokens}} para {{newTokens}} tokens.",
|
|
306551
|
+
"Compression was not beneficial for this history size.": "A compress\xE3o n\xE3o foi ben\xE9fica para este tamanho de hist\xF3rico.",
|
|
306552
|
+
"Chat history compression did not reduce size. This may indicate issues with the compression prompt.": "A compress\xE3o do hist\xF3rico do chat n\xE3o reduziu o tamanho. Isso pode indicar problemas com o prompt de compress\xE3o.",
|
|
306553
|
+
"Could not compress chat history due to a token counting error.": "N\xE3o foi poss\xEDvel comprimir o hist\xF3rico do chat devido a um erro de contagem de tokens.",
|
|
306554
|
+
"Chat history is already compressed.": "O hist\xF3rico do chat j\xE1 est\xE1 comprimido.",
|
|
306555
|
+
// ============================================================================
|
|
306556
|
+
// Commands - Directory
|
|
306557
|
+
// ============================================================================
|
|
306558
|
+
"Configuration is not available.": "A configura\xE7\xE3o n\xE3o est\xE1 dispon\xEDvel.",
|
|
306559
|
+
"Please provide at least one path to add.": "Forne\xE7a pelo menos um caminho para adicionar.",
|
|
306560
|
+
"The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.": "O comando /directory add n\xE3o \xE9 suportado em perfis de sandbox restritivos. Use --include-directories ao iniciar a sess\xE3o.",
|
|
306561
|
+
"Error adding '{{path}}': {{error}}": "Erro ao adicionar '{{path}}': {{error}}",
|
|
306562
|
+
"Successfully added QWEN.md files from the following directories if there are:\n- {{directories}}": "Arquivos QWEN.md adicionados com sucesso dos seguintes diret\xF3rios, se houverem:\n- {{directories}}",
|
|
306563
|
+
"Error refreshing memory: {{error}}": "Erro ao atualizar mem\xF3ria: {{error}}",
|
|
306564
|
+
"Successfully added directories:\n- {{directories}}": "Diret\xF3rios adicionados com sucesso:\n- {{directories}}",
|
|
306565
|
+
"Current workspace directories:\n{{directories}}": "Diret\xF3rios atuais do workspace:\n{{directories}}",
|
|
306566
|
+
// ============================================================================
|
|
306567
|
+
// Commands - Docs
|
|
306568
|
+
// ============================================================================
|
|
306569
|
+
"Please open the following URL in your browser to view the documentation:\n{{url}}": "Abra a seguinte URL no seu navegador para ver a documenta\xE7\xE3o:\n{{url}}",
|
|
306570
|
+
"Opening documentation in your browser: {{url}}": "Abrindo documenta\xE7\xE3o no seu navegador: {{url}}",
|
|
306571
|
+
// ============================================================================
|
|
306572
|
+
// Dialogs - Tool Confirmation
|
|
306573
|
+
// ============================================================================
|
|
306574
|
+
"Do you want to proceed?": "Voc\xEA deseja prosseguir?",
|
|
306575
|
+
"Yes, allow once": "Sim, permitir uma vez",
|
|
306576
|
+
"Allow always": "Permitir sempre",
|
|
306577
|
+
No: "N\xE3o",
|
|
306578
|
+
"No (esc)": "N\xE3o (esc)",
|
|
306579
|
+
"Yes, allow always for this session": "Sim, permitir sempre para esta sess\xE3o",
|
|
306580
|
+
"Modify in progress:": "Modifica\xE7\xE3o em progresso:",
|
|
306581
|
+
"Save and close external editor to continue": "Salve e feche o editor externo para continuar",
|
|
306582
|
+
"Apply this change?": "Aplicar esta altera\xE7\xE3o?",
|
|
306583
|
+
"Yes, allow always": "Sim, permitir sempre",
|
|
306584
|
+
"Modify with external editor": "Modificar com editor externo",
|
|
306585
|
+
"No, suggest changes (esc)": "N\xE3o, sugerir altera\xE7\xF5es (esc)",
|
|
306586
|
+
"Allow execution of: '{{command}}'?": "Permitir a execu\xE7\xE3o de: '{{command}}'?",
|
|
306587
|
+
"Yes, allow always ...": "Sim, permitir sempre ...",
|
|
306588
|
+
"Yes, and auto-accept edits": "Sim, e aceitar edi\xE7\xF5es automaticamente",
|
|
306589
|
+
"Yes, and manually approve edits": "Sim, e aprovar edi\xE7\xF5es manualmente",
|
|
306590
|
+
"No, keep planning (esc)": "N\xE3o, continuar planejando (esc)",
|
|
306591
|
+
"URLs to fetch:": "URLs para buscar:",
|
|
306592
|
+
"MCP Server: {{server}}": "Servidor MCP: {{server}}",
|
|
306593
|
+
"Tool: {{tool}}": "Ferramenta: {{tool}}",
|
|
306594
|
+
'Allow execution of MCP tool "{{tool}}" from server "{{server}}"?': 'Permitir a execu\xE7\xE3o da ferramenta MCP "{{tool}}" do servidor "{{server}}"?',
|
|
306595
|
+
'Yes, always allow tool "{{tool}}" from server "{{server}}"': 'Sim, sempre permitir a ferramenta "{{tool}}" do servidor "{{server}}"',
|
|
306596
|
+
'Yes, always allow all tools from server "{{server}}"': 'Sim, sempre permitir todas as ferramentas do servidor "{{server}}"',
|
|
306597
|
+
// ============================================================================
|
|
306598
|
+
// Dialogs - Shell Confirmation
|
|
306599
|
+
// ============================================================================
|
|
306600
|
+
"Shell Command Execution": "Execu\xE7\xE3o de Comando Shell",
|
|
306601
|
+
"A custom command wants to run the following shell commands:": "Um comando personalizado deseja executar os seguintes comandos shell:",
|
|
306602
|
+
// ============================================================================
|
|
306603
|
+
// Dialogs - Pro Quota
|
|
306604
|
+
// ============================================================================
|
|
306605
|
+
"Pro quota limit reached for {{model}}.": "Limite de cota Pro atingido para {{model}}.",
|
|
306606
|
+
"Change auth (executes the /auth command)": "Alterar autentica\xE7\xE3o (executa o comando /auth)",
|
|
306607
|
+
"Continue with {{model}}": "Continuar com {{model}}",
|
|
306608
|
+
// ============================================================================
|
|
306609
|
+
// Dialogs - Welcome Back
|
|
306610
|
+
// ============================================================================
|
|
306611
|
+
"Current Plan:": "Plano Atual:",
|
|
306612
|
+
"Progress: {{done}}/{{total}} tasks completed": "Progresso: {{done}}/{{total}} tarefas conclu\xEDdas",
|
|
306613
|
+
", {{inProgress}} in progress": ", {{inProgress}} em progresso",
|
|
306614
|
+
"Pending Tasks:": "Tarefas Pendentes:",
|
|
306615
|
+
"What would you like to do?": "O que voc\xEA gostaria de fazer?",
|
|
306616
|
+
"Choose how to proceed with your session:": "Escolha como proceder com sua sess\xE3o:",
|
|
306617
|
+
"Start new chat session": "Iniciar nova sess\xE3o de chat",
|
|
306618
|
+
"Continue previous conversation": "Continuar conversa anterior",
|
|
306619
|
+
"\u{1F44B} Welcome back! (Last updated: {{timeAgo}})": "\u{1F44B} Bem-vindo de volta! (\xDAltima atualiza\xE7\xE3o: {{timeAgo}})",
|
|
306620
|
+
"\u{1F3AF} Overall Goal:": "\u{1F3AF} Objetivo Geral:",
|
|
306621
|
+
// ============================================================================
|
|
306622
|
+
// Dialogs - Auth
|
|
306623
|
+
// ============================================================================
|
|
306624
|
+
"Get started": "Come\xE7ar",
|
|
306625
|
+
"How would you like to authenticate for this project?": "Como voc\xEA gostaria de se autenticar para este projeto?",
|
|
306626
|
+
"OpenAI API key is required to use OpenAI authentication.": "A chave da API do OpenAI \xE9 necess\xE1ria para usar a autentica\xE7\xE3o do OpenAI.",
|
|
306627
|
+
"You must select an auth method to proceed. Press Ctrl+C again to exit.": "Voc\xEA deve selecionar um m\xE9todo de autentica\xE7\xE3o para prosseguir. Pressione Ctrl+C novamente para sair.",
|
|
306628
|
+
"(Use Enter to Set Auth)": "(Use Enter para Definir Autentica\xE7\xE3o)",
|
|
306629
|
+
"Terms of Services and Privacy Notice for Qwen Code": "Termos de Servi\xE7o e Aviso de Privacidade do Qwen Code",
|
|
306630
|
+
"Qwen OAuth": "Qwen OAuth",
|
|
306631
|
+
OpenAI: "OpenAI",
|
|
306632
|
+
"Failed to login. Message: {{message}}": "Falha ao fazer login. Mensagem: {{message}}",
|
|
306633
|
+
"Authentication is enforced to be {{enforcedType}}, but you are currently using {{currentType}}.": "A autentica\xE7\xE3o \xE9 for\xE7ada para {{enforcedType}}, mas voc\xEA est\xE1 usando {{currentType}} no momento.",
|
|
306634
|
+
"Qwen OAuth authentication timed out. Please try again.": "A autentica\xE7\xE3o Qwen OAuth expirou. Tente novamente.",
|
|
306635
|
+
"Qwen OAuth authentication cancelled.": "Autentica\xE7\xE3o Qwen OAuth cancelada.",
|
|
306636
|
+
"Qwen OAuth Authentication": "Autentica\xE7\xE3o Qwen OAuth",
|
|
306637
|
+
"Please visit this URL to authorize:": "Visite esta URL para autorizar:",
|
|
306638
|
+
"Or scan the QR code below:": "Ou escaneie o c\xF3digo QR abaixo:",
|
|
306639
|
+
"Waiting for authorization": "Aguardando autoriza\xE7\xE3o",
|
|
306640
|
+
"Time remaining:": "Tempo restante:",
|
|
306641
|
+
"(Press ESC or CTRL+C to cancel)": "(Pressione ESC ou CTRL+C para cancelar)",
|
|
306642
|
+
"Qwen OAuth Authentication Timeout": "Tempo Limite de Autentica\xE7\xE3o Qwen OAuth",
|
|
306643
|
+
"OAuth token expired (over {{seconds}} seconds). Please select authentication method again.": "Token OAuth expirado (mais de {{seconds}} segundos). Selecione o m\xE9todo de autentica\xE7\xE3o novamente.",
|
|
306644
|
+
"Press any key to return to authentication type selection.": "Pressione qualquer tecla para retornar \xE0 sele\xE7\xE3o do tipo de autentica\xE7\xE3o.",
|
|
306645
|
+
"Waiting for Qwen OAuth authentication...": "Aguardando autentica\xE7\xE3o Qwen OAuth...",
|
|
306646
|
+
"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.": "Nota: Sua chave de API existente no settings.json n\xE3o ser\xE1 limpa ao usar o Qwen OAuth. Voc\xEA pode voltar para a autentica\xE7\xE3o do OpenAI mais tarde, se necess\xE1rio.",
|
|
306647
|
+
"Authentication timed out. Please try again.": "A autentica\xE7\xE3o expirou. Tente novamente.",
|
|
306648
|
+
"Waiting for auth... (Press ESC or CTRL+C to cancel)": "Aguardando autentica\xE7\xE3o... (Pressione ESC ou CTRL+C para cancelar)",
|
|
306649
|
+
"Missing API key for OpenAI-compatible auth. Set settings.security.auth.apiKey, or set the {{envKeyHint}} environment variable.": "Chave de API ausente para autentica\xE7\xE3o compat\xEDvel com OpenAI. Defina settings.security.auth.apiKey ou a vari\xE1vel de ambiente {{envKeyHint}}.",
|
|
306650
|
+
"{{envKeyHint}} environment variable not found.": "Vari\xE1vel de ambiente {{envKeyHint}} n\xE3o encontrada.",
|
|
306651
|
+
"{{envKeyHint}} environment variable not found. Please set it in your .env file or environment variables.": "Vari\xE1vel de ambiente {{envKeyHint}} n\xE3o encontrada. Defina-a no seu arquivo .env ou vari\xE1veis de ambiente.",
|
|
306652
|
+
"{{envKeyHint}} environment variable not found (or set settings.security.auth.apiKey). Please set it in your .env file or environment variables.": "Vari\xE1vel de ambiente {{envKeyHint}} n\xE3o encontrada (ou defina settings.security.auth.apiKey). Defina-a no seu arquivo .env ou vari\xE1veis de ambiente.",
|
|
306653
|
+
"Missing API key for OpenAI-compatible auth. Set the {{envKeyHint}} environment variable.": "Chave de API ausente para autentica\xE7\xE3o compat\xEDvel com OpenAI. Defina a vari\xE1vel de ambiente {{envKeyHint}}.",
|
|
306654
|
+
"Anthropic provider missing required baseUrl in modelProviders[].baseUrl.": "Provedor Anthropic sem a baseUrl necess\xE1ria em modelProviders[].baseUrl.",
|
|
306655
|
+
"ANTHROPIC_BASE_URL environment variable not found.": "Vari\xE1vel de ambiente ANTHROPIC_BASE_URL n\xE3o encontrada.",
|
|
306656
|
+
"Invalid auth method selected.": "M\xE9todo de autentica\xE7\xE3o inv\xE1lido selecionado.",
|
|
306657
|
+
"Failed to authenticate. Message: {{message}}": "Falha ao autenticar. Mensagem: {{message}}",
|
|
306658
|
+
"Authenticated successfully with {{authType}} credentials.": "Autenticado com sucesso com credenciais {{authType}}.",
|
|
306659
|
+
'Invalid QWEN_DEFAULT_AUTH_TYPE value: "{{value}}". Valid values are: {{validValues}}': 'Valor QWEN_DEFAULT_AUTH_TYPE inv\xE1lido: "{{value}}". Valores v\xE1lidos s\xE3o: {{validValues}}',
|
|
306660
|
+
"OpenAI Configuration Required": "Configura\xE7\xE3o do OpenAI Necess\xE1ria",
|
|
306661
|
+
"Please enter your OpenAI configuration. You can get an API key from": "Insira sua configura\xE7\xE3o do OpenAI. Voc\xEA pode obter uma chave de API de",
|
|
306662
|
+
"API Key:": "Chave da API:",
|
|
306663
|
+
"Invalid credentials: {{errorMessage}}": "Credenciais inv\xE1lidas: {{errorMessage}}",
|
|
306664
|
+
"Failed to validate credentials": "Falha ao validar credenciais",
|
|
306665
|
+
"Press Enter to continue, Tab/\u2191\u2193 to navigate, Esc to cancel": "Pressione Enter para continuar, Tab/\u2191\u2193 para navegar, Esc para cancelar",
|
|
306666
|
+
// ============================================================================
|
|
306667
|
+
// Dialogs - Model
|
|
306668
|
+
// ============================================================================
|
|
306669
|
+
"Select Model": "Selecionar Modelo",
|
|
306670
|
+
"(Press Esc to close)": "(Pressione Esc para fechar)",
|
|
306671
|
+
"Current (effective) configuration": "Configura\xE7\xE3o atual (efetiva)",
|
|
306672
|
+
AuthType: "AuthType",
|
|
306673
|
+
"API Key": "Chave da API",
|
|
306674
|
+
unset: "n\xE3o definido",
|
|
306675
|
+
"(default)": "(padr\xE3o)",
|
|
306676
|
+
"(set)": "(definido)",
|
|
306677
|
+
"(not set)": "(n\xE3o definido)",
|
|
306678
|
+
"Failed to switch model to '{{modelId}}'.\n\n{{error}}": "Falha ao trocar o modelo para '{{modelId}}'.\n\n{{error}}",
|
|
306679
|
+
"The latest Qwen Coder model from Alibaba Cloud ModelStudio (version: qwen3-coder-plus-2025-09-23)": "O modelo Qwen Coder mais recente do Alibaba Cloud ModelStudio (vers\xE3o: qwen3-coder-plus-2025-09-23)",
|
|
306680
|
+
"The latest Qwen Vision model from Alibaba Cloud ModelStudio (version: qwen3-vl-plus-2025-09-23)": "O modelo Qwen Vision mais recente do Alibaba Cloud ModelStudio (vers\xE3o: qwen3-vl-plus-2025-09-23)",
|
|
306681
|
+
// ============================================================================
|
|
306682
|
+
// Dialogs - Permissions
|
|
306683
|
+
// ============================================================================
|
|
306684
|
+
"Manage folder trust settings": "Gerenciar configura\xE7\xF5es de confian\xE7a de pasta",
|
|
306685
|
+
// ============================================================================
|
|
306686
|
+
// Status Bar
|
|
306687
|
+
// ============================================================================
|
|
306688
|
+
"Using:": "Usando:",
|
|
306689
|
+
"{{count}} open file": "{{count}} arquivo aberto",
|
|
306690
|
+
"{{count}} open files": "{{count}} arquivos abertos",
|
|
306691
|
+
"(ctrl+g to view)": "(ctrl+g para ver)",
|
|
306692
|
+
"{{count}} {{name}} file": "{{count}} arquivo {{name}}",
|
|
306693
|
+
"{{count}} {{name}} files": "{{count}} arquivos {{name}}",
|
|
306694
|
+
"{{count}} MCP server": "{{count}} servidor MCP",
|
|
306695
|
+
"{{count}} MCP servers": "{{count}} servidores MCP",
|
|
306696
|
+
"{{count}} Blocked": "{{count}} Bloqueados",
|
|
306697
|
+
"(ctrl+t to view)": "(ctrl+t para ver)",
|
|
306698
|
+
"(ctrl+t to toggle)": "(ctrl+t para alternar)",
|
|
306699
|
+
"Press Ctrl+C again to exit.": "Pressione Ctrl+C novamente para sair.",
|
|
306700
|
+
"Press Ctrl+D again to exit.": "Pressione Ctrl+D novamente para sair.",
|
|
306701
|
+
"Press Esc again to clear.": "Pressione Esc novamente para limpar.",
|
|
306702
|
+
// ============================================================================
|
|
306703
|
+
// MCP Status
|
|
306704
|
+
// ============================================================================
|
|
306705
|
+
"No MCP servers configured.": "Nenhum servidor MCP configurado.",
|
|
306706
|
+
"Please view MCP documentation in your browser:": "Veja a documenta\xE7\xE3o do MCP no seu navegador:",
|
|
306707
|
+
"or use the cli /docs command": "ou use o comando cli /docs",
|
|
306708
|
+
"\u23F3 MCP servers are starting up ({{count}} initializing)...": "\u23F3 Servidores MCP est\xE3o iniciando ({{count}} inicializando)...",
|
|
306709
|
+
"Note: First startup may take longer. Tool availability will update automatically.": "Nota: A primeira inicializa\xE7\xE3o pode demorar mais. A disponibilidade da ferramenta ser\xE1 atualizada automaticamente.",
|
|
306710
|
+
"Configured MCP servers:": "Servidores MCP configurados:",
|
|
306711
|
+
Ready: "Pronto",
|
|
306712
|
+
"Starting... (first startup may take longer)": "Iniciando... (a primeira inicializa\xE7\xE3o pode demorar mais)",
|
|
306713
|
+
Disconnected: "Desconectado",
|
|
306714
|
+
"{{count}} tool": "{{count}} ferramenta",
|
|
306715
|
+
"{{count}} tools": "{{count}} ferramentas",
|
|
306716
|
+
"{{count}} prompt": "{{count}} prompt",
|
|
306717
|
+
"{{count}} prompts": "{{count}} prompts",
|
|
306718
|
+
"(from {{extensionName}})": "(de {{extensionName}})",
|
|
306719
|
+
OAuth: "OAuth",
|
|
306720
|
+
"OAuth expired": "OAuth expirado",
|
|
306721
|
+
"OAuth not authenticated": "OAuth n\xE3o autenticado",
|
|
306722
|
+
"tools and prompts will appear when ready": "ferramentas e prompts aparecer\xE3o quando estiverem prontos",
|
|
306723
|
+
"{{count}} tools cached": "{{count}} ferramentas em cache",
|
|
306724
|
+
"Tools:": "Ferramentas:",
|
|
306725
|
+
"Parameters:": "Par\xE2metros:",
|
|
306726
|
+
"Prompts:": "Prompts:",
|
|
306727
|
+
Blocked: "Bloqueado",
|
|
306728
|
+
"\u{1F4A1} Tips:": "\u{1F4A1} Dicas:",
|
|
306729
|
+
Use: "Use",
|
|
306730
|
+
"to show server and tool descriptions": "para mostrar descri\xE7\xF5es de servidores e ferramentas",
|
|
306731
|
+
"to show tool parameter schemas": "para mostrar esquemas de par\xE2metros de ferramentas",
|
|
306732
|
+
"to hide descriptions": "para ocultar descri\xE7\xF5es",
|
|
306733
|
+
"to authenticate with OAuth-enabled servers": "para autenticar com servidores habilitados para OAuth",
|
|
306734
|
+
Press: "Pressione",
|
|
306735
|
+
"to toggle tool descriptions on/off": "para alternar descri\xE7\xF5es de ferramentas ligadas/desligadas",
|
|
306736
|
+
"Starting OAuth authentication for MCP server '{{name}}'...": "Iniciando autentica\xE7\xE3o OAuth para servidor MCP '{{name}}'...",
|
|
306737
|
+
"Restarting MCP servers...": "Reiniciando servidores MCP...",
|
|
306738
|
+
// ============================================================================
|
|
306739
|
+
// Startup Tips
|
|
306740
|
+
// ============================================================================
|
|
306741
|
+
"Tips:": "Dicas:",
|
|
306742
|
+
"Use /compress when the conversation gets long to summarize history and free up context.": "Use /compress quando a conversa ficar longa para resumir o hist\xF3rico e liberar contexto.",
|
|
306743
|
+
"Start a fresh idea with /clear or /new; the previous session stays available in history.": "Comece uma nova ideia com /clear ou /new; a sess\xE3o anterior permanece dispon\xEDvel no hist\xF3rico.",
|
|
306744
|
+
"Use /bug to submit issues to the maintainers when something goes off.": "Use /bug para enviar problemas aos mantenedores quando algo der errado.",
|
|
306745
|
+
"Switch auth type quickly with /auth.": "Troque o tipo de autentica\xE7\xE3o rapidamente com /auth.",
|
|
306746
|
+
"You can run any shell commands from Qwen Code using ! (e.g. !ls).": "Voc\xEA pode executar quaisquer comandos shell do Qwen Code usando ! (ex: !ls).",
|
|
306747
|
+
"Type / to open the command popup; Tab autocompletes slash commands and saved prompts.": "Digite / para abrir o popup de comandos; Tab autocompleta comandos de barra e prompts salvos.",
|
|
306748
|
+
"You can resume a previous conversation by running qwen --continue or qwen --resume.": "Voc\xEA pode retomar uma conversa anterior executando qwen --continue ou qwen --resume.",
|
|
306749
|
+
"You can switch permission mode quickly with Shift+Tab or /approval-mode.": "Voc\xEA pode alternar o modo de permiss\xE3o rapidamente com Shift+Tab ou /approval-mode.",
|
|
306750
|
+
// ============================================================================
|
|
306751
|
+
// Exit Screen / Stats
|
|
306752
|
+
// ============================================================================
|
|
306753
|
+
"Agent powering down. Goodbye!": "Agente desligando. Adeus!",
|
|
306754
|
+
"To continue this session, run": "Para continuar esta sess\xE3o, execute",
|
|
306755
|
+
"Interaction Summary": "Resumo da Intera\xE7\xE3o",
|
|
306756
|
+
"Session ID:": "ID da Sess\xE3o:",
|
|
306757
|
+
"Tool Calls:": "Chamadas de Ferramenta:",
|
|
306758
|
+
"Success Rate:": "Taxa de Sucesso:",
|
|
306759
|
+
"User Agreement:": "Acordo do Usu\xE1rio:",
|
|
306760
|
+
reviewed: "revisado",
|
|
306761
|
+
"Code Changes:": "Altera\xE7\xF5es de C\xF3digo:",
|
|
306762
|
+
Performance: "Desempenho",
|
|
306763
|
+
"Wall Time:": "Tempo Total:",
|
|
306764
|
+
"Agent Active:": "Agente Ativo:",
|
|
306765
|
+
"API Time:": "Tempo de API:",
|
|
306766
|
+
"Tool Time:": "Tempo de Ferramenta:",
|
|
306767
|
+
"Session Stats": "Estat\xEDsticas da Sess\xE3o",
|
|
306768
|
+
"Model Usage": "Uso do Modelo",
|
|
306769
|
+
Reqs: "Reqs",
|
|
306770
|
+
"Input Tokens": "Tokens de Entrada",
|
|
306771
|
+
"Output Tokens": "Tokens de Sa\xEDda",
|
|
306772
|
+
"Savings Highlight:": "Destaque de Economia:",
|
|
306773
|
+
"of input tokens were served from the cache, reducing costs.": "de tokens de entrada foram servidos do cache, reduzindo custos.",
|
|
306774
|
+
"Tip: For a full token breakdown, run `/stats model`.": "Dica: Para um detalhamento completo de tokens, execute `/stats model`.",
|
|
306775
|
+
"Model Stats For Nerds": "Estat\xEDsticas de Modelo Para Nerds",
|
|
306776
|
+
"Tool Stats For Nerds": "Estat\xEDsticas de Ferramenta Para Nerds",
|
|
306777
|
+
Metric: "M\xE9trica",
|
|
306778
|
+
API: "API",
|
|
306779
|
+
Requests: "Solicita\xE7\xF5es",
|
|
306780
|
+
Errors: "Erros",
|
|
306781
|
+
"Avg Latency": "Lat\xEAncia M\xE9dia",
|
|
306782
|
+
Tokens: "Tokens",
|
|
306783
|
+
Total: "Total",
|
|
306784
|
+
Prompt: "Prompt",
|
|
306785
|
+
Cached: "Cacheado",
|
|
306786
|
+
Thoughts: "Pensamentos",
|
|
306787
|
+
Tool: "Ferramenta",
|
|
306788
|
+
Output: "Sa\xEDda",
|
|
306789
|
+
"No API calls have been made in this session.": "Nenhuma chamada de API foi feita nesta sess\xE3o.",
|
|
306790
|
+
"Tool Name": "Nome da Ferramenta",
|
|
306791
|
+
Calls: "Chamadas",
|
|
306792
|
+
"Success Rate": "Taxa de Sucesso",
|
|
306793
|
+
"Avg Duration": "Dura\xE7\xE3o M\xE9dia",
|
|
306794
|
+
"User Decision Summary": "Resumo de Decis\xE3o do Usu\xE1rio",
|
|
306795
|
+
"Total Reviewed Suggestions:": "Total de Sugest\xF5es Revisadas:",
|
|
306796
|
+
" \xBB Accepted:": " \xBB Aceitas:",
|
|
306797
|
+
" \xBB Rejected:": " \xBB Rejeitadas:",
|
|
306798
|
+
" \xBB Modified:": " \xBB Modificadas:",
|
|
306799
|
+
" Overall Agreement Rate:": " Taxa Geral de Acordo:",
|
|
306800
|
+
"No tool calls have been made in this session.": "Nenhuma chamada de ferramenta foi feita nesta sess\xE3o.",
|
|
306801
|
+
"Session start time is unavailable, cannot calculate stats.": "Hora de in\xEDcio da sess\xE3o indispon\xEDvel, n\xE3o \xE9 poss\xEDvel calcular estat\xEDsticas.",
|
|
306802
|
+
// ============================================================================
|
|
306803
|
+
// Command Format Migration
|
|
306804
|
+
// ============================================================================
|
|
306805
|
+
"Command Format Migration": "Migra\xE7\xE3o de Formato de Comando",
|
|
306806
|
+
"Found {{count}} TOML command file:": "Encontrado {{count}} arquivo de comando TOML:",
|
|
306807
|
+
"Found {{count}} TOML command files:": "Encontrados {{count}} arquivos de comando TOML:",
|
|
306808
|
+
"... and {{count}} more": "... e mais {{count}}",
|
|
306809
|
+
"The TOML format is deprecated. Would you like to migrate them to Markdown format?": "O formato TOML est\xE1 obsoleto. Voc\xEA gostaria de migr\xE1-los para o formato Markdown?",
|
|
306810
|
+
"(Backups will be created and original files will be preserved)": "(Backups ser\xE3o criados e arquivos originais ser\xE3o preservados)",
|
|
306811
|
+
// ============================================================================
|
|
306812
|
+
// Loading Phrases
|
|
306813
|
+
// ============================================================================
|
|
306814
|
+
"Waiting for user confirmation...": "Aguardando confirma\xE7\xE3o do usu\xE1rio...",
|
|
306815
|
+
"(esc to cancel, {{time}})": "(esc para cancelar, {{time}})",
|
|
306816
|
+
WITTY_LOADING_PHRASES: [
|
|
306817
|
+
"Estou com sorte",
|
|
306818
|
+
"Enviando maravilhas...",
|
|
306819
|
+
"Pintando os serifos de volta...",
|
|
306820
|
+
"Navegando pelo mofo limoso...",
|
|
306821
|
+
"Consultando os esp\xEDritos digitais...",
|
|
306822
|
+
"Reticulando splines...",
|
|
306823
|
+
"Aquecendo os hamsters da IA...",
|
|
306824
|
+
"Perguntando \xE0 concha m\xE1gica...",
|
|
306825
|
+
"Gerando r\xE9plica espirituosa...",
|
|
306826
|
+
"Polindo os algoritmos...",
|
|
306827
|
+
"N\xE3o apresse a perfei\xE7\xE3o (ou meu c\xF3digo)...",
|
|
306828
|
+
"Preparando bytes frescos...",
|
|
306829
|
+
"Contando el\xE9trons...",
|
|
306830
|
+
"Engajando processadores cognitivos...",
|
|
306831
|
+
"Verificando erros de sintaxe no universo...",
|
|
306832
|
+
"Um momento, otimizando o humor...",
|
|
306833
|
+
"Embaralhando piadas...",
|
|
306834
|
+
"Desembara\xE7ando redes neurais...",
|
|
306835
|
+
"Compilando brilhantismo...",
|
|
306836
|
+
"Carregando humor.exe...",
|
|
306837
|
+
"Invocando a nuvem da sabedoria...",
|
|
306838
|
+
"Preparando uma resposta espirituosa...",
|
|
306839
|
+
"S\xF3 um segundo, estou depurando a realidade...",
|
|
306840
|
+
"Confundindo as op\xE7\xF5es...",
|
|
306841
|
+
"Sintonizando as frequ\xEAncias c\xF3smicas...",
|
|
306842
|
+
"Criando uma resposta digna da sua paci\xEAncia...",
|
|
306843
|
+
"Compilando os 1s e 0s...",
|
|
306844
|
+
"Resolvendo depend\xEAncias... e crises existenciais...",
|
|
306845
|
+
"Desfragmentando mem\xF3rias... tanto RAM quanto pessoais...",
|
|
306846
|
+
"Reiniciando o m\xF3dulo de humor...",
|
|
306847
|
+
"Fazendo cache do essencial (principalmente memes de gatos)...",
|
|
306848
|
+
"Otimizando para velocidade absurda",
|
|
306849
|
+
"Trocando bits... n\xE3o conte para os bytes...",
|
|
306850
|
+
"Coletando lixo... volto j\xE1...",
|
|
306851
|
+
"Montando a internet...",
|
|
306852
|
+
"Convertendo caf\xE9 em c\xF3digo...",
|
|
306853
|
+
"Atualizando a sintaxe da realidade...",
|
|
306854
|
+
"Reconectando as sinapses...",
|
|
306855
|
+
"Procurando um ponto e v\xEDrgula perdido...",
|
|
306856
|
+
"Lubrificando as engrenagens da m\xE1quina...",
|
|
306857
|
+
"Pr\xE9-aquecendo os servidores...",
|
|
306858
|
+
"Calibrando o capacitor de fluxo...",
|
|
306859
|
+
"Engajando o motor de improbabilidade...",
|
|
306860
|
+
"Canalizando a For\xE7a...",
|
|
306861
|
+
"Alinhando as estrelas para uma resposta ideal...",
|
|
306862
|
+
"Assim dizemos todos...",
|
|
306863
|
+
"Carregando a pr\xF3xima grande ideia...",
|
|
306864
|
+
"S\xF3 um momento, estou na zona...",
|
|
306865
|
+
"Preparando para deslumbr\xE1-lo com brilhantismo...",
|
|
306866
|
+
"S\xF3 um tique, estou polindo minha intelig\xEAncia...",
|
|
306867
|
+
"Segure firme, estou criando uma obra-prima...",
|
|
306868
|
+
"S\xF3 um instante, estou depurando o universo...",
|
|
306869
|
+
"S\xF3 um momento, estou alinhando os pixels...",
|
|
306870
|
+
"S\xF3 um segundo, estou otimizando o humor...",
|
|
306871
|
+
"S\xF3 um momento, estou ajustando os algoritmos...",
|
|
306872
|
+
"Velocidade de dobra engajada...",
|
|
306873
|
+
"Minerando mais cristais de Dilithium...",
|
|
306874
|
+
"N\xE3o entre em p\xE2nico...",
|
|
306875
|
+
"Seguindo o coelho branco...",
|
|
306876
|
+
"A verdade est\xE1 l\xE1 fora... em algum lugar...",
|
|
306877
|
+
"Soprando o cartucho...",
|
|
306878
|
+
"Carregando... Fa\xE7a um barrel roll!",
|
|
306879
|
+
"Aguardando o respawn...",
|
|
306880
|
+
"Terminando a Kessel Run em menos de 12 parsecs...",
|
|
306881
|
+
"O bolo n\xE3o \xE9 uma mentira, s\xF3 ainda est\xE1 carregando...",
|
|
306882
|
+
"Mexendo na tela de cria\xE7\xE3o de personagem...",
|
|
306883
|
+
"S\xF3 um momento, estou encontrando o meme certo...",
|
|
306884
|
+
"Pressionando 'A' para continuar...",
|
|
306885
|
+
"Pastoreando gatos digitais...",
|
|
306886
|
+
"Polindo os pixels...",
|
|
306887
|
+
"Encontrando um trocadilho adequado para a tela de carregamento...",
|
|
306888
|
+
"Distraindo voc\xEA com esta frase espirituosa...",
|
|
306889
|
+
"Quase l\xE1... provavelmente...",
|
|
306890
|
+
"Nossos hamsters est\xE3o trabalhando o mais r\xE1pido que podem...",
|
|
306891
|
+
"Dando um tapinha na cabe\xE7a do Cloudy...",
|
|
306892
|
+
"Acariciando o gato...",
|
|
306893
|
+
"Dando um Rickroll no meu chefe...",
|
|
306894
|
+
"Never gonna give you up, never gonna let you down...",
|
|
306895
|
+
"Tocando o baixo...",
|
|
306896
|
+
"Provando as amoras...",
|
|
306897
|
+
"Estou indo longe, estou indo pela velocidade...",
|
|
306898
|
+
"Isso \xE9 vida real? Ou \xE9 apenas fantasia?...",
|
|
306899
|
+
"Tenho um bom pressentimento sobre isso...",
|
|
306900
|
+
"Cutucando o urso...",
|
|
306901
|
+
"Fazendo pesquisa sobre os \xFAltimos memes...",
|
|
306902
|
+
"Descobrindo como tornar isso mais espirituoso...",
|
|
306903
|
+
"Hmmm... deixe-me pensar...",
|
|
306904
|
+
"O que voc\xEA chama de um peixe sem olhos? Um pxe...",
|
|
306905
|
+
"Por que o computador foi \xE0 terapia? Porque tinha muitos bytes...",
|
|
306906
|
+
"Por que programadores n\xE3o gostam da natureza? Porque tem muitos bugs...",
|
|
306907
|
+
"Por que programadores preferem o modo escuro? Porque a luz atrai bugs...",
|
|
306908
|
+
"Por que o desenvolvedor faliu? Porque usou todo o seu cache...",
|
|
306909
|
+
"O que voc\xEA pode fazer com um l\xE1pis quebrado? Nada, ele n\xE3o tem ponta...",
|
|
306910
|
+
"Aplicando manuten\xE7\xE3o percussiva...",
|
|
306911
|
+
"Procurando a orienta\xE7\xE3o correta do USB...",
|
|
306912
|
+
"Garantindo que a fuma\xE7a m\xE1gica permane\xE7a dentro dos fios...",
|
|
306913
|
+
"Tentando sair do Vim...",
|
|
306914
|
+
"Girando a roda do hamster...",
|
|
306915
|
+
"Isso n\xE3o \xE9 um bug, \xE9 um recurso n\xE3o documentado...",
|
|
306916
|
+
"Engajar.",
|
|
306917
|
+
"Eu voltarei... com uma resposta.",
|
|
306918
|
+
"Meu outro processo \xE9 uma TARDIS...",
|
|
306919
|
+
"Comungando com o esp\xEDrito da m\xE1quina...",
|
|
306920
|
+
"Deixando os pensamentos marinarem...",
|
|
306921
|
+
"Lembrei agora onde coloquei minhas chaves...",
|
|
306922
|
+
"Ponderando a orbe...",
|
|
306923
|
+
"Eu vi coisas que voc\xEAs n\xE3o acreditariam... como um usu\xE1rio que l\xEA mensagens de carregamento.",
|
|
306924
|
+
"Iniciando olhar pensativo...",
|
|
306925
|
+
"Qual \xE9 o lanche favorito de um computador? Microchips.",
|
|
306926
|
+
"Por que desenvolvedores Java usam \xF3culos? Porque eles n\xE3o C#.",
|
|
306927
|
+
"Carregando o laser... pew pew!",
|
|
306928
|
+
"Dividindo por zero... s\xF3 brincando!",
|
|
306929
|
+
"Procurando por um supervisor adulto... digo, processando.",
|
|
306930
|
+
"Fazendo bip boop.",
|
|
306931
|
+
"Buffering... porque at\xE9 as IAs precisam de um momento.",
|
|
306932
|
+
"Entrela\xE7ando part\xEDculas qu\xE2nticas para uma resposta mais r\xE1pida...",
|
|
306933
|
+
"Polindo o cromo... nos algoritmos.",
|
|
306934
|
+
"Voc\xEA n\xE3o est\xE1 entretido? (Trabalhando nisso!)",
|
|
306935
|
+
"Invocando os gremlins do c\xF3digo... para ajudar, \xE9 claro.",
|
|
306936
|
+
"S\xF3 esperando o som da conex\xE3o discada terminar...",
|
|
306937
|
+
"Recalibrando o humor\xF4metro.",
|
|
306938
|
+
"Minha outra tela de carregamento \xE9 ainda mais engra\xE7ada.",
|
|
306939
|
+
"Tenho quase certeza que tem um gato andando no teclado em algum lugar...",
|
|
306940
|
+
"Aumentando... Aumentando... Ainda carregando.",
|
|
306941
|
+
"N\xE3o \xE9 um bug, \xE9 um recurso... desta tela de carregamento.",
|
|
306942
|
+
"Voc\xEA j\xE1 tentou desligar e ligar de novo? (A tela de carregamento, n\xE3o eu.)",
|
|
306943
|
+
"Construindo pilares adicionais..."
|
|
306944
|
+
],
|
|
306945
|
+
// ============================================================================
|
|
306946
|
+
// Extension Settings Input
|
|
306947
|
+
// ============================================================================
|
|
306948
|
+
"Enter value...": "Digite o valor...",
|
|
306949
|
+
"Enter sensitive value...": "Digite o valor sens\xEDvel...",
|
|
306950
|
+
"Press Enter to submit, Escape to cancel": "Pressione Enter para enviar, Escape para cancelar",
|
|
306951
|
+
// ============================================================================
|
|
306952
|
+
// Command Migration Tool
|
|
306953
|
+
// ============================================================================
|
|
306954
|
+
"Markdown file already exists: {{filename}}": "Arquivo Markdown j\xE1 existe: {{filename}}",
|
|
306955
|
+
"TOML Command Format Deprecation Notice": "Aviso de Obsolesc\xEAncia do Formato de Comando TOML",
|
|
306956
|
+
"Found {{count}} command file(s) in TOML format:": "Encontrado(s) {{count}} arquivo(s) de comando no formato TOML:",
|
|
306957
|
+
"The TOML format for commands is being deprecated in favor of Markdown format.": "O formato TOML para comandos est\xE1 sendo descontinuado em favor do formato Markdown.",
|
|
306958
|
+
"Markdown format is more readable and easier to edit.": "O formato Markdown \xE9 mais leg\xEDvel e f\xE1cil de editar.",
|
|
306959
|
+
"You can migrate these files automatically using:": "Voc\xEA pode migrar esses arquivos automaticamente usando:",
|
|
306960
|
+
"Or manually convert each file:": "Ou converter manualmente cada arquivo:",
|
|
306961
|
+
'TOML: prompt = "..." / description = "..."': 'TOML: prompt = "..." / description = "..."',
|
|
306962
|
+
"Markdown: YAML frontmatter + content": "Markdown: YAML frontmatter + conte\xFAdo",
|
|
306963
|
+
"The migration tool will:": "A ferramenta de migra\xE7\xE3o ir\xE1:",
|
|
306964
|
+
"Convert TOML files to Markdown": "Converter arquivos TOML para Markdown",
|
|
306965
|
+
"Create backups of original files": "Criar backups dos arquivos originais",
|
|
306966
|
+
"Preserve all command functionality": "Preservar toda a funcionalidade do comando",
|
|
306967
|
+
"TOML format will continue to work for now, but migration is recommended.": "O formato TOML continuar\xE1 a funcionar por enquanto, mas a migra\xE7\xE3o \xE9 recomendada.",
|
|
306968
|
+
// ============================================================================
|
|
306969
|
+
// Extensions - Explore Command
|
|
306970
|
+
// ============================================================================
|
|
306971
|
+
"Open extensions page in your browser": "Abrir p\xE1gina de extens\xF5es no seu navegador",
|
|
306972
|
+
"Unknown extensions source: {{source}}.": "Fonte de extens\xF5es desconhecida: {{source}}.",
|
|
306973
|
+
"Would open extensions page in your browser: {{url}} (skipped in test environment)": "Abriria a p\xE1gina de extens\xF5es no seu navegador: {{url}} (pulado no ambiente de teste)",
|
|
306974
|
+
"View available extensions at {{url}}": "Ver extens\xF5es dispon\xEDveis em {{url}}",
|
|
306975
|
+
"Opening extensions page in your browser: {{url}}": "Abrindo p\xE1gina de extens\xF5es no seu navegador: {{url}}",
|
|
306976
|
+
"Failed to open browser. Check out the extensions gallery at {{url}}": "Falha ao abrir o navegador. Confira a galeria de extens\xF5es em {{url}}"
|
|
306977
|
+
};
|
|
306978
|
+
}
|
|
306979
|
+
});
|
|
306980
|
+
|
|
305291
306981
|
// packages/cli/src/i18n/locales/zh.js
|
|
305292
306982
|
var zh_exports = {};
|
|
305293
306983
|
__export(zh_exports, {
|
|
@@ -305365,7 +307055,7 @@ var init_zh = __esm({
|
|
|
305365
307055
|
// ============================================================================
|
|
305366
307056
|
// System Information Fields
|
|
305367
307057
|
// ============================================================================
|
|
305368
|
-
|
|
307058
|
+
RDMind: "RDMind",
|
|
305369
307059
|
Runtime: "\u8FD0\u884C\u73AF\u5883",
|
|
305370
307060
|
OS: "\u64CD\u4F5C\u7CFB\u7EDF",
|
|
305371
307061
|
Auth: "\u8BA4\u8BC1",
|
|
@@ -305678,6 +307368,17 @@ var init_zh = __esm({
|
|
|
305678
307368
|
"Update all extensions.": "\u66F4\u65B0\u6240\u6709\u6269\u5C55\u3002",
|
|
305679
307369
|
"Either an extension name or --all must be provided": "\u5FC5\u987B\u63D0\u4F9B\u6269\u5C55\u540D\u79F0\u6216 --all",
|
|
305680
307370
|
"Lists installed extensions.": "\u5217\u51FA\u5DF2\u5B89\u88C5\u7684\u6269\u5C55\u3002",
|
|
307371
|
+
"Path:": "\u8DEF\u5F84\uFF1A",
|
|
307372
|
+
"Source:": "\u6765\u6E90\uFF1A",
|
|
307373
|
+
"Type:": "\u7C7B\u578B\uFF1A",
|
|
307374
|
+
"Ref:": "\u5F15\u7528\uFF1A",
|
|
307375
|
+
"Release tag:": "\u53D1\u5E03\u6807\u7B7E\uFF1A",
|
|
307376
|
+
"Enabled (User):": "\u5DF2\u542F\u7528\uFF08\u7528\u6237\uFF09\uFF1A",
|
|
307377
|
+
"Enabled (Workspace):": "\u5DF2\u542F\u7528\uFF08\u5DE5\u4F5C\u533A\uFF09\uFF1A",
|
|
307378
|
+
"Context files:": "\u4E0A\u4E0B\u6587\u6587\u4EF6\uFF1A",
|
|
307379
|
+
"Skills:": "\u6280\u80FD\uFF1A",
|
|
307380
|
+
"Agents:": "\u4EE3\u7406\uFF1A",
|
|
307381
|
+
"MCP servers:": "MCP \u670D\u52A1\u5668\uFF1A",
|
|
305681
307382
|
"Link extension failed to install.": "\u94FE\u63A5\u6269\u5C55\u5B89\u88C5\u5931\u8D25\u3002",
|
|
305682
307383
|
'Extension "{{name}}" linked successfully and enabled.': '\u6269\u5C55 "{{name}}" \u94FE\u63A5\u6210\u529F\u5E76\u5DF2\u542F\u7528\u3002',
|
|
305683
307384
|
"Links an extension from a local path. Updates made to the local path will always be reflected.": "\u4ECE\u672C\u5730\u8DEF\u5F84\u94FE\u63A5\u6269\u5C55\u3002\u5BF9\u672C\u5730\u8DEF\u5F84\u7684\u66F4\u65B0\u5C06\u59CB\u7EC8\u53CD\u6620\u3002",
|
|
@@ -305735,18 +307436,19 @@ var init_zh = __esm({
|
|
|
305735
307436
|
// ============================================================================
|
|
305736
307437
|
// Commands - Language
|
|
305737
307438
|
// ============================================================================
|
|
305738
|
-
"Invalid language. Available:
|
|
307439
|
+
"Invalid language. Available: {{options}}": "\u65E0\u6548\u7684\u8BED\u8A00\u3002\u53EF\u7528\u9009\u9879\uFF1A{{options}}",
|
|
305739
307440
|
"Language subcommands do not accept additional arguments.": "\u8BED\u8A00\u5B50\u547D\u4EE4\u4E0D\u63A5\u53D7\u989D\u5916\u53C2\u6570",
|
|
305740
307441
|
"Current UI language: {{lang}}": "\u5F53\u524D UI \u8BED\u8A00\uFF1A{{lang}}",
|
|
305741
307442
|
"Current LLM output language: {{lang}}": "\u5F53\u524D LLM \u8F93\u51FA\u8BED\u8A00\uFF1A{{lang}}",
|
|
305742
307443
|
"LLM output language not set": "\u672A\u8BBE\u7F6E LLM \u8F93\u51FA\u8BED\u8A00",
|
|
305743
307444
|
"Set UI language": "\u8BBE\u7F6E UI \u8BED\u8A00",
|
|
305744
307445
|
"Set LLM output language": "\u8BBE\u7F6E LLM \u8F93\u51FA\u8BED\u8A00",
|
|
305745
|
-
"Usage: /language ui [
|
|
307446
|
+
"Usage: /language ui [{{options}}]": "\u7528\u6CD5\uFF1A/language ui [{{options}}]",
|
|
305746
307447
|
"Usage: /language output <language>": "\u7528\u6CD5\uFF1A/language output <\u8BED\u8A00>",
|
|
305747
307448
|
"Example: /language output \u4E2D\u6587": "\u793A\u4F8B\uFF1A/language output \u4E2D\u6587",
|
|
305748
307449
|
"Example: /language output English": "\u793A\u4F8B\uFF1A/language output English",
|
|
305749
307450
|
"Example: /language output \u65E5\u672C\u8A9E": "\u793A\u4F8B\uFF1A/language output \u65E5\u672C\u8A9E",
|
|
307451
|
+
"Example: /language output Portugu\xEAs": "\u793A\u4F8B\uFF1A/language output Portugu\xEAs",
|
|
305750
307452
|
"UI language changed to {{lang}}": "UI \u8BED\u8A00\u5DF2\u66F4\u6539\u4E3A {{lang}}",
|
|
305751
307453
|
"LLM output language set to {{lang}}": "LLM \u8F93\u51FA\u8BED\u8A00\u5DF2\u8BBE\u7F6E\u4E3A {{lang}}",
|
|
305752
307454
|
"LLM output language rule file generated at {{path}}": "LLM \u8F93\u51FA\u8BED\u8A00\u89C4\u5219\u6587\u4EF6\u5DF2\u751F\u6210\u4E8E {{path}}",
|
|
@@ -305756,10 +307458,7 @@ var init_zh = __esm({
|
|
|
305756
307458
|
"Available subcommands:": "\u53EF\u7528\u7684\u5B50\u547D\u4EE4\uFF1A",
|
|
305757
307459
|
"To request additional UI language packs, please open an issue on GitHub.": "\u5982\u9700\u8BF7\u6C42\u5176\u4ED6 UI \u8BED\u8A00\u5305\uFF0C\u8BF7\u5728 GitHub \u4E0A\u63D0\u4EA4 issue",
|
|
305758
307460
|
"Available options:": "\u53EF\u7528\u9009\u9879\uFF1A",
|
|
305759
|
-
"
|
|
305760
|
-
" - en-US: English": " - en-US: English",
|
|
305761
|
-
"Set UI language to Simplified Chinese (zh-CN)": "\u5C06 UI \u8BED\u8A00\u8BBE\u7F6E\u4E3A\u7B80\u4F53\u4E2D\u6587 (zh-CN)",
|
|
305762
|
-
"Set UI language to English (en-US)": "\u5C06 UI \u8BED\u8A00\u8BBE\u7F6E\u4E3A\u82F1\u8BED (en-US)",
|
|
307461
|
+
"Set UI language to {{name}}": "\u5C06 UI \u8BED\u8A00\u8BBE\u7F6E\u4E3A {{name}}",
|
|
305763
307462
|
// ============================================================================
|
|
305764
307463
|
// Commands - Approval Mode
|
|
305765
307464
|
// ============================================================================
|
|
@@ -306116,6 +307815,7 @@ var init_zh = __esm({
|
|
|
306116
307815
|
"RDMind now supports custom commands, sub-agents, skills and other features. Check the documentation for usage help.": "RDMind \u73B0\u5DF2\u652F\u6301\u81EA\u5B9A\u4E49\u547D\u4EE4\u3001\u5B50\u4EE3\u7406\u3001\u6280\u80FD\u7B49\u7279\u6027\uFF0C\u67E5\u9605\u6587\u6863\u83B7\u5F97\u4F7F\u7528\u5E2E\u52A9\u3002",
|
|
306117
307816
|
"Try asking RDMind to help you commit code.": "\u8BD5\u8BD5\u8BA9 RDMind \u5E2E\u4F60\u63D0\u4EA4\u4EE3\u7801\u3002",
|
|
306118
307817
|
"RDMind can read REDoc. Please do not upload documents involving user privacy and core algorithms.": "RDMind \u53EF\u4EE5\u8BFB\u61C2 REDoc\uFF0C\u6CE8\u610F\u4E0D\u8981\u4E0A\u4F20\u6D89\u53CA\u7528\u6237\u9690\u79C1\u548C\u6838\u5FC3\u7B97\u6CD5\u7684\u6587\u6863\u3002",
|
|
307818
|
+
"If you find RDMind useful, feel free to recommend it to your colleagues~": "\u5982\u679C\u89C9\u5F97 RDMind \u597D\u7528\uFF0C\u6B22\u8FCE\u5411\u540C\u4E8B\u63A8\u8350~",
|
|
306119
307819
|
// ============================================================================
|
|
306120
307820
|
// Exit Screen / Stats
|
|
306121
307821
|
// ============================================================================
|
|
@@ -342508,7 +344208,7 @@ var patchConsole = /* @__PURE__ */ __name((callback) => {
|
|
|
342508
344208
|
var dist_default2 = patchConsole;
|
|
342509
344209
|
|
|
342510
344210
|
// node_modules/ink/build/ink.js
|
|
342511
|
-
var
|
|
344211
|
+
var import_constants32 = __toESM(require_constants12(), 1);
|
|
342512
344212
|
|
|
342513
344213
|
// node_modules/yoga-layout/dist/src/index.js
|
|
342514
344214
|
init_esbuild_shims();
|
|
@@ -344571,7 +346271,7 @@ __name(wrapAnsi, "wrapAnsi");
|
|
|
344571
346271
|
// node_modules/ink/build/reconciler.js
|
|
344572
346272
|
init_esbuild_shims();
|
|
344573
346273
|
var import_react_reconciler = __toESM(require_react_reconciler(), 1);
|
|
344574
|
-
var
|
|
346274
|
+
var import_constants31 = __toESM(require_constants12(), 1);
|
|
344575
346275
|
import process16 from "node:process";
|
|
344576
346276
|
var import_react = __toESM(require_react(), 1);
|
|
344577
346277
|
|
|
@@ -345542,7 +347242,7 @@ var cleanupYogaNode = /* @__PURE__ */ __name((node) => {
|
|
|
345542
347242
|
node?.unsetMeasureFunc();
|
|
345543
347243
|
node?.freeRecursive();
|
|
345544
347244
|
}, "cleanupYogaNode");
|
|
345545
|
-
var currentUpdatePriority =
|
|
347245
|
+
var currentUpdatePriority = import_constants31.NoEventPriority;
|
|
345546
347246
|
var currentRootNode;
|
|
345547
347247
|
var reconciler_default = (0, import_react_reconciler.default)({
|
|
345548
347248
|
getRootHostContext: /* @__PURE__ */ __name(() => ({
|
|
@@ -345699,10 +347399,10 @@ var reconciler_default = (0, import_react_reconciler.default)({
|
|
|
345699
347399
|
},
|
|
345700
347400
|
getCurrentUpdatePriority: /* @__PURE__ */ __name(() => currentUpdatePriority, "getCurrentUpdatePriority"),
|
|
345701
347401
|
resolveUpdatePriority() {
|
|
345702
|
-
if (currentUpdatePriority !==
|
|
347402
|
+
if (currentUpdatePriority !== import_constants31.NoEventPriority) {
|
|
345703
347403
|
return currentUpdatePriority;
|
|
345704
347404
|
}
|
|
345705
|
-
return
|
|
347405
|
+
return import_constants31.DefaultEventPriority;
|
|
345706
347406
|
},
|
|
345707
347407
|
maySuspendCommit() {
|
|
345708
347408
|
return false;
|
|
@@ -348220,7 +349920,7 @@ var Ink = class {
|
|
|
348220
349920
|
this.fullStaticOutput = "";
|
|
348221
349921
|
this.container = reconciler_default.createContainer(
|
|
348222
349922
|
this.rootNode,
|
|
348223
|
-
|
|
349923
|
+
import_constants32.LegacyRoot,
|
|
348224
349924
|
null,
|
|
348225
349925
|
false,
|
|
348226
349926
|
null,
|
|
@@ -348675,34 +350375,17 @@ init_settings();
|
|
|
348675
350375
|
|
|
348676
350376
|
// packages/cli/src/i18n/index.ts
|
|
348677
350377
|
init_esbuild_shims();
|
|
350378
|
+
init_languages();
|
|
348678
350379
|
import * as fs80 from "node:fs";
|
|
348679
350380
|
import * as path83 from "node:path";
|
|
348680
350381
|
import { fileURLToPath as fileURLToPath8, pathToFileURL as pathToFileURL2 } from "node:url";
|
|
348681
350382
|
import { homedir as homedir18 } from "node:os";
|
|
348682
350383
|
|
|
348683
|
-
// packages/cli/src/i18n/languages.ts
|
|
348684
|
-
init_esbuild_shims();
|
|
348685
|
-
var SUPPORTED_LANGUAGES = [
|
|
348686
|
-
{
|
|
348687
|
-
code: "en",
|
|
348688
|
-
id: "en-US",
|
|
348689
|
-
fullName: "English"
|
|
348690
|
-
},
|
|
348691
|
-
{
|
|
348692
|
-
code: "zh",
|
|
348693
|
-
id: "zh-CN",
|
|
348694
|
-
fullName: "Chinese"
|
|
348695
|
-
}
|
|
348696
|
-
];
|
|
348697
|
-
function getLanguageNameFromLocale(locale) {
|
|
348698
|
-
const lang = SUPPORTED_LANGUAGES.find((l3) => l3.code === locale);
|
|
348699
|
-
return lang?.fullName || "English";
|
|
348700
|
-
}
|
|
348701
|
-
__name(getLanguageNameFromLocale, "getLanguageNameFromLocale");
|
|
348702
|
-
|
|
348703
350384
|
// import("./locales/**/*.js") in packages/cli/src/i18n/index.ts
|
|
348704
350385
|
var globImport_locales_js = __glob({
|
|
348705
350386
|
"./locales/en.js": () => Promise.resolve().then(() => (init_en3(), en_exports)),
|
|
350387
|
+
"./locales/ja.js": () => Promise.resolve().then(() => (init_ja(), ja_exports)),
|
|
350388
|
+
"./locales/pt.js": () => Promise.resolve().then(() => (init_pt(), pt_exports)),
|
|
348706
350389
|
"./locales/zh.js": () => Promise.resolve().then(() => (init_zh(), zh_exports))
|
|
348707
350390
|
});
|
|
348708
350391
|
|
|
@@ -348722,11 +350405,16 @@ var getLocalePath = /* @__PURE__ */ __name((lang, useUserDir = false) => {
|
|
|
348722
350405
|
}, "getLocalePath");
|
|
348723
350406
|
function detectSystemLanguage() {
|
|
348724
350407
|
const envLang = process.env["RDMind_LANG"] || process.env["LANG"];
|
|
348725
|
-
if (envLang
|
|
348726
|
-
|
|
350408
|
+
if (envLang) {
|
|
350409
|
+
for (const lang of SUPPORTED_LANGUAGES) {
|
|
350410
|
+
if (envLang.startsWith(lang.code)) return lang.code;
|
|
350411
|
+
}
|
|
350412
|
+
}
|
|
348727
350413
|
try {
|
|
348728
350414
|
const locale = Intl.DateTimeFormat().resolvedOptions().locale;
|
|
348729
|
-
|
|
350415
|
+
for (const lang of SUPPORTED_LANGUAGES) {
|
|
350416
|
+
if (locale.startsWith(lang.code)) return lang.code;
|
|
350417
|
+
}
|
|
348730
350418
|
} catch {
|
|
348731
350419
|
}
|
|
348732
350420
|
return "en";
|
|
@@ -348866,7 +350554,7 @@ function findModelConfig(modelProviders, authType, modelId) {
|
|
|
348866
350554
|
__name(findModelConfig, "findModelConfig");
|
|
348867
350555
|
function hasApiKeyForAuth(authType, settings, config2) {
|
|
348868
350556
|
const modelProviders = settings.modelProviders;
|
|
348869
|
-
const modelId = config2?.
|
|
350557
|
+
const modelId = config2?.getModelsConfig().getModel() ?? settings.model?.name;
|
|
348870
350558
|
const modelConfig = findModelConfig(modelProviders, authType, modelId);
|
|
348871
350559
|
if (modelConfig?.envKey) {
|
|
348872
350560
|
const hasKey2 = !!process.env[modelConfig.envKey];
|
|
@@ -348955,7 +350643,7 @@ function validateAuthMethod(authMethod, config2) {
|
|
|
348955
350643
|
return apiKeyError;
|
|
348956
350644
|
}
|
|
348957
350645
|
const modelProviders = settings.merged.modelProviders;
|
|
348958
|
-
const modelId = config2?.
|
|
350646
|
+
const modelId = config2?.getModelsConfig().getModel() ?? settings.merged.model?.name;
|
|
348959
350647
|
const modelConfig = findModelConfig(modelProviders, authMethod, modelId);
|
|
348960
350648
|
if (modelConfig && !modelConfig.baseUrl) {
|
|
348961
350649
|
return t4(
|
|
@@ -349449,26 +351137,26 @@ function extensionToOutputString(extension, extensionManager, workspaceDir, inli
|
|
|
349449
351137
|
const status = workspaceEnabled ? import_chalk5.default.green("\u2713") : import_chalk5.default.red("\u2717");
|
|
349450
351138
|
let output = `${inline2 ? "" : status} ${extension.config.name} (${extension.config.version})`;
|
|
349451
351139
|
output += `
|
|
349452
|
-
Path: ${extension.path}`;
|
|
351140
|
+
${t4("Path:")} ${extension.path}`;
|
|
349453
351141
|
if (extension.installMetadata) {
|
|
349454
351142
|
output += `
|
|
349455
|
-
Source: ${extension.installMetadata.source} (Type: ${extension.installMetadata.type})`;
|
|
351143
|
+
${t4("Source:")} ${extension.installMetadata.source} (${t4("Type:")} ${extension.installMetadata.type})`;
|
|
349456
351144
|
if (extension.installMetadata.ref) {
|
|
349457
351145
|
output += `
|
|
349458
|
-
Ref: ${extension.installMetadata.ref}`;
|
|
351146
|
+
${t4("Ref:")} ${extension.installMetadata.ref}`;
|
|
349459
351147
|
}
|
|
349460
351148
|
if (extension.installMetadata.releaseTag) {
|
|
349461
351149
|
output += `
|
|
349462
|
-
Release tag: ${extension.installMetadata.releaseTag}`;
|
|
351150
|
+
${t4("Release tag:")} ${extension.installMetadata.releaseTag}`;
|
|
349463
351151
|
}
|
|
349464
351152
|
}
|
|
349465
351153
|
output += `
|
|
349466
|
-
Enabled (User): ${userEnabled}`;
|
|
351154
|
+
${t4("Enabled (User):")} ${userEnabled}`;
|
|
349467
351155
|
output += `
|
|
349468
|
-
Enabled (Workspace): ${workspaceEnabled}`;
|
|
351156
|
+
${t4("Enabled (Workspace):")} ${workspaceEnabled}`;
|
|
349469
351157
|
if (extension.contextFiles.length > 0) {
|
|
349470
351158
|
output += `
|
|
349471
|
-
Context files
|
|
351159
|
+
${t4("Context files:")}`;
|
|
349472
351160
|
extension.contextFiles.forEach((contextFile) => {
|
|
349473
351161
|
output += `
|
|
349474
351162
|
${contextFile}`;
|
|
@@ -349476,15 +351164,31 @@ function extensionToOutputString(extension, extensionManager, workspaceDir, inli
|
|
|
349476
351164
|
}
|
|
349477
351165
|
if (extension.commands && extension.commands.length > 0) {
|
|
349478
351166
|
output += `
|
|
349479
|
-
Commands
|
|
351167
|
+
${t4("Commands:")}`;
|
|
349480
351168
|
extension.commands.forEach((command2) => {
|
|
349481
351169
|
output += `
|
|
349482
351170
|
/${command2}`;
|
|
349483
351171
|
});
|
|
349484
351172
|
}
|
|
351173
|
+
if (extension.skills && extension.skills.length > 0) {
|
|
351174
|
+
output += `
|
|
351175
|
+
${t4("Skills:")}`;
|
|
351176
|
+
extension.skills.forEach((skill) => {
|
|
351177
|
+
output += `
|
|
351178
|
+
${skill.name}`;
|
|
351179
|
+
});
|
|
351180
|
+
}
|
|
351181
|
+
if (extension.agents && extension.agents.length > 0) {
|
|
351182
|
+
output += `
|
|
351183
|
+
${t4("Agents:")}`;
|
|
351184
|
+
extension.agents.forEach((agent) => {
|
|
351185
|
+
output += `
|
|
351186
|
+
${agent.name}`;
|
|
351187
|
+
});
|
|
351188
|
+
}
|
|
349485
351189
|
if (extension.config.mcpServers) {
|
|
349486
351190
|
output += `
|
|
349487
|
-
MCP servers
|
|
351191
|
+
${t4("MCP servers:")}`;
|
|
349488
351192
|
Object.keys(extension.config.mcpServers).forEach((key) => {
|
|
349489
351193
|
output += `
|
|
349490
351194
|
${key}`;
|
|
@@ -355440,7 +357144,7 @@ __name(getPackageJson, "getPackageJson");
|
|
|
355440
357144
|
// packages/cli/src/utils/version.ts
|
|
355441
357145
|
async function getCliVersion() {
|
|
355442
357146
|
const pkgJson = await getPackageJson();
|
|
355443
|
-
return "0.2.2
|
|
357147
|
+
return "0.2.2";
|
|
355444
357148
|
}
|
|
355445
357149
|
__name(getCliVersion, "getCliVersion");
|
|
355446
357150
|
|
|
@@ -362731,126 +364435,11 @@ function validateTheme(settings) {
|
|
|
362731
364435
|
}
|
|
362732
364436
|
__name(validateTheme, "validateTheme");
|
|
362733
364437
|
|
|
362734
|
-
// packages/cli/src/utils/languageUtils.ts
|
|
362735
|
-
init_esbuild_shims();
|
|
362736
|
-
init_core5();
|
|
362737
|
-
import * as fs83 from "node:fs";
|
|
362738
|
-
import * as path91 from "node:path";
|
|
362739
|
-
var LLM_OUTPUT_LANGUAGE_RULE_FILENAME = "output-language.md";
|
|
362740
|
-
var LLM_OUTPUT_LANGUAGE_MARKER_PREFIX = "rdmind:llm-output-language:";
|
|
362741
|
-
var OUTPUT_LANGUAGE_AUTO = "auto";
|
|
362742
|
-
function isAutoLanguage(value) {
|
|
362743
|
-
return !value || value.toLowerCase() === OUTPUT_LANGUAGE_AUTO;
|
|
362744
|
-
}
|
|
362745
|
-
__name(isAutoLanguage, "isAutoLanguage");
|
|
362746
|
-
function normalizeOutputLanguage(language) {
|
|
362747
|
-
const lowered = language.toLowerCase();
|
|
362748
|
-
const fullName = getLanguageNameFromLocale(lowered);
|
|
362749
|
-
if (fullName !== "English" || lowered === "en") {
|
|
362750
|
-
return fullName;
|
|
362751
|
-
}
|
|
362752
|
-
return language;
|
|
362753
|
-
}
|
|
362754
|
-
__name(normalizeOutputLanguage, "normalizeOutputLanguage");
|
|
362755
|
-
function resolveOutputLanguage(value) {
|
|
362756
|
-
if (isAutoLanguage(value)) {
|
|
362757
|
-
const detectedLocale = detectSystemLanguage();
|
|
362758
|
-
return getLanguageNameFromLocale(detectedLocale);
|
|
362759
|
-
}
|
|
362760
|
-
return normalizeOutputLanguage(value);
|
|
362761
|
-
}
|
|
362762
|
-
__name(resolveOutputLanguage, "resolveOutputLanguage");
|
|
362763
|
-
function getOutputLanguageFilePath() {
|
|
362764
|
-
return path91.join(
|
|
362765
|
-
Storage.getGlobalQwenDir(),
|
|
362766
|
-
LLM_OUTPUT_LANGUAGE_RULE_FILENAME
|
|
362767
|
-
);
|
|
362768
|
-
}
|
|
362769
|
-
__name(getOutputLanguageFilePath, "getOutputLanguageFilePath");
|
|
362770
|
-
function sanitizeForMarker(language) {
|
|
362771
|
-
return language.replace(/[\r\n]/g, " ").replace(/--!?>/g, "").replace(/--/g, "");
|
|
362772
|
-
}
|
|
362773
|
-
__name(sanitizeForMarker, "sanitizeForMarker");
|
|
362774
|
-
function generateOutputLanguageFileContent(language) {
|
|
362775
|
-
const safeLanguage = sanitizeForMarker(language);
|
|
362776
|
-
return `# Output language preference: ${language}
|
|
362777
|
-
<!-- ${LLM_OUTPUT_LANGUAGE_MARKER_PREFIX} ${safeLanguage} -->
|
|
362778
|
-
|
|
362779
|
-
## Goal
|
|
362780
|
-
Prefer responding in **${language}** for normal assistant messages and explanations.
|
|
362781
|
-
|
|
362782
|
-
## Keep technical artifacts unchanged
|
|
362783
|
-
Do **not** translate or rewrite:
|
|
362784
|
-
- Code blocks, CLI commands, file paths, stack traces, logs, JSON keys, identifiers
|
|
362785
|
-
- Exact quoted text from the user (keep quotes verbatim)
|
|
362786
|
-
|
|
362787
|
-
## When a conflict exists
|
|
362788
|
-
If higher-priority instructions (system/developer) require a different behavior, follow them.
|
|
362789
|
-
|
|
362790
|
-
## Tool / system outputs
|
|
362791
|
-
Raw tool/system outputs may contain fixed-format English. Preserve them verbatim, and if needed, add a short **${language}** explanation below.
|
|
362792
|
-
`;
|
|
362793
|
-
}
|
|
362794
|
-
__name(generateOutputLanguageFileContent, "generateOutputLanguageFileContent");
|
|
362795
|
-
function parseOutputLanguageFromContent(content) {
|
|
362796
|
-
const markerRegex = new RegExp(
|
|
362797
|
-
String.raw`<!--\s*${LLM_OUTPUT_LANGUAGE_MARKER_PREFIX}\s*(.*?)\s*-->`,
|
|
362798
|
-
"i"
|
|
362799
|
-
);
|
|
362800
|
-
const markerMatch = content.match(markerRegex);
|
|
362801
|
-
if (markerMatch?.[1]?.trim()) {
|
|
362802
|
-
return markerMatch[1].trim();
|
|
362803
|
-
}
|
|
362804
|
-
const headingMatch = content.match(
|
|
362805
|
-
/^#.*?CRITICAL:\s*(.*?)\s+Output Language Rule\b/im
|
|
362806
|
-
);
|
|
362807
|
-
if (headingMatch?.[1]?.trim()) {
|
|
362808
|
-
return headingMatch[1].trim();
|
|
362809
|
-
}
|
|
362810
|
-
return null;
|
|
362811
|
-
}
|
|
362812
|
-
__name(parseOutputLanguageFromContent, "parseOutputLanguageFromContent");
|
|
362813
|
-
function readOutputLanguageFromFile() {
|
|
362814
|
-
const filePath = getOutputLanguageFilePath();
|
|
362815
|
-
if (!fs83.existsSync(filePath)) {
|
|
362816
|
-
return null;
|
|
362817
|
-
}
|
|
362818
|
-
try {
|
|
362819
|
-
const content = fs83.readFileSync(filePath, "utf-8");
|
|
362820
|
-
return parseOutputLanguageFromContent(content);
|
|
362821
|
-
} catch {
|
|
362822
|
-
return null;
|
|
362823
|
-
}
|
|
362824
|
-
}
|
|
362825
|
-
__name(readOutputLanguageFromFile, "readOutputLanguageFromFile");
|
|
362826
|
-
function writeOutputLanguageFile(language) {
|
|
362827
|
-
const filePath = getOutputLanguageFilePath();
|
|
362828
|
-
const content = generateOutputLanguageFileContent(language);
|
|
362829
|
-
const dir = path91.dirname(filePath);
|
|
362830
|
-
fs83.mkdirSync(dir, { recursive: true });
|
|
362831
|
-
fs83.writeFileSync(filePath, content, "utf-8");
|
|
362832
|
-
}
|
|
362833
|
-
__name(writeOutputLanguageFile, "writeOutputLanguageFile");
|
|
362834
|
-
function updateOutputLanguageFile(settingValue) {
|
|
362835
|
-
const resolved = resolveOutputLanguage(settingValue);
|
|
362836
|
-
writeOutputLanguageFile(resolved);
|
|
362837
|
-
}
|
|
362838
|
-
__name(updateOutputLanguageFile, "updateOutputLanguageFile");
|
|
362839
|
-
function initializeLlmOutputLanguage(outputLanguage) {
|
|
362840
|
-
const resolved = resolveOutputLanguage(outputLanguage);
|
|
362841
|
-
const currentFileLanguage = readOutputLanguageFromFile();
|
|
362842
|
-
if (currentFileLanguage !== resolved) {
|
|
362843
|
-
writeOutputLanguageFile(resolved);
|
|
362844
|
-
}
|
|
362845
|
-
}
|
|
362846
|
-
__name(initializeLlmOutputLanguage, "initializeLlmOutputLanguage");
|
|
362847
|
-
|
|
362848
364438
|
// packages/cli/src/core/initializer.ts
|
|
362849
364439
|
async function initializeApp(config2, settings) {
|
|
362850
364440
|
const languageSetting = process.env["RDMind_LANG"] || settings.merged.general?.language || "auto";
|
|
362851
364441
|
await initializeI18n(languageSetting);
|
|
362852
|
-
|
|
362853
|
-
const authType = config2.modelsConfig.getCurrentAuthType();
|
|
364442
|
+
const authType = config2.getModelsConfig().getCurrentAuthType();
|
|
362854
364443
|
const authError = await performInitialAuth(config2, authType);
|
|
362855
364444
|
if (authError) {
|
|
362856
364445
|
settings.setValue(
|
|
@@ -362860,7 +364449,7 @@ async function initializeApp(config2, settings) {
|
|
|
362860
364449
|
);
|
|
362861
364450
|
}
|
|
362862
364451
|
const themeError = validateTheme(settings);
|
|
362863
|
-
const shouldOpenAuthDialog = !config2.
|
|
364452
|
+
const shouldOpenAuthDialog = !config2.getModelsConfig().wasAuthTypeExplicitlyProvided() || !!authError;
|
|
362864
364453
|
if (config2.getIdeMode()) {
|
|
362865
364454
|
const ideClient = await IdeClient.getInstance();
|
|
362866
364455
|
await ideClient.connect();
|
|
@@ -363255,7 +364844,7 @@ var formatDuration = /* @__PURE__ */ __name((milliseconds) => {
|
|
|
363255
364844
|
|
|
363256
364845
|
// packages/cli/src/generated/git-commit.ts
|
|
363257
364846
|
init_esbuild_shims();
|
|
363258
|
-
var GIT_COMMIT_INFO2 = "
|
|
364847
|
+
var GIT_COMMIT_INFO2 = "2ca4ee323";
|
|
363259
364848
|
|
|
363260
364849
|
// packages/cli/src/utils/systemInfo.ts
|
|
363261
364850
|
async function getNpmVersion() {
|
|
@@ -363896,11 +365485,11 @@ var copyCommand = {
|
|
|
363896
365485
|
|
|
363897
365486
|
// packages/cli/src/ui/commands/createCommand.ts
|
|
363898
365487
|
init_esbuild_shims();
|
|
363899
|
-
import * as
|
|
363900
|
-
import * as
|
|
365488
|
+
import * as fs83 from "fs";
|
|
365489
|
+
import * as path91 from "path";
|
|
363901
365490
|
import { fileURLToPath as fileURLToPath14 } from "url";
|
|
363902
365491
|
var __filename6 = fileURLToPath14(import.meta.url);
|
|
363903
|
-
var __dirname9 =
|
|
365492
|
+
var __dirname9 = path91.dirname(__filename6);
|
|
363904
365493
|
function validateProjectName(name3) {
|
|
363905
365494
|
return /^[a-z][a-z0-9-]*[a-z0-9]$|^[a-z]$/.test(name3);
|
|
363906
365495
|
}
|
|
@@ -363914,20 +365503,20 @@ function getIdlExamplePath() {
|
|
|
363914
365503
|
// 1. npm 发布:
|
|
363915
365504
|
// __dirname 就是 node_modules/@rdmind/rdmind/
|
|
363916
365505
|
// 模板在 node_modules/@rdmind/rdmind/templates/
|
|
363917
|
-
|
|
365506
|
+
path91.join(__dirname9, "templates", "idl-template/wiki/example"),
|
|
363918
365507
|
// 2. 开发环境:相对于工作区根目录的idl-template
|
|
363919
|
-
|
|
365508
|
+
path91.join(
|
|
363920
365509
|
__dirname9,
|
|
363921
365510
|
"..",
|
|
363922
365511
|
"packages/cli/templates/idl-template/wiki/example"
|
|
363923
365512
|
)
|
|
363924
365513
|
];
|
|
363925
365514
|
for (const templatePath of possiblePaths) {
|
|
363926
|
-
if (
|
|
365515
|
+
if (fs83.existsSync(templatePath)) {
|
|
363927
365516
|
return templatePath;
|
|
363928
365517
|
}
|
|
363929
365518
|
}
|
|
363930
|
-
return
|
|
365519
|
+
return path91.join(process.cwd(), "idl-template");
|
|
363931
365520
|
}
|
|
363932
365521
|
__name(getIdlExamplePath, "getIdlExamplePath");
|
|
363933
365522
|
function getTemplatePath() {
|
|
@@ -363935,16 +365524,16 @@ function getTemplatePath() {
|
|
|
363935
365524
|
// 1. npm 安装
|
|
363936
365525
|
// __dirname 就是 node_modules/@rdmind/rdmind/
|
|
363937
365526
|
// 模板在 node_modules/@rdmind/rdmind/template/
|
|
363938
|
-
|
|
365527
|
+
path91.join(__dirname9, "template"),
|
|
363939
365528
|
// 2. 开发环境:
|
|
363940
|
-
|
|
365529
|
+
path91.join(__dirname9, "..", "packages/cli/template")
|
|
363941
365530
|
];
|
|
363942
365531
|
for (const templatePath of possiblePaths) {
|
|
363943
|
-
if (
|
|
365532
|
+
if (fs83.existsSync(templatePath)) {
|
|
363944
365533
|
return templatePath;
|
|
363945
365534
|
}
|
|
363946
365535
|
}
|
|
363947
|
-
return
|
|
365536
|
+
return path91.join(process.cwd(), "sns-demo");
|
|
363948
365537
|
}
|
|
363949
365538
|
__name(getTemplatePath, "getTemplatePath");
|
|
363950
365539
|
function replaceIdlProjectNames(content, oldName, newName) {
|
|
@@ -363999,18 +365588,18 @@ function replaceProjectNames(content, oldName, newName, businessModule) {
|
|
|
363999
365588
|
}
|
|
364000
365589
|
__name(replaceProjectNames, "replaceProjectNames");
|
|
364001
365590
|
async function copyAndReplaceFile(srcFile, destFile, oldName, newName, businessModule, isIdlProject = false) {
|
|
364002
|
-
const destDir =
|
|
364003
|
-
if (!
|
|
364004
|
-
|
|
365591
|
+
const destDir = path91.dirname(destFile);
|
|
365592
|
+
if (!fs83.existsSync(destDir)) {
|
|
365593
|
+
fs83.mkdirSync(destDir, { recursive: true });
|
|
364005
365594
|
}
|
|
364006
|
-
const content =
|
|
365595
|
+
const content = fs83.readFileSync(srcFile, "utf8");
|
|
364007
365596
|
let newContent;
|
|
364008
365597
|
if (isIdlProject) {
|
|
364009
365598
|
newContent = replaceIdlProjectNames(content, oldName, newName);
|
|
364010
365599
|
} else {
|
|
364011
365600
|
newContent = replaceProjectNames(content, oldName, newName, businessModule);
|
|
364012
365601
|
}
|
|
364013
|
-
|
|
365602
|
+
fs83.writeFileSync(destFile, newContent, "utf8");
|
|
364014
365603
|
}
|
|
364015
365604
|
__name(copyAndReplaceFile, "copyAndReplaceFile");
|
|
364016
365605
|
function shouldSkipItem(itemName) {
|
|
@@ -364048,12 +365637,12 @@ function shouldSkipItem(itemName) {
|
|
|
364048
365637
|
}
|
|
364049
365638
|
__name(shouldSkipItem, "shouldSkipItem");
|
|
364050
365639
|
async function copyAndReplaceDir(srcDir, destDir, oldName, newName, businessModule, isIdlProject = false) {
|
|
364051
|
-
if (!
|
|
364052
|
-
|
|
365640
|
+
if (!fs83.existsSync(destDir)) {
|
|
365641
|
+
fs83.mkdirSync(destDir, { recursive: true });
|
|
364053
365642
|
}
|
|
364054
|
-
const items =
|
|
365643
|
+
const items = fs83.readdirSync(srcDir);
|
|
364055
365644
|
for (const item of items) {
|
|
364056
|
-
const srcPath =
|
|
365645
|
+
const srcPath = path91.join(srcDir, item);
|
|
364057
365646
|
if (shouldSkipItem(item)) {
|
|
364058
365647
|
continue;
|
|
364059
365648
|
}
|
|
@@ -364064,7 +365653,7 @@ async function copyAndReplaceDir(srcDir, destDir, oldName, newName, businessModu
|
|
|
364064
365653
|
const pathParts = newName.split("-");
|
|
364065
365654
|
const currentDestPath = destDir;
|
|
364066
365655
|
for (let i3 = 0; i3 < pathParts.length; i3++) {
|
|
364067
|
-
const partPath =
|
|
365656
|
+
const partPath = path91.join(
|
|
364068
365657
|
currentDestPath,
|
|
364069
365658
|
...pathParts.slice(0, i3 + 1)
|
|
364070
365659
|
);
|
|
@@ -364078,8 +365667,8 @@ async function copyAndReplaceDir(srcDir, destDir, oldName, newName, businessModu
|
|
|
364078
365667
|
isIdlProject
|
|
364079
365668
|
);
|
|
364080
365669
|
} else {
|
|
364081
|
-
if (!
|
|
364082
|
-
|
|
365670
|
+
if (!fs83.existsSync(partPath)) {
|
|
365671
|
+
fs83.mkdirSync(partPath, { recursive: true });
|
|
364083
365672
|
}
|
|
364084
365673
|
}
|
|
364085
365674
|
}
|
|
@@ -364093,7 +365682,7 @@ async function copyAndReplaceDir(srcDir, destDir, oldName, newName, businessModu
|
|
|
364093
365682
|
const pathParts = packageDirName.split("-");
|
|
364094
365683
|
const currentDestPath = destDir;
|
|
364095
365684
|
for (let i3 = 0; i3 < pathParts.length; i3++) {
|
|
364096
|
-
const partPath =
|
|
365685
|
+
const partPath = path91.join(
|
|
364097
365686
|
currentDestPath,
|
|
364098
365687
|
...pathParts.slice(0, i3 + 1)
|
|
364099
365688
|
);
|
|
@@ -364107,8 +365696,8 @@ async function copyAndReplaceDir(srcDir, destDir, oldName, newName, businessModu
|
|
|
364107
365696
|
isIdlProject
|
|
364108
365697
|
);
|
|
364109
365698
|
} else {
|
|
364110
|
-
if (!
|
|
364111
|
-
|
|
365699
|
+
if (!fs83.existsSync(partPath)) {
|
|
365700
|
+
fs83.mkdirSync(partPath, { recursive: true });
|
|
364112
365701
|
}
|
|
364113
365702
|
}
|
|
364114
365703
|
}
|
|
@@ -364124,8 +365713,8 @@ async function copyAndReplaceDir(srcDir, destDir, oldName, newName, businessModu
|
|
|
364124
365713
|
destItemName = item.replace(/sns-demo/g, newName);
|
|
364125
365714
|
}
|
|
364126
365715
|
}
|
|
364127
|
-
const destPath =
|
|
364128
|
-
const stats =
|
|
365716
|
+
const destPath = path91.join(destDir, destItemName);
|
|
365717
|
+
const stats = fs83.statSync(srcPath);
|
|
364129
365718
|
if (stats.isDirectory()) {
|
|
364130
365719
|
await copyAndReplaceDir(
|
|
364131
365720
|
srcPath,
|
|
@@ -364150,7 +365739,7 @@ async function copyAndReplaceDir(srcDir, destDir, oldName, newName, businessModu
|
|
|
364150
365739
|
__name(copyAndReplaceDir, "copyAndReplaceDir");
|
|
364151
365740
|
async function createJavaProject(context2, projectName, businessModule) {
|
|
364152
365741
|
const templatePath = getTemplatePath();
|
|
364153
|
-
if (!
|
|
365742
|
+
if (!fs83.existsSync(templatePath)) {
|
|
364154
365743
|
context2.ui.addItem(
|
|
364155
365744
|
{
|
|
364156
365745
|
type: "error" /* ERROR */,
|
|
@@ -364161,8 +365750,8 @@ async function createJavaProject(context2, projectName, businessModule) {
|
|
|
364161
365750
|
);
|
|
364162
365751
|
return;
|
|
364163
365752
|
}
|
|
364164
|
-
const targetPath =
|
|
364165
|
-
if (
|
|
365753
|
+
const targetPath = path91.join(process.cwd(), projectName);
|
|
365754
|
+
if (fs83.existsSync(targetPath)) {
|
|
364166
365755
|
context2.ui.addItem(
|
|
364167
365756
|
{
|
|
364168
365757
|
type: "error" /* ERROR */,
|
|
@@ -364211,9 +365800,9 @@ ${projectName}/
|
|
|
364211
365800
|
Date.now()
|
|
364212
365801
|
);
|
|
364213
365802
|
} catch (error2) {
|
|
364214
|
-
if (
|
|
365803
|
+
if (fs83.existsSync(targetPath)) {
|
|
364215
365804
|
try {
|
|
364216
|
-
|
|
365805
|
+
fs83.rmSync(targetPath, { recursive: true, force: true });
|
|
364217
365806
|
} catch (cleanupError) {
|
|
364218
365807
|
console.warn(
|
|
364219
365808
|
"Warning: Could not clean up failed project creation:",
|
|
@@ -364299,7 +365888,7 @@ var javaFlsCommand = {
|
|
|
364299
365888
|
};
|
|
364300
365889
|
async function createIdlProject(context2, projectName) {
|
|
364301
365890
|
const templatePath = getIdlExamplePath();
|
|
364302
|
-
if (!
|
|
365891
|
+
if (!fs83.existsSync(templatePath)) {
|
|
364303
365892
|
context2.ui.addItem(
|
|
364304
365893
|
{
|
|
364305
365894
|
type: "error" /* ERROR */,
|
|
@@ -364311,8 +365900,8 @@ async function createIdlProject(context2, projectName) {
|
|
|
364311
365900
|
return;
|
|
364312
365901
|
}
|
|
364313
365902
|
const projectDirectoryName = projectName;
|
|
364314
|
-
const targetPath =
|
|
364315
|
-
if (
|
|
365903
|
+
const targetPath = path91.join(process.cwd(), projectDirectoryName);
|
|
365904
|
+
if (fs83.existsSync(targetPath)) {
|
|
364316
365905
|
context2.ui.addItem(
|
|
364317
365906
|
{
|
|
364318
365907
|
type: "error" /* ERROR */,
|
|
@@ -364387,9 +365976,9 @@ ${projectDirectoryName}/
|
|
|
364387
365976
|
Date.now()
|
|
364388
365977
|
);
|
|
364389
365978
|
} catch (error2) {
|
|
364390
|
-
if (
|
|
365979
|
+
if (fs83.existsSync(targetPath)) {
|
|
364391
365980
|
try {
|
|
364392
|
-
|
|
365981
|
+
fs83.rmSync(targetPath, { recursive: true, force: true });
|
|
364393
365982
|
} catch (cleanupError) {
|
|
364394
365983
|
console.warn(
|
|
364395
365984
|
"Warning: Could not clean up failed project creation:",
|
|
@@ -364581,8 +366170,8 @@ var docsCommand = {
|
|
|
364581
366170
|
init_esbuild_shims();
|
|
364582
366171
|
init_core5();
|
|
364583
366172
|
import * as os34 from "node:os";
|
|
364584
|
-
import * as
|
|
364585
|
-
import * as
|
|
366173
|
+
import * as path92 from "node:path";
|
|
366174
|
+
import * as fs84 from "node:fs/promises";
|
|
364586
366175
|
function expandHomeDir(p2) {
|
|
364587
366176
|
if (!p2) {
|
|
364588
366177
|
return "";
|
|
@@ -364593,7 +366182,7 @@ function expandHomeDir(p2) {
|
|
|
364593
366182
|
} else if (p2 === "~" || p2.startsWith("~/")) {
|
|
364594
366183
|
expandedPath = os34.homedir() + p2.substring(1);
|
|
364595
366184
|
}
|
|
364596
|
-
return
|
|
366185
|
+
return path92.normalize(expandedPath);
|
|
364597
366186
|
}
|
|
364598
366187
|
__name(expandHomeDir, "expandHomeDir");
|
|
364599
366188
|
var directoryCommand = {
|
|
@@ -364898,25 +366487,25 @@ async function resolveCompletionPaths(partialPath, baseDir) {
|
|
|
364898
366487
|
resolvedPath = baseDir;
|
|
364899
366488
|
displayPrefix = "";
|
|
364900
366489
|
} else if (partialPath.startsWith("~")) {
|
|
364901
|
-
resolvedPath =
|
|
366490
|
+
resolvedPath = path92.join(os34.homedir(), partialPath.slice(1));
|
|
364902
366491
|
} else {
|
|
364903
|
-
resolvedPath =
|
|
366492
|
+
resolvedPath = path92.isAbsolute(partialPath) ? path92.resolve(partialPath || "/") : path92.resolve(baseDir, partialPath || ".");
|
|
364904
366493
|
}
|
|
364905
366494
|
let targetDir = resolvedPath;
|
|
364906
366495
|
let filterPrefix = "";
|
|
364907
366496
|
if (partialPath && !partialPath.endsWith("/") && !/^\.\/?$/.test(partialPath)) {
|
|
364908
|
-
targetDir =
|
|
364909
|
-
filterPrefix =
|
|
366497
|
+
targetDir = path92.dirname(resolvedPath);
|
|
366498
|
+
filterPrefix = path92.basename(resolvedPath);
|
|
364910
366499
|
}
|
|
364911
|
-
const entries = await
|
|
366500
|
+
const entries = await fs84.readdir(targetDir, { withFileTypes: true });
|
|
364912
366501
|
return entries.filter((entry) => entry.isDirectory()).filter((entry) => !filterPrefix || entry.name.startsWith(filterPrefix)).map((entry) => {
|
|
364913
366502
|
let completionPath;
|
|
364914
366503
|
if (partialPath.endsWith("/")) {
|
|
364915
|
-
completionPath =
|
|
366504
|
+
completionPath = path92.posix.join(displayPrefix, entry.name) + "/";
|
|
364916
366505
|
} else {
|
|
364917
|
-
const prefixDir = displayPrefix.includes("/") ?
|
|
366506
|
+
const prefixDir = displayPrefix.includes("/") ? path92.posix.dirname(displayPrefix) : "";
|
|
364918
366507
|
if (prefixDir && prefixDir !== ".") {
|
|
364919
|
-
completionPath =
|
|
366508
|
+
completionPath = path92.posix.join(prefixDir, entry.name) + "/";
|
|
364920
366509
|
} else {
|
|
364921
366510
|
completionPath = entry.name + "/";
|
|
364922
366511
|
if (displayPrefix && displayPrefix !== "." && !displayPrefix.includes("/")) {
|
|
@@ -365546,7 +367135,7 @@ var helpCommand = {
|
|
|
365546
367135
|
init_esbuild_shims();
|
|
365547
367136
|
init_core5();
|
|
365548
367137
|
init_core5();
|
|
365549
|
-
import
|
|
367138
|
+
import path93 from "node:path";
|
|
365550
367139
|
init_settings();
|
|
365551
367140
|
function getIdeStatusMessage(ideClient) {
|
|
365552
367141
|
const connection = ideClient.getConnectionStatus();
|
|
@@ -365577,13 +367166,13 @@ __name(getIdeStatusMessage, "getIdeStatusMessage");
|
|
|
365577
367166
|
function formatFileList(openFiles) {
|
|
365578
367167
|
const basenameCounts = /* @__PURE__ */ new Map();
|
|
365579
367168
|
for (const file of openFiles) {
|
|
365580
|
-
const basename26 =
|
|
367169
|
+
const basename26 = path93.basename(file.path);
|
|
365581
367170
|
basenameCounts.set(basename26, (basenameCounts.get(basename26) || 0) + 1);
|
|
365582
367171
|
}
|
|
365583
367172
|
const fileList = openFiles.map((file) => {
|
|
365584
|
-
const basename26 =
|
|
367173
|
+
const basename26 = path93.basename(file.path);
|
|
365585
367174
|
const isDuplicate = (basenameCounts.get(basename26) || 0) > 1;
|
|
365586
|
-
const parentDir =
|
|
367175
|
+
const parentDir = path93.basename(path93.dirname(file.path));
|
|
365587
367176
|
const displayName = isDuplicate ? `${basename26} (/${parentDir})` : basename26;
|
|
365588
367177
|
return ` - ${displayName}${file.isActive ? " (active)" : ""}`;
|
|
365589
367178
|
}).join("\n");
|
|
@@ -366575,8 +368164,8 @@ var importCommand = {
|
|
|
366575
368164
|
// packages/cli/src/ui/commands/initCommand.ts
|
|
366576
368165
|
init_esbuild_shims();
|
|
366577
368166
|
init_core5();
|
|
366578
|
-
import * as
|
|
366579
|
-
import * as
|
|
368167
|
+
import * as fs85 from "node:fs";
|
|
368168
|
+
import * as path94 from "node:path";
|
|
366580
368169
|
var import_react27 = __toESM(require_react(), 1);
|
|
366581
368170
|
var initCommand = {
|
|
366582
368171
|
name: "init",
|
|
@@ -366594,11 +368183,11 @@ var initCommand = {
|
|
|
366594
368183
|
}
|
|
366595
368184
|
const targetDir = context2.services.config.getTargetDir();
|
|
366596
368185
|
const contextFileName = getCurrentGeminiMdFilename();
|
|
366597
|
-
const contextFilePath =
|
|
368186
|
+
const contextFilePath = path94.join(targetDir, contextFileName);
|
|
366598
368187
|
try {
|
|
366599
|
-
if (
|
|
368188
|
+
if (fs85.existsSync(contextFilePath)) {
|
|
366600
368189
|
try {
|
|
366601
|
-
const existing =
|
|
368190
|
+
const existing = fs85.readFileSync(contextFilePath, "utf8");
|
|
366602
368191
|
if (existing && existing.trim().length > 0) {
|
|
366603
368192
|
if (!context2.overwriteConfirmed) {
|
|
366604
368193
|
return {
|
|
@@ -366620,7 +368209,7 @@ var initCommand = {
|
|
|
366620
368209
|
}
|
|
366621
368210
|
}
|
|
366622
368211
|
try {
|
|
366623
|
-
|
|
368212
|
+
fs85.writeFileSync(contextFilePath, "", "utf8");
|
|
366624
368213
|
context2.ui.addItem(
|
|
366625
368214
|
{
|
|
366626
368215
|
type: "info",
|
|
@@ -366686,6 +368275,123 @@ Write the complete content to the \`${contextFileName}\` file. The output must b
|
|
|
366686
368275
|
// packages/cli/src/ui/commands/languageCommand.ts
|
|
366687
368276
|
init_esbuild_shims();
|
|
366688
368277
|
init_settings();
|
|
368278
|
+
init_languages();
|
|
368279
|
+
|
|
368280
|
+
// packages/cli/src/utils/languageUtils.ts
|
|
368281
|
+
init_esbuild_shims();
|
|
368282
|
+
init_core5();
|
|
368283
|
+
import * as fs86 from "node:fs";
|
|
368284
|
+
import * as path95 from "node:path";
|
|
368285
|
+
var LLM_OUTPUT_LANGUAGE_RULE_FILENAME = "output-language.md";
|
|
368286
|
+
var LLM_OUTPUT_LANGUAGE_MARKER_PREFIX = "rdmind:llm-output-language:";
|
|
368287
|
+
var OUTPUT_LANGUAGE_AUTO = "auto";
|
|
368288
|
+
function isAutoLanguage(value) {
|
|
368289
|
+
return !value || value.toLowerCase() === OUTPUT_LANGUAGE_AUTO;
|
|
368290
|
+
}
|
|
368291
|
+
__name(isAutoLanguage, "isAutoLanguage");
|
|
368292
|
+
function normalizeOutputLanguage(language) {
|
|
368293
|
+
const lowered = language.toLowerCase();
|
|
368294
|
+
const fullName = getLanguageNameFromLocale(lowered);
|
|
368295
|
+
if (fullName !== "English" || lowered === "en") {
|
|
368296
|
+
return fullName;
|
|
368297
|
+
}
|
|
368298
|
+
return language;
|
|
368299
|
+
}
|
|
368300
|
+
__name(normalizeOutputLanguage, "normalizeOutputLanguage");
|
|
368301
|
+
function resolveOutputLanguage(value) {
|
|
368302
|
+
if (isAutoLanguage(value)) {
|
|
368303
|
+
const detectedLocale = detectSystemLanguage();
|
|
368304
|
+
return getLanguageNameFromLocale(detectedLocale);
|
|
368305
|
+
}
|
|
368306
|
+
return normalizeOutputLanguage(value);
|
|
368307
|
+
}
|
|
368308
|
+
__name(resolveOutputLanguage, "resolveOutputLanguage");
|
|
368309
|
+
function getOutputLanguageFilePath() {
|
|
368310
|
+
return path95.join(
|
|
368311
|
+
Storage.getGlobalQwenDir(),
|
|
368312
|
+
LLM_OUTPUT_LANGUAGE_RULE_FILENAME
|
|
368313
|
+
);
|
|
368314
|
+
}
|
|
368315
|
+
__name(getOutputLanguageFilePath, "getOutputLanguageFilePath");
|
|
368316
|
+
function sanitizeForMarker(language) {
|
|
368317
|
+
return language.replace(/[\r\n]/g, " ").replace(/--!?>/g, "").replace(/--/g, "");
|
|
368318
|
+
}
|
|
368319
|
+
__name(sanitizeForMarker, "sanitizeForMarker");
|
|
368320
|
+
function generateOutputLanguageFileContent(language) {
|
|
368321
|
+
const safeLanguage = sanitizeForMarker(language);
|
|
368322
|
+
return `# Output language preference: ${language}
|
|
368323
|
+
<!-- ${LLM_OUTPUT_LANGUAGE_MARKER_PREFIX} ${safeLanguage} -->
|
|
368324
|
+
|
|
368325
|
+
## Goal
|
|
368326
|
+
Prefer responding in **${language}** for normal assistant messages and explanations.
|
|
368327
|
+
|
|
368328
|
+
## Keep technical artifacts unchanged
|
|
368329
|
+
Do **not** translate or rewrite:
|
|
368330
|
+
- Code blocks, CLI commands, file paths, stack traces, logs, JSON keys, identifiers
|
|
368331
|
+
- Exact quoted text from the user (keep quotes verbatim)
|
|
368332
|
+
|
|
368333
|
+
## When a conflict exists
|
|
368334
|
+
If higher-priority instructions (system/developer) require a different behavior, follow them.
|
|
368335
|
+
|
|
368336
|
+
## Tool / system outputs
|
|
368337
|
+
Raw tool/system outputs may contain fixed-format English. Preserve them verbatim, and if needed, add a short **${language}** explanation below.
|
|
368338
|
+
`;
|
|
368339
|
+
}
|
|
368340
|
+
__name(generateOutputLanguageFileContent, "generateOutputLanguageFileContent");
|
|
368341
|
+
function parseOutputLanguageFromContent(content) {
|
|
368342
|
+
const markerRegex = new RegExp(
|
|
368343
|
+
String.raw`<!--\s*${LLM_OUTPUT_LANGUAGE_MARKER_PREFIX}\s*(.*?)\s*-->`,
|
|
368344
|
+
"i"
|
|
368345
|
+
);
|
|
368346
|
+
const markerMatch = content.match(markerRegex);
|
|
368347
|
+
if (markerMatch?.[1]?.trim()) {
|
|
368348
|
+
return markerMatch[1].trim();
|
|
368349
|
+
}
|
|
368350
|
+
const headingMatch = content.match(
|
|
368351
|
+
/^#.*?CRITICAL:\s*(.*?)\s+Output Language Rule\b/im
|
|
368352
|
+
);
|
|
368353
|
+
if (headingMatch?.[1]?.trim()) {
|
|
368354
|
+
return headingMatch[1].trim();
|
|
368355
|
+
}
|
|
368356
|
+
return null;
|
|
368357
|
+
}
|
|
368358
|
+
__name(parseOutputLanguageFromContent, "parseOutputLanguageFromContent");
|
|
368359
|
+
function readOutputLanguageFromFile() {
|
|
368360
|
+
const filePath = getOutputLanguageFilePath();
|
|
368361
|
+
if (!fs86.existsSync(filePath)) {
|
|
368362
|
+
return null;
|
|
368363
|
+
}
|
|
368364
|
+
try {
|
|
368365
|
+
const content = fs86.readFileSync(filePath, "utf-8");
|
|
368366
|
+
return parseOutputLanguageFromContent(content);
|
|
368367
|
+
} catch {
|
|
368368
|
+
return null;
|
|
368369
|
+
}
|
|
368370
|
+
}
|
|
368371
|
+
__name(readOutputLanguageFromFile, "readOutputLanguageFromFile");
|
|
368372
|
+
function writeOutputLanguageFile(language) {
|
|
368373
|
+
const filePath = getOutputLanguageFilePath();
|
|
368374
|
+
const content = generateOutputLanguageFileContent(language);
|
|
368375
|
+
const dir = path95.dirname(filePath);
|
|
368376
|
+
fs86.mkdirSync(dir, { recursive: true });
|
|
368377
|
+
fs86.writeFileSync(filePath, content, "utf-8");
|
|
368378
|
+
}
|
|
368379
|
+
__name(writeOutputLanguageFile, "writeOutputLanguageFile");
|
|
368380
|
+
function updateOutputLanguageFile(settingValue) {
|
|
368381
|
+
const resolved = resolveOutputLanguage(settingValue);
|
|
368382
|
+
writeOutputLanguageFile(resolved);
|
|
368383
|
+
}
|
|
368384
|
+
__name(updateOutputLanguageFile, "updateOutputLanguageFile");
|
|
368385
|
+
function initializeLlmOutputLanguage(outputLanguage) {
|
|
368386
|
+
const resolved = resolveOutputLanguage(outputLanguage);
|
|
368387
|
+
const currentFileLanguage = readOutputLanguageFromFile();
|
|
368388
|
+
if (currentFileLanguage !== resolved) {
|
|
368389
|
+
writeOutputLanguageFile(resolved);
|
|
368390
|
+
}
|
|
368391
|
+
}
|
|
368392
|
+
__name(initializeLlmOutputLanguage, "initializeLlmOutputLanguage");
|
|
368393
|
+
|
|
368394
|
+
// packages/cli/src/ui/commands/languageCommand.ts
|
|
366689
368395
|
function getCurrentOutputLanguage(context2) {
|
|
366690
368396
|
const settingValue = context2?.services?.settings?.merged?.general?.outputLanguage || OUTPUT_LANGUAGE_AUTO;
|
|
366691
368397
|
const resolved = resolveOutputLanguage(settingValue);
|
|
@@ -366705,7 +368411,8 @@ function parseUiLanguageArg(input) {
|
|
|
366705
368411
|
__name(parseUiLanguageArg, "parseUiLanguageArg");
|
|
366706
368412
|
function formatUiLanguageDisplay(lang) {
|
|
366707
368413
|
const option2 = SUPPORTED_LANGUAGES.find((o3) => o3.code === lang);
|
|
366708
|
-
|
|
368414
|
+
if (!option2) return lang;
|
|
368415
|
+
return option2.nativeName && option2.nativeName !== option2.fullName ? `${option2.nativeName} (${option2.fullName}) [${option2.id}]` : `${option2.fullName} [${option2.id}]`;
|
|
366709
368416
|
}
|
|
366710
368417
|
__name(formatUiLanguageDisplay, "formatUiLanguageDisplay");
|
|
366711
368418
|
async function setUiLanguage(context2, lang) {
|
|
@@ -366815,7 +368522,7 @@ var languageCommand = {
|
|
|
366815
368522
|
messageType: "error",
|
|
366816
368523
|
content: [
|
|
366817
368524
|
t4("Invalid command. Available subcommands:"),
|
|
366818
|
-
` - /language ui [${
|
|
368525
|
+
` - /language ui [${getSupportedLanguageIds()}] - ${t4("Set UI language")}`,
|
|
366819
368526
|
` - /language output <language> - ${t4("Set LLM output language")}`
|
|
366820
368527
|
].join("\n")
|
|
366821
368528
|
};
|
|
@@ -366833,7 +368540,7 @@ var languageCommand = {
|
|
|
366833
368540
|
t4("Current LLM output language: {{lang}}", { lang: outputLangDisplay }),
|
|
366834
368541
|
"",
|
|
366835
368542
|
t4("Available subcommands:"),
|
|
366836
|
-
` /language ui [${
|
|
368543
|
+
` /language ui [${getSupportedLanguageIds()}] - ${t4("Set UI language")}`,
|
|
366837
368544
|
` /language output <language> - ${t4("Set LLM output language")}`
|
|
366838
368545
|
].join("\n")
|
|
366839
368546
|
};
|
|
@@ -366856,12 +368563,12 @@ var languageCommand = {
|
|
|
366856
368563
|
t4("Set UI language"),
|
|
366857
368564
|
"",
|
|
366858
368565
|
t4("Usage: /language ui [{{options}}]", {
|
|
366859
|
-
options:
|
|
368566
|
+
options: getSupportedLanguageIds()
|
|
366860
368567
|
}),
|
|
366861
368568
|
"",
|
|
366862
368569
|
t4("Available options:"),
|
|
366863
368570
|
...SUPPORTED_LANGUAGES.map(
|
|
366864
|
-
(o3) => ` - ${o3.id}: ${
|
|
368571
|
+
(o3) => ` - ${o3.id}: ${o3.nativeName || o3.fullName}`
|
|
366865
368572
|
),
|
|
366866
368573
|
"",
|
|
366867
368574
|
t4(
|
|
@@ -366876,7 +368583,7 @@ var languageCommand = {
|
|
|
366876
368583
|
type: "message",
|
|
366877
368584
|
messageType: "error",
|
|
366878
368585
|
content: t4("Invalid language. Available: {{options}}", {
|
|
366879
|
-
options:
|
|
368586
|
+
options: getSupportedLanguageIds(",")
|
|
366880
368587
|
})
|
|
366881
368588
|
};
|
|
366882
368589
|
}
|
|
@@ -366887,7 +368594,9 @@ var languageCommand = {
|
|
|
366887
368594
|
(lang) => ({
|
|
366888
368595
|
name: lang.id,
|
|
366889
368596
|
get description() {
|
|
366890
|
-
return t4("Set UI language to {{name}}", {
|
|
368597
|
+
return t4("Set UI language to {{name}}", {
|
|
368598
|
+
name: lang.nativeName || lang.fullName
|
|
368599
|
+
});
|
|
366891
368600
|
},
|
|
366892
368601
|
kind: "built-in" /* BUILT_IN */,
|
|
366893
368602
|
action: /* @__PURE__ */ __name(async (context2, args) => {
|
|
@@ -399686,7 +401395,8 @@ var startupTips = [
|
|
|
399686
401395
|
"You can switch permission mode quickly with Shift+Tab or /approval-mode.",
|
|
399687
401396
|
"RDMind now supports custom commands, sub-agents, skills and other features. Check the documentation for usage help.",
|
|
399688
401397
|
"Try asking RDMind to help you commit code.",
|
|
399689
|
-
"RDMind can read REDoc. Please do not upload documents involving user privacy and core algorithms."
|
|
401398
|
+
"RDMind can read REDoc. Please do not upload documents involving user privacy and core algorithms.",
|
|
401399
|
+
"If you find RDMind useful, feel free to recommend it to your colleagues~"
|
|
399690
401400
|
];
|
|
399691
401401
|
var Tips = /* @__PURE__ */ __name(() => {
|
|
399692
401402
|
const selectedTip = (0, import_react69.useMemo)(() => {
|
|
@@ -402964,6 +404674,13 @@ var XHS_SSO_MODELS = [
|
|
|
402964
404674
|
baseUrl: "https://runway.devops.xiaohongshu.com/openai/zhipu/paas/v4/",
|
|
402965
404675
|
contextWindow: "200K",
|
|
402966
404676
|
description: "\u667A\u8C31\u6700\u65B0\u65D7\u8230\u6A21\u578B\uFF0C\u9762\u5411 Agentic Coding \u573A\u666F\u5F3A\u5316"
|
|
404677
|
+
},
|
|
404678
|
+
{
|
|
404679
|
+
id: "kimi-k2.5",
|
|
404680
|
+
displayName: "kimi-k2.5",
|
|
404681
|
+
baseUrl: "https://runway.devops.xiaohongshu.com/openai/moonshot/v1",
|
|
404682
|
+
contextWindow: "256K",
|
|
404683
|
+
description: "\u5728 Agent\u3001\u4EE3\u7801\u3001\u89C6\u89C9\u7406\u89E3\u53CA\u4E00\u7CFB\u5217\u901A\u7528\u667A\u80FD\u4EFB\u52A1\u4E0A\u53D6\u5F97\u5F00\u6E90 SoTA \u8868\u73B0"
|
|
402967
404684
|
}
|
|
402968
404685
|
];
|
|
402969
404686
|
|
|
@@ -416312,7 +418029,9 @@ var WebSocketClient = class {
|
|
|
416312
418029
|
type: "server_heart_pong"
|
|
416313
418030
|
});
|
|
416314
418031
|
if (this.ws && this.ws.readyState === wrapper_default.OPEN) {
|
|
416315
|
-
|
|
418032
|
+
if (this.options.debug) {
|
|
418033
|
+
console.debug(`[ws-send:server_heart_pong] ${serverHeartPong}`);
|
|
418034
|
+
}
|
|
416316
418035
|
this.ws.send(serverHeartPong);
|
|
416317
418036
|
}
|
|
416318
418037
|
} catch (err) {
|
|
@@ -416465,7 +418184,9 @@ var WebSocketClient = class {
|
|
|
416465
418184
|
if (!this.ws || this.ws.readyState !== wrapper_default.OPEN) return;
|
|
416466
418185
|
try {
|
|
416467
418186
|
const heartbeatMsg = JSON.stringify({ type: "client_heart_ping" });
|
|
416468
|
-
|
|
418187
|
+
if (this.options.debug) {
|
|
418188
|
+
console.debug(`[ws-send:client_heart_ping] ${heartbeatMsg}`);
|
|
418189
|
+
}
|
|
416469
418190
|
this.ws.send(heartbeatMsg);
|
|
416470
418191
|
this.armHeartbeatTimeout();
|
|
416471
418192
|
} catch (err) {
|
|
@@ -416995,7 +418716,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
416995
418716
|
setAuthState("updating" /* Updating */);
|
|
416996
418717
|
}, [onAuthError, cancelAuthentication, setAuthState]);
|
|
416997
418718
|
(0, import_react135.useEffect)(() => {
|
|
416998
|
-
const currentAuthType = config2.
|
|
418719
|
+
const currentAuthType = config2.getModelsConfig().getCurrentAuthType();
|
|
416999
418720
|
if (settings.merged.security?.auth?.enforcedType && currentAuthType && settings.merged.security?.auth.enforcedType !== currentAuthType) {
|
|
417000
418721
|
onAuthError(
|
|
417001
418722
|
t4(
|
|
@@ -418971,7 +420692,7 @@ init_core5();
|
|
|
418971
420692
|
init_settings();
|
|
418972
420693
|
async function validateNonInteractiveAuth(useExternalAuth, nonInteractiveConfig, settings) {
|
|
418973
420694
|
try {
|
|
418974
|
-
const authType = nonInteractiveConfig.
|
|
420695
|
+
const authType = nonInteractiveConfig.getModelsConfig().getCurrentAuthType();
|
|
418975
420696
|
if (!authType) {
|
|
418976
420697
|
throw new Error(
|
|
418977
420698
|
"No auth type is selected. Please configure an auth type (e.g. via settings or `--auth-type`) before running in non-interactive mode."
|
|
@@ -419318,7 +421039,9 @@ var usageSchema = external_exports.object({
|
|
|
419318
421039
|
var sessionUpdateMetaSchema = external_exports.object({
|
|
419319
421040
|
usage: usageSchema.optional().nullable(),
|
|
419320
421041
|
durationMs: external_exports.number().optional().nullable(),
|
|
419321
|
-
toolName: external_exports.string().optional().nullable()
|
|
421042
|
+
toolName: external_exports.string().optional().nullable(),
|
|
421043
|
+
parentToolCallId: external_exports.string().optional().nullable(),
|
|
421044
|
+
subagentType: external_exports.string().optional().nullable()
|
|
419322
421045
|
});
|
|
419323
421046
|
var requestPermissionResponseSchema = external_exports.object({
|
|
419324
421047
|
outcome: requestPermissionOutcomeSchema
|
|
@@ -420004,7 +421727,7 @@ var MessageEmitter = class extends BaseEmitter {
|
|
|
420004
421727
|
/**
|
|
420005
421728
|
* Emits usage metadata.
|
|
420006
421729
|
*/
|
|
420007
|
-
async emitUsageMetadata(usageMetadata, text = "", durationMs) {
|
|
421730
|
+
async emitUsageMetadata(usageMetadata, text = "", durationMs, subagentMeta) {
|
|
420008
421731
|
const usage2 = {
|
|
420009
421732
|
promptTokens: usageMetadata.promptTokenCount,
|
|
420010
421733
|
completionTokens: usageMetadata.candidatesTokenCount,
|
|
@@ -420012,7 +421735,7 @@ var MessageEmitter = class extends BaseEmitter {
|
|
|
420012
421735
|
totalTokens: usageMetadata.totalTokenCount,
|
|
420013
421736
|
cachedTokens: usageMetadata.cachedContentTokenCount
|
|
420014
421737
|
};
|
|
420015
|
-
const meta = typeof durationMs === "number" ? { usage: usage2, durationMs } : { usage: usage2 };
|
|
421738
|
+
const meta = typeof durationMs === "number" ? { usage: usage2, durationMs, ...subagentMeta } : { usage: usage2, ...subagentMeta };
|
|
420016
421739
|
await this.sendUpdate({
|
|
420017
421740
|
sessionUpdate: "agent_message_chunk",
|
|
420018
421741
|
content: { type: "text", text },
|
|
@@ -420139,7 +421862,10 @@ var ToolCallEmitter = class extends BaseEmitter {
|
|
|
420139
421862
|
locations,
|
|
420140
421863
|
kind: kind2,
|
|
420141
421864
|
rawInput: params.args ?? {},
|
|
420142
|
-
_meta: {
|
|
421865
|
+
_meta: {
|
|
421866
|
+
toolName: params.toolName,
|
|
421867
|
+
...params.subagentMeta
|
|
421868
|
+
}
|
|
420143
421869
|
});
|
|
420144
421870
|
return true;
|
|
420145
421871
|
}
|
|
@@ -420181,7 +421907,10 @@ var ToolCallEmitter = class extends BaseEmitter {
|
|
|
420181
421907
|
toolCallId: params.callId,
|
|
420182
421908
|
status: params.success ? "completed" : "failed",
|
|
420183
421909
|
content: contentArray,
|
|
420184
|
-
_meta: {
|
|
421910
|
+
_meta: {
|
|
421911
|
+
toolName: params.toolName,
|
|
421912
|
+
...params.subagentMeta
|
|
421913
|
+
}
|
|
420185
421914
|
};
|
|
420186
421915
|
if (params.resultDisplay !== void 0) {
|
|
420187
421916
|
update2["rawOutput"] = params.resultDisplay;
|
|
@@ -420193,9 +421922,11 @@ var ToolCallEmitter = class extends BaseEmitter {
|
|
|
420193
421922
|
* Use this for explicit error handling when not using emitResult.
|
|
420194
421923
|
*
|
|
420195
421924
|
* @param callId - The tool call ID
|
|
421925
|
+
* @param toolName - The tool name
|
|
420196
421926
|
* @param error - The error that occurred
|
|
421927
|
+
* @param subagentMeta - Optional subagent metadata
|
|
420197
421928
|
*/
|
|
420198
|
-
async emitError(callId, toolName, error2) {
|
|
421929
|
+
async emitError(callId, toolName, error2, subagentMeta) {
|
|
420199
421930
|
await this.sendUpdate({
|
|
420200
421931
|
sessionUpdate: "tool_call_update",
|
|
420201
421932
|
toolCallId: callId,
|
|
@@ -420203,7 +421934,10 @@ var ToolCallEmitter = class extends BaseEmitter {
|
|
|
420203
421934
|
content: [
|
|
420204
421935
|
{ type: "content", content: { type: "text", text: error2.message } }
|
|
420205
421936
|
],
|
|
420206
|
-
_meta: {
|
|
421937
|
+
_meta: {
|
|
421938
|
+
toolName,
|
|
421939
|
+
...subagentMeta
|
|
421940
|
+
}
|
|
420207
421941
|
});
|
|
420208
421942
|
}
|
|
420209
421943
|
// ==================== Public Utilities ====================
|
|
@@ -420481,9 +422215,11 @@ var basicPermissionOptions = [
|
|
|
420481
422215
|
}
|
|
420482
422216
|
];
|
|
420483
422217
|
var SubAgentTracker = class {
|
|
420484
|
-
constructor(ctx, client) {
|
|
422218
|
+
constructor(ctx, client, parentToolCallId, subagentType) {
|
|
420485
422219
|
this.ctx = ctx;
|
|
420486
422220
|
this.client = client;
|
|
422221
|
+
this.parentToolCallId = parentToolCallId;
|
|
422222
|
+
this.subagentType = subagentType;
|
|
420487
422223
|
this.toolCallEmitter = new ToolCallEmitter(ctx);
|
|
420488
422224
|
this.messageEmitter = new MessageEmitter(ctx);
|
|
420489
422225
|
}
|
|
@@ -420493,6 +422229,15 @@ var SubAgentTracker = class {
|
|
|
420493
422229
|
toolCallEmitter;
|
|
420494
422230
|
messageEmitter;
|
|
420495
422231
|
toolStates = /* @__PURE__ */ new Map();
|
|
422232
|
+
/**
|
|
422233
|
+
* Gets the subagent metadata to attach to all events.
|
|
422234
|
+
*/
|
|
422235
|
+
getSubagentMeta() {
|
|
422236
|
+
return {
|
|
422237
|
+
parentToolCallId: this.parentToolCallId,
|
|
422238
|
+
subagentType: this.subagentType
|
|
422239
|
+
};
|
|
422240
|
+
}
|
|
420496
422241
|
/**
|
|
420497
422242
|
* Sets up event listeners for a sub-agent's tool events.
|
|
420498
422243
|
*
|
|
@@ -420505,16 +422250,19 @@ var SubAgentTracker = class {
|
|
|
420505
422250
|
const onToolResult = this.createToolResultHandler(abortSignal);
|
|
420506
422251
|
const onApproval = this.createApprovalHandler(abortSignal);
|
|
420507
422252
|
const onUsageMetadata = this.createUsageMetadataHandler(abortSignal);
|
|
422253
|
+
const onStreamText = this.createStreamTextHandler(abortSignal);
|
|
420508
422254
|
eventEmitter.on("tool_call" /* TOOL_CALL */, onToolCall);
|
|
420509
422255
|
eventEmitter.on("tool_result" /* TOOL_RESULT */, onToolResult);
|
|
420510
422256
|
eventEmitter.on("tool_waiting_approval" /* TOOL_WAITING_APPROVAL */, onApproval);
|
|
420511
422257
|
eventEmitter.on("usage_metadata" /* USAGE_METADATA */, onUsageMetadata);
|
|
422258
|
+
eventEmitter.on("stream_text" /* STREAM_TEXT */, onStreamText);
|
|
420512
422259
|
return [
|
|
420513
422260
|
() => {
|
|
420514
422261
|
eventEmitter.off("tool_call" /* TOOL_CALL */, onToolCall);
|
|
420515
422262
|
eventEmitter.off("tool_result" /* TOOL_RESULT */, onToolResult);
|
|
420516
422263
|
eventEmitter.off("tool_waiting_approval" /* TOOL_WAITING_APPROVAL */, onApproval);
|
|
420517
422264
|
eventEmitter.off("usage_metadata" /* USAGE_METADATA */, onUsageMetadata);
|
|
422265
|
+
eventEmitter.off("stream_text" /* STREAM_TEXT */, onStreamText);
|
|
420518
422266
|
this.toolStates.clear();
|
|
420519
422267
|
}
|
|
420520
422268
|
];
|
|
@@ -420544,7 +422292,8 @@ var SubAgentTracker = class {
|
|
|
420544
422292
|
void this.toolCallEmitter.emitStart({
|
|
420545
422293
|
toolName: event.name,
|
|
420546
422294
|
callId: event.callId,
|
|
420547
|
-
args: event.args
|
|
422295
|
+
args: event.args,
|
|
422296
|
+
subagentMeta: this.getSubagentMeta()
|
|
420548
422297
|
});
|
|
420549
422298
|
};
|
|
420550
422299
|
}
|
|
@@ -420562,7 +422311,8 @@ var SubAgentTracker = class {
|
|
|
420562
422311
|
success: event.success,
|
|
420563
422312
|
message: event.responseParts ?? [],
|
|
420564
422313
|
resultDisplay: event.resultDisplay,
|
|
420565
|
-
args: state?.args
|
|
422314
|
+
args: state?.args,
|
|
422315
|
+
subagentMeta: this.getSubagentMeta()
|
|
420566
422316
|
});
|
|
420567
422317
|
this.toolStates.delete(event.callId);
|
|
420568
422318
|
};
|
|
@@ -420624,7 +422374,27 @@ var SubAgentTracker = class {
|
|
|
420624
422374
|
return (...args) => {
|
|
420625
422375
|
const event = args[0];
|
|
420626
422376
|
if (abortSignal.aborted) return;
|
|
420627
|
-
this.messageEmitter.emitUsageMetadata(
|
|
422377
|
+
this.messageEmitter.emitUsageMetadata(
|
|
422378
|
+
event.usage,
|
|
422379
|
+
"",
|
|
422380
|
+
event.durationMs,
|
|
422381
|
+
this.getSubagentMeta()
|
|
422382
|
+
);
|
|
422383
|
+
};
|
|
422384
|
+
}
|
|
422385
|
+
/**
|
|
422386
|
+
* Creates a handler for stream text events.
|
|
422387
|
+
* Emits agent message or thought chunks for text content from subagent model responses.
|
|
422388
|
+
*/
|
|
422389
|
+
createStreamTextHandler(abortSignal) {
|
|
422390
|
+
return (...args) => {
|
|
422391
|
+
const event = args[0];
|
|
422392
|
+
if (abortSignal.aborted) return;
|
|
422393
|
+
void this.messageEmitter.emitMessage(
|
|
422394
|
+
event.text,
|
|
422395
|
+
"assistant",
|
|
422396
|
+
event.thought ?? false
|
|
422397
|
+
);
|
|
420628
422398
|
};
|
|
420629
422399
|
}
|
|
420630
422400
|
/**
|
|
@@ -420982,7 +422752,14 @@ var Session3 = class {
|
|
|
420982
422752
|
const invocation = tool.build(args);
|
|
420983
422753
|
if (isTaskTool && "eventEmitter" in invocation) {
|
|
420984
422754
|
const taskEventEmitter = invocation.eventEmitter;
|
|
420985
|
-
const
|
|
422755
|
+
const parentToolCallId = callId;
|
|
422756
|
+
const subagentType = args["subagent_type"] ?? "";
|
|
422757
|
+
const subAgentTracker = new SubAgentTracker(
|
|
422758
|
+
this,
|
|
422759
|
+
this.client,
|
|
422760
|
+
parentToolCallId,
|
|
422761
|
+
subagentType
|
|
422762
|
+
);
|
|
420986
422763
|
subAgentCleanupFunctions = subAgentTracker.setup(
|
|
420987
422764
|
taskEventEmitter,
|
|
420988
422765
|
abortSignal
|
|
@@ -421534,7 +423311,7 @@ var GeminiAgent = class {
|
|
|
421534
423311
|
name: APPROVAL_MODE_INFO[mode].name,
|
|
421535
423312
|
description: APPROVAL_MODE_INFO[mode].description
|
|
421536
423313
|
}));
|
|
421537
|
-
const version2 = "0.2.2
|
|
423314
|
+
const version2 = "0.2.2";
|
|
421538
423315
|
return {
|
|
421539
423316
|
protocolVersion: PROTOCOL_VERSION,
|
|
421540
423317
|
agentInfo: {
|
|
@@ -421693,7 +423470,7 @@ var GeminiAgent = class {
|
|
|
421693
423470
|
return session.setModel(params);
|
|
421694
423471
|
}
|
|
421695
423472
|
async ensureAuthenticated(config2) {
|
|
421696
|
-
const selectedType =
|
|
423473
|
+
const selectedType = config2.getModelsConfig().getCurrentAuthType();
|
|
421697
423474
|
if (!selectedType) {
|
|
421698
423475
|
throw RequestError.authRequired(
|
|
421699
423476
|
"Use RDMind CLI to authenticate first."
|
|
@@ -421911,7 +423688,7 @@ async function main() {
|
|
|
421911
423688
|
);
|
|
421912
423689
|
if (!settings.merged.security?.auth?.useExternal) {
|
|
421913
423690
|
try {
|
|
421914
|
-
const authType = partialConfig.
|
|
423691
|
+
const authType = partialConfig.getModelsConfig().getCurrentAuthType();
|
|
421915
423692
|
if (authType) {
|
|
421916
423693
|
const err = validateAuthMethod(authType, partialConfig);
|
|
421917
423694
|
if (err) {
|
|
@@ -421962,6 +423739,7 @@ ${finalArgs[promptIndex + 1]}`;
|
|
|
421962
423739
|
}
|
|
421963
423740
|
argv = { ...argv, resume: selectedSessionId };
|
|
421964
423741
|
}
|
|
423742
|
+
initializeLlmOutputLanguage(settings.merged.general?.outputLanguage);
|
|
421965
423743
|
{
|
|
421966
423744
|
const config2 = await loadCliConfig(
|
|
421967
423745
|
settings.merged,
|