import test from "node:test"; import assert from "node:assert/strict"; import { localizeNodeDefinition, translate } from "./i18n.tsx"; test("translate returns chinese and english labels for shared frontend keys", () => { assert.equal(translate("en", "navProjects"), "Projects"); assert.equal(translate("zh", "navProjects"), "项目"); assert.equal(translate("en", "templateSaved"), "Saved template"); assert.equal(translate("zh", "templateSaved"), "已保存模板"); assert.equal(translate("en", "navWorkflows"), "Workflows"); assert.equal(translate("zh", "navWorkflows"), "工作流"); assert.equal(translate("en", "navNodes"), "Nodes"); assert.equal(translate("zh", "navNodes"), "节点"); assert.equal( translate("en", "invalidConnectionCycle"), "This edge would create a cycle.", ); assert.equal( translate("zh", "dragNodeToCanvas"), "将节点拖放到这里即可在画布中创建。", ); assert.equal( translate("en", "workflowCreatedName", { count: 3 }), "Delivery Normalize 3", ); assert.equal( translate("zh", "workflowCreatedName", { count: 3 }), "交付标准化 3", ); }); test("localize built-in node definitions into chinese labels", () => { const localized = localizeNodeDefinition("zh", { id: "validate-structure", name: "Validate Structure", description: "Validate required directories and metadata files.", category: "Inspect", }); assert.equal(localized.name, "校验目录结构"); assert.equal(localized.category, "检查"); assert.match(localized.description ?? "", /元数据/); });