@surething/cockpit 1.0.254 → 1.0.255
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/.next-prod/BUILD_ID +1 -1
- package/.next-prod/app-path-routes-manifest.json +3 -3
- package/.next-prod/build-manifest.json +2 -2
- package/.next-prod/prerender-manifest.json +3 -3
- package/.next-prod/server/app/_global-error/page.js.nft.json +1 -1
- package/.next-prod/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/_global-error.html +1 -1
- package/.next-prod/server/app/_global-error.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found/page.js.nft.json +1 -1
- package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/_not-found.html +2 -2
- package/.next-prod/server/app/_not-found.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next-prod/server/app/api/agent/test/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/bash/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/codex/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/deepseek/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/kimi/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/ollama/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/pty-input/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/stop/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/claude-stats/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/commands/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/comments/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/columns/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/export/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/schemas/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/deepseek/balance/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/deepseek/credentials/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/deepseek/models/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/dev/spans/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/extension/version/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/file/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/blame/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/clipboard/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/copy/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/delete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/expanded/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/index/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/init/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/paste/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/read/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/readdir/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/recent/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/save/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/search/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/stat/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/text/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/branch-diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/branches/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/commit-diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/commits/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/current-branch/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/discard/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/stage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/status/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/unstage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/worktree/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/global-state/route.js +1 -1
- package/.next-prod/server/app/api/global-state/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/health/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/html-apps/[id]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/html-apps/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/load/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/save/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/shutdown/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/definition/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/hover/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/references/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/status/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/warmup/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/columns/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/export/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/schemas/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/schema/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/note/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/ollama/config/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/ollama/models/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/ollama/start/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/open-cursor/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/open-vscode/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/pick-folder/route.js +1 -1
- package/.next-prod/server/app/api/pick-folder/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/pinned-sessions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/project-settings/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/project-state/route.js +1 -1
- package/.next-prod/server/app/api/project-state/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/affected/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/callees/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/callers/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/coedit/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/context/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/file/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/file-functions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/impact/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/related/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/risk/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/search/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projects/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/prompts/config/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/push/public-key/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/push/subscribe/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/push/unsubscribe/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/command/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/delete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/get/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/keys/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/set/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/comments/route.js +1 -1
- package/.next-prod/server/app/api/review/[id]/comments/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/replies/route.js +1 -1
- package/.next-prod/server/app/api/review/[id]/replies/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/identify/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/order/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/route.js +1 -1
- package/.next-prod/server/app/api/review/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/share-info/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/users/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/scheduled-tasks/route.js +3 -2
- package/.next-prod/server/app/api/scheduled-tasks/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/services/config/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/services/scripts/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/fork/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/history/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session-by-path/route.js +1 -1
- package/.next-prod/server/app/api/session-by-path/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/projects/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/settings/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/skills/[id]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/skills/content/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/skills/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/snapshots/diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/snapshots/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/aliases/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/autocomplete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/bubble-order/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/env/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/history/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/version/route.js.nft.json +1 -1
- package/.next-prod/server/app/apps/[...path]/route.js.nft.json +1 -1
- package/.next-prod/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next-prod/server/app/m/page.js +1 -1
- package/.next-prod/server/app/m/page.js.nft.json +1 -1
- package/.next-prod/server/app/m/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next-prod/server/app/page.js.nft.json +1 -1
- package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/project/page.js.nft.json +1 -1
- package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/review/[id]/page.js.nft.json +1 -1
- package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app-paths-manifest.json +3 -3
- package/.next-prod/server/chunks/6548.js +1 -0
- package/.next-prod/server/chunks/9419.js +5 -3
- package/.next-prod/server/chunks/9658.js +8 -8
- package/.next-prod/server/chunks/9830.js +1 -1
- package/.next-prod/server/middleware-build-manifest.js +1 -1
- package/.next-prod/server/pages/404.html +2 -2
- package/.next-prod/server/pages/500.html +1 -1
- package/.next-prod/server/server-reference-manifest.json +1 -1
- package/.next-prod/static/chunks/6260-d083071702689ed3.js +25 -0
- package/.next-prod/static/chunks/6784-11dddca80af27810.js +0 -0
- package/.next-prod/static/chunks/{9530-870e97119b45f025.js → 9530-71cba64daec9add7.js} +1 -1
- package/.next-prod/static/chunks/app/m/{page-6c37d1fb9db9b9d6.js → page-56faaf1f36f2588e.js} +1 -1
- package/.next-prod/static/css/7a396fd0cfd8a652.css +1 -0
- package/.next-prod/trace +14 -14
- package/.next-prod/trace-build +1 -1
- package/dist/{chunk-H3JSYJCZ.mjs → chunk-ALNGHUH4.mjs} +20 -2
- package/dist/{chunk-HIW2SGCF.mjs → chunk-LEWYJIIE.mjs} +1 -1
- package/dist/{chunk-7G4OXJJ4.mjs → chunk-UBB3LJGR.mjs} +4 -0
- package/dist/httpApi.mjs +2 -2
- package/dist/scheduledTasks.mjs +2432 -20
- package/dist/{server-O434I7QD.mjs → server-D7CF4MB3.mjs} +2 -2
- package/dist/wsServer.mjs +4 -4
- package/package.json +1 -1
- package/.next-prod/server/chunks/6038.js +0 -1
- package/.next-prod/static/chunks/6260-f566ccfbd8e8809c.js +0 -25
- package/.next-prod/static/chunks/6784-d35737ae5f04a2d2.js +0 -0
- package/.next-prod/static/css/05889d4d244bd7d5.css +0 -1
- /package/.next-prod/static/{xXMzxSYQCcHCrntVXcycC → JD1OQjo1JkC0HtJ7Nawnu}/_buildManifest.js +0 -0
- /package/.next-prod/static/{xXMzxSYQCcHCrntVXcycC → JD1OQjo1JkC0HtJ7Nawnu}/_ssgManifest.js +0 -0
package/dist/scheduledTasks.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
setRunAbort,
|
|
11
11
|
startRun,
|
|
12
12
|
updateGlobalState
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ALNGHUH4.mjs";
|
|
14
14
|
import {
|
|
15
15
|
AgentError,
|
|
16
16
|
AppRuntime,
|
|
@@ -34,6 +34,7 @@ import {
|
|
|
34
34
|
getDeepseekBuiltinSessionPath,
|
|
35
35
|
getDeepseekSessionPath,
|
|
36
36
|
getOllamaSessionPath,
|
|
37
|
+
getSessionFilePath,
|
|
37
38
|
mutateJsonFile,
|
|
38
39
|
notePendingRecord,
|
|
39
40
|
readJsonFile,
|
|
@@ -41,7 +42,7 @@ import {
|
|
|
41
42
|
settlePendingRecord,
|
|
42
43
|
withFileLock,
|
|
43
44
|
writeJsonFile
|
|
44
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-UBB3LJGR.mjs";
|
|
45
46
|
import {
|
|
46
47
|
__export
|
|
47
48
|
} from "./chunk-7P6ASYW6.mjs";
|
|
@@ -3177,23 +3178,35 @@ function readSessionMessages(root, cwd, sessionId) {
|
|
|
3177
3178
|
}
|
|
3178
3179
|
}
|
|
3179
3180
|
const messages = [];
|
|
3181
|
+
let assistantParts = [];
|
|
3182
|
+
const flushAssistant = () => {
|
|
3183
|
+
const parts = assistantParts.filter((p) => p.type !== "text" || String(p.text || "").length > 0);
|
|
3184
|
+
assistantParts = [];
|
|
3185
|
+
if (parts.length === 0) return;
|
|
3186
|
+
if (parts.length === 1 && parts[0].type === "text") {
|
|
3187
|
+
messages.push({ role: "assistant", content: String(parts[0].text || "") });
|
|
3188
|
+
} else {
|
|
3189
|
+
messages.push({ role: "assistant", content: parts });
|
|
3190
|
+
}
|
|
3191
|
+
};
|
|
3180
3192
|
for (const entry of transcriptEntries) {
|
|
3181
3193
|
if (entry.type === "user" && entry.message?.role === "user" && Array.isArray(entry.message.content)) {
|
|
3182
3194
|
const text = entry.message.content.filter((b) => b.type === "text").map((b) => b.text || "").join("\n");
|
|
3195
|
+
flushAssistant();
|
|
3196
|
+
if (!text) continue;
|
|
3183
3197
|
messages.push({ role: "user", content: text });
|
|
3184
3198
|
continue;
|
|
3185
3199
|
}
|
|
3186
3200
|
if (entry.type === "assistant" && Array.isArray(entry.message?.content)) {
|
|
3187
|
-
const parts = [];
|
|
3188
3201
|
for (const block of entry.message.content) {
|
|
3189
3202
|
if (block.type === "text") {
|
|
3190
|
-
|
|
3203
|
+
assistantParts.push({ type: "text", text: block.text || "" });
|
|
3191
3204
|
} else if (block.type === "tool_use") {
|
|
3192
3205
|
const toolCallId = block.id || "";
|
|
3193
3206
|
if (!toolCallId) continue;
|
|
3194
3207
|
if (!toolResultIds.has(toolCallId)) continue;
|
|
3195
3208
|
const toolName = block.name || toolNameById.get(toolCallId) || "tool";
|
|
3196
|
-
|
|
3209
|
+
assistantParts.push({
|
|
3197
3210
|
type: "tool-call",
|
|
3198
3211
|
toolCallId,
|
|
3199
3212
|
toolName,
|
|
@@ -3201,13 +3214,6 @@ function readSessionMessages(root, cwd, sessionId) {
|
|
|
3201
3214
|
});
|
|
3202
3215
|
}
|
|
3203
3216
|
}
|
|
3204
|
-
if (parts.length === 1 && parts[0].type === "text") {
|
|
3205
|
-
messages.push({ role: "assistant", content: String(parts[0].text || "") });
|
|
3206
|
-
} else if (parts.length > 0) {
|
|
3207
|
-
messages.push({ role: "assistant", content: parts });
|
|
3208
|
-
} else {
|
|
3209
|
-
messages.push({ role: "assistant", content: "" });
|
|
3210
|
-
}
|
|
3211
3217
|
continue;
|
|
3212
3218
|
}
|
|
3213
3219
|
if (entry.type === "user" && Array.isArray(entry.message?.content)) {
|
|
@@ -3218,6 +3224,7 @@ function readSessionMessages(root, cwd, sessionId) {
|
|
|
3218
3224
|
const toolCallId = tr.tool_use_id || "";
|
|
3219
3225
|
if (!toolCallId) continue;
|
|
3220
3226
|
if (!toolCallIds.has(toolCallId)) continue;
|
|
3227
|
+
flushAssistant();
|
|
3221
3228
|
const toolName = toolNameById.get(toolCallId) || "tool";
|
|
3222
3229
|
messages.push({
|
|
3223
3230
|
role: "tool",
|
|
@@ -3233,6 +3240,7 @@ function readSessionMessages(root, cwd, sessionId) {
|
|
|
3233
3240
|
}
|
|
3234
3241
|
}
|
|
3235
3242
|
}
|
|
3243
|
+
flushAssistant();
|
|
3236
3244
|
return messages;
|
|
3237
3245
|
}
|
|
3238
3246
|
function appendSessionLine(root, cwd, sessionId, line) {
|
|
@@ -17368,6 +17376,15 @@ ${summary}`;
|
|
|
17368
17376
|
}
|
|
17369
17377
|
|
|
17370
17378
|
// packages/feature/agent/src/server/engines/builtinAgent/stream.ts
|
|
17379
|
+
function formatToolError(error48) {
|
|
17380
|
+
if (error48 instanceof Error) return error48.message || String(error48);
|
|
17381
|
+
if (typeof error48 === "string") return error48;
|
|
17382
|
+
try {
|
|
17383
|
+
return JSON.stringify(error48);
|
|
17384
|
+
} catch {
|
|
17385
|
+
return String(error48);
|
|
17386
|
+
}
|
|
17387
|
+
}
|
|
17371
17388
|
async function consumeStream(fullStream, safeEnqueue, _sessionId, opts) {
|
|
17372
17389
|
let text = "";
|
|
17373
17390
|
const toolCalls = [];
|
|
@@ -17415,7 +17432,7 @@ async function consumeStream(fullStream, safeEnqueue, _sessionId, opts) {
|
|
|
17415
17432
|
}
|
|
17416
17433
|
case "tool-result": {
|
|
17417
17434
|
const content = String(part.output);
|
|
17418
|
-
opts?.onToolResult?.(part.toolCallId, content);
|
|
17435
|
+
opts?.onToolResult?.(part.toolCallId, content, false);
|
|
17419
17436
|
safeEnqueue(
|
|
17420
17437
|
`data: ${JSON.stringify({
|
|
17421
17438
|
type: "user",
|
|
@@ -17424,6 +17441,27 @@ async function consumeStream(fullStream, safeEnqueue, _sessionId, opts) {
|
|
|
17424
17441
|
}
|
|
17425
17442
|
})}
|
|
17426
17443
|
|
|
17444
|
+
`
|
|
17445
|
+
);
|
|
17446
|
+
break;
|
|
17447
|
+
}
|
|
17448
|
+
// A tool that threw (or whose input failed schema validation) emits `tool-error`,
|
|
17449
|
+
// never `tool-result`. Skipping it left the tool_use dangling in the transcript;
|
|
17450
|
+
// on the NEXT turn that call was dropped on replay, the assistant message it lived
|
|
17451
|
+
// in became empty, and the provider rejected the whole request with
|
|
17452
|
+
// "Invalid assistant message: content or tool_calls must be set" — a permanently
|
|
17453
|
+
// unusable session. Every tool call must close with a result line, success or not.
|
|
17454
|
+
case "tool-error": {
|
|
17455
|
+
const content = formatToolError(part.error);
|
|
17456
|
+
opts?.onToolResult?.(part.toolCallId, content, true);
|
|
17457
|
+
safeEnqueue(
|
|
17458
|
+
`data: ${JSON.stringify({
|
|
17459
|
+
type: "user",
|
|
17460
|
+
message: {
|
|
17461
|
+
content: [{ type: "tool_result", tool_use_id: part.toolCallId, content, is_error: true }]
|
|
17462
|
+
}
|
|
17463
|
+
})}
|
|
17464
|
+
|
|
17427
17465
|
`
|
|
17428
17466
|
);
|
|
17429
17467
|
break;
|
|
@@ -17542,13 +17580,13 @@ async function runBuiltinAgent(ctx, config2) {
|
|
|
17542
17580
|
} catch {
|
|
17543
17581
|
}
|
|
17544
17582
|
},
|
|
17545
|
-
onToolResult: (toolUseId, content) => {
|
|
17583
|
+
onToolResult: (toolUseId, content, isError) => {
|
|
17546
17584
|
try {
|
|
17547
17585
|
pendingToolCalls.delete(toolUseId);
|
|
17548
17586
|
appendToolResult(sessionsRoot, cwd, sid, toolUseId, content, {
|
|
17549
17587
|
uuid: randomUUID3(),
|
|
17550
17588
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
17551
|
-
is_error:
|
|
17589
|
+
is_error: Boolean(isError)
|
|
17552
17590
|
});
|
|
17553
17591
|
} catch {
|
|
17554
17592
|
}
|
|
@@ -18018,8 +18056,2366 @@ function getEngineSpec(engine) {
|
|
|
18018
18056
|
return SPECS[engine ?? "claude"];
|
|
18019
18057
|
}
|
|
18020
18058
|
|
|
18059
|
+
// packages/shared/i18n/src/index.ts
|
|
18060
|
+
import i18n from "i18next";
|
|
18061
|
+
|
|
18062
|
+
// packages/shared/i18n/locales/en.json
|
|
18063
|
+
var en_default2 = {
|
|
18064
|
+
common: {
|
|
18065
|
+
save: "Save",
|
|
18066
|
+
cancel: "Cancel",
|
|
18067
|
+
delete: "Delete",
|
|
18068
|
+
close: "Close",
|
|
18069
|
+
copy: "Copy",
|
|
18070
|
+
edit: "Edit",
|
|
18071
|
+
file: "File",
|
|
18072
|
+
codeMap: "Code Map",
|
|
18073
|
+
diff: "Diff",
|
|
18074
|
+
confirm: "Confirm",
|
|
18075
|
+
loading: "Loading...",
|
|
18076
|
+
search: "Search",
|
|
18077
|
+
refresh: "Refresh",
|
|
18078
|
+
retry: "Retry",
|
|
18079
|
+
submit: "Submit",
|
|
18080
|
+
copied: "Copied",
|
|
18081
|
+
saved: "Saved",
|
|
18082
|
+
failed: "Failed",
|
|
18083
|
+
noMatch: "No matches",
|
|
18084
|
+
noData: "No data",
|
|
18085
|
+
done: "Done",
|
|
18086
|
+
justNow: "just now",
|
|
18087
|
+
minutesAgo: "{{count}}m ago",
|
|
18088
|
+
hoursAgo: "{{count}}h ago",
|
|
18089
|
+
daysAgo: "{{count}}d ago",
|
|
18090
|
+
monthsAgo: "{{count}}mo ago",
|
|
18091
|
+
yearsAgo: "{{count}}y ago",
|
|
18092
|
+
saveFailed: "Save failed",
|
|
18093
|
+
copyFailed: "Copy failed",
|
|
18094
|
+
deleteFailed: "Delete failed",
|
|
18095
|
+
operationFailed: "Operation failed",
|
|
18096
|
+
copiedPath: "Path copied",
|
|
18097
|
+
copyPath: "Copy path",
|
|
18098
|
+
openInConsole: "Open in Console bubble",
|
|
18099
|
+
copyAbsPath: "Copy absolute path",
|
|
18100
|
+
loadMore: "Load more",
|
|
18101
|
+
noResult: "No results",
|
|
18102
|
+
selected: "Selected",
|
|
18103
|
+
selectAll: "Select all",
|
|
18104
|
+
hint: "Notice",
|
|
18105
|
+
confirmBtn: "OK",
|
|
18106
|
+
cancelBtn: "Cancel",
|
|
18107
|
+
preview: "Preview",
|
|
18108
|
+
readable: "Readable",
|
|
18109
|
+
previous: "Previous",
|
|
18110
|
+
next: "Next",
|
|
18111
|
+
all: "All",
|
|
18112
|
+
input: "Input",
|
|
18113
|
+
result: "Result",
|
|
18114
|
+
line: "Line",
|
|
18115
|
+
lines: "lines",
|
|
18116
|
+
running: "Running",
|
|
18117
|
+
connecting: "Connecting",
|
|
18118
|
+
connected: "Connected",
|
|
18119
|
+
connectionFailed: "Connection failed",
|
|
18120
|
+
builtin: "Built-in",
|
|
18121
|
+
global: "Global",
|
|
18122
|
+
project: "Project",
|
|
18123
|
+
current: "Current"
|
|
18124
|
+
},
|
|
18125
|
+
htmlApps: {
|
|
18126
|
+
addTooltip: "Add to HTML panel",
|
|
18127
|
+
added: "Added to HTML panel",
|
|
18128
|
+
alreadyAdded: "Already added",
|
|
18129
|
+
addFailed: "Failed to add"
|
|
18130
|
+
},
|
|
18131
|
+
skills: {
|
|
18132
|
+
addTooltip: "Add to Skills panel",
|
|
18133
|
+
added: "Added to Skills panel",
|
|
18134
|
+
alreadyAdded: "Already added",
|
|
18135
|
+
addFailed: "Failed to add",
|
|
18136
|
+
title: "Skills",
|
|
18137
|
+
searchPlaceholder: "Search skills...",
|
|
18138
|
+
clearSearch: "Clear",
|
|
18139
|
+
addSkill: "Add Skill",
|
|
18140
|
+
emptyNoSkills: 'No skills yet. Click "Add Skill" to add one.',
|
|
18141
|
+
emptyNoMatch: "No skills match your search.",
|
|
18142
|
+
pathLabel: "Absolute path to SKILL.md",
|
|
18143
|
+
pathPlaceholder: "/Users/you/.../skills/foo/SKILL.md",
|
|
18144
|
+
add: "Add",
|
|
18145
|
+
adding: "Adding...",
|
|
18146
|
+
invalid: "Invalid",
|
|
18147
|
+
copyPath: "Copy path",
|
|
18148
|
+
noDescription: "No description",
|
|
18149
|
+
previewTitle: "Skill Preview",
|
|
18150
|
+
source: "Source",
|
|
18151
|
+
cannotRead: "File cannot be read."
|
|
18152
|
+
},
|
|
18153
|
+
toast: {
|
|
18154
|
+
savedSuccess: "Saved",
|
|
18155
|
+
saveFailed: "Save failed",
|
|
18156
|
+
copiedName: "Copied: {{name}}",
|
|
18157
|
+
copyFailed: "Copy failed",
|
|
18158
|
+
deleteFailed: "Delete failed",
|
|
18159
|
+
operationFailed: "Operation failed",
|
|
18160
|
+
staged: "Staged",
|
|
18161
|
+
stageFailed: "Stage failed",
|
|
18162
|
+
unstaged: "Unstaged",
|
|
18163
|
+
unstageFailed: "Unstage failed",
|
|
18164
|
+
stagedNFiles: "Staged {{count}} files",
|
|
18165
|
+
unstagedNFiles: "Unstaged {{count}} files",
|
|
18166
|
+
discardFailed: "Discard failed",
|
|
18167
|
+
discardedNFiles: "Discarded changes in {{count}} files",
|
|
18168
|
+
stagedAllFiles: "All files staged",
|
|
18169
|
+
deletedFile: "File deleted",
|
|
18170
|
+
discardedChanges: "Changes discarded",
|
|
18171
|
+
pastedFile: "Pasted: {{name}}",
|
|
18172
|
+
pasteFailed: "Paste failed",
|
|
18173
|
+
noFileToPaste: "No file to paste",
|
|
18174
|
+
createdFile: "Created: {{name}}",
|
|
18175
|
+
createFailed: "Create failed",
|
|
18176
|
+
movedToTrash: "Moved to trash: {{name}}",
|
|
18177
|
+
copiedPageUrl: "Page URL copied",
|
|
18178
|
+
copiedDirPath: "Directory path copied",
|
|
18179
|
+
switchedToBranch: "Switched to {{branch}}",
|
|
18180
|
+
switchBranchFailed: "Branch switch failed",
|
|
18181
|
+
loadBranchFailed: "Failed to load branches",
|
|
18182
|
+
copiedCommand: "Copied: {{command}}",
|
|
18183
|
+
copiedMessage: "Message copied",
|
|
18184
|
+
copiedUrl: "URL copied",
|
|
18185
|
+
copiedOutput: "Output copied",
|
|
18186
|
+
copiedCmd: "Command copied",
|
|
18187
|
+
copiedComment: "Comment copied",
|
|
18188
|
+
copiedAllComments: "All comments copied",
|
|
18189
|
+
copiedFileContent: "File content copied",
|
|
18190
|
+
copiedQA: "Copied {{count}} Q&A",
|
|
18191
|
+
copiedAllQA: "All Q&A copied",
|
|
18192
|
+
sentQA: "Sent to AI",
|
|
18193
|
+
readFileFailed: "Failed to read file",
|
|
18194
|
+
reviewCreated: "Review created, link copied",
|
|
18195
|
+
reviewUpdated: "Review updated, link copied",
|
|
18196
|
+
reviewCreateFailed: "Failed to create review",
|
|
18197
|
+
sharingClosed: "Sharing disabled",
|
|
18198
|
+
sharingCloseFailed: "Failed to disable sharing",
|
|
18199
|
+
linkCopied: "Link copied",
|
|
18200
|
+
addCommentFailed: "Failed to add comment",
|
|
18201
|
+
deleteCommentFailed: "Failed to delete comment",
|
|
18202
|
+
editCommentFailed: "Failed to edit comment",
|
|
18203
|
+
addReplyFailed: "Failed to add reply",
|
|
18204
|
+
deleteReplyFailed: "Failed to delete reply",
|
|
18205
|
+
editReplyFailed: "Failed to edit reply",
|
|
18206
|
+
disconnected: "Disconnected: {{id}}",
|
|
18207
|
+
pluginReloading: "Reloading extension...",
|
|
18208
|
+
worktreeCreateSuccess: "Worktree created: {{name}}",
|
|
18209
|
+
worktreeCreateFailed: "Failed to create worktree",
|
|
18210
|
+
worktreeLoadFailed: "Failed to load worktree list",
|
|
18211
|
+
worktreeDeleted: "Worktree deleted",
|
|
18212
|
+
worktreeDeleteFailed: "Failed to delete worktree",
|
|
18213
|
+
worktreeLocked: "Locked",
|
|
18214
|
+
worktreeUnlocked: "Unlocked"
|
|
18215
|
+
},
|
|
18216
|
+
workspace: {
|
|
18217
|
+
selectProject: "Select a project to start",
|
|
18218
|
+
searchProjectPath: "Search project path...",
|
|
18219
|
+
loadingProjects: "Loading projects...",
|
|
18220
|
+
projectNotFound: "No projects found",
|
|
18221
|
+
sessions: "{{count}} sessions",
|
|
18222
|
+
loadingSessions: "Loading sessions...",
|
|
18223
|
+
noSessions: "No sessions",
|
|
18224
|
+
loadingText: "Loading...",
|
|
18225
|
+
openProject: "Open Project",
|
|
18226
|
+
expandSidebar: "Expand sidebar",
|
|
18227
|
+
collapseSidebar: "Collapse sidebar",
|
|
18228
|
+
notes: "Notes",
|
|
18229
|
+
skills: "Skills",
|
|
18230
|
+
settings: "Settings",
|
|
18231
|
+
help: "Help",
|
|
18232
|
+
updateAvailable: "v{{version}} available",
|
|
18233
|
+
copyUpgradeCommand: "Copy cockpit update",
|
|
18234
|
+
viewChangelog: "View changelog",
|
|
18235
|
+
upgradeCommandCopied: "Copied `cockpit update`",
|
|
18236
|
+
projectNotes: "Project Notes",
|
|
18237
|
+
closeProject: "Close project"
|
|
18238
|
+
},
|
|
18239
|
+
mobile: {
|
|
18240
|
+
useDesktop: "Desktop",
|
|
18241
|
+
messagePlaceholder: "Message\u2026",
|
|
18242
|
+
send: "Send",
|
|
18243
|
+
stop: "Stop",
|
|
18244
|
+
enableNotifications: "Enable notifications",
|
|
18245
|
+
disableNotifications: "Disable notifications",
|
|
18246
|
+
notifyError: "Could not enable notifications"
|
|
18247
|
+
},
|
|
18248
|
+
sessions: {
|
|
18249
|
+
recentSessions: "Recent Sessions",
|
|
18250
|
+
runningCount: "{{count}} running",
|
|
18251
|
+
unreadCount: "{{count}} unread",
|
|
18252
|
+
noSessions: "No sessions yet",
|
|
18253
|
+
running: "Running",
|
|
18254
|
+
done: "Done",
|
|
18255
|
+
pinnedSessions: "Pinned Sessions",
|
|
18256
|
+
noPinnedSessions: "No pinned sessions. Click the pin icon in the tab bar to add.",
|
|
18257
|
+
editTitle: "Edit title",
|
|
18258
|
+
remove: "Remove",
|
|
18259
|
+
projectSessions: "Project Sessions",
|
|
18260
|
+
browseAllSessions: "Browse all sessions",
|
|
18261
|
+
sessionList: "Session List",
|
|
18262
|
+
searchSessions: "Search sessions...",
|
|
18263
|
+
searchRecentSessions: "Search recent sessions",
|
|
18264
|
+
loadSessionsFailed: "Failed to load sessions",
|
|
18265
|
+
loadingSessions: "Loading sessions...",
|
|
18266
|
+
noMatchingSessions: "No matching sessions",
|
|
18267
|
+
noSessionsYet: "No sessions yet",
|
|
18268
|
+
projectList: "Project List",
|
|
18269
|
+
openFolder: "Open Folder",
|
|
18270
|
+
selectingFolder: "Selecting...",
|
|
18271
|
+
loadingHistory: "Loading history..."
|
|
18272
|
+
},
|
|
18273
|
+
scheduledTasks: {
|
|
18274
|
+
title: "Scheduled Tasks",
|
|
18275
|
+
aboutToTrigger: "About to trigger",
|
|
18276
|
+
secondsLater: "in {{count}}s",
|
|
18277
|
+
minutesLater: "in {{count}}m",
|
|
18278
|
+
hoursMinutesLater: "in {{h}}h {{m}}m",
|
|
18279
|
+
hoursLater: "in {{h}}h",
|
|
18280
|
+
onceType: "Once ({{minutes}}min)",
|
|
18281
|
+
everyNMinutes: "Every {{minutes}}min",
|
|
18282
|
+
completed: "Completed",
|
|
18283
|
+
paused: "Paused",
|
|
18284
|
+
activeCount: "{{running}} active",
|
|
18285
|
+
pausedCount: "{{paused}} paused",
|
|
18286
|
+
noScheduledTasks: "No scheduled tasks. Click the clock button in the chat input to create one.",
|
|
18287
|
+
lastResult: "Last",
|
|
18288
|
+
runNow: "Run now",
|
|
18289
|
+
resume: "Resume",
|
|
18290
|
+
pause: "Pause",
|
|
18291
|
+
completedCount: "Completed ({{count}})",
|
|
18292
|
+
success: "Success",
|
|
18293
|
+
failure: "Failed",
|
|
18294
|
+
createTask: "Create Scheduled Task",
|
|
18295
|
+
editTask: "Edit Scheduled Task",
|
|
18296
|
+
sendMessage: "Message",
|
|
18297
|
+
messagePlaceholder: "Enter message to send...",
|
|
18298
|
+
taskFile: "Task File",
|
|
18299
|
+
taskFilePlaceholder: "/Users/you/project/tasks/daily-report.md",
|
|
18300
|
+
taskFileHint: "Absolute path. On each fire the agent reads this file first and acts on what it describes \u2014 edits take effect on the next run.",
|
|
18301
|
+
taskFilePromptHeader: "Read this task file first, then act accordingly:",
|
|
18302
|
+
type: "Type",
|
|
18303
|
+
once: "Once",
|
|
18304
|
+
interval: "Interval",
|
|
18305
|
+
quickSelect: "Quick Select",
|
|
18306
|
+
customCron: "Custom Cron Expression",
|
|
18307
|
+
customMinutes: "Custom minutes",
|
|
18308
|
+
cronPlaceholder: "e.g. 0 9 * * 1-5 (weekdays at 9am)",
|
|
18309
|
+
cronFormat: "Format: min hour day month weekday (e.g. 0 9 * * 1-5)",
|
|
18310
|
+
minutesPlaceholder: "Minutes",
|
|
18311
|
+
limitTimeRange: "Limit execution time range",
|
|
18312
|
+
to: "to",
|
|
18313
|
+
saveBtn: "Save ({{modKey}}\u21A9)",
|
|
18314
|
+
createBtn: "Create ({{modKey}}\u21A9)",
|
|
18315
|
+
"5minLater": "In 5 minutes",
|
|
18316
|
+
"15minLater": "In 15 minutes",
|
|
18317
|
+
"30minLater": "In 30 minutes",
|
|
18318
|
+
"1hourLater": "In 1 hour",
|
|
18319
|
+
every15min: "Every 15 min",
|
|
18320
|
+
every30min: "Every 30 min",
|
|
18321
|
+
every1hour: "Every 1 hour",
|
|
18322
|
+
every2hours: "Every 2 hours",
|
|
18323
|
+
daily9am: "Daily 09:00",
|
|
18324
|
+
daily6pm: "Daily 18:00",
|
|
18325
|
+
weeklyMon9am: "Mon 09:00",
|
|
18326
|
+
monthly1st9am: "1st of month 09:00"
|
|
18327
|
+
},
|
|
18328
|
+
cron: {
|
|
18329
|
+
everyNMinutes: "Every {{n}} minutes",
|
|
18330
|
+
everyNHours: "Every {{n}} hours",
|
|
18331
|
+
everyMinute: "Every minute",
|
|
18332
|
+
everyHourAtMin: "Every hour at minute {{m}}",
|
|
18333
|
+
hourlyEveryMin: "{{h}}:xx every minute",
|
|
18334
|
+
daily: "Daily at {{time}}",
|
|
18335
|
+
weekdays: "Weekdays",
|
|
18336
|
+
weekends: "Weekends",
|
|
18337
|
+
dowSun: "Sun",
|
|
18338
|
+
dowMon: "Mon",
|
|
18339
|
+
dowTue: "Tue",
|
|
18340
|
+
dowWed: "Wed",
|
|
18341
|
+
dowThu: "Thu",
|
|
18342
|
+
dowFri: "Fri",
|
|
18343
|
+
dowSat: "Sat",
|
|
18344
|
+
monthPrefix: "",
|
|
18345
|
+
dayOfMonth: "",
|
|
18346
|
+
dayRange: "{{a}}th to {{b}}th",
|
|
18347
|
+
weekdayPrefix: "",
|
|
18348
|
+
weekdayRange: "{{a}} to {{b}}"
|
|
18349
|
+
},
|
|
18350
|
+
blockViewer: {
|
|
18351
|
+
empty: {
|
|
18352
|
+
body: "Select a file in the left tree to see its code map.",
|
|
18353
|
+
hint: "or press \u2318K to search."
|
|
18354
|
+
},
|
|
18355
|
+
fileMode: {
|
|
18356
|
+
loading: "Loading\u2026",
|
|
18357
|
+
notFound: "This file is not indexed (unsupported language or beyond the file cap)."
|
|
18358
|
+
},
|
|
18359
|
+
search: {
|
|
18360
|
+
tooltip: "Search (\u2318K)",
|
|
18361
|
+
hint: "Start typing to search",
|
|
18362
|
+
noResults: "No matches",
|
|
18363
|
+
files: "Files",
|
|
18364
|
+
symbols: "Symbols"
|
|
18365
|
+
},
|
|
18366
|
+
viewerToggle: {
|
|
18367
|
+
toBlock: "Show code map",
|
|
18368
|
+
toCode: "Back to code view"
|
|
18369
|
+
},
|
|
18370
|
+
toc: {
|
|
18371
|
+
title: "this file",
|
|
18372
|
+
empty: "No functions detected.",
|
|
18373
|
+
notIndexed: "File not in project graph (unsupported language / not in git tracked set / file cap reached)."
|
|
18374
|
+
},
|
|
18375
|
+
history: {
|
|
18376
|
+
title: "history",
|
|
18377
|
+
empty: "Click an input or output pin to begin tracing.",
|
|
18378
|
+
clear: "Clear history"
|
|
18379
|
+
},
|
|
18380
|
+
refresh: "Rebuild project graph",
|
|
18381
|
+
retry: "Retry"
|
|
18382
|
+
},
|
|
18383
|
+
blockDiffViewer: {
|
|
18384
|
+
loading: "Building code map\u2026",
|
|
18385
|
+
unsupported: "Code map diff is not available for this file type.",
|
|
18386
|
+
unsupportedHint: "Switch back to the regular diff view to read it.",
|
|
18387
|
+
error: "Code map diff failed: {{message}}",
|
|
18388
|
+
noBlockChanges: "No code-map changes (formatting / whitespace only).",
|
|
18389
|
+
noBefore: "(new)",
|
|
18390
|
+
noAfter: "(removed)",
|
|
18391
|
+
kind: {
|
|
18392
|
+
added: "added",
|
|
18393
|
+
deleted: "deleted",
|
|
18394
|
+
modified: "modified"
|
|
18395
|
+
}
|
|
18396
|
+
},
|
|
18397
|
+
fileBrowser: {
|
|
18398
|
+
directoryTree: "Tree",
|
|
18399
|
+
searchTab: "Search",
|
|
18400
|
+
recentTab: "Recent",
|
|
18401
|
+
changesTab: "Status",
|
|
18402
|
+
historyTab: "History",
|
|
18403
|
+
searchFiles: "Search files...",
|
|
18404
|
+
clear: "Clear",
|
|
18405
|
+
exactMatchOn: "Exact match (on)",
|
|
18406
|
+
exactMatchOff: "Exact match (off)",
|
|
18407
|
+
refreshTree: "Refresh directory tree",
|
|
18408
|
+
collapseAll: "Collapse all directories",
|
|
18409
|
+
searchFileContent: "Search file contents...",
|
|
18410
|
+
caseSensitive: "Case sensitive",
|
|
18411
|
+
wholeWord: "Whole word",
|
|
18412
|
+
regex: "Regex",
|
|
18413
|
+
fileTypes: "File types (ts,tsx)",
|
|
18414
|
+
compareMode: "Compare",
|
|
18415
|
+
compareModeOff: "Close branch comparison",
|
|
18416
|
+
compareModeOn: "Compare with selected branch",
|
|
18417
|
+
createFile: "New File",
|
|
18418
|
+
createFileIn: "New File (in {{path}}/)",
|
|
18419
|
+
fileName: "File name...",
|
|
18420
|
+
noRecentFiles: "No recent files",
|
|
18421
|
+
stagingArea: "Staged ({{count}})",
|
|
18422
|
+
changesSummary_one: "{{count}} change",
|
|
18423
|
+
changesSummary_other: "{{count}} changes",
|
|
18424
|
+
noChanges: "No changes in working tree",
|
|
18425
|
+
refreshChanges: "Refresh changes",
|
|
18426
|
+
unstageAll: "Unstage all",
|
|
18427
|
+
noStagedFiles: "No staged files",
|
|
18428
|
+
unstageNFiles: "Unstage {{count}} files",
|
|
18429
|
+
unstageFile: "Unstage",
|
|
18430
|
+
workspace: "Workspace ({{count}})",
|
|
18431
|
+
discardAll: "Discard all",
|
|
18432
|
+
stageAll: "Stage all",
|
|
18433
|
+
noUnstagedChanges: "No unstaged changes",
|
|
18434
|
+
discardNFiles: "Discard changes in {{count}} files",
|
|
18435
|
+
stageNFiles: "Stage {{count}} files",
|
|
18436
|
+
discardChanges: "Discard changes",
|
|
18437
|
+
stageFile: "Stage file",
|
|
18438
|
+
loadingDiff: "Loading diff...",
|
|
18439
|
+
noDiffFiles: "No diff files",
|
|
18440
|
+
nFilesChanged: "{{count}} files changed (vs {{branch}})",
|
|
18441
|
+
loadingCommits: "Loading commits...",
|
|
18442
|
+
noCommits: "No commits",
|
|
18443
|
+
allLoaded: "All {{count}} records loaded",
|
|
18444
|
+
locateInTree: "Locate in directory tree",
|
|
18445
|
+
unsaved: "Unsaved",
|
|
18446
|
+
saveBeforeSwitch: "Current file has unsaved changes. Save before switching?",
|
|
18447
|
+
saveAndSwitch: "Save and switch",
|
|
18448
|
+
closeEdit: "Close edit (ESC)",
|
|
18449
|
+
closeBtn: "Close",
|
|
18450
|
+
copyFileContent: "Copy file content",
|
|
18451
|
+
toggleJsonReadable: "Toggle JSON readable mode",
|
|
18452
|
+
previewMarkdown: "Preview Markdown",
|
|
18453
|
+
exitPreview: "Exit Preview",
|
|
18454
|
+
viewBlame: "View line-by-line change history",
|
|
18455
|
+
viewDiff: "View changes against HEAD",
|
|
18456
|
+
exitDiff: "Exit Diff",
|
|
18457
|
+
diffLoadFailed: "Failed to load diff",
|
|
18458
|
+
editFile: "Edit file",
|
|
18459
|
+
backToPreview: "Back to preview",
|
|
18460
|
+
cannotPreview: "Cannot preview this file",
|
|
18461
|
+
selectFileToPreview: "Select a file to preview",
|
|
18462
|
+
staged: "Staged",
|
|
18463
|
+
unstaged: "Unstaged",
|
|
18464
|
+
selectFileToViewDiff: "Select a file to view diff",
|
|
18465
|
+
loadingDiffContent: "Loading diff...",
|
|
18466
|
+
clickCompareToLoad: 'Click "Compare" to load branch diff',
|
|
18467
|
+
selectCommitToView: "Select a commit to view details",
|
|
18468
|
+
confirmDelete: "Confirm Delete",
|
|
18469
|
+
confirmDeleteMessage: "Move <file>{{name}}</file> to trash?",
|
|
18470
|
+
nFilesNMatches: "{{files}} files, {{matches}} matches",
|
|
18471
|
+
resultsTruncated: "Results truncated",
|
|
18472
|
+
noContentSearchResults: "No results",
|
|
18473
|
+
enterKeywordToSearch: "Enter keyword to search file contents",
|
|
18474
|
+
searchMinChars: "Search requires at least 2 characters"
|
|
18475
|
+
},
|
|
18476
|
+
codeViewer: {
|
|
18477
|
+
fileModifiedExternally: "File was modified externally. Saving will overwrite external changes.",
|
|
18478
|
+
useDiskVersion: "Use disk version",
|
|
18479
|
+
forceOverwrite: "Force overwrite",
|
|
18480
|
+
searchPlaceholder: "Search...",
|
|
18481
|
+
caseSensitive: "Case sensitive",
|
|
18482
|
+
wholeWordMatch: "Whole word match",
|
|
18483
|
+
unsavedConfirm: "You have unsaved changes. Close anyway?",
|
|
18484
|
+
discardChanges: "Discard changes",
|
|
18485
|
+
continueEditing: "Continue editing",
|
|
18486
|
+
unsavedExitConfirm: "You have unsaved changes. Exit edit mode?",
|
|
18487
|
+
clickToViewDetails: "Click to view details",
|
|
18488
|
+
clickToViewCommit: "Click to view commit details",
|
|
18489
|
+
nComments: "{{count}} comments",
|
|
18490
|
+
searchChat: "Search chat...",
|
|
18491
|
+
prevShiftEnter: "Previous (Shift+Enter)",
|
|
18492
|
+
nextEnter: "Next (Enter)",
|
|
18493
|
+
closeEsc: "Close (Esc)"
|
|
18494
|
+
},
|
|
18495
|
+
chat: {
|
|
18496
|
+
startConversation: "Start a conversation",
|
|
18497
|
+
loadMoreHistory: "Load more...",
|
|
18498
|
+
scrollUpForMore: "\u2191 Scroll up to load more history",
|
|
18499
|
+
claudeThinking: "Claude is thinking...",
|
|
18500
|
+
jumpToStart: "Jump to start",
|
|
18501
|
+
jumpToLatest: "Jump to latest",
|
|
18502
|
+
copyMessage: "Copy message",
|
|
18503
|
+
forkSession: "Fork session from here",
|
|
18504
|
+
imageN: "Image {{index}}",
|
|
18505
|
+
imagePreview: "Image preview",
|
|
18506
|
+
toolCalls: "{{count}} tool calls",
|
|
18507
|
+
collapse: "\u25B2 Collapse",
|
|
18508
|
+
expand: "\u25BC Expand",
|
|
18509
|
+
subagent: "Subagent",
|
|
18510
|
+
subagentEmpty: "No subagent transcript found",
|
|
18511
|
+
subagentViewTitle: "View subagent transcript",
|
|
18512
|
+
workflowRun: "Run details",
|
|
18513
|
+
workflowViewTitle: "View workflow run details",
|
|
18514
|
+
workflowEmpty: "No workflow run journal found",
|
|
18515
|
+
workflowAgents: "agents",
|
|
18516
|
+
workflowViewAgent: "View",
|
|
18517
|
+
workflowUngrouped: "Ungrouped",
|
|
18518
|
+
viewQuestions: "View questions",
|
|
18519
|
+
viewAllFileChanges: "View all file changes",
|
|
18520
|
+
requestFailed: "Request failed",
|
|
18521
|
+
cannotReadStream: "Cannot read response stream",
|
|
18522
|
+
errorRetry: "An error occurred, please retry",
|
|
18523
|
+
placeholder: "Type a message, Enter to send (Shift+Enter for new line, paste images; start a line with / (main session) or @ (subagent) for commands, multiple allowed)",
|
|
18524
|
+
placeholderDisabled: "Generating... you can keep typing (ESC to cancel; if stuck, cancel and resend 'continue')",
|
|
18525
|
+
imageSizeLimit: "Image size exceeds limit (max 5MB), current: {{size}}MB",
|
|
18526
|
+
stageAll: "Stage all files (git add -A)",
|
|
18527
|
+
viewGitChanges: "View Git changes",
|
|
18528
|
+
viewAllComments: "View all comments",
|
|
18529
|
+
userMessages: "User messages",
|
|
18530
|
+
projectNotes: "Project Notes",
|
|
18531
|
+
scheduledTasks: "Scheduled Tasks",
|
|
18532
|
+
quickPrompts: "Quick Prompts",
|
|
18533
|
+
globalPrompts: "Global Prompts",
|
|
18534
|
+
projectPrompts: "Project Prompts",
|
|
18535
|
+
noQuickPrompts: "No quick prompts yet",
|
|
18536
|
+
addQuickPrompt: "Add quick prompt",
|
|
18537
|
+
quickPromptPlaceholder: "One-line prompt \u2014 Enter to save, Esc to cancel",
|
|
18538
|
+
context: "Context",
|
|
18539
|
+
output: "Output",
|
|
18540
|
+
copiedCommandTooltip: "Copied!",
|
|
18541
|
+
copyCommandTooltip: "Copy command: claude -r {{sessionId}}",
|
|
18542
|
+
executedCommand: "Executed `{{command}}`{{exitInfo}}, output:\n```\n{{output}}\n```",
|
|
18543
|
+
executedCommandFailed: "Failed to execute `{{command}}`: {{error}}",
|
|
18544
|
+
executionMode: "Execution Mode",
|
|
18545
|
+
checkBalance: "Check balance",
|
|
18546
|
+
balanceFailed: "Query failed \u2014 check the API key",
|
|
18547
|
+
balanceNeedsKey: "Set a DeepSeek API key first",
|
|
18548
|
+
balanceUnavailable: "Account is not available for requests",
|
|
18549
|
+
balanceEmpty: "No balance returned",
|
|
18550
|
+
openUsagePage: "Open DeepSeek usage console",
|
|
18551
|
+
ptyModeHint: "Subscription billing mode: uses interactive claude CLI",
|
|
18552
|
+
planMode: "Plan mode",
|
|
18553
|
+
planModeDesc: "read-only \xB7 plan first, no edits",
|
|
18554
|
+
planModeOn: "Plan mode on \u2014 read-only; send a task to get a plan",
|
|
18555
|
+
planModeOff: "Plan mode off",
|
|
18556
|
+
planModeHint: "Plan mode: read-only exploration that produces a plan without editing. Uncheck and resend to implement.",
|
|
18557
|
+
noHistory: "Independent task",
|
|
18558
|
+
noHistoryDesc: "no history sent",
|
|
18559
|
+
noHistoryHint: "Independent task: each message is sent to the model on its own, with no prior conversation. The transcript above still records everything.",
|
|
18560
|
+
planTitle: "Plan (awaiting your review)",
|
|
18561
|
+
approvePlan: "Approve & run",
|
|
18562
|
+
planApproveHint: "No approval dialog here \u2014 click to exit plan mode and execute",
|
|
18563
|
+
approvePlanPrompt: "Approved \u2014 proceed with the plan above.",
|
|
18564
|
+
ptyTerminal: "PTY Terminal",
|
|
18565
|
+
ptyRunning: "running",
|
|
18566
|
+
ptyCollapse: "Collapse",
|
|
18567
|
+
ptyExpand: "Expand",
|
|
18568
|
+
ptyStuck: "PTY seems stuck (waiting for a dialog?). Please handle it in the terminal below.",
|
|
18569
|
+
ptyTimedOut: "PTY timed out without manual handling; the turn was terminated.",
|
|
18570
|
+
ptyCrash: "Claude CLI render crash (upstream bug): {{error}}. This session's history may contain edits that fail to render.",
|
|
18571
|
+
ptyQuestionEsc: "AI asked an interactive question, which cannot be answered in this mode; it was auto-cancelled and the turn was ended. See the question in the chat and answer it in your next message."
|
|
18572
|
+
},
|
|
18573
|
+
console: {
|
|
18574
|
+
enterCommandOrUrl: "Enter a command or URL to start",
|
|
18575
|
+
emptyIntro: "Type any of the following in the input bar to create a bubble:",
|
|
18576
|
+
bubbleCommand: "Command",
|
|
18577
|
+
bubbleInteractive: "Interactive",
|
|
18578
|
+
bubbleBrowser: "Browser",
|
|
18579
|
+
bubbleBrowserNoteIframe: "Some sites block iframe embedding \u2014 install Cockpit Bridge under Settings \u2192 Browser Extension before opening.",
|
|
18580
|
+
bubbleBrowserNoteCookie: "If a logged-in site first shows as signed out, refresh a few times to restore it.",
|
|
18581
|
+
bubbleDatabase: "Database",
|
|
18582
|
+
bubbleNotebook: "Notebook",
|
|
18583
|
+
loadingMore: "Loading...",
|
|
18584
|
+
loadMoreHistory: "Load more history",
|
|
18585
|
+
quickCommands: "Quick Commands",
|
|
18586
|
+
singleColumn: "Single column",
|
|
18587
|
+
dualColumn: "Dual column",
|
|
18588
|
+
envVars: "Environment Variables",
|
|
18589
|
+
launchZsh: "Launch zsh terminal",
|
|
18590
|
+
htmlApps: "HTML apps",
|
|
18591
|
+
inputPlaceholder: "Enter command or URL and press Enter... (\u2191\u2193 history, Tab complete)",
|
|
18592
|
+
scopeProject: "Project",
|
|
18593
|
+
scopeGlobal: "Global",
|
|
18594
|
+
tabSwitchEscClose: "Tab to switch \xB7 Esc to close",
|
|
18595
|
+
copyOutput: "Copy output",
|
|
18596
|
+
copyCommand: "Copy command",
|
|
18597
|
+
rerun: "Re-run",
|
|
18598
|
+
deleteRecord: "Delete record",
|
|
18599
|
+
searchPlaceholder: "Search...",
|
|
18600
|
+
searchMode: "Search",
|
|
18601
|
+
filterMode: "Filter",
|
|
18602
|
+
prevShiftEnter: "Previous (Shift+Enter)",
|
|
18603
|
+
nextEnter: "Next (Enter)",
|
|
18604
|
+
loadingTerminal: "Loading terminal...",
|
|
18605
|
+
clickToInput: "Click terminal area to type",
|
|
18606
|
+
stdinPlaceholder: "stdin input...",
|
|
18607
|
+
runningText: "Running...",
|
|
18608
|
+
exitCode: "Exit code: {{code}}",
|
|
18609
|
+
totalLines: "{{count}} lines total",
|
|
18610
|
+
globalCommands: "Global Commands",
|
|
18611
|
+
projectCommands: "Project Commands",
|
|
18612
|
+
noCustomCommands: "No custom commands yet",
|
|
18613
|
+
namePlaceholder: "Name",
|
|
18614
|
+
commandPlaceholder: "Command",
|
|
18615
|
+
restoreTooltip: "Restore ({{modKey}}M / ESC)",
|
|
18616
|
+
screenshotting: "Screenshotting...",
|
|
18617
|
+
outputFileDeleted: "[Output file deleted]"
|
|
18618
|
+
},
|
|
18619
|
+
browser: {
|
|
18620
|
+
blankPage: "Blank page",
|
|
18621
|
+
copyUrl: "Copy URL",
|
|
18622
|
+
openInNewWindow: "Open in new window",
|
|
18623
|
+
exitMaximize: "Exit maximize ({{modKey}}M)",
|
|
18624
|
+
maximize: "Maximize ({{modKey}}M)",
|
|
18625
|
+
pageLoadFailed: "Page load failed",
|
|
18626
|
+
clickToWake: "Click to wake",
|
|
18627
|
+
sleeping: "Sleeping",
|
|
18628
|
+
loadingPage: "Loading...",
|
|
18629
|
+
loadFailed: "Load failed"
|
|
18630
|
+
},
|
|
18631
|
+
database: {
|
|
18632
|
+
connectionFailed: "Connection failed",
|
|
18633
|
+
connected: "Connected",
|
|
18634
|
+
connecting: "Connecting...",
|
|
18635
|
+
refreshTableList: "Refresh table list",
|
|
18636
|
+
filterTable: "T Tables",
|
|
18637
|
+
filterView: "V Views",
|
|
18638
|
+
noTables: "No tables",
|
|
18639
|
+
tabStructure: "Structure",
|
|
18640
|
+
tabData: "Data",
|
|
18641
|
+
tabSql: "SQL",
|
|
18642
|
+
filterActive: "Filter: {{count}} cols",
|
|
18643
|
+
clearAllFilters: "Clear all filters",
|
|
18644
|
+
deleteNRows: "Delete {{count}} rows",
|
|
18645
|
+
confirmDeleteRows: "Confirm delete?",
|
|
18646
|
+
copyCsvSelected: "Copy selected rows as CSV",
|
|
18647
|
+
copyCsvAll: "Export all as CSV",
|
|
18648
|
+
copyJsonSelected: "Copy selected rows as JSON",
|
|
18649
|
+
copyJsonAll: "Export all as JSON",
|
|
18650
|
+
copyCSV: "Copy CSV",
|
|
18651
|
+
CSV: "CSV",
|
|
18652
|
+
copyJSON: "Copy JSON",
|
|
18653
|
+
JSON: "JSON",
|
|
18654
|
+
selectTable: "Select a table",
|
|
18655
|
+
selectTableToView: "Select a table to view structure",
|
|
18656
|
+
selectTableForData: "Select a table to view data",
|
|
18657
|
+
columns: "Columns",
|
|
18658
|
+
colName: "Name",
|
|
18659
|
+
colType: "Type",
|
|
18660
|
+
colNullable: "Nullable",
|
|
18661
|
+
colDefault: "Default",
|
|
18662
|
+
primaryKey: "Primary Key",
|
|
18663
|
+
foreignKeys: "Foreign Keys",
|
|
18664
|
+
indexes: "Indexes",
|
|
18665
|
+
enable: "Enable",
|
|
18666
|
+
commaValues: "Comma-separated values",
|
|
18667
|
+
likePattern: "%pattern%",
|
|
18668
|
+
valuePlaceholder: "Value",
|
|
18669
|
+
apply: "Apply",
|
|
18670
|
+
clearFilter: "Clear",
|
|
18671
|
+
addRow: "+ Add Row",
|
|
18672
|
+
totalRows: "{{count}} rows",
|
|
18673
|
+
rowsAffected: "{{command}} \u2014 {{count}} rows affected ({{duration}}ms)",
|
|
18674
|
+
queryRows: "{{count}} rows ({{duration}}ms)",
|
|
18675
|
+
resultTruncated: "[Results truncated to 1000 rows]",
|
|
18676
|
+
sqlPlaceholder: "Enter SQL... ({{modKey}}Enter to execute)",
|
|
18677
|
+
executing: "Executing...",
|
|
18678
|
+
execute: "\u25B6 Execute",
|
|
18679
|
+
deleteRowsFailed: "{{count}} rows failed to delete",
|
|
18680
|
+
inputParams: "Input Parameters",
|
|
18681
|
+
resultLabel: "Result"
|
|
18682
|
+
},
|
|
18683
|
+
mysql: {
|
|
18684
|
+
connectionFailed: "Connection failed",
|
|
18685
|
+
connected: "Connected",
|
|
18686
|
+
connecting: "Connecting...",
|
|
18687
|
+
refreshTableList: "Refresh table list",
|
|
18688
|
+
filterTable: "T Tables",
|
|
18689
|
+
filterView: "V Views",
|
|
18690
|
+
noTables: "No tables",
|
|
18691
|
+
tabStructure: "Structure",
|
|
18692
|
+
tabData: "Data",
|
|
18693
|
+
tabSql: "SQL",
|
|
18694
|
+
filterActive: "Filter: {{count}} cols",
|
|
18695
|
+
clearAllFilters: "Clear all filters",
|
|
18696
|
+
deleteNRows: "Delete {{count}} rows",
|
|
18697
|
+
confirmDeleteRows: "Confirm delete?",
|
|
18698
|
+
copyCsvSelected: "Copy selected rows as CSV",
|
|
18699
|
+
copyCsvAll: "Export all as CSV",
|
|
18700
|
+
copyJsonSelected: "Copy selected rows as JSON",
|
|
18701
|
+
copyJsonAll: "Export all as JSON",
|
|
18702
|
+
copyCSV: "Copy CSV",
|
|
18703
|
+
CSV: "CSV",
|
|
18704
|
+
copyJSON: "Copy JSON",
|
|
18705
|
+
JSON: "JSON",
|
|
18706
|
+
selectTable: "Select a table",
|
|
18707
|
+
selectTableToView: "Select a table to view structure",
|
|
18708
|
+
selectTableForData: "Select a table to view data",
|
|
18709
|
+
columns: "Columns",
|
|
18710
|
+
colName: "Name",
|
|
18711
|
+
colType: "Type",
|
|
18712
|
+
colNullable: "Nullable",
|
|
18713
|
+
colDefault: "Default",
|
|
18714
|
+
primaryKey: "Primary Key",
|
|
18715
|
+
foreignKeys: "Foreign Keys",
|
|
18716
|
+
indexes: "Indexes",
|
|
18717
|
+
enable: "Enable",
|
|
18718
|
+
commaValues: "Comma-separated values",
|
|
18719
|
+
likePattern: "%pattern%",
|
|
18720
|
+
valuePlaceholder: "Value",
|
|
18721
|
+
apply: "Apply",
|
|
18722
|
+
clearFilter: "Clear",
|
|
18723
|
+
addRow: "+ Add Row",
|
|
18724
|
+
totalRows: "{{count}} rows",
|
|
18725
|
+
rowsAffected: "{{command}} \u2014 {{count}} rows affected ({{duration}}ms)",
|
|
18726
|
+
queryRows: "{{count}} rows ({{duration}}ms)",
|
|
18727
|
+
resultTruncated: "[Results truncated to 1000 rows]",
|
|
18728
|
+
sqlPlaceholder: "Enter SQL... ({{modKey}}Enter to execute)",
|
|
18729
|
+
executing: "Executing...",
|
|
18730
|
+
execute: "\u25B6 Execute",
|
|
18731
|
+
deleteRowsFailed: "{{count}} rows failed to delete"
|
|
18732
|
+
},
|
|
18733
|
+
redis: {
|
|
18734
|
+
neverExpires: "Never expires",
|
|
18735
|
+
expired: "Expired",
|
|
18736
|
+
loadFailed: "Load failed",
|
|
18737
|
+
deleteFailed: "Delete failed",
|
|
18738
|
+
saveFailed: "Save failed",
|
|
18739
|
+
scanPlaceholder: "SCAN pattern...",
|
|
18740
|
+
scanSearch: "Search (SCAN)",
|
|
18741
|
+
noKeys: "No keys",
|
|
18742
|
+
loadMore: "Load more...",
|
|
18743
|
+
tabData: "Data",
|
|
18744
|
+
tabInfo: "Info",
|
|
18745
|
+
tabCli: "CLI",
|
|
18746
|
+
selectKey: "Select a key",
|
|
18747
|
+
keyNotExist: "Key does not exist",
|
|
18748
|
+
unsupportedType: "Unsupported type: {{type}}",
|
|
18749
|
+
nItems: "{{total}} items",
|
|
18750
|
+
showingN: "showing {{count}}",
|
|
18751
|
+
nMembers: "{{total}} members",
|
|
18752
|
+
nEntries: "{{total}} entries",
|
|
18753
|
+
cliHint: "Enter Redis commands, e.g. PING, GET key, KEYS *",
|
|
18754
|
+
cliPlaceholder: "Enter command..."
|
|
18755
|
+
},
|
|
18756
|
+
git: {
|
|
18757
|
+
switchBranch: "Switch branch",
|
|
18758
|
+
searchBranch: "Search branches...",
|
|
18759
|
+
noBranches: "No branches available",
|
|
18760
|
+
noMatchingBranches: "No matching branches",
|
|
18761
|
+
localBranches: "Local Branches",
|
|
18762
|
+
remoteBranches: "Remote Branches",
|
|
18763
|
+
branchNotFound: "Branch not found",
|
|
18764
|
+
selectBranch: "Select branch...",
|
|
18765
|
+
currentBranch: "Current",
|
|
18766
|
+
notGitRepo: "Current directory is not a Git repository",
|
|
18767
|
+
cannotGetBranches: "Cannot get branch info",
|
|
18768
|
+
getBranchesFailed: "Failed to get branch info",
|
|
18769
|
+
discardAllConfirm: "Discard changes in {{count}} workspace files? This cannot be undone.",
|
|
18770
|
+
worktree: {
|
|
18771
|
+
title: "Git Worktree",
|
|
18772
|
+
count: "{{count}} worktrees",
|
|
18773
|
+
selectBranch: "Select branch",
|
|
18774
|
+
addWorktree: "+ Add Worktree",
|
|
18775
|
+
confirmDelete: "Confirm Delete",
|
|
18776
|
+
confirmDeleteMsg: "Delete this worktree?",
|
|
18777
|
+
path: "Path:",
|
|
18778
|
+
branch: "Branch:",
|
|
18779
|
+
locked: "Locked",
|
|
18780
|
+
unlock: "Unlock",
|
|
18781
|
+
lock: "Lock",
|
|
18782
|
+
searchBranch: "Search branches...",
|
|
18783
|
+
noBranches: "No available branches"
|
|
18784
|
+
}
|
|
18785
|
+
},
|
|
18786
|
+
comments: {
|
|
18787
|
+
addComment: "Add Comment",
|
|
18788
|
+
lineRange: "Line {{start}}-{{end}}",
|
|
18789
|
+
inputPlaceholder: "Enter comment...",
|
|
18790
|
+
newComment: "New comment {{range}}",
|
|
18791
|
+
commentPlaceholder: "Enter comment... ({{modKey}}Enter to submit, Esc to cancel)",
|
|
18792
|
+
nComments: "{{count}} comments",
|
|
18793
|
+
allComments: "All Comments",
|
|
18794
|
+
copyAllComments: "Copy all comments",
|
|
18795
|
+
noComments: "No comments yet",
|
|
18796
|
+
clearAll: "Clear all",
|
|
18797
|
+
totalComments: "{{count}} comments total",
|
|
18798
|
+
aiReply: "AI Reply",
|
|
18799
|
+
noContent: "(no content)",
|
|
18800
|
+
linesCount: "({{count}} lines)",
|
|
18801
|
+
codeRef: "Here are my annotated comments and references:",
|
|
18802
|
+
note: "Note: {{content}}",
|
|
18803
|
+
submitting: "Submitting...",
|
|
18804
|
+
enterSubmit: "Enter to submit \xB7 Shift+Enter for new line",
|
|
18805
|
+
submitComment: "Submit Comment",
|
|
18806
|
+
askAI: "Ask AI",
|
|
18807
|
+
inputQuestion: "Enter your question...",
|
|
18808
|
+
aiGenerating: "Generating, please wait...",
|
|
18809
|
+
enterSend: "Enter to send \xB7 Shift+Enter for new line",
|
|
18810
|
+
sendToAI: "Send to AI",
|
|
18811
|
+
aiResponding: "AI is responding..."
|
|
18812
|
+
},
|
|
18813
|
+
fileContextMenu: {
|
|
18814
|
+
createFile: "New File",
|
|
18815
|
+
copyFile: "Copy File",
|
|
18816
|
+
copyFolder: "Copy Folder",
|
|
18817
|
+
pasteHere: "Paste Here",
|
|
18818
|
+
deleteFile: "Delete File",
|
|
18819
|
+
deleteFolder: "Delete Folder",
|
|
18820
|
+
copyRelativePath: "Copy Relative Path",
|
|
18821
|
+
copyAbsolutePath: "Copy Absolute Path",
|
|
18822
|
+
copyRelativeDirPath: "Copy Relative Dir Path",
|
|
18823
|
+
copyAbsoluteDirPath: "Copy Absolute Dir Path",
|
|
18824
|
+
copyFileName: "Copy File Name",
|
|
18825
|
+
copyFolderName: "Copy Folder Name"
|
|
18826
|
+
},
|
|
18827
|
+
settings: {
|
|
18828
|
+
title: "Settings",
|
|
18829
|
+
theme: "Theme",
|
|
18830
|
+
themeLight: "Light",
|
|
18831
|
+
themeDark: "Dark",
|
|
18832
|
+
themeSystem: "System",
|
|
18833
|
+
browserExtension: "Browser Extension",
|
|
18834
|
+
extensionInstalled: "Cockpit Bridge installed",
|
|
18835
|
+
extensionNotInstalled: "Cockpit Bridge not installed",
|
|
18836
|
+
extensionDescription: "After installing the Chrome extension, link navigation in iframes will be intercepted: new tab links create new bubbles, page navigation updates the current bubble.",
|
|
18837
|
+
installSteps: "Installation steps:",
|
|
18838
|
+
step1: "1. Open Chrome and navigate to",
|
|
18839
|
+
step2: '2. Enable "Developer mode" in the top-right corner',
|
|
18840
|
+
step3: '3. Click "Load unpacked"',
|
|
18841
|
+
step4mac: "4. Press <kbd>Cmd+Shift+G</kbd> \u2192 paste the path below \u2192 Enter",
|
|
18842
|
+
copyExtensionPath: "Copy extension directory path",
|
|
18843
|
+
reloadExtension: "Reload extension",
|
|
18844
|
+
about: "About",
|
|
18845
|
+
language: "Language",
|
|
18846
|
+
languageAuto: "System",
|
|
18847
|
+
switchDark: "Switch to dark",
|
|
18848
|
+
switchLight: "Switch to light"
|
|
18849
|
+
},
|
|
18850
|
+
editor: {
|
|
18851
|
+
placeholder: "Write something... Type / for commands",
|
|
18852
|
+
noteTitle: "{{name}} - Notes",
|
|
18853
|
+
noteUntitled: "Notes",
|
|
18854
|
+
saving: "Saving...",
|
|
18855
|
+
conflictReloaded: "This note was changed elsewhere. Loaded the latest version; your recent unsaved edits were discarded.",
|
|
18856
|
+
linkPlaceholder: "Enter URL...",
|
|
18857
|
+
confirmLink: "Confirm",
|
|
18858
|
+
removeLink: "Remove link",
|
|
18859
|
+
heading1: "Heading 1",
|
|
18860
|
+
heading2: "Heading 2",
|
|
18861
|
+
heading3: "Heading 3",
|
|
18862
|
+
bold: "Bold",
|
|
18863
|
+
italic: "Italic",
|
|
18864
|
+
strikethrough: "Strikethrough",
|
|
18865
|
+
inlineCode: "Inline code",
|
|
18866
|
+
link: "Link",
|
|
18867
|
+
bulletList: "Bullet list",
|
|
18868
|
+
orderedList: "Ordered list",
|
|
18869
|
+
taskList: "Task list",
|
|
18870
|
+
blockquote: "Blockquote",
|
|
18871
|
+
codeBlock: "Code block",
|
|
18872
|
+
table: "Table",
|
|
18873
|
+
horizontalRule: "Horizontal rule",
|
|
18874
|
+
insertRowAbove: "Insert row above",
|
|
18875
|
+
insertRowBelow: "Insert row below",
|
|
18876
|
+
insertColumnLeft: "Insert column left",
|
|
18877
|
+
insertColumnRight: "Insert column right",
|
|
18878
|
+
deleteRow: "Delete row",
|
|
18879
|
+
deleteColumn: "Delete column",
|
|
18880
|
+
deleteTable: "Delete table",
|
|
18881
|
+
deleteCodeBlock: "Delete code block",
|
|
18882
|
+
toc: "TOC",
|
|
18883
|
+
expandToc: "Expand TOC",
|
|
18884
|
+
collapseToc: "Collapse TOC"
|
|
18885
|
+
},
|
|
18886
|
+
slashCommands: {
|
|
18887
|
+
heading1: "Heading 1",
|
|
18888
|
+
heading1Desc: "Large heading",
|
|
18889
|
+
heading2: "Heading 2",
|
|
18890
|
+
heading2Desc: "Medium heading",
|
|
18891
|
+
heading3: "Heading 3",
|
|
18892
|
+
heading3Desc: "Small heading",
|
|
18893
|
+
bulletList: "Bullet List",
|
|
18894
|
+
bulletListDesc: "Bulleted list",
|
|
18895
|
+
orderedList: "Ordered List",
|
|
18896
|
+
orderedListDesc: "Numbered list",
|
|
18897
|
+
taskList: "Task List",
|
|
18898
|
+
taskListDesc: "Checkable task list",
|
|
18899
|
+
blockquote: "Blockquote",
|
|
18900
|
+
blockquoteDesc: "Quote block",
|
|
18901
|
+
codeBlock: "Code Block",
|
|
18902
|
+
codeBlockDesc: "Code snippet",
|
|
18903
|
+
table: "Table",
|
|
18904
|
+
tableDesc: "Insert 3\xD73 table",
|
|
18905
|
+
horizontalRule: "Divider",
|
|
18906
|
+
horizontalRuleDesc: "Horizontal divider",
|
|
18907
|
+
link: "Link",
|
|
18908
|
+
linkDesc: "Insert hyperlink"
|
|
18909
|
+
},
|
|
18910
|
+
commands: {
|
|
18911
|
+
qa: "Enter requirements clarification mode",
|
|
18912
|
+
fx: "Enter bug evidence-chain analysis mode",
|
|
18913
|
+
ex: "Enter structured analysis & discussion mode",
|
|
18914
|
+
go: "Enter landing mode: MVP staged implementation",
|
|
18915
|
+
cg: "Enter CodeGraph exploration mode",
|
|
18916
|
+
plan: "Enable plan mode \xB7 /plan <task> to plan it \xB7 /plan off to disable"
|
|
18917
|
+
},
|
|
18918
|
+
review: {
|
|
18919
|
+
reviewManagement: "Review Management",
|
|
18920
|
+
allReviews: "All Reviews",
|
|
18921
|
+
noOpenReviews: "No open reviews",
|
|
18922
|
+
viewComments: "View comments",
|
|
18923
|
+
nComments: "{{count}} comments",
|
|
18924
|
+
nDocs: "{{count}} docs",
|
|
18925
|
+
nReviews: "{{count}} reviews",
|
|
18926
|
+
docList: "Document List",
|
|
18927
|
+
allReviewsList: "All Reviews",
|
|
18928
|
+
expandList: "Expand list",
|
|
18929
|
+
collapseList: "Collapse list",
|
|
18930
|
+
closeReview: "Close review",
|
|
18931
|
+
reopenReview: "Reopen",
|
|
18932
|
+
deleteReview: "Delete review",
|
|
18933
|
+
noOpenDocs: "No open documents",
|
|
18934
|
+
noReviews: "No reviews",
|
|
18935
|
+
sharing: "Sharing",
|
|
18936
|
+
notShared: "Not shared",
|
|
18937
|
+
closeSharing: "Disable sharing",
|
|
18938
|
+
enableSharing: "Enable sharing",
|
|
18939
|
+
view: "View",
|
|
18940
|
+
setNickname: "Set your nickname",
|
|
18941
|
+
nicknameHint: "Other reviewers will see this name",
|
|
18942
|
+
nicknamePlaceholder: "Enter nickname",
|
|
18943
|
+
skipForNow: "Skip for now",
|
|
18944
|
+
identitySettings: "Identity Settings",
|
|
18945
|
+
reviewNickname: "Review Nickname",
|
|
18946
|
+
random: "Random",
|
|
18947
|
+
selectTextToComment: "Select text to add comment",
|
|
18948
|
+
selectTextHint: "Select text on the left to add a comment",
|
|
18949
|
+
prevComment: "Previous",
|
|
18950
|
+
nextComment: "Next",
|
|
18951
|
+
commentsCount: "{{count}} comments",
|
|
18952
|
+
commentsNavCount: "{{current}}/{{total}} comments",
|
|
18953
|
+
allCommentsTitle: "All Comments",
|
|
18954
|
+
commentsCountBrief: "{{count}}",
|
|
18955
|
+
closedCount: "{{count}} closed",
|
|
18956
|
+
copyAllComments: "Copy all comments",
|
|
18957
|
+
noComments: "No comments yet",
|
|
18958
|
+
closedComments: "Closed ({{count}})",
|
|
18959
|
+
closedLabel: "Closed",
|
|
18960
|
+
moreReplies: "+{{count}} replies",
|
|
18961
|
+
copyComment: "Copy comment",
|
|
18962
|
+
reopen: "Reopen",
|
|
18963
|
+
closeComment: "Close comment",
|
|
18964
|
+
editComment: "Edit comment",
|
|
18965
|
+
deleteComment: "Delete comment",
|
|
18966
|
+
edited: "(edited)",
|
|
18967
|
+
editReply: "Edit reply",
|
|
18968
|
+
deleteReply: "Delete reply",
|
|
18969
|
+
reply: "Reply",
|
|
18970
|
+
replyPlaceholder: "Add a reply...",
|
|
18971
|
+
selectedText: "Selected text",
|
|
18972
|
+
addCommentPlaceholder: "Add a comment...",
|
|
18973
|
+
enterSubmitHint: "Enter to submit, Shift+Enter for new line",
|
|
18974
|
+
commentBtn: "Comment",
|
|
18975
|
+
reviewNotExist: "Review does not exist or has been deleted",
|
|
18976
|
+
loadFailed: "Load failed",
|
|
18977
|
+
networkError: "Network error",
|
|
18978
|
+
reviewNotFound: "Review not found",
|
|
18979
|
+
checkLink: "Please check the link",
|
|
18980
|
+
updatedAt: "Updated {{date}}",
|
|
18981
|
+
active: "Active",
|
|
18982
|
+
closed: "Closed",
|
|
18983
|
+
viewAllComments: "View all comments",
|
|
18984
|
+
viewCommentBtn: "View Comments",
|
|
18985
|
+
copyLink: "Copy Link",
|
|
18986
|
+
reviewSummary: "Review Comments Summary \u2014 {{title}}",
|
|
18987
|
+
totalNComments: "{{count}} comments total",
|
|
18988
|
+
quoteRef: 'Quote: "{{text}}"',
|
|
18989
|
+
commentAuthor: "Comment ({{author}}): {{content}}",
|
|
18990
|
+
replyAuthor: " \u21B3 {{author}}: {{content}}"
|
|
18991
|
+
},
|
|
18992
|
+
markdown: {
|
|
18993
|
+
copied: "\u2713 Copied",
|
|
18994
|
+
copy: "Copy"
|
|
18995
|
+
},
|
|
18996
|
+
imagePreview: {
|
|
18997
|
+
previewImage: "Preview image",
|
|
18998
|
+
deleteImage: "Delete image"
|
|
18999
|
+
},
|
|
19000
|
+
tokenStats: {
|
|
19001
|
+
title: "Claude Code Token Stats",
|
|
19002
|
+
activeHours: "Active Hours Distribution",
|
|
19003
|
+
hourSessions: "{{h}}:00 \u2014 {{count}} sessions",
|
|
19004
|
+
messages: "Messages",
|
|
19005
|
+
toolCalls: "Tool Calls",
|
|
19006
|
+
activityTrend: "Activity Trend",
|
|
19007
|
+
byModel: "By Model",
|
|
19008
|
+
tokenUsage: "Token Usage",
|
|
19009
|
+
equivalentCost: "Equivalent Cost",
|
|
19010
|
+
modelCostDetail: "Model Cost Details",
|
|
19011
|
+
model: "Model",
|
|
19012
|
+
share: "Share",
|
|
19013
|
+
total: "Total",
|
|
19014
|
+
totalSessions: "Total Sessions",
|
|
19015
|
+
totalMessages: "Total Messages",
|
|
19016
|
+
equivalentApiCost: "Equivalent API Cost",
|
|
19017
|
+
longestSession: "Longest Session",
|
|
19018
|
+
firstUse: "First Use",
|
|
19019
|
+
notFound: "~/.claude/stats-cache.json not found",
|
|
19020
|
+
day: "Day",
|
|
19021
|
+
week: "Week",
|
|
19022
|
+
month: "Month"
|
|
19023
|
+
},
|
|
19024
|
+
toolCall: {
|
|
19025
|
+
inputParams: "Input Parameters",
|
|
19026
|
+
resultLabel: "Result",
|
|
19027
|
+
inputParamsTitle: "View input parameters",
|
|
19028
|
+
resultTitle: "View result",
|
|
19029
|
+
input: "Input",
|
|
19030
|
+
result: "Result",
|
|
19031
|
+
foldedLines: "... ({{count}} lines)"
|
|
19032
|
+
},
|
|
19033
|
+
fileEditor: {
|
|
19034
|
+
unsavedConfirm: "You have unsaved changes. Close anyway?",
|
|
19035
|
+
discardChanges: "Discard changes",
|
|
19036
|
+
continueEditing: "Continue editing",
|
|
19037
|
+
externallyModified: "File was modified externally. Saving will overwrite external changes.",
|
|
19038
|
+
useDiskVersion: "Use disk version",
|
|
19039
|
+
forceOverwrite: "Force overwrite"
|
|
19040
|
+
},
|
|
19041
|
+
quickFileOpen: {
|
|
19042
|
+
placeholder: "Type file name to open...",
|
|
19043
|
+
noMatch: "No matching files",
|
|
19044
|
+
recent: "Recent",
|
|
19045
|
+
selectHint: "Select",
|
|
19046
|
+
openHint: "Open",
|
|
19047
|
+
closeHint: "Close"
|
|
19048
|
+
},
|
|
19049
|
+
envManager: {
|
|
19050
|
+
title: "Environment Variables",
|
|
19051
|
+
tabScope: "Current Tab Only",
|
|
19052
|
+
globalScope: "Global Environment Variables",
|
|
19053
|
+
varNamePlaceholder: "Variable name (e.g. NODE_ENV)",
|
|
19054
|
+
varValuePlaceholder: "Value (e.g. production)",
|
|
19055
|
+
valuePlaceholder: "Value",
|
|
19056
|
+
noVars: "No environment variables yet. Add one to get started."
|
|
19057
|
+
},
|
|
19058
|
+
aliasManager: {
|
|
19059
|
+
title: "Command Aliases",
|
|
19060
|
+
description: "Set shortcut aliases for common commands (global)",
|
|
19061
|
+
aliasPlaceholder: "Alias (e.g. ll)",
|
|
19062
|
+
commandPlaceholder: "Full command (e.g. ls -la)",
|
|
19063
|
+
fullCommandPlaceholder: "Full command",
|
|
19064
|
+
usage: "Usage tip:",
|
|
19065
|
+
usageDesc: "Type an alias to execute the corresponding full command",
|
|
19066
|
+
noAliases: "No command aliases yet. Add one to get started."
|
|
19067
|
+
},
|
|
19068
|
+
diffViewer: {
|
|
19069
|
+
fileChanges: "File Changes ({{count}})",
|
|
19070
|
+
toggleFileTree: "Toggle file tree",
|
|
19071
|
+
selectFileToView: "Select a file to view changes",
|
|
19072
|
+
sideBySide: "Side by side",
|
|
19073
|
+
unified: "Unified",
|
|
19074
|
+
viewSplit: "Split",
|
|
19075
|
+
viewUnified: "Unified",
|
|
19076
|
+
previewFile: "Preview file",
|
|
19077
|
+
copiedAll: "Full text copied",
|
|
19078
|
+
compact: "Compact",
|
|
19079
|
+
full: "Full",
|
|
19080
|
+
gap: {
|
|
19081
|
+
hidden: "{{count}} lines hidden",
|
|
19082
|
+
more: "\xB7\xB7\xB7 more +{{count}} \xB7\xB7\xB7",
|
|
19083
|
+
expandUp: "Expand {{count}} lines up",
|
|
19084
|
+
expandDown: "Expand {{count}} lines down"
|
|
19085
|
+
},
|
|
19086
|
+
loadingSnapshots: "Loading snapshots\u2026",
|
|
19087
|
+
noChanges: "No file changes detected in this turn",
|
|
19088
|
+
notViewable: "Binary or oversized file \u2014 diff not viewable",
|
|
19089
|
+
externalChange: "Concurrent change from another session/process",
|
|
19090
|
+
reconstructed: "reconstructed",
|
|
19091
|
+
reconstructedHint: "Rebuilt from tool-call parameters \u2014 not a disk snapshot",
|
|
19092
|
+
truncated: "Too many files \u2014 list truncated"
|
|
19093
|
+
},
|
|
19094
|
+
commitDetail: {
|
|
19095
|
+
title: "Commit Details",
|
|
19096
|
+
hash: "Hash:",
|
|
19097
|
+
author: "Author:",
|
|
19098
|
+
date: "Date:",
|
|
19099
|
+
files: "Files:",
|
|
19100
|
+
nChanges: "{{count}} changes",
|
|
19101
|
+
loadingFiles: "Loading files...",
|
|
19102
|
+
noFileChanges: "No file changes",
|
|
19103
|
+
loadingDiff: "Loading diff...",
|
|
19104
|
+
selectFileToView: "Select a file to view diff"
|
|
19105
|
+
},
|
|
19106
|
+
askQuestion: {
|
|
19107
|
+
title: "Questions",
|
|
19108
|
+
nQuestions: "{{count}} questions",
|
|
19109
|
+
checkedN: "{{count}} checked",
|
|
19110
|
+
copyChecked: "Copy {{count}} checked Q&A",
|
|
19111
|
+
copyAll: "Copy all Q&A",
|
|
19112
|
+
sendChecked: "Send {{count}} checked Q&A to AI",
|
|
19113
|
+
sendAll: "Send all Q&A to AI",
|
|
19114
|
+
sendNoChat: "No active chat session",
|
|
19115
|
+
checkToCopy: "Check to copy",
|
|
19116
|
+
custom: "Custom",
|
|
19117
|
+
customPlaceholder: "Enter custom answer...",
|
|
19118
|
+
notSelected: "(not selected)"
|
|
19119
|
+
},
|
|
19120
|
+
tabBar: {
|
|
19121
|
+
unpin: "Unpin",
|
|
19122
|
+
pin: "Pin to favorites",
|
|
19123
|
+
closeTab: "Close tab",
|
|
19124
|
+
closeAll: "Close all tabs",
|
|
19125
|
+
newTab: "New tab"
|
|
19126
|
+
},
|
|
19127
|
+
tabManagerTopBar: {
|
|
19128
|
+
copyPageUrl: "Copy page URL",
|
|
19129
|
+
copyDirPath: "Copy directory path",
|
|
19130
|
+
refreshProject: "Refresh project",
|
|
19131
|
+
openInVSCode: "Open in VS Code",
|
|
19132
|
+
openInCursor: "Open in Cursor",
|
|
19133
|
+
aliasesGlobal: "Command Aliases (Global)",
|
|
19134
|
+
tokenStats: "Token Stats",
|
|
19135
|
+
openSurething: "Open Surething"
|
|
19136
|
+
},
|
|
19137
|
+
hoverTooltip: {
|
|
19138
|
+
findReferences: "Find References",
|
|
19139
|
+
search: "Search"
|
|
19140
|
+
},
|
|
19141
|
+
todoViewer: {
|
|
19142
|
+
title: "Task List",
|
|
19143
|
+
progress: "{{completed}} / {{total}} done"
|
|
19144
|
+
},
|
|
19145
|
+
userMessages: {
|
|
19146
|
+
title: "User Messages",
|
|
19147
|
+
noMessages: "No user messages"
|
|
19148
|
+
},
|
|
19149
|
+
shortIdBadge: {
|
|
19150
|
+
clickToDisconnect: "Click to disconnect",
|
|
19151
|
+
clickToRegister: "Click to register and copy CLI command",
|
|
19152
|
+
setTitle: "Name this bubble (so /cc can find it later)",
|
|
19153
|
+
setTitlePlaceholder: "set title",
|
|
19154
|
+
editTitle: "Edit title",
|
|
19155
|
+
titleSet: "Title: {{title}}",
|
|
19156
|
+
dialogTitle: "Name this bubble",
|
|
19157
|
+
dialogPlaceholder: "e.g. alloydb proxy, staging admin"
|
|
19158
|
+
},
|
|
19159
|
+
api: {
|
|
19160
|
+
pathForbidden: "Operation not allowed on this path",
|
|
19161
|
+
deleteForbidden: "Delete not allowed on this path",
|
|
19162
|
+
notAFolder: "Target is not a folder",
|
|
19163
|
+
imageTooLarge: "Image too large to preview",
|
|
19164
|
+
cannotPreviewBinary: "Cannot preview binary file",
|
|
19165
|
+
fileTooLarge: "File too large to preview (over 10MB)",
|
|
19166
|
+
fileModifiedExternally: "File was modified externally",
|
|
19167
|
+
pickFolderPrompt: "Select project folder"
|
|
19168
|
+
},
|
|
19169
|
+
confirm: {
|
|
19170
|
+
title: "Notice",
|
|
19171
|
+
ok: "OK",
|
|
19172
|
+
cancel: "Cancel"
|
|
19173
|
+
},
|
|
19174
|
+
floatingToolbar: {
|
|
19175
|
+
addComment: "Add Comment",
|
|
19176
|
+
sendToAI: "Send to AI",
|
|
19177
|
+
search: "Search"
|
|
19178
|
+
},
|
|
19179
|
+
quickReply: {
|
|
19180
|
+
optionA: "A",
|
|
19181
|
+
optionB: "B",
|
|
19182
|
+
optionC: "C",
|
|
19183
|
+
optionD: "D",
|
|
19184
|
+
allRecommended: "All recommended",
|
|
19185
|
+
thisOne: "This one",
|
|
19186
|
+
notThis: "Not this",
|
|
19187
|
+
why: "Why?",
|
|
19188
|
+
elaborate: "Say more",
|
|
19189
|
+
example: "Give an example",
|
|
19190
|
+
start: "Do it",
|
|
19191
|
+
continue: "Continue",
|
|
19192
|
+
ok: "OK",
|
|
19193
|
+
done: "Done"
|
|
19194
|
+
},
|
|
19195
|
+
searchResults: {
|
|
19196
|
+
title: "Search Results",
|
|
19197
|
+
nMatches: "({{count}} matches)",
|
|
19198
|
+
searching: "Searching...",
|
|
19199
|
+
noResults: "No matches",
|
|
19200
|
+
scopeSelected: "Selected",
|
|
19201
|
+
scopeAll: "All"
|
|
19202
|
+
},
|
|
19203
|
+
references: {
|
|
19204
|
+
title: "References",
|
|
19205
|
+
searching: "Searching...",
|
|
19206
|
+
notFound: "No references found"
|
|
19207
|
+
},
|
|
19208
|
+
gitFileTree: {
|
|
19209
|
+
noFiles: "No files"
|
|
19210
|
+
},
|
|
19211
|
+
explain: {
|
|
19212
|
+
action: "Explain",
|
|
19213
|
+
fileMessage: "Explain {{path}}",
|
|
19214
|
+
symbolMessage: "Explain {{name}} ({{path}}:{{lines}})",
|
|
19215
|
+
selectionMessage: "Explain",
|
|
19216
|
+
commitFileMessage: "Explain what git commit {{hash}} changed in {{path}}",
|
|
19217
|
+
compareFileMessage: "Explain the git changes to {{path}} in {{base}}..HEAD",
|
|
19218
|
+
stagedFileMessage: "Explain the git staged changes to {{path}}",
|
|
19219
|
+
unstagedFileMessage: "Explain the git working tree changes to {{path}}"
|
|
19220
|
+
},
|
|
19221
|
+
reviewUtils: {
|
|
19222
|
+
adjectives: ["Happy", "Brave", "Quiet", "Bright", "Gentle", "Agile", "Free", "Clear", "Flying", "Relaxed", "Lively", "Wise", "Calm", "Alert", "Composed", "Steady", "Cheerful", "Warm", "Bold", "Poised"],
|
|
19223
|
+
nouns: ["Panda", "Dolphin", "Crane", "Snow Leopard", "Skylark", "Squirrel", "Flying Fish", "Deer", "Bluebird", "Silver Fox", "Owl", "Dragonfly", "Firefly", "Sea Turtle", "Butterfly", "Monkey", "Red-crowned Crane", "Antelope", "Swallow", "Penguin"]
|
|
19224
|
+
}
|
|
19225
|
+
};
|
|
19226
|
+
|
|
19227
|
+
// packages/shared/i18n/locales/zh.json
|
|
19228
|
+
var zh_default = {
|
|
19229
|
+
common: {
|
|
19230
|
+
save: "\u4FDD\u5B58",
|
|
19231
|
+
cancel: "\u53D6\u6D88",
|
|
19232
|
+
delete: "\u5220\u9664",
|
|
19233
|
+
close: "\u5173\u95ED",
|
|
19234
|
+
copy: "\u590D\u5236",
|
|
19235
|
+
edit: "\u7F16\u8F91",
|
|
19236
|
+
file: "\u6587\u4EF6",
|
|
19237
|
+
codeMap: "\u4EE3\u7801\u5730\u56FE",
|
|
19238
|
+
diff: "Diff",
|
|
19239
|
+
confirm: "\u786E\u8BA4",
|
|
19240
|
+
loading: "\u52A0\u8F7D\u4E2D...",
|
|
19241
|
+
search: "\u641C\u7D22",
|
|
19242
|
+
refresh: "\u5237\u65B0",
|
|
19243
|
+
retry: "\u91CD\u8BD5",
|
|
19244
|
+
submit: "\u63D0\u4EA4",
|
|
19245
|
+
copied: "\u5DF2\u590D\u5236",
|
|
19246
|
+
saved: "\u5DF2\u4FDD\u5B58",
|
|
19247
|
+
failed: "\u5931\u8D25",
|
|
19248
|
+
noMatch: "\u65E0\u5339\u914D",
|
|
19249
|
+
noData: "\u65E0\u6570\u636E",
|
|
19250
|
+
done: "\u5B8C\u6210",
|
|
19251
|
+
justNow: "\u521A\u521A",
|
|
19252
|
+
minutesAgo: "{{count}}\u5206\u949F\u524D",
|
|
19253
|
+
hoursAgo: "{{count}}\u5C0F\u65F6\u524D",
|
|
19254
|
+
daysAgo: "{{count}}\u5929\u524D",
|
|
19255
|
+
monthsAgo: "{{count}}\u4E2A\u6708\u524D",
|
|
19256
|
+
yearsAgo: "{{count}}\u5E74\u524D",
|
|
19257
|
+
saveFailed: "\u4FDD\u5B58\u5931\u8D25",
|
|
19258
|
+
copyFailed: "\u590D\u5236\u5931\u8D25",
|
|
19259
|
+
deleteFailed: "\u5220\u9664\u5931\u8D25",
|
|
19260
|
+
operationFailed: "\u64CD\u4F5C\u5931\u8D25",
|
|
19261
|
+
copiedPath: "\u5DF2\u590D\u5236\u8DEF\u5F84",
|
|
19262
|
+
copyPath: "\u590D\u5236\u8DEF\u5F84",
|
|
19263
|
+
openInConsole: "\u5728 Console \u6C14\u6CE1\u6253\u5F00",
|
|
19264
|
+
copyAbsPath: "\u590D\u5236\u7EDD\u5BF9\u8DEF\u5F84",
|
|
19265
|
+
loadMore: "\u52A0\u8F7D\u66F4\u591A",
|
|
19266
|
+
noResult: "\u65E0\u5339\u914D\u7ED3\u679C",
|
|
19267
|
+
selected: "\u5DF2\u9009\u62E9",
|
|
19268
|
+
selectAll: "\u5168\u9009",
|
|
19269
|
+
hint: "\u63D0\u793A",
|
|
19270
|
+
confirmBtn: "\u786E\u5B9A",
|
|
19271
|
+
cancelBtn: "\u53D6\u6D88",
|
|
19272
|
+
preview: "\u9884\u89C8",
|
|
19273
|
+
readable: "\u53EF\u8BFB",
|
|
19274
|
+
previous: "\u4E0A\u4E00\u4E2A",
|
|
19275
|
+
next: "\u4E0B\u4E00\u4E2A",
|
|
19276
|
+
all: "\u5168\u90E8",
|
|
19277
|
+
input: "\u8F93\u5165",
|
|
19278
|
+
result: "\u7ED3\u679C",
|
|
19279
|
+
line: "\u884C",
|
|
19280
|
+
lines: "\u884C",
|
|
19281
|
+
running: "\u8FD0\u884C\u4E2D",
|
|
19282
|
+
connecting: "\u8FDE\u63A5\u4E2D",
|
|
19283
|
+
connected: "\u5DF2\u8FDE\u63A5",
|
|
19284
|
+
connectionFailed: "\u8FDE\u63A5\u5931\u8D25",
|
|
19285
|
+
builtin: "\u5185\u7F6E",
|
|
19286
|
+
global: "\u5168\u5C40",
|
|
19287
|
+
project: "\u9879\u76EE",
|
|
19288
|
+
current: "\u5F53\u524D"
|
|
19289
|
+
},
|
|
19290
|
+
htmlApps: {
|
|
19291
|
+
addTooltip: "\u6DFB\u52A0\u5230 HTML \u9762\u677F",
|
|
19292
|
+
added: "\u5DF2\u6DFB\u52A0\u5230 HTML \u9762\u677F",
|
|
19293
|
+
alreadyAdded: "\u5DF2\u6DFB\u52A0\u8FC7",
|
|
19294
|
+
addFailed: "\u6DFB\u52A0\u5931\u8D25"
|
|
19295
|
+
},
|
|
19296
|
+
skills: {
|
|
19297
|
+
addTooltip: "\u6DFB\u52A0\u5230 Skills \u9762\u677F",
|
|
19298
|
+
added: "\u5DF2\u6DFB\u52A0\u5230 Skills \u9762\u677F",
|
|
19299
|
+
alreadyAdded: "\u5DF2\u6DFB\u52A0\u8FC7",
|
|
19300
|
+
addFailed: "\u6DFB\u52A0\u5931\u8D25",
|
|
19301
|
+
title: "Skills",
|
|
19302
|
+
searchPlaceholder: "\u641C\u7D22 skills...",
|
|
19303
|
+
clearSearch: "\u6E05\u9664",
|
|
19304
|
+
addSkill: "\u6DFB\u52A0 Skill",
|
|
19305
|
+
emptyNoSkills: "\u8FD8\u6CA1\u6709 skill\uFF0C\u70B9\u51FB\u300C\u6DFB\u52A0 Skill\u300D\u6DFB\u52A0\u4E00\u4E2A\u3002",
|
|
19306
|
+
emptyNoMatch: "\u6CA1\u6709\u5339\u914D\u7684 skill\u3002",
|
|
19307
|
+
pathLabel: "SKILL.md \u7684\u7EDD\u5BF9\u8DEF\u5F84",
|
|
19308
|
+
pathPlaceholder: "/Users/you/.../skills/foo/SKILL.md",
|
|
19309
|
+
add: "\u6DFB\u52A0",
|
|
19310
|
+
adding: "\u6DFB\u52A0\u4E2D...",
|
|
19311
|
+
invalid: "\u65E0\u6548",
|
|
19312
|
+
copyPath: "\u590D\u5236\u8DEF\u5F84",
|
|
19313
|
+
noDescription: "\u65E0\u63CF\u8FF0",
|
|
19314
|
+
previewTitle: "Skill \u9884\u89C8",
|
|
19315
|
+
source: "\u6E90\u7801",
|
|
19316
|
+
cannotRead: "\u65E0\u6CD5\u8BFB\u53D6\u6587\u4EF6\u3002"
|
|
19317
|
+
},
|
|
19318
|
+
toast: {
|
|
19319
|
+
savedSuccess: "\u5DF2\u4FDD\u5B58",
|
|
19320
|
+
saveFailed: "\u4FDD\u5B58\u5931\u8D25",
|
|
19321
|
+
copiedName: "\u5DF2\u590D\u5236: {{name}}",
|
|
19322
|
+
copyFailed: "\u590D\u5236\u5931\u8D25",
|
|
19323
|
+
deleteFailed: "\u5220\u9664\u5931\u8D25",
|
|
19324
|
+
operationFailed: "\u64CD\u4F5C\u5931\u8D25",
|
|
19325
|
+
staged: "\u5DF2\u6682\u5B58",
|
|
19326
|
+
stageFailed: "\u6682\u5B58\u5931\u8D25",
|
|
19327
|
+
unstaged: "\u5DF2\u53D6\u6D88\u6682\u5B58",
|
|
19328
|
+
unstageFailed: "\u53D6\u6D88\u6682\u5B58\u5931\u8D25",
|
|
19329
|
+
stagedNFiles: "\u5DF2\u6682\u5B58 {{count}} \u4E2A\u6587\u4EF6",
|
|
19330
|
+
unstagedNFiles: "\u5DF2\u53D6\u6D88\u6682\u5B58 {{count}} \u4E2A\u6587\u4EF6",
|
|
19331
|
+
discardFailed: "\u653E\u5F03\u53D8\u66F4\u5931\u8D25",
|
|
19332
|
+
discardedNFiles: "\u5DF2\u653E\u5F03 {{count}} \u4E2A\u6587\u4EF6\u7684\u53D8\u66F4",
|
|
19333
|
+
stagedAllFiles: "\u5DF2\u6682\u5B58\u6240\u6709\u6587\u4EF6",
|
|
19334
|
+
deletedFile: "\u5DF2\u5220\u9664\u6587\u4EF6",
|
|
19335
|
+
discardedChanges: "\u5DF2\u653E\u5F03\u53D8\u66F4",
|
|
19336
|
+
pastedFile: "\u5DF2\u7C98\u8D34: {{name}}",
|
|
19337
|
+
pasteFailed: "\u7C98\u8D34\u5931\u8D25",
|
|
19338
|
+
noFileToPaste: "\u6CA1\u6709\u53EF\u7C98\u8D34\u7684\u6587\u4EF6",
|
|
19339
|
+
createdFile: "\u5DF2\u521B\u5EFA\u6587\u4EF6: {{name}}",
|
|
19340
|
+
createFailed: "\u521B\u5EFA\u5931\u8D25",
|
|
19341
|
+
movedToTrash: "\u5DF2\u79FB\u52A8\u5230\u56DE\u6536\u7AD9: {{name}}",
|
|
19342
|
+
copiedPageUrl: "\u5DF2\u590D\u5236\u9875\u9762\u5730\u5740",
|
|
19343
|
+
copiedDirPath: "\u5DF2\u590D\u5236\u76EE\u5F55\u8DEF\u5F84",
|
|
19344
|
+
switchedToBranch: "\u5DF2\u5207\u6362\u5230 {{branch}}",
|
|
19345
|
+
switchBranchFailed: "\u5207\u6362\u5206\u652F\u5931\u8D25",
|
|
19346
|
+
loadBranchFailed: "\u52A0\u8F7D\u5206\u652F\u5217\u8868\u5931\u8D25",
|
|
19347
|
+
copiedCommand: "\u5DF2\u590D\u5236: {{command}}",
|
|
19348
|
+
copiedMessage: "\u5DF2\u590D\u5236\u6D88\u606F",
|
|
19349
|
+
copiedUrl: "\u5DF2\u590D\u5236\u7F51\u5740",
|
|
19350
|
+
copiedOutput: "\u5DF2\u590D\u5236\u8F93\u51FA",
|
|
19351
|
+
copiedCmd: "\u5DF2\u590D\u5236\u547D\u4EE4",
|
|
19352
|
+
copiedComment: "\u5DF2\u590D\u5236\u8BC4\u8BBA",
|
|
19353
|
+
copiedAllComments: "\u5DF2\u590D\u5236\u5168\u90E8\u8BC4\u8BBA",
|
|
19354
|
+
copiedFileContent: "\u5DF2\u590D\u5236\u6587\u4EF6\u5185\u5BB9",
|
|
19355
|
+
copiedQA: "\u5DF2\u590D\u5236 {{count}} \u4E2A\u95EE\u7B54",
|
|
19356
|
+
copiedAllQA: "\u5DF2\u590D\u5236\u6240\u6709\u95EE\u7B54",
|
|
19357
|
+
sentQA: "\u5DF2\u53D1\u9001\u7ED9 AI",
|
|
19358
|
+
readFileFailed: "\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25",
|
|
19359
|
+
reviewCreated: "\u8BC4\u5BA1\u5DF2\u521B\u5EFA\uFF0C\u94FE\u63A5\u5DF2\u590D\u5236",
|
|
19360
|
+
reviewUpdated: "\u8BC4\u5BA1\u5DF2\u66F4\u65B0\uFF0C\u94FE\u63A5\u5DF2\u590D\u5236",
|
|
19361
|
+
reviewCreateFailed: "\u521B\u5EFA\u8BC4\u5BA1\u5931\u8D25",
|
|
19362
|
+
sharingClosed: "\u5DF2\u5173\u95ED\u5206\u4EAB",
|
|
19363
|
+
sharingCloseFailed: "\u5173\u95ED\u5206\u4EAB\u5931\u8D25",
|
|
19364
|
+
linkCopied: "\u94FE\u63A5\u5DF2\u590D\u5236",
|
|
19365
|
+
addCommentFailed: "\u6DFB\u52A0\u8BC4\u8BBA\u5931\u8D25",
|
|
19366
|
+
deleteCommentFailed: "\u5220\u9664\u8BC4\u8BBA\u5931\u8D25",
|
|
19367
|
+
editCommentFailed: "\u7F16\u8F91\u8BC4\u8BBA\u5931\u8D25",
|
|
19368
|
+
addReplyFailed: "\u6DFB\u52A0\u56DE\u590D\u5931\u8D25",
|
|
19369
|
+
deleteReplyFailed: "\u5220\u9664\u56DE\u590D\u5931\u8D25",
|
|
19370
|
+
editReplyFailed: "\u7F16\u8F91\u56DE\u590D\u5931\u8D25",
|
|
19371
|
+
disconnected: "\u5DF2\u65AD\u5F00: {{id}}",
|
|
19372
|
+
pluginReloading: "\u63D2\u4EF6\u91CD\u8F7D\u4E2D...",
|
|
19373
|
+
worktreeCreateSuccess: "Worktree \u521B\u5EFA\u6210\u529F: {{name}}",
|
|
19374
|
+
worktreeCreateFailed: "\u521B\u5EFA worktree \u5931\u8D25",
|
|
19375
|
+
worktreeLoadFailed: "\u52A0\u8F7D worktree \u5217\u8868\u5931\u8D25",
|
|
19376
|
+
worktreeDeleted: "Worktree \u5DF2\u5220\u9664",
|
|
19377
|
+
worktreeDeleteFailed: "\u5220\u9664 worktree \u5931\u8D25",
|
|
19378
|
+
worktreeLocked: "\u5DF2\u9501\u5B9A",
|
|
19379
|
+
worktreeUnlocked: "\u5DF2\u89E3\u9501"
|
|
19380
|
+
},
|
|
19381
|
+
workspace: {
|
|
19382
|
+
selectProject: "\u9009\u62E9\u4E00\u4E2A\u9879\u76EE\u5F00\u59CB",
|
|
19383
|
+
searchProjectPath: "\u641C\u7D22\u9879\u76EE\u8DEF\u5F84...",
|
|
19384
|
+
loadingProjects: "\u52A0\u8F7D\u9879\u76EE\u4E2D...",
|
|
19385
|
+
projectNotFound: "\u672A\u627E\u5230\u9879\u76EE",
|
|
19386
|
+
sessions: "{{count}} \u4F1A\u8BDD",
|
|
19387
|
+
loadingSessions: "\u52A0\u8F7D\u4F1A\u8BDD...",
|
|
19388
|
+
noSessions: "\u65E0\u4F1A\u8BDD\u8BB0\u5F55",
|
|
19389
|
+
loadingText: "\u52A0\u8F7D\u4E2D...",
|
|
19390
|
+
openProject: "\u6253\u5F00\u9879\u76EE",
|
|
19391
|
+
expandSidebar: "\u5C55\u5F00\u4FA7\u8FB9\u680F",
|
|
19392
|
+
collapseSidebar: "\u6298\u53E0\u4FA7\u8FB9\u680F",
|
|
19393
|
+
notes: "\u7B14\u8BB0",
|
|
19394
|
+
skills: "\u6280\u80FD",
|
|
19395
|
+
settings: "\u8BBE\u7F6E",
|
|
19396
|
+
help: "\u5E2E\u52A9",
|
|
19397
|
+
updateAvailable: "\u65B0\u7248\u672C v{{version}} \u53EF\u7528",
|
|
19398
|
+
copyUpgradeCommand: "\u590D\u5236 cockpit update",
|
|
19399
|
+
viewChangelog: "\u67E5\u770B\u53D8\u66F4\u65E5\u5FD7",
|
|
19400
|
+
upgradeCommandCopied: "\u5DF2\u590D\u5236 `cockpit update`",
|
|
19401
|
+
projectNotes: "\u9879\u76EE\u7B14\u8BB0",
|
|
19402
|
+
closeProject: "\u5173\u95ED\u9879\u76EE"
|
|
19403
|
+
},
|
|
19404
|
+
mobile: {
|
|
19405
|
+
useDesktop: "\u684C\u9762\u7248",
|
|
19406
|
+
messagePlaceholder: "\u53D1\u6D88\u606F\u2026",
|
|
19407
|
+
send: "\u53D1\u9001",
|
|
19408
|
+
stop: "\u505C\u6B62",
|
|
19409
|
+
enableNotifications: "\u5F00\u542F\u901A\u77E5",
|
|
19410
|
+
disableNotifications: "\u5173\u95ED\u901A\u77E5",
|
|
19411
|
+
notifyError: "\u65E0\u6CD5\u5F00\u542F\u901A\u77E5"
|
|
19412
|
+
},
|
|
19413
|
+
sessions: {
|
|
19414
|
+
recentSessions: "\u6700\u8FD1\u4F1A\u8BDD",
|
|
19415
|
+
runningCount: "{{count}} \u8FD0\u884C\u4E2D",
|
|
19416
|
+
unreadCount: "{{count}} \u672A\u8BFB",
|
|
19417
|
+
noSessions: "\u6682\u65E0\u4F1A\u8BDD\u8BB0\u5F55",
|
|
19418
|
+
running: "\u8FD0\u884C\u4E2D",
|
|
19419
|
+
done: "\u5B8C\u6210",
|
|
19420
|
+
pinnedSessions: "\u5E38\u7528\u4F1A\u8BDD",
|
|
19421
|
+
noPinnedSessions: "\u6682\u65E0\u5E38\u7528\u4F1A\u8BDD\uFF0C\u5728 Tab \u680F\u70B9\u51FB\u56FE\u9489\u53EF\u6DFB\u52A0",
|
|
19422
|
+
editTitle: "\u7F16\u8F91\u6807\u9898",
|
|
19423
|
+
remove: "\u79FB\u9664",
|
|
19424
|
+
projectSessions: "\u9879\u76EE\u4F1A\u8BDD",
|
|
19425
|
+
browseAllSessions: "\u6D4F\u89C8\u6240\u6709\u4F1A\u8BDD",
|
|
19426
|
+
sessionList: "\u4F1A\u8BDD\u5217\u8868",
|
|
19427
|
+
searchSessions: "\u641C\u7D22\u4F1A\u8BDD...",
|
|
19428
|
+
searchRecentSessions: "\u641C\u7D22\u6700\u8FD1\u4F1A\u8BDD",
|
|
19429
|
+
loadSessionsFailed: "\u52A0\u8F7D\u4F1A\u8BDD\u5931\u8D25",
|
|
19430
|
+
loadingSessions: "\u52A0\u8F7D\u4F1A\u8BDD\u4E2D...",
|
|
19431
|
+
noMatchingSessions: "\u672A\u627E\u5230\u5339\u914D\u7684\u4F1A\u8BDD",
|
|
19432
|
+
noSessionsYet: "\u6682\u65E0\u4F1A\u8BDD",
|
|
19433
|
+
projectList: "\u9879\u76EE\u5217\u8868",
|
|
19434
|
+
openFolder: "\u6253\u5F00\u6587\u4EF6\u5939",
|
|
19435
|
+
selectingFolder: "\u9009\u62E9\u4E2D...",
|
|
19436
|
+
loadingHistory: "\u52A0\u8F7D\u5386\u53F2\u6D88\u606F..."
|
|
19437
|
+
},
|
|
19438
|
+
scheduledTasks: {
|
|
19439
|
+
title: "\u5B9A\u65F6\u4EFB\u52A1",
|
|
19440
|
+
aboutToTrigger: "\u5373\u5C06\u89E6\u53D1",
|
|
19441
|
+
secondsLater: "{{count}}\u79D2\u540E",
|
|
19442
|
+
minutesLater: "{{count}}\u5206\u949F\u540E",
|
|
19443
|
+
hoursMinutesLater: "{{h}}\u5C0F\u65F6{{m}}\u5206\u540E",
|
|
19444
|
+
hoursLater: "{{h}}\u5C0F\u65F6\u540E",
|
|
19445
|
+
onceType: "\u4E00\u6B21\u6027 ({{minutes}}\u5206\u949F)",
|
|
19446
|
+
everyNMinutes: "\u6BCF{{minutes}}\u5206\u949F",
|
|
19447
|
+
completed: "\u5DF2\u5B8C\u6210",
|
|
19448
|
+
paused: "\u5DF2\u6682\u505C",
|
|
19449
|
+
activeCount: "{{running}} \u4E2A\u6D3B\u8DC3",
|
|
19450
|
+
pausedCount: "{{paused}} \u4E2A\u6682\u505C",
|
|
19451
|
+
noScheduledTasks: "\u6682\u65E0\u5B9A\u65F6\u4EFB\u52A1\uFF0C\u5728\u804A\u5929\u8F93\u5165\u680F\u70B9\u51FB\u65F6\u949F\u6309\u94AE\u521B\u5EFA",
|
|
19452
|
+
lastResult: "\u4E0A\u6B21",
|
|
19453
|
+
runNow: "\u7ACB\u5373\u8FD0\u884C",
|
|
19454
|
+
resume: "\u6062\u590D",
|
|
19455
|
+
pause: "\u6682\u505C",
|
|
19456
|
+
completedCount: "\u5DF2\u5B8C\u6210 ({{count}})",
|
|
19457
|
+
success: "\u6210\u529F",
|
|
19458
|
+
failure: "\u5931\u8D25",
|
|
19459
|
+
createTask: "\u521B\u5EFA\u5B9A\u65F6\u4EFB\u52A1",
|
|
19460
|
+
editTask: "\u7F16\u8F91\u5B9A\u65F6\u4EFB\u52A1",
|
|
19461
|
+
sendMessage: "\u53D1\u9001\u6D88\u606F",
|
|
19462
|
+
messagePlaceholder: "\u8F93\u5165\u8981\u53D1\u9001\u7684\u6D88\u606F...",
|
|
19463
|
+
taskFile: "\u4EFB\u52A1\u6587\u4EF6",
|
|
19464
|
+
taskFilePlaceholder: "/Users/you/project/tasks/daily-report.md",
|
|
19465
|
+
taskFileHint: "\u586B\u5199\u7EDD\u5BF9\u8DEF\u5F84\u3002\u89E6\u53D1\u65F6\u4F1A\u8BA9 agent \u5148\u8BFB\u53D6\u8BE5\u6587\u4EF6\uFF0C\u518D\u6309\u5176\u4E2D\u63CF\u8FF0\u6267\u884C\u2014\u2014\u6587\u4EF6\u5185\u5BB9\u6539\u52A8\u4E0B\u6B21\u89E6\u53D1\u5373\u751F\u6548\u3002",
|
|
19466
|
+
taskFilePromptHeader: "\u8BF7\u5148\u8BFB\u53D6\u4EE5\u4E0B\u4EFB\u52A1\u6587\u4EF6\uFF0C\u518D\u636E\u6B64\u6267\u884C\uFF1A",
|
|
19467
|
+
type: "\u7C7B\u578B",
|
|
19468
|
+
once: "\u4E00\u6B21\u6027",
|
|
19469
|
+
interval: "\u5468\u671F",
|
|
19470
|
+
quickSelect: "\u5FEB\u6377\u9009\u62E9",
|
|
19471
|
+
customCron: "\u81EA\u5B9A\u4E49 Cron \u8868\u8FBE\u5F0F",
|
|
19472
|
+
customMinutes: "\u81EA\u5B9A\u4E49\u5206\u949F\u6570",
|
|
19473
|
+
cronPlaceholder: "\u4F8B: 0 9 * * 1-5 (\u5DE5\u4F5C\u65E59\u70B9)",
|
|
19474
|
+
cronFormat: "\u683C\u5F0F\uFF1A\u5206 \u65F6 \u65E5 \u6708 \u661F\u671F\uFF08\u5982 0 9 * * 1-5\uFF09",
|
|
19475
|
+
minutesPlaceholder: "\u5206\u949F\u6570",
|
|
19476
|
+
limitTimeRange: "\u9650\u5236\u6267\u884C\u65F6\u6BB5",
|
|
19477
|
+
to: "\u81F3",
|
|
19478
|
+
saveBtn: "\u4FDD\u5B58 ({{modKey}}\u21A9)",
|
|
19479
|
+
createBtn: "\u521B\u5EFA ({{modKey}}\u21A9)",
|
|
19480
|
+
"5minLater": "5 \u5206\u949F\u540E",
|
|
19481
|
+
"15minLater": "15 \u5206\u949F\u540E",
|
|
19482
|
+
"30minLater": "30 \u5206\u949F\u540E",
|
|
19483
|
+
"1hourLater": "1 \u5C0F\u65F6\u540E",
|
|
19484
|
+
every15min: "\u6BCF 15 \u5206\u949F",
|
|
19485
|
+
every30min: "\u6BCF 30 \u5206\u949F",
|
|
19486
|
+
every1hour: "\u6BCF 1 \u5C0F\u65F6",
|
|
19487
|
+
every2hours: "\u6BCF 2 \u5C0F\u65F6",
|
|
19488
|
+
daily9am: "\u6BCF\u5929 09:00",
|
|
19489
|
+
daily6pm: "\u6BCF\u5929 18:00",
|
|
19490
|
+
weeklyMon9am: "\u6BCF\u5468\u4E00 09:00",
|
|
19491
|
+
monthly1st9am: "\u6BCF\u6708 1 \u53F7 09:00"
|
|
19492
|
+
},
|
|
19493
|
+
cron: {
|
|
19494
|
+
everyNMinutes: "\u6BCF {{n}} \u5206\u949F",
|
|
19495
|
+
everyNHours: "\u6BCF {{n}} \u5C0F\u65F6\u6574\u70B9",
|
|
19496
|
+
everyMinute: "\u6BCF\u5206\u949F",
|
|
19497
|
+
everyHourAtMin: "\u6BCF\u5C0F\u65F6\u7B2C {{m}} \u5206",
|
|
19498
|
+
hourlyEveryMin: "{{h}} \u70B9\u6BCF\u5206\u949F",
|
|
19499
|
+
daily: "\u6BCF\u5929 {{time}}",
|
|
19500
|
+
weekdays: "\u5DE5\u4F5C\u65E5",
|
|
19501
|
+
weekends: "\u5468\u672B",
|
|
19502
|
+
dowSun: "\u65E5",
|
|
19503
|
+
dowMon: "\u4E00",
|
|
19504
|
+
dowTue: "\u4E8C",
|
|
19505
|
+
dowWed: "\u4E09",
|
|
19506
|
+
dowThu: "\u56DB",
|
|
19507
|
+
dowFri: "\u4E94",
|
|
19508
|
+
dowSat: "\u516D",
|
|
19509
|
+
monthPrefix: "\u6708",
|
|
19510
|
+
dayOfMonth: "\u53F7",
|
|
19511
|
+
dayRange: "{{a}}\u53F7\u5230{{b}}\u53F7",
|
|
19512
|
+
weekdayPrefix: "\u5468",
|
|
19513
|
+
weekdayRange: "\u5468{{a}}\u5230\u5468{{b}}"
|
|
19514
|
+
},
|
|
19515
|
+
blockViewer: {
|
|
19516
|
+
empty: {
|
|
19517
|
+
body: "\u5728\u5DE6\u4FA7\u6587\u4EF6\u6811\u9009\u62E9\u4E00\u4E2A\u6587\u4EF6\uFF0C\u67E5\u770B\u5B83\u7684\u4EE3\u7801\u5730\u56FE\u3002",
|
|
19518
|
+
hint: "\u6216\u6309 \u2318K \u641C\u7D22\u3002"
|
|
19519
|
+
},
|
|
19520
|
+
fileMode: {
|
|
19521
|
+
loading: "\u52A0\u8F7D\u4E2D\u2026",
|
|
19522
|
+
notFound: "\u8BE5\u6587\u4EF6\u672A\u7D22\u5F15\uFF08\u4E0D\u652F\u6301\u7684\u8BED\u8A00\u6216\u8D85\u51FA\u6587\u4EF6\u4E0A\u9650\uFF09\u3002"
|
|
19523
|
+
},
|
|
19524
|
+
search: {
|
|
19525
|
+
tooltip: "\u641C\u7D22 (\u2318K)",
|
|
19526
|
+
hint: "\u5F00\u59CB\u8F93\u5165\u4EE5\u641C\u7D22",
|
|
19527
|
+
noResults: "\u672A\u627E\u5230\u5339\u914D",
|
|
19528
|
+
files: "\u6587\u4EF6",
|
|
19529
|
+
symbols: "\u7B26\u53F7"
|
|
19530
|
+
},
|
|
19531
|
+
viewerToggle: {
|
|
19532
|
+
toBlock: "\u663E\u793A\u4EE3\u7801\u5730\u56FE",
|
|
19533
|
+
toCode: "\u8FD4\u56DE\u4EE3\u7801\u89C6\u56FE"
|
|
19534
|
+
},
|
|
19535
|
+
toc: {
|
|
19536
|
+
title: "\u672C\u6587\u4EF6",
|
|
19537
|
+
empty: "\u672A\u68C0\u6D4B\u5230\u51FD\u6570\u3002",
|
|
19538
|
+
notIndexed: "\u8BE5\u6587\u4EF6\u672A\u88AB\u9879\u76EE\u56FE\u6536\u5F55\uFF08\u6269\u5C55\u672A\u652F\u6301 / \u4E0D\u5728 git \u8DDF\u8E2A\u96C6 / \u8D85\u51FA\u6587\u4EF6\u4E0A\u9650\uFF09\u3002"
|
|
19539
|
+
},
|
|
19540
|
+
history: {
|
|
19541
|
+
title: "\u5386\u53F2",
|
|
19542
|
+
empty: "\u70B9\u51FB\u5DE6\u53F3\u4E24\u4FA7\u7684 pin \u5F00\u59CB\u8FFD\u8E2A\u8C03\u7528\u94FE\u3002",
|
|
19543
|
+
clear: "\u6E05\u7A7A\u5386\u53F2"
|
|
19544
|
+
},
|
|
19545
|
+
refresh: "\u91CD\u65B0\u6784\u5EFA\u9879\u76EE\u56FE",
|
|
19546
|
+
retry: "\u91CD\u8BD5"
|
|
19547
|
+
},
|
|
19548
|
+
blockDiffViewer: {
|
|
19549
|
+
loading: "\u6B63\u5728\u751F\u6210\u4EE3\u7801\u5730\u56FE\u2026",
|
|
19550
|
+
unsupported: "\u8BE5\u6587\u4EF6\u7C7B\u578B\u6682\u4E0D\u652F\u6301\u4EE3\u7801\u5730\u56FE diff",
|
|
19551
|
+
unsupportedHint: "\u5207\u56DE\u5E38\u89C4 diff \u89C6\u56FE\u67E5\u770B\u3002",
|
|
19552
|
+
error: "\u4EE3\u7801\u5730\u56FE diff \u5931\u8D25\uFF1A{{message}}",
|
|
19553
|
+
noBlockChanges: "\u4EE3\u7801\u5730\u56FE\u65E0\u53D8\u5316\uFF08\u4EC5\u683C\u5F0F\u6216\u7A7A\u767D\uFF09\u3002",
|
|
19554
|
+
noBefore: "\uFF08\u65B0\u589E\uFF09",
|
|
19555
|
+
noAfter: "\uFF08\u5DF2\u5220\u9664\uFF09",
|
|
19556
|
+
kind: {
|
|
19557
|
+
added: "\u65B0\u589E",
|
|
19558
|
+
deleted: "\u5220\u9664",
|
|
19559
|
+
modified: "\u4FEE\u6539"
|
|
19560
|
+
}
|
|
19561
|
+
},
|
|
19562
|
+
fileBrowser: {
|
|
19563
|
+
directoryTree: "\u76EE\u5F55\u6811",
|
|
19564
|
+
searchTab: "\u641C\u7D22",
|
|
19565
|
+
recentTab: "\u6700\u8FD1",
|
|
19566
|
+
changesTab: "\u53D8\u66F4",
|
|
19567
|
+
historyTab: "\u5386\u53F2",
|
|
19568
|
+
searchFiles: "\u641C\u7D22\u6587\u4EF6...",
|
|
19569
|
+
clear: "\u6E05\u9664",
|
|
19570
|
+
exactMatchOn: "\u5168\u8BCD\u5339\u914D\uFF08\u5DF2\u5F00\u542F\uFF09",
|
|
19571
|
+
exactMatchOff: "\u5168\u8BCD\u5339\u914D\uFF08\u5DF2\u5173\u95ED\uFF09",
|
|
19572
|
+
refreshTree: "\u5237\u65B0\u76EE\u5F55\u6811",
|
|
19573
|
+
collapseAll: "\u6298\u53E0\u6240\u6709\u76EE\u5F55",
|
|
19574
|
+
searchFileContent: "\u641C\u7D22\u6587\u4EF6\u5185\u5BB9...",
|
|
19575
|
+
caseSensitive: "\u533A\u5206\u5927\u5C0F\u5199",
|
|
19576
|
+
wholeWord: "\u5B8C\u6574\u8BCD",
|
|
19577
|
+
regex: "\u6B63\u5219",
|
|
19578
|
+
fileTypes: "\u6587\u4EF6\u7C7B\u578B (ts,tsx)",
|
|
19579
|
+
compareMode: "\u5BF9\u6BD4",
|
|
19580
|
+
compareModeOff: "\u5173\u95ED\u5206\u652F\u5BF9\u6BD4",
|
|
19581
|
+
compareModeOn: "\u4E0E\u9009\u5B9A\u5206\u652F\u5BF9\u6BD4",
|
|
19582
|
+
createFile: "\u65B0\u5EFA\u6587\u4EF6",
|
|
19583
|
+
createFileIn: "\u65B0\u5EFA\u6587\u4EF6 (\u5728 {{path}}/)",
|
|
19584
|
+
fileName: "\u6587\u4EF6\u540D...",
|
|
19585
|
+
noRecentFiles: "\u6682\u65E0\u6700\u8FD1\u6D4F\u89C8\u7684\u6587\u4EF6",
|
|
19586
|
+
stagingArea: "\u6682\u5B58\u533A ({{count}})",
|
|
19587
|
+
changesSummary_one: "{{count}} \u4E2A\u53D8\u66F4",
|
|
19588
|
+
changesSummary_other: "{{count}} \u4E2A\u53D8\u66F4",
|
|
19589
|
+
noChanges: "\u5DE5\u4F5C\u533A\u65E0\u53D8\u66F4",
|
|
19590
|
+
refreshChanges: "\u5237\u65B0\u53D8\u66F4\u5217\u8868",
|
|
19591
|
+
unstageAll: "\u5168\u90E8\u53D6\u6D88",
|
|
19592
|
+
noStagedFiles: "\u65E0\u6682\u5B58\u7684\u6587\u4EF6",
|
|
19593
|
+
unstageNFiles: "\u53D6\u6D88\u6682\u5B58 {{count}} \u4E2A\u6587\u4EF6",
|
|
19594
|
+
unstageFile: "\u53D6\u6D88\u6682\u5B58",
|
|
19595
|
+
workspace: "\u5DE5\u4F5C\u533A ({{count}})",
|
|
19596
|
+
discardAll: "\u653E\u5F03\u6240\u6709",
|
|
19597
|
+
stageAll: "\u5168\u90E8\u6682\u5B58",
|
|
19598
|
+
noUnstagedChanges: "\u65E0\u672A\u6682\u5B58\u7684\u53D8\u66F4",
|
|
19599
|
+
discardNFiles: "\u653E\u5F03 {{count}} \u4E2A\u6587\u4EF6\u7684\u53D8\u66F4",
|
|
19600
|
+
stageNFiles: "\u6682\u5B58 {{count}} \u4E2A\u6587\u4EF6",
|
|
19601
|
+
discardChanges: "\u653E\u5F03\u53D8\u66F4",
|
|
19602
|
+
stageFile: "\u6682\u5B58\u6587\u4EF6",
|
|
19603
|
+
loadingDiff: "\u52A0\u8F7D\u5BF9\u6BD4\u6587\u4EF6\u4E2D...",
|
|
19604
|
+
noDiffFiles: "\u65E0\u5DEE\u5F02\u6587\u4EF6",
|
|
19605
|
+
nFilesChanged: "{{count}} \u4E2A\u6587\u4EF6\u53D8\u66F4\uFF08vs {{branch}}\uFF09",
|
|
19606
|
+
loadingCommits: "\u52A0\u8F7D\u63D0\u4EA4\u8BB0\u5F55\u4E2D...",
|
|
19607
|
+
noCommits: "\u65E0\u63D0\u4EA4\u8BB0\u5F55",
|
|
19608
|
+
allLoaded: "\u5DF2\u52A0\u8F7D\u5168\u90E8 {{count}} \u6761\u8BB0\u5F55",
|
|
19609
|
+
locateInTree: "\u5728\u76EE\u5F55\u6811\u4E2D\u5B9A\u4F4D",
|
|
19610
|
+
unsaved: "\u672A\u4FDD\u5B58",
|
|
19611
|
+
saveBeforeSwitch: "\u5F53\u524D\u6587\u4EF6\u6709\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\uFF0C\u662F\u5426\u4FDD\u5B58\u540E\u5207\u6362\uFF1F",
|
|
19612
|
+
saveAndSwitch: "\u4FDD\u5B58\u5E76\u5207\u6362",
|
|
19613
|
+
closeEdit: "\u5173\u95ED\u7F16\u8F91 (ESC)",
|
|
19614
|
+
closeBtn: "\u5173\u95ED",
|
|
19615
|
+
copyFileContent: "\u590D\u5236\u6587\u4EF6\u5185\u5BB9",
|
|
19616
|
+
toggleJsonReadable: "\u5207\u6362 JSON \u53EF\u8BFB\u6A21\u5F0F",
|
|
19617
|
+
previewMarkdown: "\u9884\u89C8 Markdown \u6E32\u67D3\u6548\u679C",
|
|
19618
|
+
exitPreview: "\u9000\u51FA\u9884\u89C8",
|
|
19619
|
+
viewBlame: "\u67E5\u770B\u6BCF\u884C\u4EE3\u7801\u7684\u4FEE\u6539\u8BB0\u5F55",
|
|
19620
|
+
viewDiff: "\u67E5\u770B\u76F8\u5BF9 HEAD \u7684\u6539\u52A8",
|
|
19621
|
+
exitDiff: "\u9000\u51FA Diff",
|
|
19622
|
+
diffLoadFailed: "\u52A0\u8F7D\u5DEE\u5F02\u5931\u8D25",
|
|
19623
|
+
editFile: "\u7F16\u8F91\u6587\u4EF6",
|
|
19624
|
+
backToPreview: "\u8FD4\u56DE\u9884\u89C8",
|
|
19625
|
+
cannotPreview: "\u65E0\u6CD5\u9884\u89C8\u6B64\u6587\u4EF6",
|
|
19626
|
+
selectFileToPreview: "\u9009\u62E9\u6587\u4EF6\u4EE5\u9884\u89C8",
|
|
19627
|
+
staged: "\u5DF2\u6682\u5B58",
|
|
19628
|
+
unstaged: "\u672A\u6682\u5B58",
|
|
19629
|
+
selectFileToViewDiff: "\u9009\u62E9\u6587\u4EF6\u67E5\u770B\u5DEE\u5F02",
|
|
19630
|
+
loadingDiffContent: "\u52A0\u8F7D\u5DEE\u5F02\u4E2D...",
|
|
19631
|
+
clickCompareToLoad: "\u70B9\u51FB\u300C\u5BF9\u6BD4\u300D\u52A0\u8F7D\u5206\u652F\u5DEE\u5F02",
|
|
19632
|
+
selectCommitToView: "\u9009\u62E9\u63D0\u4EA4\u67E5\u770B\u8BE6\u60C5",
|
|
19633
|
+
confirmDelete: "\u786E\u8BA4\u5220\u9664",
|
|
19634
|
+
confirmDeleteMessage: "\u786E\u5B9A\u8981\u5C06 <file>{{name}}</file> \u79FB\u52A8\u5230\u56DE\u6536\u7AD9\u5417\uFF1F",
|
|
19635
|
+
nFilesNMatches: "{{files}} \u4E2A\u6587\u4EF6\uFF0C{{matches}} \u5904\u5339\u914D",
|
|
19636
|
+
resultsTruncated: "\u7ED3\u679C\u5DF2\u622A\u65AD",
|
|
19637
|
+
noContentSearchResults: "\u65E0\u5339\u914D\u7ED3\u679C",
|
|
19638
|
+
enterKeywordToSearch: "\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22\u6587\u4EF6\u5185\u5BB9",
|
|
19639
|
+
searchMinChars: "\u641C\u7D22\u5185\u5BB9\u81F3\u5C11\u9700\u8981 2 \u4E2A\u5B57\u7B26"
|
|
19640
|
+
},
|
|
19641
|
+
codeViewer: {
|
|
19642
|
+
fileModifiedExternally: "\u6587\u4EF6\u5DF2\u88AB\u5916\u90E8\u4FEE\u6539\uFF0C\u4FDD\u5B58\u5C06\u8986\u76D6\u5916\u90E8\u66F4\u6539",
|
|
19643
|
+
useDiskVersion: "\u4F7F\u7528\u78C1\u76D8\u7248\u672C",
|
|
19644
|
+
forceOverwrite: "\u5F3A\u5236\u8986\u76D6",
|
|
19645
|
+
searchPlaceholder: "\u641C\u7D22...",
|
|
19646
|
+
caseSensitive: "\u533A\u5206\u5927\u5C0F\u5199",
|
|
19647
|
+
wholeWordMatch: "\u5168\u5B57\u5339\u914D",
|
|
19648
|
+
unsavedConfirm: "\u6709\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\uFF0C\u786E\u5B9A\u5173\u95ED\uFF1F",
|
|
19649
|
+
discardChanges: "\u653E\u5F03\u4FEE\u6539",
|
|
19650
|
+
continueEditing: "\u7EE7\u7EED\u7F16\u8F91",
|
|
19651
|
+
unsavedExitConfirm: "\u6709\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\uFF0C\u786E\u5B9A\u9000\u51FA\u7F16\u8F91\u6A21\u5F0F\uFF1F",
|
|
19652
|
+
clickToViewDetails: "\u70B9\u51FB\u67E5\u770B\u8BE6\u60C5",
|
|
19653
|
+
clickToViewCommit: "\u70B9\u51FB\u67E5\u770B commit \u8BE6\u60C5",
|
|
19654
|
+
nComments: "{{count}} \u6761\u8BC4\u8BBA",
|
|
19655
|
+
searchChat: "\u641C\u7D22\u804A\u5929\u5185\u5BB9...",
|
|
19656
|
+
prevShiftEnter: "\u4E0A\u4E00\u4E2A (Shift+Enter)",
|
|
19657
|
+
nextEnter: "\u4E0B\u4E00\u4E2A (Enter)",
|
|
19658
|
+
closeEsc: "\u5173\u95ED (Esc)"
|
|
19659
|
+
},
|
|
19660
|
+
chat: {
|
|
19661
|
+
startConversation: "\u5F00\u59CB\u5BF9\u8BDD\u5427",
|
|
19662
|
+
loadMoreHistory: "\u52A0\u8F7D\u66F4\u591A...",
|
|
19663
|
+
scrollUpForMore: "\u2191 \u5411\u4E0A\u6EDA\u52A8\u52A0\u8F7D\u66F4\u591A\u5386\u53F2",
|
|
19664
|
+
claudeThinking: "Claude \u6B63\u5728\u601D\u8003...",
|
|
19665
|
+
jumpToStart: "\u8DF3\u8F6C\u5230\u5F00\u59CB",
|
|
19666
|
+
jumpToLatest: "\u8DF3\u8F6C\u5230\u6700\u65B0",
|
|
19667
|
+
copyMessage: "\u590D\u5236\u6D88\u606F",
|
|
19668
|
+
forkSession: "\u4ECE\u6B64\u5904\u5206\u53C9\u4F1A\u8BDD",
|
|
19669
|
+
imageN: "\u56FE\u7247 {{index}}",
|
|
19670
|
+
imagePreview: "\u56FE\u7247\u9884\u89C8",
|
|
19671
|
+
toolCalls: "{{count}} \u4E2A\u5DE5\u5177\u8C03\u7528",
|
|
19672
|
+
collapse: "\u25B2 \u6536\u8D77",
|
|
19673
|
+
expand: "\u25BC \u5C55\u5F00",
|
|
19674
|
+
subagent: "\u5B50\u4EE3\u7406",
|
|
19675
|
+
subagentEmpty: "\u672A\u627E\u5230\u5B50\u4EE3\u7406\u6D88\u606F\u8BB0\u5F55",
|
|
19676
|
+
subagentViewTitle: "\u67E5\u770B\u5B50\u4EE3\u7406\u6267\u884C\u8FC7\u7A0B",
|
|
19677
|
+
workflowRun: "\u8FD0\u884C\u8BE6\u60C5",
|
|
19678
|
+
workflowViewTitle: "\u67E5\u770B\u5DE5\u4F5C\u6D41\u8FD0\u884C\u8BE6\u60C5",
|
|
19679
|
+
workflowEmpty: "\u672A\u627E\u5230\u5DE5\u4F5C\u6D41\u8FD0\u884C\u8BB0\u5F55",
|
|
19680
|
+
workflowAgents: "\u4E2A\u4EE3\u7406",
|
|
19681
|
+
workflowViewAgent: "\u67E5\u770B",
|
|
19682
|
+
workflowUngrouped: "\u672A\u5206\u7EC4",
|
|
19683
|
+
viewQuestions: "\u67E5\u770B\u63D0\u95EE",
|
|
19684
|
+
viewAllFileChanges: "\u67E5\u770B\u6240\u6709\u6587\u4EF6\u53D8\u66F4",
|
|
19685
|
+
requestFailed: "\u8BF7\u6C42\u5931\u8D25",
|
|
19686
|
+
cannotReadStream: "\u65E0\u6CD5\u8BFB\u53D6\u54CD\u5E94\u6D41",
|
|
19687
|
+
errorRetry: "\u53D1\u751F\u9519\u8BEF\uFF0C\u8BF7\u91CD\u8BD5",
|
|
19688
|
+
placeholder: "\u8F93\u5165\u6D88\u606F\uFF0CEnter \u53D1\u9001\uFF08Shift+Enter \u6362\u884C\uFF0C\u53EF\u7C98\u8D34\u56FE\u7247\uFF1B\u884C\u9996 /\uFF08\u4E3B\u4F1A\u8BDD\uFF09\u6216 @\uFF08\u5B50\u4EE3\u7406\uFF09\u5524\u8D77\u547D\u4EE4\uFF0C\u652F\u6301\u591A\u884C\u591A\u547D\u4EE4\uFF09",
|
|
19689
|
+
placeholderDisabled: "\u751F\u6210\u4E2D... \u53EF\u7EE7\u7EED\u8F93\u5165 (ESC \u53D6\u6D88;\u5361\u4F4F\u592A\u4E45\u53EF\u53D6\u6D88\u540E\u91CD\u53D1\u300C\u7EE7\u7EED\u300D)",
|
|
19690
|
+
imageSizeLimit: "\u56FE\u7247\u5927\u5C0F\u8D85\u8FC7\u9650\u5236\uFF08\u6700\u5927 5MB\uFF09\uFF0C\u5F53\u524D\u5927\u5C0F: {{size}}MB",
|
|
19691
|
+
stageAll: "\u6682\u5B58\u6240\u6709\u6587\u4EF6 (git add -A)",
|
|
19692
|
+
viewGitChanges: "\u67E5\u770B Git \u53D8\u66F4",
|
|
19693
|
+
viewAllComments: "\u67E5\u770B\u6240\u6709\u8BC4\u8BBA",
|
|
19694
|
+
userMessages: "\u7528\u6237\u6D88\u606F\u5217\u8868",
|
|
19695
|
+
projectNotes: "\u9879\u76EE\u7B14\u8BB0",
|
|
19696
|
+
scheduledTasks: "\u5B9A\u65F6\u4EFB\u52A1",
|
|
19697
|
+
quickPrompts: "\u5FEB\u6377 Prompt",
|
|
19698
|
+
globalPrompts: "\u5168\u5C40 Prompt",
|
|
19699
|
+
projectPrompts: "\u9879\u76EE Prompt",
|
|
19700
|
+
noQuickPrompts: "\u6682\u65E0\u5FEB\u6377 Prompt",
|
|
19701
|
+
addQuickPrompt: "\u65B0\u589E\u5FEB\u6377 Prompt",
|
|
19702
|
+
quickPromptPlaceholder: "\u8F93\u5165\u4E00\u53E5\u8BDD Prompt\uFF0CEnter \u4FDD\u5B58\uFF0CEsc \u53D6\u6D88",
|
|
19703
|
+
context: "\u4E0A\u4E0B\u6587",
|
|
19704
|
+
output: "\u8F93\u51FA",
|
|
19705
|
+
copiedCommandTooltip: "\u5DF2\u590D\u5236!",
|
|
19706
|
+
copyCommandTooltip: "\u590D\u5236\u547D\u4EE4: claude -r {{sessionId}}",
|
|
19707
|
+
executedCommand: "\u6267\u884C\u4E86 `{{command}}`{{exitInfo}}\uFF0C\u8F93\u51FA\uFF1A\n```\n{{output}}\n```",
|
|
19708
|
+
executedCommandFailed: "\u6267\u884C `{{command}}` \u5931\u8D25\uFF1A{{error}}",
|
|
19709
|
+
executionMode: "\u6267\u884C\u6A21\u5F0F",
|
|
19710
|
+
checkBalance: "\u67E5\u8BE2\u4F59\u989D",
|
|
19711
|
+
balanceFailed: "\u67E5\u8BE2\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5 API Key",
|
|
19712
|
+
balanceNeedsKey: "\u8BF7\u5148\u914D\u7F6E DeepSeek API Key",
|
|
19713
|
+
balanceUnavailable: "\u8D26\u6237\u5F53\u524D\u4E0D\u53EF\u7528",
|
|
19714
|
+
balanceEmpty: "\u63A5\u53E3\u672A\u8FD4\u56DE\u4F59\u989D",
|
|
19715
|
+
openUsagePage: "\u6253\u5F00 DeepSeek \u7528\u91CF\u63A7\u5236\u53F0",
|
|
19716
|
+
ptyModeHint: "\u8BA2\u9605\u8BA1\u8D39\u6A21\u5F0F\uFF1A\u7528\u4EA4\u4E92\u5F0F claude CLI \u9A71\u52A8",
|
|
19717
|
+
planMode: "\u8BA1\u5212\u6A21\u5F0F",
|
|
19718
|
+
planModeDesc: "\u53EA\u8BFB\xB7\u5148\u51FA\u8BA1\u5212\u4E0D\u6539\u4EE3\u7801",
|
|
19719
|
+
planModeOn: "\u5DF2\u5F00\u542F\u8BA1\u5212\u6A21\u5F0F\u2014\u2014\u53EA\u8BFB;\u53D1\u4E00\u4E2A\u4EFB\u52A1\u5373\u53EF\u62FF\u5230\u8BA1\u5212",
|
|
19720
|
+
planModeOff: "\u5DF2\u5173\u95ED\u8BA1\u5212\u6A21\u5F0F",
|
|
19721
|
+
planModeHint: "\u8BA1\u5212\u6A21\u5F0F\uFF1A\u53EA\u8BFB\u63A2\u7D22\u3001\u4EA7\u51FA\u8BA1\u5212\u4F46\u4E0D\u6539\u6587\u4EF6\u3002\u53D6\u6D88\u52FE\u9009\u540E\u91CD\u53D1\u624D\u4F1A\u5B9E\u73B0\u3002",
|
|
19722
|
+
noHistory: "\u72EC\u7ACB\u4EFB\u52A1",
|
|
19723
|
+
noHistoryDesc: "\u4E0D\u53D1\u9001\u5386\u53F2",
|
|
19724
|
+
noHistoryHint: "\u72EC\u7ACB\u4EFB\u52A1\uFF1A\u6BCF\u6761\u6D88\u606F\u5355\u72EC\u53D1\u7ED9\u6A21\u578B\uFF0C\u4E0D\u5E26\u4E4B\u524D\u7684\u5BF9\u8BDD\u3002\u4E0A\u65B9\u7684\u4F1A\u8BDD\u8BB0\u5F55\u7167\u5E38\u4FDD\u7559\u3002",
|
|
19725
|
+
planTitle: "\u8BA1\u5212\uFF08\u5F85\u4F60\u786E\u8BA4\uFF09",
|
|
19726
|
+
approvePlan: "\u6279\u51C6\u5E76\u6267\u884C",
|
|
19727
|
+
planApproveHint: "\u672C\u73AF\u5883\u65E0\u5BA1\u6279\u5F39\u7A97\uFF0C\u70B9\u6B64\u9000\u51FA\u8BA1\u5212\u6A21\u5F0F\u5E76\u6267\u884C",
|
|
19728
|
+
approvePlanPrompt: "\u5DF2\u6279\u51C6\uFF0C\u6309\u4E0A\u8FF0\u8BA1\u5212\u5F00\u59CB\u6267\u884C\u3002",
|
|
19729
|
+
ptyTerminal: "PTY \u7EC8\u7AEF",
|
|
19730
|
+
ptyRunning: "\u8FD0\u884C\u4E2D",
|
|
19731
|
+
ptyCollapse: "\u6536\u8D77",
|
|
19732
|
+
ptyExpand: "\u5C55\u5F00",
|
|
19733
|
+
ptyStuck: "PTY \u4F3C\u4E4E\u5361\u4F4F\uFF08\u53EF\u80FD\u5728\u7B49\u5F85\u5BF9\u8BDD\u6846\u8F93\u5165\uFF09\uFF0C\u8BF7\u5728 PTY \u7EC8\u7AEF\u624B\u52A8\u5904\u7406\u3002",
|
|
19734
|
+
ptyTimedOut: "PTY \u8D85\u65F6\u672A\u4EBA\u5DE5\u5904\u7406\uFF0C\u5DF2\u7ED3\u675F\u8BE5\u56DE\u5408\u3002",
|
|
19735
|
+
ptyCrash: "Claude CLI \u6E32\u67D3\u5D29\u6E83\uFF08\u4E0A\u6E38 bug\uFF09\uFF1A{{error}}\u3002\u8BE5\u4F1A\u8BDD\u5386\u53F2\u53EF\u80FD\u542B\u65E0\u6CD5\u6E32\u67D3\u7684\u7F16\u8F91\u8BB0\u5F55\u3002",
|
|
19736
|
+
ptyQuestionEsc: "AI \u7684\u4EA4\u4E92\u5F0F\u63D0\u95EE\u65E0\u6CD5\u5728\u672C\u6A21\u5F0F\u4E2D\u5E94\u7B54\uFF0C\u5DF2\u81EA\u52A8\u53D6\u6D88\u5E76\u7ED3\u675F\u672C\u8F6E\u3002\u95EE\u9898\u5185\u5BB9\u89C1\u804A\u5929\u533A\uFF0C\u4E0B\u4E00\u6761\u6D88\u606F\u76F4\u63A5\u56DE\u7B54\u5373\u53EF\u3002"
|
|
19737
|
+
},
|
|
19738
|
+
console: {
|
|
19739
|
+
enterCommandOrUrl: "\u8F93\u5165\u547D\u4EE4\u6216\u7F51\u5740\u5F00\u59CB\u4F7F\u7528",
|
|
19740
|
+
emptyIntro: "\u5728\u4E0B\u65B9\u8F93\u5165\u6846\u8F93\u5165\u4EE5\u4E0B\u5185\u5BB9\uFF0C\u5373\u53EF\u521B\u5EFA\u5BF9\u5E94\u6C14\u6CE1\uFF1A",
|
|
19741
|
+
bubbleCommand: "\u547D\u4EE4",
|
|
19742
|
+
bubbleInteractive: "\u4EA4\u4E92\u7EC8\u7AEF",
|
|
19743
|
+
bubbleBrowser: "\u6D4F\u89C8\u5668",
|
|
19744
|
+
bubbleBrowserNoteIframe: "\u90E8\u5206\u7F51\u7AD9\u4F1A\u62E6\u622A iframe \u5D4C\u5165\uFF0C\u8BF7\u5728\u300C\u8BBE\u7F6E \u2192 \u6D4F\u89C8\u5668\u63D2\u4EF6\u300D\u5B89\u88C5 Cockpit Bridge \u540E\u518D\u6253\u5F00\u3002",
|
|
19745
|
+
bubbleBrowserNoteCookie: "\u5DF2\u767B\u5F55\u7684\u7F51\u7AD9\u82E5\u9996\u6B21\u663E\u793A\u672A\u767B\u5F55\uFF0C\u591A\u5237\u65B0\u51E0\u6B21\u5373\u53EF\u6062\u590D\u3002",
|
|
19746
|
+
bubbleDatabase: "\u6570\u636E\u5E93",
|
|
19747
|
+
bubbleNotebook: "\u7B14\u8BB0\u672C",
|
|
19748
|
+
loadingMore: "\u52A0\u8F7D\u4E2D...",
|
|
19749
|
+
loadMoreHistory: "\u52A0\u8F7D\u66F4\u591A\u5386\u53F2",
|
|
19750
|
+
quickCommands: "\u5FEB\u6377\u547D\u4EE4",
|
|
19751
|
+
singleColumn: "\u5355\u5217\u5E03\u5C40",
|
|
19752
|
+
dualColumn: "\u53CC\u5217\u5E03\u5C40",
|
|
19753
|
+
envVars: "\u73AF\u5883\u53D8\u91CF",
|
|
19754
|
+
launchZsh: "\u542F\u52A8 zsh \u4EA4\u4E92\u7EC8\u7AEF",
|
|
19755
|
+
htmlApps: "HTML \u5E94\u7528",
|
|
19756
|
+
inputPlaceholder: "\u8F93\u5165\u547D\u4EE4\u6216\u7F51\u5740\u5E76\u6309 Enter... (\u2191\u2193 \u5386\u53F2, Tab \u8865\u5168)",
|
|
19757
|
+
scopeProject: "\u9879\u76EE",
|
|
19758
|
+
scopeGlobal: "\u5168\u5C40",
|
|
19759
|
+
tabSwitchEscClose: "Tab \u5207\u6362 \xB7 Esc \u5173\u95ED",
|
|
19760
|
+
copyOutput: "\u590D\u5236\u8F93\u51FA",
|
|
19761
|
+
copyCommand: "\u590D\u5236\u547D\u4EE4",
|
|
19762
|
+
rerun: "\u91CD\u65B0\u8FD0\u884C",
|
|
19763
|
+
deleteRecord: "\u5220\u9664\u8BB0\u5F55",
|
|
19764
|
+
searchPlaceholder: "\u641C\u7D22...",
|
|
19765
|
+
searchMode: "\u641C\u7D22",
|
|
19766
|
+
filterMode: "\u8FC7\u6EE4",
|
|
19767
|
+
prevShiftEnter: "\u4E0A\u4E00\u4E2A (Shift+Enter)",
|
|
19768
|
+
nextEnter: "\u4E0B\u4E00\u4E2A (Enter)",
|
|
19769
|
+
loadingTerminal: "\u52A0\u8F7D\u7EC8\u7AEF...",
|
|
19770
|
+
clickToInput: "\u70B9\u51FB\u7EC8\u7AEF\u533A\u57DF\u8F93\u5165",
|
|
19771
|
+
stdinPlaceholder: "stdin \u8F93\u5165...",
|
|
19772
|
+
runningText: "\u8FD0\u884C\u4E2D...",
|
|
19773
|
+
exitCode: "\u9000\u51FA\u4EE3\u7801: {{code}}",
|
|
19774
|
+
totalLines: "\u5171 {{count}} \u884C",
|
|
19775
|
+
globalCommands: "\u5168\u5C40\u547D\u4EE4",
|
|
19776
|
+
projectCommands: "\u9879\u76EE\u547D\u4EE4",
|
|
19777
|
+
noCustomCommands: "\u6682\u65E0\u81EA\u5B9A\u4E49\u547D\u4EE4",
|
|
19778
|
+
namePlaceholder: "\u540D\u79F0",
|
|
19779
|
+
commandPlaceholder: "\u547D\u4EE4",
|
|
19780
|
+
restoreTooltip: "\u8FD8\u539F ({{modKey}}M / ESC)",
|
|
19781
|
+
screenshotting: "\u622A\u56FE\u4E2D...",
|
|
19782
|
+
outputFileDeleted: "[\u8F93\u51FA\u6587\u4EF6\u5DF2\u5220\u9664]"
|
|
19783
|
+
},
|
|
19784
|
+
browser: {
|
|
19785
|
+
blankPage: "\u7A7A\u767D\u9875",
|
|
19786
|
+
copyUrl: "\u590D\u5236\u7F51\u5740",
|
|
19787
|
+
openInNewWindow: "\u5728\u65B0\u7A97\u53E3\u6253\u5F00",
|
|
19788
|
+
exitMaximize: "\u9000\u51FA\u6700\u5927\u5316 ({{modKey}}M)",
|
|
19789
|
+
maximize: "\u6700\u5927\u5316 ({{modKey}}M)",
|
|
19790
|
+
pageLoadFailed: "\u9875\u9762\u52A0\u8F7D\u5931\u8D25",
|
|
19791
|
+
clickToWake: "\u70B9\u51FB\u5524\u9192",
|
|
19792
|
+
sleeping: "\u5DF2\u4F11\u7720",
|
|
19793
|
+
loadingPage: "\u52A0\u8F7D\u4E2D...",
|
|
19794
|
+
loadFailed: "\u52A0\u8F7D\u5931\u8D25"
|
|
19795
|
+
},
|
|
19796
|
+
database: {
|
|
19797
|
+
connectionFailed: "\u8FDE\u63A5\u5931\u8D25",
|
|
19798
|
+
connected: "\u5DF2\u8FDE\u63A5",
|
|
19799
|
+
connecting: "\u8FDE\u63A5\u4E2D...",
|
|
19800
|
+
refreshTableList: "\u5237\u65B0\u8868\u5217\u8868",
|
|
19801
|
+
filterTable: "T \u8868",
|
|
19802
|
+
filterView: "V \u89C6\u56FE",
|
|
19803
|
+
noTables: "\u65E0\u8868",
|
|
19804
|
+
tabStructure: "\u7ED3\u6784",
|
|
19805
|
+
tabData: "\u6570\u636E",
|
|
19806
|
+
tabSql: "SQL",
|
|
19807
|
+
filterActive: "\u7B5B\u9009: {{count}}\u5217",
|
|
19808
|
+
clearAllFilters: "\u6E05\u9664\u6240\u6709\u7B5B\u9009",
|
|
19809
|
+
deleteNRows: "\u5220\u9664 {{count}} \u884C",
|
|
19810
|
+
confirmDeleteRows: "\u786E\u8BA4\u5220\u9664?",
|
|
19811
|
+
copyCsvSelected: "\u590D\u5236\u9009\u4E2D\u884C\u4E3A CSV",
|
|
19812
|
+
copyCsvAll: "\u5BFC\u51FA\u5168\u8868 CSV",
|
|
19813
|
+
copyJsonSelected: "\u590D\u5236\u9009\u4E2D\u884C\u4E3A JSON",
|
|
19814
|
+
copyJsonAll: "\u5BFC\u51FA\u5168\u8868 JSON",
|
|
19815
|
+
copyCSV: "\u590D\u5236 CSV",
|
|
19816
|
+
CSV: "CSV",
|
|
19817
|
+
copyJSON: "\u590D\u5236 JSON",
|
|
19818
|
+
JSON: "JSON",
|
|
19819
|
+
selectTable: "\u9009\u62E9\u5DE6\u4FA7\u8868\u683C",
|
|
19820
|
+
selectTableToView: "\u9009\u62E9\u8868\u4EE5\u67E5\u770B\u7ED3\u6784",
|
|
19821
|
+
selectTableForData: "\u9009\u62E9\u8868\u4EE5\u67E5\u770B\u6570\u636E",
|
|
19822
|
+
columns: "\u5217",
|
|
19823
|
+
colName: "\u540D\u79F0",
|
|
19824
|
+
colType: "\u7C7B\u578B",
|
|
19825
|
+
colNullable: "\u53EF\u7A7A",
|
|
19826
|
+
colDefault: "\u9ED8\u8BA4\u503C",
|
|
19827
|
+
primaryKey: "\u4E3B\u952E",
|
|
19828
|
+
foreignKeys: "\u5916\u952E",
|
|
19829
|
+
indexes: "\u7D22\u5F15",
|
|
19830
|
+
enable: "\u542F\u7528",
|
|
19831
|
+
commaValues: "\u9017\u53F7\u5206\u9694\u591A\u503C",
|
|
19832
|
+
likePattern: "%pattern%",
|
|
19833
|
+
valuePlaceholder: "\u503C",
|
|
19834
|
+
apply: "\u5E94\u7528",
|
|
19835
|
+
clearFilter: "\u6E05\u9664",
|
|
19836
|
+
addRow: "+ \u65B0\u589E\u884C",
|
|
19837
|
+
totalRows: "{{count}} \u884C",
|
|
19838
|
+
rowsAffected: "{{command}} \u2014 {{count}} \u884C\u53D7\u5F71\u54CD ({{duration}}ms)",
|
|
19839
|
+
queryRows: "{{count}} \u884C ({{duration}}ms)",
|
|
19840
|
+
resultTruncated: "[\u7ED3\u679C\u5DF2\u622A\u65AD\u81F31000\u884C]",
|
|
19841
|
+
sqlPlaceholder: "\u8F93\u5165 SQL... ({{modKey}}Enter \u6267\u884C)",
|
|
19842
|
+
executing: "\u6267\u884C\u4E2D...",
|
|
19843
|
+
execute: "\u25B6 \u6267\u884C",
|
|
19844
|
+
deleteRowsFailed: "{{count}} \u884C\u5220\u9664\u5931\u8D25",
|
|
19845
|
+
inputParams: "\u8F93\u5165\u53C2\u6570",
|
|
19846
|
+
resultLabel: "\u7ED3\u679C"
|
|
19847
|
+
},
|
|
19848
|
+
mysql: {
|
|
19849
|
+
connectionFailed: "\u8FDE\u63A5\u5931\u8D25",
|
|
19850
|
+
connected: "\u5DF2\u8FDE\u63A5",
|
|
19851
|
+
connecting: "\u8FDE\u63A5\u4E2D...",
|
|
19852
|
+
refreshTableList: "\u5237\u65B0\u8868\u5217\u8868",
|
|
19853
|
+
filterTable: "T \u8868",
|
|
19854
|
+
filterView: "V \u89C6\u56FE",
|
|
19855
|
+
noTables: "\u65E0\u8868",
|
|
19856
|
+
tabStructure: "\u7ED3\u6784",
|
|
19857
|
+
tabData: "\u6570\u636E",
|
|
19858
|
+
tabSql: "SQL",
|
|
19859
|
+
filterActive: "\u7B5B\u9009: {{count}}\u5217",
|
|
19860
|
+
clearAllFilters: "\u6E05\u9664\u6240\u6709\u7B5B\u9009",
|
|
19861
|
+
deleteNRows: "\u5220\u9664 {{count}} \u884C",
|
|
19862
|
+
confirmDeleteRows: "\u786E\u8BA4\u5220\u9664?",
|
|
19863
|
+
copyCsvSelected: "\u590D\u5236\u9009\u4E2D\u884C\u4E3A CSV",
|
|
19864
|
+
copyCsvAll: "\u5BFC\u51FA\u5168\u8868 CSV",
|
|
19865
|
+
copyJsonSelected: "\u590D\u5236\u9009\u4E2D\u884C\u4E3A JSON",
|
|
19866
|
+
copyJsonAll: "\u5BFC\u51FA\u5168\u8868 JSON",
|
|
19867
|
+
copyCSV: "\u590D\u5236 CSV",
|
|
19868
|
+
CSV: "CSV",
|
|
19869
|
+
copyJSON: "\u590D\u5236 JSON",
|
|
19870
|
+
JSON: "JSON",
|
|
19871
|
+
selectTable: "\u9009\u62E9\u5DE6\u4FA7\u8868\u683C",
|
|
19872
|
+
selectTableToView: "\u9009\u62E9\u8868\u4EE5\u67E5\u770B\u7ED3\u6784",
|
|
19873
|
+
selectTableForData: "\u9009\u62E9\u8868\u4EE5\u67E5\u770B\u6570\u636E",
|
|
19874
|
+
columns: "\u5217",
|
|
19875
|
+
colName: "\u540D\u79F0",
|
|
19876
|
+
colType: "\u7C7B\u578B",
|
|
19877
|
+
colNullable: "\u53EF\u7A7A",
|
|
19878
|
+
colDefault: "\u9ED8\u8BA4\u503C",
|
|
19879
|
+
primaryKey: "\u4E3B\u952E",
|
|
19880
|
+
foreignKeys: "\u5916\u952E",
|
|
19881
|
+
indexes: "\u7D22\u5F15",
|
|
19882
|
+
enable: "\u542F\u7528",
|
|
19883
|
+
commaValues: "\u9017\u53F7\u5206\u9694\u591A\u503C",
|
|
19884
|
+
likePattern: "%pattern%",
|
|
19885
|
+
valuePlaceholder: "\u503C",
|
|
19886
|
+
apply: "\u5E94\u7528",
|
|
19887
|
+
clearFilter: "\u6E05\u9664",
|
|
19888
|
+
addRow: "+ \u65B0\u589E\u884C",
|
|
19889
|
+
totalRows: "{{count}} \u884C",
|
|
19890
|
+
rowsAffected: "{{command}} \u2014 {{count}} \u884C\u53D7\u5F71\u54CD ({{duration}}ms)",
|
|
19891
|
+
queryRows: "{{count}} \u884C ({{duration}}ms)",
|
|
19892
|
+
resultTruncated: "[\u7ED3\u679C\u5DF2\u622A\u65AD\u81F31000\u884C]",
|
|
19893
|
+
sqlPlaceholder: "\u8F93\u5165 SQL... ({{modKey}}Enter \u6267\u884C)",
|
|
19894
|
+
executing: "\u6267\u884C\u4E2D...",
|
|
19895
|
+
execute: "\u25B6 \u6267\u884C",
|
|
19896
|
+
deleteRowsFailed: "{{count}} \u884C\u5220\u9664\u5931\u8D25"
|
|
19897
|
+
},
|
|
19898
|
+
redis: {
|
|
19899
|
+
neverExpires: "\u6C38\u4E0D\u8FC7\u671F",
|
|
19900
|
+
expired: "\u5DF2\u8FC7\u671F",
|
|
19901
|
+
loadFailed: "\u52A0\u8F7D\u5931\u8D25",
|
|
19902
|
+
deleteFailed: "\u5220\u9664\u5931\u8D25",
|
|
19903
|
+
saveFailed: "\u4FDD\u5B58\u5931\u8D25",
|
|
19904
|
+
scanPlaceholder: "SCAN \u6A21\u5F0F...",
|
|
19905
|
+
scanSearch: "\u641C\u7D22 (SCAN)",
|
|
19906
|
+
noKeys: "\u65E0 key",
|
|
19907
|
+
loadMore: "\u52A0\u8F7D\u66F4\u591A...",
|
|
19908
|
+
tabData: "\u6570\u636E",
|
|
19909
|
+
tabInfo: "\u4FE1\u606F",
|
|
19910
|
+
tabCli: "CLI",
|
|
19911
|
+
selectKey: "\u9009\u62E9\u5DE6\u4FA7 Key",
|
|
19912
|
+
keyNotExist: "Key \u4E0D\u5B58\u5728",
|
|
19913
|
+
unsupportedType: "\u4E0D\u652F\u6301\u7684\u7C7B\u578B: {{type}}",
|
|
19914
|
+
nItems: "{{total}} items",
|
|
19915
|
+
showingN: "\u663E\u793A {{count}}",
|
|
19916
|
+
nMembers: "{{total}} members",
|
|
19917
|
+
nEntries: "{{total}} entries",
|
|
19918
|
+
cliHint: "\u8F93\u5165 Redis \u547D\u4EE4\uFF0C\u5982 PING, GET key, KEYS *",
|
|
19919
|
+
cliPlaceholder: "\u8F93\u5165\u547D\u4EE4..."
|
|
19920
|
+
},
|
|
19921
|
+
git: {
|
|
19922
|
+
switchBranch: "\u5207\u6362\u5206\u652F",
|
|
19923
|
+
searchBranch: "\u641C\u7D22\u5206\u652F...",
|
|
19924
|
+
noBranches: "\u65E0\u53EF\u5207\u6362\u5206\u652F",
|
|
19925
|
+
noMatchingBranches: "\u65E0\u5339\u914D\u5206\u652F",
|
|
19926
|
+
localBranches: "\u672C\u5730\u5206\u652F",
|
|
19927
|
+
remoteBranches: "\u8FDC\u7A0B\u5206\u652F",
|
|
19928
|
+
branchNotFound: "\u672A\u627E\u5230\u5206\u652F",
|
|
19929
|
+
selectBranch: "\u9009\u62E9\u5206\u652F...",
|
|
19930
|
+
currentBranch: "\u5F53\u524D",
|
|
19931
|
+
notGitRepo: "\u5F53\u524D\u76EE\u5F55\u4E0D\u662F Git \u4ED3\u5E93",
|
|
19932
|
+
cannotGetBranches: "\u65E0\u6CD5\u83B7\u53D6\u5206\u652F\u4FE1\u606F",
|
|
19933
|
+
getBranchesFailed: "\u83B7\u53D6\u5206\u652F\u4FE1\u606F\u5931\u8D25",
|
|
19934
|
+
discardAllConfirm: "\u786E\u5B9A\u8981\u653E\u5F03\u5DE5\u4F5C\u533A\u7684 {{count}} \u4E2A\u6587\u4EF6\u7684\u53D8\u66F4\u5417\uFF1F\u6B64\u64CD\u4F5C\u4E0D\u53EF\u6062\u590D\u3002",
|
|
19935
|
+
worktree: {
|
|
19936
|
+
title: "Git Worktree",
|
|
19937
|
+
count: "{{count}} \u4E2A worktree",
|
|
19938
|
+
selectBranch: "\u9009\u62E9\u5206\u652F",
|
|
19939
|
+
addWorktree: "+ \u6DFB\u52A0 Worktree",
|
|
19940
|
+
confirmDelete: "\u786E\u8BA4\u5220\u9664",
|
|
19941
|
+
confirmDeleteMsg: "\u786E\u5B9A\u8981\u5220\u9664 worktree \u5417\uFF1F",
|
|
19942
|
+
path: "\u8DEF\u5F84\uFF1A",
|
|
19943
|
+
branch: "\u5206\u652F\uFF1A",
|
|
19944
|
+
locked: "\u5DF2\u9501\u5B9A",
|
|
19945
|
+
unlock: "\u89E3\u9501",
|
|
19946
|
+
lock: "\u9501\u5B9A",
|
|
19947
|
+
searchBranch: "\u641C\u7D22\u5206\u652F...",
|
|
19948
|
+
noBranches: "\u65E0\u53EF\u7528\u5206\u652F"
|
|
19949
|
+
}
|
|
19950
|
+
},
|
|
19951
|
+
comments: {
|
|
19952
|
+
addComment: "\u6DFB\u52A0\u8BC4\u8BBA",
|
|
19953
|
+
lineRange: "\u884C {{start}}-{{end}}",
|
|
19954
|
+
inputPlaceholder: "\u8F93\u5165\u8BC4\u8BBA...",
|
|
19955
|
+
newComment: "\u65B0\u8BC4\u8BBA {{range}}",
|
|
19956
|
+
commentPlaceholder: "\u8F93\u5165\u8BC4\u8BBA... ({{modKey}}Enter \u63D0\u4EA4, Esc \u53D6\u6D88)",
|
|
19957
|
+
nComments: "{{count}} \u6761\u8BC4\u8BBA",
|
|
19958
|
+
allComments: "\u6240\u6709\u8BC4\u8BBA",
|
|
19959
|
+
copyAllComments: "\u590D\u5236\u5168\u90E8\u8BC4\u8BBA",
|
|
19960
|
+
noComments: "\u6682\u65E0\u8BC4\u8BBA",
|
|
19961
|
+
clearAll: "\u6E05\u7A7A\u6240\u6709",
|
|
19962
|
+
totalComments: "\u5171 {{count}} \u6761\u8BC4\u8BBA",
|
|
19963
|
+
aiReply: "AI \u56DE\u590D",
|
|
19964
|
+
noContent: "\uFF08\u65E0\u5185\u5BB9\uFF09",
|
|
19965
|
+
linesCount: "({{count}} \u884C)",
|
|
19966
|
+
codeRef: "\u4EE5\u4E0B\u662F\u6211\u6807\u6CE8\u7684\u8BC4\u8BBA\u548C\u5F15\u7528:",
|
|
19967
|
+
note: "\u5907\u6CE8: {{content}}",
|
|
19968
|
+
submitting: "\u63D0\u4EA4\u4E2D...",
|
|
19969
|
+
enterSubmit: "Enter \u63D0\u4EA4 \xB7 Shift+Enter \u6362\u884C",
|
|
19970
|
+
submitComment: "\u63D0\u4EA4\u8BC4\u8BBA",
|
|
19971
|
+
askAI: "\u63D0\u95EE AI",
|
|
19972
|
+
inputQuestion: "\u8F93\u5165\u4F60\u7684\u95EE\u9898...",
|
|
19973
|
+
aiGenerating: "\u6B63\u5728\u751F\u6210\u4E2D\uFF0C\u8BF7\u7A0D\u5019...",
|
|
19974
|
+
enterSend: "Enter \u53D1\u9001 \xB7 Shift+Enter \u6362\u884C",
|
|
19975
|
+
sendToAI: "\u53D1\u9001 AI",
|
|
19976
|
+
aiResponding: "AI \u6B63\u5728\u54CD\u5E94\u4E2D..."
|
|
19977
|
+
},
|
|
19978
|
+
fileContextMenu: {
|
|
19979
|
+
createFile: "\u65B0\u5EFA\u6587\u4EF6",
|
|
19980
|
+
copyFile: "\u590D\u5236\u6587\u4EF6",
|
|
19981
|
+
copyFolder: "\u590D\u5236\u6587\u4EF6\u5939",
|
|
19982
|
+
pasteHere: "\u7C98\u8D34\u5230\u6B64\u5904",
|
|
19983
|
+
deleteFile: "\u5220\u9664\u6587\u4EF6",
|
|
19984
|
+
deleteFolder: "\u5220\u9664\u6587\u4EF6\u5939",
|
|
19985
|
+
copyRelativePath: "\u590D\u5236\u76F8\u5BF9\u8DEF\u5F84",
|
|
19986
|
+
copyAbsolutePath: "\u590D\u5236\u7EDD\u5BF9\u8DEF\u5F84",
|
|
19987
|
+
copyRelativeDirPath: "\u590D\u5236\u76F8\u5BF9\u6587\u4EF6\u5939\u8DEF\u5F84",
|
|
19988
|
+
copyAbsoluteDirPath: "\u590D\u5236\u7EDD\u5BF9\u6587\u4EF6\u5939\u8DEF\u5F84",
|
|
19989
|
+
copyFileName: "\u590D\u5236\u6587\u4EF6\u540D",
|
|
19990
|
+
copyFolderName: "\u590D\u5236\u6587\u4EF6\u5939\u540D"
|
|
19991
|
+
},
|
|
19992
|
+
settings: {
|
|
19993
|
+
title: "\u8BBE\u7F6E",
|
|
19994
|
+
theme: "\u4E3B\u9898",
|
|
19995
|
+
themeLight: "\u6D45\u8272",
|
|
19996
|
+
themeDark: "\u6DF1\u8272",
|
|
19997
|
+
themeSystem: "\u8DDF\u968F\u7CFB\u7EDF",
|
|
19998
|
+
browserExtension: "\u6D4F\u89C8\u5668\u63D2\u4EF6",
|
|
19999
|
+
extensionInstalled: "Cockpit Bridge \u5DF2\u5B89\u88C5",
|
|
20000
|
+
extensionNotInstalled: "Cockpit Bridge \u672A\u5B89\u88C5",
|
|
20001
|
+
extensionDescription: "\u5B89\u88C5 Chrome \u63D2\u4EF6\u540E\uFF0Ciframe \u5185\u7684\u94FE\u63A5\u8DF3\u8F6C\u5C06\u88AB\u62E6\u622A\uFF1A\u65B0\u6807\u7B7E\u94FE\u63A5\u521B\u5EFA\u65B0\u6C14\u6CE1\uFF0C\u9875\u9762\u5185\u5BFC\u822A\u66F4\u65B0\u5F53\u524D\u6C14\u6CE1\u3002",
|
|
20002
|
+
installSteps: "\u5B89\u88C5\u6B65\u9AA4\uFF1A",
|
|
20003
|
+
step1: "1. \u6253\u5F00 Chrome \u5730\u5740\u680F\u8F93\u5165",
|
|
20004
|
+
step2: "2. \u5F00\u542F\u53F3\u4E0A\u89D2\u300C\u5F00\u53D1\u8005\u6A21\u5F0F\u300D",
|
|
20005
|
+
step3: "3. \u70B9\u51FB\u300C\u52A0\u8F7D\u5DF2\u89E3\u538B\u7684\u6269\u5C55\u7A0B\u5E8F\u300D",
|
|
20006
|
+
step4mac: "4. \u6309 <kbd>Cmd+Shift+G</kbd> \u2192 \u7C98\u8D34\u4E0B\u65B9\u8DEF\u5F84 \u2192 \u56DE\u8F66",
|
|
20007
|
+
copyExtensionPath: "\u590D\u5236\u63D2\u4EF6\u76EE\u5F55\u8DEF\u5F84",
|
|
20008
|
+
reloadExtension: "\u91CD\u8F7D\u63D2\u4EF6",
|
|
20009
|
+
about: "\u5173\u4E8E",
|
|
20010
|
+
language: "\u8BED\u8A00",
|
|
20011
|
+
languageAuto: "\u8DDF\u968F\u7CFB\u7EDF",
|
|
20012
|
+
switchDark: "\u5207\u6362\u6697\u8272",
|
|
20013
|
+
switchLight: "\u5207\u6362\u4EAE\u8272"
|
|
20014
|
+
},
|
|
20015
|
+
editor: {
|
|
20016
|
+
placeholder: "\u5199\u70B9\u4EC0\u4E48... \u8F93\u5165 / \u6253\u5F00\u5FEB\u6377\u547D\u4EE4",
|
|
20017
|
+
noteTitle: "{{name}} - \u7B14\u8BB0",
|
|
20018
|
+
noteUntitled: "\u7B14\u8BB0",
|
|
20019
|
+
saving: "\u4FDD\u5B58\u4E2D...",
|
|
20020
|
+
conflictReloaded: "\u7B14\u8BB0\u5DF2\u88AB\u5176\u4ED6\u5730\u65B9\u4FEE\u6539\uFF0C\u5DF2\u52A0\u8F7D\u6700\u65B0\u7248\u672C\uFF0C\u521A\u624D\u672A\u4FDD\u5B58\u7684\u7F16\u8F91\u5DF2\u4E22\u5F03",
|
|
20021
|
+
linkPlaceholder: "\u8F93\u5165\u94FE\u63A5\u5730\u5740...",
|
|
20022
|
+
confirmLink: "\u786E\u8BA4",
|
|
20023
|
+
removeLink: "\u79FB\u9664\u94FE\u63A5",
|
|
20024
|
+
heading1: "\u6807\u9898 1",
|
|
20025
|
+
heading2: "\u6807\u9898 2",
|
|
20026
|
+
heading3: "\u6807\u9898 3",
|
|
20027
|
+
bold: "\u7C97\u4F53",
|
|
20028
|
+
italic: "\u659C\u4F53",
|
|
20029
|
+
strikethrough: "\u5220\u9664\u7EBF",
|
|
20030
|
+
inlineCode: "\u884C\u5185\u4EE3\u7801",
|
|
20031
|
+
link: "\u94FE\u63A5",
|
|
20032
|
+
bulletList: "\u65E0\u5E8F\u5217\u8868",
|
|
20033
|
+
orderedList: "\u6709\u5E8F\u5217\u8868",
|
|
20034
|
+
taskList: "\u5F85\u529E\u5217\u8868",
|
|
20035
|
+
blockquote: "\u5F15\u7528",
|
|
20036
|
+
codeBlock: "\u4EE3\u7801\u5757",
|
|
20037
|
+
table: "\u8868\u683C",
|
|
20038
|
+
horizontalRule: "\u5206\u5272\u7EBF",
|
|
20039
|
+
insertRowAbove: "\u5728\u4E0A\u65B9\u63D2\u5165\u884C",
|
|
20040
|
+
insertRowBelow: "\u5728\u4E0B\u65B9\u63D2\u5165\u884C",
|
|
20041
|
+
insertColumnLeft: "\u5728\u5DE6\u4FA7\u63D2\u5165\u5217",
|
|
20042
|
+
insertColumnRight: "\u5728\u53F3\u4FA7\u63D2\u5165\u5217",
|
|
20043
|
+
deleteRow: "\u5220\u9664\u5F53\u524D\u884C",
|
|
20044
|
+
deleteColumn: "\u5220\u9664\u5F53\u524D\u5217",
|
|
20045
|
+
deleteTable: "\u5220\u9664\u8868\u683C",
|
|
20046
|
+
deleteCodeBlock: "\u5220\u9664\u4EE3\u7801\u5757",
|
|
20047
|
+
toc: "\u76EE\u5F55",
|
|
20048
|
+
expandToc: "\u5C55\u5F00\u76EE\u5F55",
|
|
20049
|
+
collapseToc: "\u6536\u8D77\u76EE\u5F55"
|
|
20050
|
+
},
|
|
20051
|
+
slashCommands: {
|
|
20052
|
+
heading1: "\u6807\u9898 1",
|
|
20053
|
+
heading1Desc: "\u5927\u6807\u9898",
|
|
20054
|
+
heading2: "\u6807\u9898 2",
|
|
20055
|
+
heading2Desc: "\u4E2D\u6807\u9898",
|
|
20056
|
+
heading3: "\u6807\u9898 3",
|
|
20057
|
+
heading3Desc: "\u5C0F\u6807\u9898",
|
|
20058
|
+
bulletList: "\u65E0\u5E8F\u5217\u8868",
|
|
20059
|
+
bulletListDesc: "\u9879\u76EE\u7B26\u53F7\u5217\u8868",
|
|
20060
|
+
orderedList: "\u6709\u5E8F\u5217\u8868",
|
|
20061
|
+
orderedListDesc: "\u7F16\u53F7\u5217\u8868",
|
|
20062
|
+
taskList: "\u5F85\u529E\u5217\u8868",
|
|
20063
|
+
taskListDesc: "\u53EF\u52FE\u9009\u7684\u4EFB\u52A1\u5217\u8868",
|
|
20064
|
+
blockquote: "\u5F15\u7528",
|
|
20065
|
+
blockquoteDesc: "\u5F15\u7528\u5757",
|
|
20066
|
+
codeBlock: "\u4EE3\u7801\u5757",
|
|
20067
|
+
codeBlockDesc: "\u4EE3\u7801\u7247\u6BB5",
|
|
20068
|
+
table: "\u8868\u683C",
|
|
20069
|
+
tableDesc: "\u63D2\u5165 3\xD73 \u8868\u683C",
|
|
20070
|
+
horizontalRule: "\u5206\u5272\u7EBF",
|
|
20071
|
+
horizontalRuleDesc: "\u6C34\u5E73\u5206\u5272\u7EBF",
|
|
20072
|
+
link: "\u94FE\u63A5",
|
|
20073
|
+
linkDesc: "\u63D2\u5165\u8D85\u94FE\u63A5"
|
|
20074
|
+
},
|
|
20075
|
+
commands: {
|
|
20076
|
+
qa: "\u8FDB\u5165\u9700\u6C42\u6F84\u6E05\u8BA8\u8BBA\u6A21\u5F0F",
|
|
20077
|
+
fx: "\u8FDB\u5165 bug \u8BC1\u636E\u94FE\u5206\u6790\u6A21\u5F0F",
|
|
20078
|
+
ex: "\u8FDB\u5165\u7ED3\u6784\u5316\u5206\u6790\u8BA8\u8BBA\u6A21\u5F0F",
|
|
20079
|
+
go: "\u8FDB\u5165\u8FDE\u7EED\u843D\u5730\uFF08MVP\uFF09\u6A21\u5F0F",
|
|
20080
|
+
cg: "\u8FDB\u5165 CodeGraph \u63A2\u7D22\u6A21\u5F0F",
|
|
20081
|
+
plan: "\u5F00\u542F\u8BA1\u5212\u6A21\u5F0F \xB7 /plan <\u4EFB\u52A1> \u76F4\u63A5\u89C4\u5212\u8BE5\u4EFB\u52A1 \xB7 /plan off \u5173\u95ED"
|
|
20082
|
+
},
|
|
20083
|
+
review: {
|
|
20084
|
+
reviewManagement: "\u8BC4\u5BA1\u7BA1\u7406",
|
|
20085
|
+
allReviews: "\u6240\u6709\u8BC4\u5BA1",
|
|
20086
|
+
noOpenReviews: "\u6682\u65E0\u5F00\u653E\u8BC4\u5BA1",
|
|
20087
|
+
viewComments: "\u67E5\u770B\u8BC4\u8BBA",
|
|
20088
|
+
nComments: "{{count}} \u6761\u8BC4\u8BBA",
|
|
20089
|
+
nDocs: "{{count}} \u6587\u6863",
|
|
20090
|
+
nReviews: "{{count}} \u8BC4\u5BA1",
|
|
20091
|
+
docList: "\u6587\u6863\u5217\u8868",
|
|
20092
|
+
allReviewsList: "\u6240\u6709\u8BC4\u5BA1",
|
|
20093
|
+
expandList: "\u5C55\u5F00\u5217\u8868",
|
|
20094
|
+
collapseList: "\u6298\u53E0\u5217\u8868",
|
|
20095
|
+
closeReview: "\u5173\u95ED\u8BC4\u5BA1",
|
|
20096
|
+
reopenReview: "\u91CD\u65B0\u5F00\u653E",
|
|
20097
|
+
deleteReview: "\u5220\u9664\u8BC4\u5BA1",
|
|
20098
|
+
noOpenDocs: "\u6682\u65E0\u5F00\u653E\u6587\u6863",
|
|
20099
|
+
noReviews: "\u6682\u65E0\u8BC4\u5BA1",
|
|
20100
|
+
sharing: "\u5206\u4EAB\u4E2D",
|
|
20101
|
+
notShared: "\u672A\u5206\u4EAB",
|
|
20102
|
+
closeSharing: "\u5173\u95ED\u5206\u4EAB",
|
|
20103
|
+
enableSharing: "\u5F00\u542F\u5206\u4EAB\u8BC4\u5BA1",
|
|
20104
|
+
view: "\u67E5\u770B",
|
|
20105
|
+
setNickname: "\u8BBE\u7F6E\u4F60\u7684\u6635\u79F0",
|
|
20106
|
+
nicknameHint: "\u5176\u4ED6\u8BC4\u5BA1\u4EBA\u5C06\u770B\u5230\u8FD9\u4E2A\u540D\u5B57",
|
|
20107
|
+
nicknamePlaceholder: "\u8F93\u5165\u6635\u79F0",
|
|
20108
|
+
skipForNow: "\u4E0B\u6B21\u518D\u8BF4",
|
|
20109
|
+
identitySettings: "\u8EAB\u4EFD\u8BBE\u7F6E",
|
|
20110
|
+
reviewNickname: "\u8BC4\u5BA1\u6635\u79F0",
|
|
20111
|
+
random: "\u968F\u673A",
|
|
20112
|
+
selectTextToComment: "\u9009\u4E2D\u5DE6\u4FA7\u6587\u672C\u6DFB\u52A0\u8BC4\u8BBA",
|
|
20113
|
+
selectTextHint: "\u9009\u4E2D\u5DE6\u4FA7\u6587\u672C\u5373\u53EF\u6DFB\u52A0\u8BC4\u8BBA",
|
|
20114
|
+
prevComment: "\u4E0A\u4E00\u6761",
|
|
20115
|
+
nextComment: "\u4E0B\u4E00\u6761",
|
|
20116
|
+
commentsCount: "{{count}} \u6761\u8BC4\u8BBA",
|
|
20117
|
+
commentsNavCount: "{{current}}/{{total}} \u6761\u8BC4\u8BBA",
|
|
20118
|
+
allCommentsTitle: "\u5168\u90E8\u8BC4\u8BBA",
|
|
20119
|
+
commentsCountBrief: "{{count}} \u6761",
|
|
20120
|
+
closedCount: "{{count}} \u6761\u5DF2\u5173\u95ED",
|
|
20121
|
+
copyAllComments: "\u590D\u5236\u5168\u90E8\u8BC4\u8BBA",
|
|
20122
|
+
noComments: "\u6682\u65E0\u8BC4\u8BBA",
|
|
20123
|
+
closedComments: "\u5DF2\u5173\u95ED ({{count}})",
|
|
20124
|
+
closedLabel: "\u5DF2\u5173\u95ED",
|
|
20125
|
+
moreReplies: "+{{count}} \u6761\u56DE\u590D",
|
|
20126
|
+
copyComment: "\u590D\u5236\u8BC4\u8BBA",
|
|
20127
|
+
reopen: "\u91CD\u5F00",
|
|
20128
|
+
closeComment: "\u5173\u95ED\u8BC4\u8BBA",
|
|
20129
|
+
editComment: "\u7F16\u8F91\u8BC4\u8BBA",
|
|
20130
|
+
deleteComment: "\u5220\u9664\u8BC4\u8BBA",
|
|
20131
|
+
edited: "(\u5DF2\u7F16\u8F91)",
|
|
20132
|
+
editReply: "\u7F16\u8F91\u56DE\u590D",
|
|
20133
|
+
deleteReply: "\u5220\u9664\u56DE\u590D",
|
|
20134
|
+
reply: "\u56DE\u590D",
|
|
20135
|
+
replyPlaceholder: "\u6DFB\u52A0\u56DE\u590D...",
|
|
20136
|
+
selectedText: "\u9009\u4E2D\u6587\u672C",
|
|
20137
|
+
addCommentPlaceholder: "\u6DFB\u52A0\u8BC4\u8BBA...",
|
|
20138
|
+
enterSubmitHint: "Enter \u63D0\u4EA4\uFF0CShift+Enter \u6362\u884C",
|
|
20139
|
+
commentBtn: "\u8BC4\u8BBA",
|
|
20140
|
+
reviewNotExist: "\u8BC4\u5BA1\u4E0D\u5B58\u5728\u6216\u5DF2\u88AB\u5220\u9664",
|
|
20141
|
+
loadFailed: "\u52A0\u8F7D\u5931\u8D25",
|
|
20142
|
+
networkError: "\u7F51\u7EDC\u9519\u8BEF",
|
|
20143
|
+
reviewNotFound: "\u8BC4\u5BA1\u4E0D\u5B58\u5728",
|
|
20144
|
+
checkLink: "\u8BF7\u68C0\u67E5\u94FE\u63A5\u662F\u5426\u6B63\u786E",
|
|
20145
|
+
updatedAt: "\u66F4\u65B0\u4E8E {{date}}",
|
|
20146
|
+
active: "\u5F00\u653E\u4E2D",
|
|
20147
|
+
closed: "\u5DF2\u5173\u95ED",
|
|
20148
|
+
viewAllComments: "\u67E5\u770B\u5168\u90E8\u8BC4\u8BBA",
|
|
20149
|
+
viewCommentBtn: "\u67E5\u770B\u8BC4\u8BBA",
|
|
20150
|
+
copyLink: "\u590D\u5236\u94FE\u63A5",
|
|
20151
|
+
reviewSummary: "\u8BC4\u5BA1\u8BC4\u8BBA\u6C47\u603B \u2014 {{title}}",
|
|
20152
|
+
totalNComments: "\u5171 {{count}} \u6761\u8BC4\u8BBA",
|
|
20153
|
+
quoteRef: '\u5F15\u7528: "{{text}}"',
|
|
20154
|
+
commentAuthor: "\u8BC4\u8BBA ({{author}}): {{content}}",
|
|
20155
|
+
replyAuthor: " \u21B3 {{author}}: {{content}}"
|
|
20156
|
+
},
|
|
20157
|
+
markdown: {
|
|
20158
|
+
copied: "\u2713 \u5DF2\u590D\u5236",
|
|
20159
|
+
copy: "\u590D\u5236"
|
|
20160
|
+
},
|
|
20161
|
+
imagePreview: {
|
|
20162
|
+
previewImage: "\u9884\u89C8\u56FE\u7247",
|
|
20163
|
+
deleteImage: "\u5220\u9664\u56FE\u7247"
|
|
20164
|
+
},
|
|
20165
|
+
tokenStats: {
|
|
20166
|
+
title: "Claude Code Token \u7EDF\u8BA1",
|
|
20167
|
+
activeHours: "\u6D3B\u8DC3\u65F6\u6BB5\u5206\u5E03",
|
|
20168
|
+
hourSessions: "{{h}}:00 \u2014 {{count}} \u6B21\u4F1A\u8BDD",
|
|
20169
|
+
messages: "\u6D88\u606F",
|
|
20170
|
+
toolCalls: "\u5DE5\u5177\u8C03\u7528",
|
|
20171
|
+
activityTrend: "\u6D3B\u52A8\u8D8B\u52BF",
|
|
20172
|
+
byModel: "\u6309\u6A21\u578B",
|
|
20173
|
+
tokenUsage: "Token \u7528\u91CF",
|
|
20174
|
+
equivalentCost: "\u7B49\u6548\u8D39\u7528",
|
|
20175
|
+
modelCostDetail: "\u6A21\u578B\u8D39\u7528\u660E\u7EC6",
|
|
20176
|
+
model: "\u6A21\u578B",
|
|
20177
|
+
share: "\u5360\u6BD4",
|
|
20178
|
+
total: "\u5408\u8BA1",
|
|
20179
|
+
totalSessions: "\u603B\u4F1A\u8BDD",
|
|
20180
|
+
totalMessages: "\u603B\u6D88\u606F",
|
|
20181
|
+
equivalentApiCost: "\u7B49\u6548 API \u8D39\u7528",
|
|
20182
|
+
longestSession: "\u6700\u957F\u4F1A\u8BDD",
|
|
20183
|
+
firstUse: "\u9996\u6B21\u4F7F\u7528",
|
|
20184
|
+
notFound: "\u672A\u627E\u5230 ~/.claude/stats-cache.json",
|
|
20185
|
+
day: "\u65E5",
|
|
20186
|
+
week: "\u5468",
|
|
20187
|
+
month: "\u6708"
|
|
20188
|
+
},
|
|
20189
|
+
toolCall: {
|
|
20190
|
+
inputParams: "\u8F93\u5165\u53C2\u6570",
|
|
20191
|
+
resultLabel: "\u7ED3\u679C",
|
|
20192
|
+
inputParamsTitle: "\u67E5\u770B\u8F93\u5165\u53C2\u6570",
|
|
20193
|
+
resultTitle: "\u67E5\u770B\u7ED3\u679C",
|
|
20194
|
+
input: "\u8F93\u5165",
|
|
20195
|
+
result: "\u7ED3\u679C",
|
|
20196
|
+
foldedLines: "... ({{count}} \u884C)"
|
|
20197
|
+
},
|
|
20198
|
+
fileEditor: {
|
|
20199
|
+
unsavedConfirm: "\u6709\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\uFF0C\u786E\u5B9A\u5173\u95ED\uFF1F",
|
|
20200
|
+
discardChanges: "\u653E\u5F03\u4FEE\u6539",
|
|
20201
|
+
continueEditing: "\u7EE7\u7EED\u7F16\u8F91",
|
|
20202
|
+
externallyModified: "\u6587\u4EF6\u5DF2\u88AB\u5916\u90E8\u4FEE\u6539\uFF0C\u4FDD\u5B58\u5C06\u8986\u76D6\u5916\u90E8\u66F4\u6539",
|
|
20203
|
+
useDiskVersion: "\u4F7F\u7528\u78C1\u76D8\u7248\u672C",
|
|
20204
|
+
forceOverwrite: "\u5F3A\u5236\u8986\u76D6"
|
|
20205
|
+
},
|
|
20206
|
+
quickFileOpen: {
|
|
20207
|
+
placeholder: "\u8F93\u5165\u6587\u4EF6\u540D\u5FEB\u901F\u6253\u5F00...",
|
|
20208
|
+
noMatch: "\u6CA1\u6709\u5339\u914D\u7684\u6587\u4EF6",
|
|
20209
|
+
recent: "\u6700\u8FD1",
|
|
20210
|
+
selectHint: "\u9009\u62E9",
|
|
20211
|
+
openHint: "\u6253\u5F00",
|
|
20212
|
+
closeHint: "\u5173\u95ED"
|
|
20213
|
+
},
|
|
20214
|
+
envManager: {
|
|
20215
|
+
title: "\u73AF\u5883\u53D8\u91CF\u7BA1\u7406",
|
|
20216
|
+
tabScope: "\u5F53\u524D Tab \u4E13\u7528",
|
|
20217
|
+
globalScope: "\u5168\u5C40\u73AF\u5883\u53D8\u91CF",
|
|
20218
|
+
varNamePlaceholder: "\u53D8\u91CF\u540D\uFF08\u5982 NODE_ENV\uFF09",
|
|
20219
|
+
varValuePlaceholder: "\u503C\uFF08\u5982 production\uFF09",
|
|
20220
|
+
valuePlaceholder: "\u503C",
|
|
20221
|
+
noVars: "\u8FD8\u6CA1\u6709\u73AF\u5883\u53D8\u91CF\uFF0C\u6DFB\u52A0\u4E00\u4E2A\u8BD5\u8BD5"
|
|
20222
|
+
},
|
|
20223
|
+
aliasManager: {
|
|
20224
|
+
title: "\u547D\u4EE4\u522B\u540D\u7BA1\u7406",
|
|
20225
|
+
description: "\u4E3A\u5E38\u7528\u547D\u4EE4\u8BBE\u7F6E\u5FEB\u6377\u522B\u540D\uFF08\u5168\u5C40\u751F\u6548\uFF09",
|
|
20226
|
+
aliasPlaceholder: "\u522B\u540D\uFF08\u5982 ll\uFF09",
|
|
20227
|
+
commandPlaceholder: "\u5B8C\u6574\u547D\u4EE4\uFF08\u5982 ls -la\uFF09",
|
|
20228
|
+
fullCommandPlaceholder: "\u5B8C\u6574\u547D\u4EE4",
|
|
20229
|
+
usage: "\u4F7F\u7528\u63D0\u793A\uFF1A",
|
|
20230
|
+
usageDesc: "\u8F93\u5165\u522B\u540D\u5373\u53EF\u6267\u884C\u5BF9\u5E94\u7684\u5B8C\u6574\u547D\u4EE4",
|
|
20231
|
+
noAliases: "\u8FD8\u6CA1\u6709\u547D\u4EE4\u522B\u540D\uFF0C\u6DFB\u52A0\u4E00\u4E2A\u8BD5\u8BD5"
|
|
20232
|
+
},
|
|
20233
|
+
diffViewer: {
|
|
20234
|
+
fileChanges: "\u6587\u4EF6\u53D8\u66F4 ({{count}})",
|
|
20235
|
+
toggleFileTree: "\u5207\u6362\u6587\u4EF6\u76EE\u5F55",
|
|
20236
|
+
selectFileToView: "\u9009\u62E9\u5DE6\u4FA7\u6587\u4EF6\u67E5\u770B\u53D8\u66F4",
|
|
20237
|
+
sideBySide: "\u5E76\u5217\u5BF9\u6BD4",
|
|
20238
|
+
unified: "\u7EDF\u4E00\u5BF9\u6BD4",
|
|
20239
|
+
viewSplit: "\u53CC\u680F",
|
|
20240
|
+
viewUnified: "\u5355\u680F",
|
|
20241
|
+
previewFile: "\u9884\u89C8\u6587\u4EF6",
|
|
20242
|
+
copiedAll: "\u5DF2\u590D\u5236\u5168\u6587",
|
|
20243
|
+
compact: "\u7CBE\u7B80",
|
|
20244
|
+
full: "\u5168\u6587",
|
|
20245
|
+
gap: {
|
|
20246
|
+
hidden: "\u5DF2\u9690\u85CF {{count}} \u884C",
|
|
20247
|
+
more: "\xB7\xB7\xB7 \u66F4\u591A +{{count}} \xB7\xB7\xB7",
|
|
20248
|
+
expandUp: "\u5411\u4E0A\u5C55\u5F00 {{count}} \u884C",
|
|
20249
|
+
expandDown: "\u5411\u4E0B\u5C55\u5F00 {{count}} \u884C"
|
|
20250
|
+
},
|
|
20251
|
+
loadingSnapshots: "\u6B63\u5728\u52A0\u8F7D\u5FEB\u7167\u2026",
|
|
20252
|
+
noChanges: "\u672C\u8F6E\u672A\u68C0\u6D4B\u5230\u6587\u4EF6\u53D8\u66F4",
|
|
20253
|
+
notViewable: "\u4E8C\u8FDB\u5236\u6216\u8D85\u5927\u6587\u4EF6\uFF0C\u65E0\u6CD5\u5C55\u793A diff",
|
|
20254
|
+
externalChange: "\u540C\u671F\u5176\u4ED6\u4F1A\u8BDD/\u5916\u90E8\u8FDB\u7A0B\u7684\u53D8\u66F4",
|
|
20255
|
+
reconstructed: "\u53C2\u6570\u91CD\u5EFA",
|
|
20256
|
+
reconstructedHint: "\u7531\u5DE5\u5177\u8C03\u7528\u53C2\u6570\u91CD\u5EFA\uFF0C\u975E\u78C1\u76D8\u5FEB\u7167",
|
|
20257
|
+
truncated: "\u6587\u4EF6\u8FC7\u591A\uFF0C\u4EC5\u663E\u793A\u90E8\u5206"
|
|
20258
|
+
},
|
|
20259
|
+
commitDetail: {
|
|
20260
|
+
title: "\u63D0\u4EA4\u8BE6\u60C5",
|
|
20261
|
+
hash: "\u54C8\u5E0C:",
|
|
20262
|
+
author: "\u4F5C\u8005:",
|
|
20263
|
+
date: "\u65E5\u671F:",
|
|
20264
|
+
files: "\u6587\u4EF6:",
|
|
20265
|
+
nChanges: "{{count}} \u4E2A\u53D8\u66F4",
|
|
20266
|
+
loadingFiles: "\u52A0\u8F7D\u6587\u4EF6\u4E2D...",
|
|
20267
|
+
noFileChanges: "\u65E0\u6587\u4EF6\u53D8\u66F4",
|
|
20268
|
+
loadingDiff: "\u52A0\u8F7D\u5DEE\u5F02\u4E2D...",
|
|
20269
|
+
selectFileToView: "\u9009\u62E9\u6587\u4EF6\u67E5\u770B\u5DEE\u5F02"
|
|
20270
|
+
},
|
|
20271
|
+
askQuestion: {
|
|
20272
|
+
title: "\u63D0\u95EE",
|
|
20273
|
+
nQuestions: "{{count}} \u4E2A\u95EE\u9898",
|
|
20274
|
+
checkedN: "\u5DF2\u52FE\u9009 {{count}}",
|
|
20275
|
+
copyChecked: "\u590D\u5236\u52FE\u9009\u7684 {{count}} \u4E2A\u95EE\u7B54",
|
|
20276
|
+
copyAll: "\u590D\u5236\u6240\u6709\u95EE\u7B54",
|
|
20277
|
+
sendChecked: "\u53D1\u9001\u52FE\u9009\u7684 {{count}} \u4E2A\u95EE\u7B54\u7ED9 AI",
|
|
20278
|
+
sendAll: "\u53D1\u9001\u6240\u6709\u95EE\u7B54\u7ED9 AI",
|
|
20279
|
+
sendNoChat: "\u6CA1\u6709\u53EF\u7528\u7684\u804A\u5929\u4F1A\u8BDD",
|
|
20280
|
+
checkToCopy: "\u52FE\u9009\u4EE5\u590D\u5236",
|
|
20281
|
+
custom: "\u81EA\u5B9A\u4E49",
|
|
20282
|
+
customPlaceholder: "\u8F93\u5165\u81EA\u5B9A\u4E49\u56DE\u7B54...",
|
|
20283
|
+
notSelected: "(\u672A\u9009\u62E9)"
|
|
20284
|
+
},
|
|
20285
|
+
tabBar: {
|
|
20286
|
+
unpin: "\u53D6\u6D88\u56FA\u5B9A",
|
|
20287
|
+
pin: "\u56FA\u5B9A\u5230\u5E38\u7528\u4F1A\u8BDD",
|
|
20288
|
+
closeTab: "\u5173\u95ED\u6807\u7B7E",
|
|
20289
|
+
closeAll: "\u5173\u95ED\u6240\u6709\u6807\u7B7E",
|
|
20290
|
+
newTab: "\u65B0\u5EFA\u6807\u7B7E"
|
|
20291
|
+
},
|
|
20292
|
+
tabManagerTopBar: {
|
|
20293
|
+
copyPageUrl: "\u590D\u5236\u9875\u9762\u5730\u5740",
|
|
20294
|
+
copyDirPath: "\u590D\u5236\u76EE\u5F55\u8DEF\u5F84",
|
|
20295
|
+
refreshProject: "\u5237\u65B0\u5F53\u524D\u9879\u76EE",
|
|
20296
|
+
openInVSCode: "\u5728 VS Code \u4E2D\u6253\u5F00",
|
|
20297
|
+
openInCursor: "\u5728 Cursor \u4E2D\u6253\u5F00",
|
|
20298
|
+
aliasesGlobal: "\u547D\u4EE4\u522B\u540D\uFF08\u5168\u5C40\uFF09",
|
|
20299
|
+
tokenStats: "Token \u7EDF\u8BA1",
|
|
20300
|
+
openSurething: "\u6253\u5F00 Surething"
|
|
20301
|
+
},
|
|
20302
|
+
hoverTooltip: {
|
|
20303
|
+
findReferences: "\u67E5\u627E\u5F15\u7528",
|
|
20304
|
+
search: "\u641C\u7D22"
|
|
20305
|
+
},
|
|
20306
|
+
todoViewer: {
|
|
20307
|
+
title: "\u4EFB\u52A1\u5217\u8868",
|
|
20308
|
+
progress: "{{completed}} / {{total}} \u5B8C\u6210"
|
|
20309
|
+
},
|
|
20310
|
+
userMessages: {
|
|
20311
|
+
title: "\u7528\u6237\u6D88\u606F\u5217\u8868",
|
|
20312
|
+
noMessages: "\u6682\u65E0\u7528\u6237\u6D88\u606F"
|
|
20313
|
+
},
|
|
20314
|
+
shortIdBadge: {
|
|
20315
|
+
clickToDisconnect: "\u70B9\u51FB\u65AD\u5F00\u8FDE\u63A5",
|
|
20316
|
+
clickToRegister: "\u70B9\u51FB\u6CE8\u518C\u5E76\u590D\u5236 CLI \u547D\u4EE4",
|
|
20317
|
+
setTitle: "\u7ED9\u8FD9\u4E2A\u6C14\u6CE1\u547D\u540D\uFF08\u4FBF\u4E8E /cc \u901A\u8FC7 connection list \u627E\u5230\u5B83\uFF09",
|
|
20318
|
+
setTitlePlaceholder: "\u8BBE\u7F6E\u6807\u9898",
|
|
20319
|
+
editTitle: "\u7F16\u8F91\u6807\u9898",
|
|
20320
|
+
titleSet: "\u6807\u9898\uFF1A{{title}}",
|
|
20321
|
+
dialogTitle: "\u7ED9\u6C14\u6CE1\u547D\u540D",
|
|
20322
|
+
dialogPlaceholder: "\u4F8B\u5982\uFF1Aalloydb \u4EE3\u7406\u3001\u9884\u53D1\u7BA1\u7406\u540E\u53F0"
|
|
20323
|
+
},
|
|
20324
|
+
api: {
|
|
20325
|
+
pathForbidden: "\u4E0D\u5141\u8BB8\u64CD\u4F5C\u6B64\u8DEF\u5F84",
|
|
20326
|
+
deleteForbidden: "\u4E0D\u5141\u8BB8\u5220\u9664\u6B64\u8DEF\u5F84",
|
|
20327
|
+
notAFolder: "\u76EE\u6807\u4E0D\u662F\u6587\u4EF6\u5939",
|
|
20328
|
+
imageTooLarge: "\u56FE\u7247\u6587\u4EF6\u8FC7\u5927\uFF0C\u65E0\u6CD5\u9884\u89C8",
|
|
20329
|
+
cannotPreviewBinary: "\u65E0\u6CD5\u9884\u89C8\u4E8C\u8FDB\u5236\u6587\u4EF6",
|
|
20330
|
+
fileTooLarge: "\u6587\u4EF6\u8FC7\u5927\uFF0C\u65E0\u6CD5\u9884\u89C8\uFF08\u8D85\u8FC7 10MB\uFF09",
|
|
20331
|
+
fileModifiedExternally: "\u6587\u4EF6\u5DF2\u88AB\u5916\u90E8\u4FEE\u6539",
|
|
20332
|
+
pickFolderPrompt: "\u9009\u62E9\u9879\u76EE\u6587\u4EF6\u5939"
|
|
20333
|
+
},
|
|
20334
|
+
confirm: {
|
|
20335
|
+
title: "\u63D0\u793A",
|
|
20336
|
+
ok: "\u786E\u5B9A",
|
|
20337
|
+
cancel: "\u53D6\u6D88"
|
|
20338
|
+
},
|
|
20339
|
+
floatingToolbar: {
|
|
20340
|
+
addComment: "\u6DFB\u52A0\u8BC4\u8BBA",
|
|
20341
|
+
sendToAI: "\u53D1\u9001 AI",
|
|
20342
|
+
search: "\u641C\u7D22"
|
|
20343
|
+
},
|
|
20344
|
+
quickReply: {
|
|
20345
|
+
optionA: "A",
|
|
20346
|
+
optionB: "B",
|
|
20347
|
+
optionC: "C",
|
|
20348
|
+
optionD: "D",
|
|
20349
|
+
allRecommended: "\u90FD\u6309\u63A8\u8350",
|
|
20350
|
+
thisOne: "\u5C31\u8FD9\u4E2A",
|
|
20351
|
+
notThis: "\u4E0D\u8981\u8FD9\u6837",
|
|
20352
|
+
why: "\u4E3A\u4EC0\u4E48",
|
|
20353
|
+
elaborate: "\u5C55\u5F00\u8BF4",
|
|
20354
|
+
example: "\u4E3E\u4E2A\u4F8B\u5B50",
|
|
20355
|
+
start: "\u5F00\u59CB\u505A",
|
|
20356
|
+
continue: "\u7EE7\u7EED",
|
|
20357
|
+
ok: "OK",
|
|
20358
|
+
done: "\u505A\u5B8C\u4E86"
|
|
20359
|
+
},
|
|
20360
|
+
searchResults: {
|
|
20361
|
+
title: "\u641C\u7D22\u7ED3\u679C",
|
|
20362
|
+
nMatches: "({{count}} \u5904\u5339\u914D)",
|
|
20363
|
+
searching: "\u641C\u7D22\u4E2D...",
|
|
20364
|
+
noResults: "\u65E0\u5339\u914D\u7ED3\u679C",
|
|
20365
|
+
scopeSelected: "\u9009\u4E2D",
|
|
20366
|
+
scopeAll: "\u5168\u90E8"
|
|
20367
|
+
},
|
|
20368
|
+
references: {
|
|
20369
|
+
title: "\u5F15\u7528",
|
|
20370
|
+
searching: "\u641C\u7D22\u4E2D...",
|
|
20371
|
+
notFound: "\u672A\u627E\u5230\u5F15\u7528"
|
|
20372
|
+
},
|
|
20373
|
+
gitFileTree: {
|
|
20374
|
+
noFiles: "\u65E0\u6587\u4EF6"
|
|
20375
|
+
},
|
|
20376
|
+
explain: {
|
|
20377
|
+
action: "\u89E3\u91CA\u4E00\u4E0B",
|
|
20378
|
+
fileMessage: "\u89E3\u91CA\u4E00\u4E0B {{path}}",
|
|
20379
|
+
symbolMessage: "\u89E3\u91CA\u4E00\u4E0B {{name}} ({{path}}:{{lines}})",
|
|
20380
|
+
selectionMessage: "\u89E3\u91CA\u4E00\u4E0B",
|
|
20381
|
+
commitFileMessage: "\u89E3\u91CA\u4E00\u4E0B git commit {{hash}} \u5BF9 {{path}} \u7684\u6539\u52A8",
|
|
20382
|
+
compareFileMessage: "\u89E3\u91CA\u4E00\u4E0B git {{base}}..HEAD \u4E2D {{path}} \u7684\u6539\u52A8",
|
|
20383
|
+
stagedFileMessage: "\u89E3\u91CA\u4E00\u4E0B git \u6682\u5B58\u533A\u4E2D {{path}} \u7684\u6539\u52A8",
|
|
20384
|
+
unstagedFileMessage: "\u89E3\u91CA\u4E00\u4E0B git \u5DE5\u4F5C\u533A\u4E2D {{path}} \u7684\u6539\u52A8"
|
|
20385
|
+
},
|
|
20386
|
+
reviewUtils: {
|
|
20387
|
+
adjectives: ["\u5FEB\u4E50", "\u52C7\u6562", "\u5B89\u9759", "\u660E\u4EAE", "\u6E29\u67D4", "\u7075\u5DE7", "\u81EA\u7531", "\u6E05\u6F88", "\u98DE\u7FD4", "\u60A0\u95F2", "\u6D3B\u6CFC", "\u806A\u6167", "\u6DE1\u5B9A", "\u673A\u654F", "\u4ECE\u5BB9", "\u575A\u5B9A", "\u723D\u6717", "\u548C\u7166", "\u5954\u653E", "\u6C89\u7A33"],
|
|
20388
|
+
nouns: ["\u718A\u732B", "\u6D77\u8C5A", "\u767D\u9E64", "\u96EA\u8C79", "\u4E91\u96C0", "\u677E\u9F20", "\u98DE\u9C7C", "\u6885\u82B1\u9E7F", "\u9752\u9E1F", "\u94F6\u72D0", "\u732B\u5934\u9E70", "\u873B\u8713", "\u8424\u706B\u866B", "\u6D77\u9F9F", "\u8774\u8776", "\u91D1\u4E1D\u7334", "\u4E39\u9876\u9E64", "\u7F9A\u7F8A", "\u71D5\u5B50", "\u4F01\u9E45"]
|
|
20389
|
+
}
|
|
20390
|
+
};
|
|
20391
|
+
|
|
20392
|
+
// packages/shared/i18n/src/index.ts
|
|
20393
|
+
if (!i18n.isInitialized) {
|
|
20394
|
+
i18n.init({
|
|
20395
|
+
resources: {
|
|
20396
|
+
en: { translation: en_default2 },
|
|
20397
|
+
zh: { translation: zh_default }
|
|
20398
|
+
},
|
|
20399
|
+
lng: "en",
|
|
20400
|
+
// Fixed initial language; client detects in app/I18nProvider
|
|
20401
|
+
fallbackLng: "en",
|
|
20402
|
+
interpolation: {
|
|
20403
|
+
escapeValue: false
|
|
20404
|
+
}
|
|
20405
|
+
});
|
|
20406
|
+
}
|
|
20407
|
+
var src_default = i18n;
|
|
20408
|
+
|
|
18021
20409
|
// packages/feature/agent/src/server/scheduledTasks.ts
|
|
18022
20410
|
var MAX_CONSECUTIVE_FAILURES = 3;
|
|
20411
|
+
function buildTaskPrompt(task) {
|
|
20412
|
+
if (!task.taskFile) return task.message;
|
|
20413
|
+
const header = src_default.t("scheduledTasks.taskFilePromptHeader", {
|
|
20414
|
+
lng: task.language || "en"
|
|
20415
|
+
});
|
|
20416
|
+
return `${header}
|
|
20417
|
+
- ${task.taskFile}`;
|
|
20418
|
+
}
|
|
18023
20419
|
function parseCronField(field, min, max) {
|
|
18024
20420
|
const values = [];
|
|
18025
20421
|
for (const part of field.split(",")) {
|
|
@@ -18070,8 +20466,10 @@ var dispatchEngineMessageEff = (task, engine, startFresh) => Effect_exports.tryP
|
|
|
18070
20466
|
if (!spec) {
|
|
18071
20467
|
throw new Error(`no engine spec for ${engine}`);
|
|
18072
20468
|
}
|
|
20469
|
+
const builtinLoop = isDeepseekBuiltinSession(engine, task);
|
|
20470
|
+
const noHistory = await readSessionNoHistory(task, engine, builtinLoop);
|
|
18073
20471
|
const outcome = await dispatchChat(spec, {
|
|
18074
|
-
prompt: task
|
|
20472
|
+
prompt: buildTaskPrompt(task),
|
|
18075
20473
|
// Omit sessionId to start a brand-new session when the resume target is gone;
|
|
18076
20474
|
// the engine generates a fresh id (captured below via getRunSessionId).
|
|
18077
20475
|
...startFresh ? {} : { sessionId: task.sessionId },
|
|
@@ -18079,10 +20477,8 @@ var dispatchEngineMessageEff = (task, engine, startFresh) => Effect_exports.tryP
|
|
|
18079
20477
|
engine,
|
|
18080
20478
|
// selects claude2's CLAUDE_CONFIG_DIR; no-op for the others
|
|
18081
20479
|
...task.model && { model: task.model },
|
|
18082
|
-
|
|
18083
|
-
|
|
18084
|
-
// the built-in loop instead of silently switching backends mid-schedule.
|
|
18085
|
-
...isDeepseekBuiltinSession(engine, task) && { mode: "builtin" }
|
|
20480
|
+
...builtinLoop && { mode: "builtin" },
|
|
20481
|
+
...noHistory && { noHistory: true }
|
|
18086
20482
|
});
|
|
18087
20483
|
if (!outcome.ok) {
|
|
18088
20484
|
throw new Error(`${engine} dispatch rejected (${outcome.status}): ${outcome.error}`);
|
|
@@ -18119,6 +20515,11 @@ var dispatchEngineMessageEff = (task, engine, startFresh) => Effect_exports.tryP
|
|
|
18119
20515
|
function isDeepseekBuiltinSession(engine, task) {
|
|
18120
20516
|
return engine === "deepseek" && existsSync3(getDeepseekBuiltinSessionPath(task.cwd, task.sessionId));
|
|
18121
20517
|
}
|
|
20518
|
+
async function readSessionNoHistory(task, engine, builtinLoop) {
|
|
20519
|
+
if (engine !== "ollama" && !builtinLoop) return false;
|
|
20520
|
+
const state = await readJsonFile(getSessionFilePath(task.cwd), {});
|
|
20521
|
+
return state.noHistories?.[task.sessionId] === true;
|
|
20522
|
+
}
|
|
18122
20523
|
function sessionPathFor(engine, task) {
|
|
18123
20524
|
if (engine === "claude2") return getClaude2SessionPath(task.cwd, task.sessionId);
|
|
18124
20525
|
if (engine === "ollama") return getOllamaSessionPath(task.cwd, task.sessionId);
|
|
@@ -18139,6 +20540,15 @@ var sendChatMessageEff = (task) => Effect_exports.gen(function* () {
|
|
|
18139
20540
|
})
|
|
18140
20541
|
);
|
|
18141
20542
|
}
|
|
20543
|
+
if (task.taskFile && !existsSync3(task.taskFile)) {
|
|
20544
|
+
return yield* Effect_exports.fail(
|
|
20545
|
+
new AgentError({
|
|
20546
|
+
provider: engine === "claude2" ? "claude" : engine,
|
|
20547
|
+
kind: "unknown",
|
|
20548
|
+
cause: new Error(`task file not found: ${task.taskFile} (task ${task.id})`)
|
|
20549
|
+
})
|
|
20550
|
+
);
|
|
20551
|
+
}
|
|
18142
20552
|
const sessionPath = sessionPathFor(engine, task);
|
|
18143
20553
|
const startFresh = !sessionPath || !existsSync3(sessionPath);
|
|
18144
20554
|
if (startFresh) {
|
|
@@ -18516,7 +20926,9 @@ var ScheduledTaskManager = class {
|
|
|
18516
20926
|
var g2 = globalThis;
|
|
18517
20927
|
var scheduledTaskManager = g2.__scheduledTaskManager ?? (g2.__scheduledTaskManager = new ScheduledTaskManager());
|
|
18518
20928
|
export {
|
|
20929
|
+
buildTaskPrompt,
|
|
18519
20930
|
getNextCronTime,
|
|
20931
|
+
readSessionNoHistory,
|
|
18520
20932
|
scheduledTaskManager,
|
|
18521
20933
|
sendChatMessageEff
|
|
18522
20934
|
};
|