返回同文产品页

术语库与翻译记忆:用户交互指南

状态: Active Last verified: 2026-08-05 @ 643fe5c 文档目的: 说明用户如何使用术语库(Glossary)、翻译记忆(TM)、人工修正记忆(CM)三项知识能力。面向产品设计和 UI 开发。


一、三个概念一句话解释

概念一句话谁维护优先级
术语库 (Glossary)"这个词,必须这么翻"用户手动编辑 CSV
翻译记忆 (TM)"这句话,上次翻过"系统自动积累
人工修正 (Correction)"上次我把它改成了这个"系统自动记录

三者的共同作用:翻得越多,AI 越少参与——已经知道的翻译直接复用,省 API 费用,保证一致性。


二、术语库操作

2.1 第一次使用:导入已有术语表

用户操作:
  1. 打开设置页
  2. 找到「术语表」区域
  3. 点击 [浏览] → 选择 CSV 文件
  4. 系统显示: "已加载 120 条术语,覆盖 architecture / mep / structure 三个专业"
  5. 点击 [保存设置]

术语表是一个 CSV 文件,格式由用户自行准备或在翻译过程中导出。

2.2 翻译过程中:看到术语命中效果

用户在翻译工作台中:
  点击 [翻译] → 系统自动逐条处理

  对于 "设备基础":
  ├── 术语表命中: "设备基础" → "Equipment Foundation"
  ├── 跳过 LLM,直接用术语表译文
  └── 表格中该行显示:
        translation_source: "glossary"   ← 来源标记
        knowledge_hits.glossary_terms: ["Equipment Foundation"]

用户在翻译工作台的详情面板中可以看到本条是否命中了术语表。

2.3 翻译过程中:发现术语冲突

场景: 术语表中 "标高" 有两个译法
  标高 → Elevation (architecture, priority=90)
  标高 → Level      (architecture, priority=10)

系统行为:
  1. 翻译时自动选 priority 最高的 → Elevation
  2. 生成 QA 发现: GLOSSARY_CONFLICT, severity=high
  3. 表格中该行风险列显示 🟡 High
  4. 点击风险徽章 → 详情: "标高 存在多个术语译法: Elevation, Level。当前使用 Elevation。
      请在设置中编辑术语表解决此冲突。"

用户看到冲突提示 → 去设置页管理术语表 → 删掉不需要的译法或调整优先级。

2.4 翻译完成后:把审批过的译文加入术语表

场景: 用户审批通过了 "消防联动控制 → Fire Protection Linkage Control"
     这条是 LLM 翻的,不是术语表里的。用户想以后遇到这个词都用这个译法。

用户操作:
  在翻译工作台中:
  1. 选中该行
  2. 右键 →「添加到术语表」
  3. 弹出对话框:
     ┌───────────────────────────────────┐
     │  添加到术语表                       │
     │                                   │
     │  原文: 消防联动控制                 │
     │  译文: Fire Protection Linkage...  │
     │  专业: [消防 ▼]                    │
     │  优先级: [50 ▼]                    │
     │                                   │
     │  [取消]               [添加到术语表]│
     └───────────────────────────────────┘
  4. 点击 [添加到术语表]
  5. 系统追加一行到 CSV 文件
  6. 提示: "已添加到术语表。下次遇到此词将自动使用此译法。"

2.5 设置页:管理术语表

设置页 → 术语表区域:

  ┌─────────────────────────────────────────────────────┐
  │  术语表 (Glossary)                                   │
  │                                                     │
  │  当前文件: D:\Projects\建筑\glossary.csv              │
  │  条目数: 120   覆盖专业: architecture, mep, structure │
  │                                                     │
  │  [浏览] [重新加载] [在 Excel 中打开]                   │
  │                                                     │
  │  快速搜索: [____________]                            │
  │                                                     │
  │  ┌──────────────────────────────────────────────┐   │
  │  │ source_text│target_text  │domain │priority│.. │   │
  │  │ 镀铝锌     │Alu-Zinc...  │material│100   │   │   │
  │  │ 标高       │Elevation    │arch    │90    │   │   │
  │  │ 标高       │Level        │arch    │10    │⚠️冲突│   │
  │  └──────────────────────────────────────────────┘   │
  │                                                     │
  │  [导出术语表] [导出候选术语]                          │
  └─────────────────────────────────────────────────────┘

P1 版本中术语表管理以 CSV 文件为主——用户可以用 Excel 编辑,设置页只提供浏览和路径配置。P2 版本再考虑内置编辑器。

2.6 AutoCAD 新版编辑器中的术语助手

并行新增的 WorkspaceEditorWindow 把术语交互放在独立术语助手中,不与段落检查器共用面板:

  • 原文列表会根据真实 CSV 命中给术语着色;匹配同时考虑项目 manifest、当前 .tw、全局启用表和用户选中的维护术语表。
  • 术语助手可关联或取消关联当前图纸术语表。图纸级变更进入当前 session 的 glossary_refs 并随保存持久化;项目级或全局继承的术语表仍会继续生效,界面会标注其来源。
  • 用户需要先选择一个维护术语表。这个选择是所有项目共用的本机偏好,保存在 Documents/Tongwen/workspace-editor.json;它不等同于把该表关联到当前图纸。
  • “插入术语到光标”在只有一个无歧义候选时直接插入;出现多个源词命中或同一源词有多个目标译法时,打开可搜索候选层,由用户点击或按 Enter 选择,不静默拼接或采用第一项。
  • “收录当前行到术语表”先移除 MText、Dimension 和内部占位格式,只保存用户看到的原文/译文。完全重复不会再次写入;同一原文已有不同译文时必须确认后才追加为多候选。

