Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions src/i18n/zh-CN.ts
Original file line number Diff line number Diff line change
Expand Up @@ -815,11 +815,11 @@ export const zhCN: TranslationSchema = {
modelHint: "尝试 deepseek-v4-flash 或 deepseek-v4-pro — 运行 /models 获取实时列表",
modelUsage: "用法:/model <id> ({hint})",
modelNotInCatalog:
"model → {id} (⚠ 不在获取的目录中:{list}。如果这是错误的,下次调用将返回 400 — 运行 /models 刷新。)",
modelSet: "model → {id}",
presetAuto: "preset → auto (v4-flash → v4-pro 在困难轮次切换 · 默认)",
presetFlash: "preset → flash (始终使用 v4-flash · 最便宜 · /pro 仍可临时提升一轮)",
presetPro: "preset → pro (始终使用 v4-pro · 约 3 倍 flash · 用于困难的多轮工作)",
"模型 → {id} (⚠ 不在获取的目录中:{list}。如果这是错误的,下次调用将返回 400 — 运行 /models 刷新。)",
modelSet: "模型 → {id}",
presetAuto: "预设 → auto (deepseek-v4-flash → deepseek-v4-pro 在困难轮次切换 · 默认)",
presetFlash: "预设 → flash (始终使用 deepseek-v4-flash · 最便宜 · /pro 仍可临时提升一轮)",
presetPro: "预设 → pro (始终使用 deepseek-v4-pro · 约 3 倍 flash · 用于困难的多轮工作)",
presetUsage: "用法:/preset <auto|flash|pro>",
proNothingArmed: "未启用 — /pro 不带参数将为下一轮启用 pro",
proDisarmed: "▸ /pro 已解除 — 下一轮回退到当前预设",
Expand Down
12 changes: 12 additions & 0 deletions tests/carbon-productization.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,18 @@ describe("Carbon broad Reasonix import", () => {
expect(t("mcpLifecycle.failedSetupHint")).toContain("`carboncode setup`");
});

test("zh-CN slash model feedback uses localized labels", () => {
setLanguageRuntime("zh-CN");

expect(t("handlers.model.modelSet", { id: "deepseek-v4-flash" })).toContain("模型 →");
expect(t("handlers.model.modelNotInCatalog", { id: "x", list: "a, b" })).toContain("模型 →");
expect(t("handlers.model.presetAuto")).toContain("预设 → auto");
expect(t("handlers.model.presetFlash")).toContain("预设 → flash");
expect(t("handlers.model.presetPro")).toContain("预设 → pro");
expect(t("handlers.model.presetAuto")).toContain("deepseek-v4-flash");
expect(t("handlers.model.presetAuto")).toContain("deepseek-v4-pro");
});

test("protocol-facing runtime identities are Carbon-branded", () => {
const acp = readFileSync(resolve("src/cli/commands/acp.ts"), "utf8");
const mcpClient = readFileSync(resolve("src/mcp/client.ts"), "utf8");
Expand Down