新版编辑器的五种生命周期状态只用于展示和筛选。快捷收录不要求先批准当前行,也不会把状态修改为 Approved


三、翻译记忆操作

3.1 翻译记忆是自动的

用户不需要手动操作 TM。每次翻译审批通过后,系统自动把新的翻译对追加到 TM 文件。

翻译审批流程中自动发生的事情:
  用户点击 [审批] → Status = Approved
  └── 系统后台:
        ├── 如果本条翻译来自 LLM(translation_source = "llm")
        │   且不在 TM 中(source_text 不重复)
        │   └── 自动追加到 TM 文件
        │         source_text = "消防联动控制"
        │         target_text = "Fire Protection Linkage Control"
        │         confidence = 1.0
        │         context = "消防"  (从术语表 domain 推断)
        │         last_used = 当前时间
        │
        └── 如果本条翻译来自 TM 或 Correction
             → 不重复追加(已经在了)

3.2 什么情况下 TM 自动生效

用户第二次翻译时:
  图 B 也有一条 "消防联动控制"
  → 翻译引擎查找 TM
  → 精确匹配: "消防联动控制" → "Fire Protection Linkage Control"
  → 直接复用,不调用 LLM
  → 表格显示: translation_source = "tm"
  → 用户看到: 这条自动翻好了,来源是翻译记忆

用户不需要做任何额外操作。

3.3 设置页:查看翻译记忆状态

设置页 → 翻译记忆区域:

  ┌─────────────────────────────────────────────────────┐
  │  翻译记忆 (Translation Memory)                        │
  │                                                     │
  │  当前文件: D:\Projects\建筑\tm.json                   │
  │  条目数: 350                                         │
  │  上次命中率: 45% (本次翻译 20 条中 9 条命中 TM)       │
  │                                                     │
  │  [浏览] [重新加载]                                    │
  └─────────────────────────────────────────────────────┘

P1 只做精确匹配(原文完全一样才命中)。P1.5 加入上下文感知匹配(同篇同图层优先)。


四、人工修正记忆操作

4.1 修正自动记录

当用户手动修改了 LLM 翻译的译文,这条修改会自动记录到 Correction Memory。

场景: LLM 把 "设备基础" 翻译成 "Machine Base"
      用户觉得不对,改为 "Equipment Foundation"

用户操作:
  在表格中双击译文 → 编辑 → 回车确认

系统自动:
  1. 记录修正: source="设备基础", target="Equipment Foundation", reason=""
  2. 追加到 corrections.json
  3. 下次遇到 "设备基础" → 直接命中 Correction Memory
     → translation_source = "correction"
     → 不再调用 LLM

  如果用户填写了修正原因(P2):
    右键 →「修改原因」→ 填写 "项目要求用 Foundation 而非 Base"
    → 完善审计记录

4.2 修正记忆的最高优先级

翻译优先级:
  ① Correction Memory  ← 用户改过的,永远相信用户
  ② Translation Memory ← 历史翻译过的
  ③ Glossary           ← 术语表规定
  ④ LLM                ← 所有都不命中才调 AI

这意味着:
  用户只要手动改过一次 "设备基础",
  以后不管术语表怎么写、LLM 怎么翻,
  都会用用户确认过的版本。

五、用户可见的知识反馈

5.1 翻译工作台:详情面板的信息

选中表格中某一行后,详情面板显示:

┌─ 知识库信息 ──────────────────────────────────┐
│                                                │
│  翻译来源: LLM (DeepSeek v4-pro)               │
│                                                │
│  📗 术语表命中:                                  │
│      设备基础 → Equipment Foundation            │
│                                                │
│  📘 翻译记忆: 未命中                              │
│                                                │
│  📙 人工修正: 未命中                              │
└────────────────────────────────────────────────┘

5.2 QA 报告中的命中率统计

导出的 QA 报告 JSON 包含:

{
  "knowledge_provenance": {
    "glossary": { "path": "...", "status": "loaded", "entries": 120 },
    "translation_memory": { "path": "...", "status": "loaded", "entries": 350 },
    "correction_memory": { "path": null, "status": "not_configured", "entries": 0 }
  },
  "summary": {
    "total_units": 20,
    "llm_translated": 11,
    "glossary_hits": 5,
    "tm_hits": 3,
    "correction_hits": 1
  }
}

用户可以据此判断:术语表够不够用?下一批翻译还需要调多少次 LLM?


六、典型用户场景

场景 A:新手上路,没有术语表和 TM

用户首次使用 Tongwen:
  1. 没有创建术语表 → 系统用空术语表
  2. 翻译全靠 DeepSeek
  3. 审批时手动改了几条翻译
  4. 改过的自动进入 Correction Memory
  5. 审批过的自动进入 Translation Memory
  6. 第二次翻译 → TM 和 CM 开始命中 → LLM 调用量减少

场景 B:公司有标准术语表

用户导入公司的术语表 CSV:
  1. 设置页 → 选择 glossary.csv
  2. 术语表有 200 条
  3. 翻译时术语表中的词直接替换,不调 LLM
  4. 术语表没有的句子调 LLM → 审批 → 自动进 TM
  5. 随着使用,TM 逐渐覆盖公司常用的完整句子

场景 C:解决术语冲突

用户发现 "标高" 有时翻成 Elevation 有时翻成 Level:
  1. 看到 QA 报告中有 GLOSSARY_CONFLICT
  2. 打开术语表 CSV → 发现有两条 "标高"
  3. 确认 "Level" 那条是旧标准 → 删除或降低优先级
  4. 保存 → 重新加载 → 下次翻译统一用 Elevation