dsh-cait 1.1.3 → 1.1.7
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/CHANGELOG.md +186 -0
- package/README.ja.md +51 -14
- package/README.md +137 -30
- package/README.zh-CN.md +51 -14
- package/client/components.js +2033 -48
- package/client/entry.js +2 -0
- package/client/helpers.js +12 -0
- package/client/locales.js +658 -8
- package/client/styles.js +111 -4
- package/client.js +2814 -58
- package/lib/aligner.js +6 -6
- package/lib/analysis.js +88 -0
- package/lib/api.js +46 -0
- package/lib/brief.js +275 -0
- package/lib/docx.js +155 -26
- package/lib/formats.js +37 -0
- package/lib/glossary.js +20 -4
- package/lib/import-export.js +212 -13
- package/lib/libraries.js +156 -0
- package/lib/library-export.js +7 -1
- package/lib/localization.js +1098 -0
- package/lib/lock.js +30 -0
- package/lib/notes.js +144 -0
- package/lib/persistence.js +54 -7
- package/lib/pptx.js +33 -1
- package/lib/pre-translate.js +62 -45
- package/lib/propagate.js +3 -0
- package/lib/qa.js +94 -4
- package/lib/replace.js +243 -0
- package/lib/review.js +131 -0
- package/lib/segment-edit.js +199 -0
- package/lib/store-utils.js +33 -6
- package/lib/store.js +507 -47
- package/lib/subtitles.js +213 -0
- package/lib/term-extract.js +105 -3
- package/lib/terms.js +4 -2
- package/lib/tm-maintenance.js +157 -0
- package/lib/tm.js +4 -1
- package/lib/tools.js +294 -0
- package/lib/xlsx.js +176 -66
- package/package.json +1 -1
package/README.zh-CN.md
CHANGED
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
<p align="center">
|
|
17
17
|
<a href="https://www.npmjs.com/package/dsh-cait"><img alt="npm 版本" src="https://img.shields.io/npm/v/dsh-cait.svg" /></a>
|
|
18
18
|
<img alt="DSH 0.2.x" src="https://img.shields.io/badge/DSH-0.2.x-4d6bfe.svg" />
|
|
19
|
-
<img alt="
|
|
19
|
+
<img alt="45 套测试" src="https://img.shields.io/badge/tests-45%20suites-brightgreen.svg" />
|
|
20
20
|
<img alt="无需 API Key" src="https://img.shields.io/badge/API%20key-not%20required-6b7280.svg" />
|
|
21
21
|
</p>
|
|
22
22
|
|
|
23
23
|
CAIT 为 DSH Web UI 和 DSH 桌面端增加一个 CAT 翻译工作台。它从左侧栏入口打开,
|
|
24
|
-
|
|
24
|
+
工作台与二十一个 Agent 工具共用一个数据存储,覆盖从导入源文件到导出译文的完整流程。
|
|
25
25
|
|
|
26
26
|
> **已在 DSH `0.2.2-rc.1` 中验证。** CAIT 使用 DSH 自己的模型路由和凭据,
|
|
27
27
|
> 不会要求用户填写 API Key。内部回退提供方仍叫 `mock`,界面显示为
|
|
@@ -36,7 +36,7 @@ CAIT 为 DSH Web UI 和 DSH 桌面端增加一个 CAT 翻译工作台。它从
|
|
|
36
36
|
| **术语感知编辑** | 支持多个术语库、按源语言过滤、行内高亮、点击插入术语,以及按术语设置是否区分大小写。 |
|
|
37
37
|
| **完整文档流程** | 文档标签页、关闭/重新打开、最近文档清理、重复导入复用、逐文档进度。 |
|
|
38
38
|
| **真实格式覆盖** | TXT、Markdown、DOCX、EPUB、TMX、CSV、SRT/VTT、PO、XLIFF 1.2/2.0/SDLXLIFF、HTML、JSON、XLSX、PPTX、RTF。 |
|
|
39
|
-
| **面向 Agent** |
|
|
39
|
+
| **面向 Agent** | 二十一个工具共享当前文档和存储,Agent 可以与用户同时翻译。 |
|
|
40
40
|
|
|
41
41
|
## 快速开始
|
|
42
42
|
|
|
@@ -53,6 +53,39 @@ CAIT 为 DSH Web UI 和 DSH 桌面端增加一个 CAT 翻译工作台。它从
|
|
|
53
53
|
|
|
54
54
|
## 功能
|
|
55
55
|
|
|
56
|
+
### 1.1.7 新增
|
|
57
|
+
|
|
58
|
+
- **DOCX 深度**:表格、页眉、页脚、脚注和尾注里的段落都会作为普通句段导入,并写回原来的 part。
|
|
59
|
+
- **本地化字符串**:Apple `.strings`/`.stringsdict`、Android `strings.xml`/复数、`.resx`、`.arb`、嵌套 YAML、Java `.properties` 可往返,保留 key、注释、复数变体、块标量和内联标签。
|
|
60
|
+
- **演讲者备注与多工作表**:PPTX 备注页独立成段;XLSX 每个工作表保留名称、顺序和单元格引用;保留源文件时按原单元格回写,样式和合并区域不丢。
|
|
61
|
+
- **字幕时间轴**:合并相邻 cue、按时间点拆分、整体平移时间码;重叠 cue 作为高风险 QA 提示,不自动改时间。
|
|
62
|
+
|
|
63
|
+
### 1.1.6 新增
|
|
64
|
+
|
|
65
|
+
- **查找替换**:原文/译文预览、一次应用、撤销上次替换;已确认句段的译文被改动时自动回到待审状态。
|
|
66
|
+
- **命令面板**(`Ctrl/Cmd+K`)与 `Ctrl/Cmd+F` 查找替换。
|
|
67
|
+
- **句段备注**,以及句段内的**草稿撤销/重做**(`Ctrl/Cmd+Z`、`Ctrl/Cmd+Shift+Z`、`Ctrl/Cmd+Y`)。
|
|
68
|
+
- **合并、拆分、锁定**文本句段;合并/拆分目前只开放 TXT 与 Markdown,Office 段落映射还不能安全回填。
|
|
69
|
+
- **单次专名术语发现**:引号内术语、句中大写名、中文人名/地名/造物名即使只出现一次也会进入候选,并带类型、置信度和原句证据;不会自动入库。
|
|
70
|
+
- **AI 审校**:QA 标签页可以请求当前 DSH 模型给出结构化建议,跳到对应句段或把建议填入译文;Agent 可调用 `cat_review`,两者都不会直接写文档。审校默认跟随翻译模型,也可以在设置里单独选择 provider 和模型。
|
|
71
|
+
|
|
72
|
+
### 1.1.5 新增
|
|
73
|
+
|
|
74
|
+
- 每份文档可以**继承全局 TM/术语库挂载,或绑定自己的库**,并指定默认写入 TM;检索、术语命中、QA、预翻译和确认都按该作用域执行。
|
|
75
|
+
- **字数与匹配率分析**:统计句段、词数、字符、重复、ICE/精确/模糊/新增分桶、匹配率和 leverage,可下载 CSV 或 JSON。
|
|
76
|
+
- 导出**双语审校 DOCX**(原文/译文/状态),给不使用 CAIT 的审校人。
|
|
77
|
+
- 导出并回填 **XLIFF 1.2 审校包**:按 uid、XLIFF id 或唯一源文匹配,源文不一致的条目拒绝回填,并报告未匹配数量。
|
|
78
|
+
- **TM 维护**:合并、去重、清理都先预览再确认。
|
|
79
|
+
|
|
80
|
+
### 1.1.4 新增
|
|
81
|
+
|
|
82
|
+
- 每份文档可以带一份**翻译 brief**:领域、读者、语气、备注、禁译词和风格样例;它会被注入 MT 请求,Agent 可用 `cat_get_brief` 读取。
|
|
83
|
+
- 预翻译改为**一次最多八段**批量请求,带上 brief 和相邻原文;模型漏掉的句段逐段回退,不再整篇中断。
|
|
84
|
+
- 术语条目可以标记 **forbidden**(禁用译法)和 **preferred**(必用译法),CSV/JSON/TBX 导出与 CSV 导入都会保留。
|
|
85
|
+
- QA 按 **high / medium / low** 分级,新增禁用术语和长度漂移检查;QA 面板可跳转、复制原文、清空译文、插入必用术语,Concordance 可检索所有已挂载 TM。
|
|
86
|
+
- 已确认句段可以**撤销确认**,保留译文和 TM 条目;编辑已确认句段会自动退回 `translated`,再次确认时更新同一条 TM。
|
|
87
|
+
- 句段栏可以**批量清理未确认的预翻译译文**;清理前会显示句数以及 MT/TM/自动传播的构成,并说明已确认句段、人工草稿和已写入 TM 的内容不受影响。
|
|
88
|
+
|
|
56
89
|
### 翻译记忆
|
|
57
90
|
|
|
58
91
|
- 支持多个 TM 库,每个库有 id、名称、挂载状态和默认写入库。
|
|
@@ -62,7 +95,7 @@ CAIT 为 DSH Web UI 和 DSH 桌面端增加一个 CAT 翻译工作台。它从
|
|
|
62
95
|
- 支持精确、近似精确和三个模糊等级:
|
|
63
96
|
- `near_exact` 使用忽略数字、标点和空白后的 key 比较,不依赖分数阈值。
|
|
64
97
|
- `high_fuzzy` 为 `>= 0.85`,`medium_fuzzy` 为 `0.75–0.85`,
|
|
65
|
-
`low_fuzzy` 低于 `0.75`(高于可配置下限,默认 `0.
|
|
98
|
+
`low_fuzzy` 低于 `0.75`(高于可配置下限,默认 `0.70`)。
|
|
66
99
|
- 模糊评分是词法级的:72% 字符二元组 Dice + 28% token Jaccard。
|
|
67
100
|
拉丁文本按单词切分,CJK 文本按单字切分;不做词干、同义词或语义匹配。
|
|
68
101
|
- 检索只查已挂载的库。`cat_submit_translation` 支持可选 `targetTmId`;
|
|
@@ -188,7 +221,7 @@ provider/model/code/status,客户端只会收到 `MT_PROVIDER_FAILED`。
|
|
|
188
221
|
| SDLXLIFF | ✅ | ✅ | 走基础 XLIFF 1.2 路径;SDL 专有扩展不会完整往返 |
|
|
189
222
|
| HTML | ✅ | ✅ | 保留文本块与内联标签;不重建文档级 CSS/版式 |
|
|
190
223
|
| JSON | ✅ | ✅ | 字符串路径子集;通过模板保留对象/数组结构;key 和数字不翻译 |
|
|
191
|
-
| XLSX | ✅ | ✅ |
|
|
224
|
+
| XLSX | ✅ | ✅ | 全部工作表;识别源/目标列或表头;保留源文件时按单元格回写,样式、合并区域和其他工作表不丢;公式单元格跳过 |
|
|
192
225
|
| PPTX | ✅ | ✅* | 保留源格式导出;需要导入时保留的 `.pptx` 包。仅正文;备注/图表/SmartArt 不导入。 |
|
|
193
226
|
| RTF | ✅ | ✅ | 基础段落、`\uN`、`\'hh`、控制字;不往返原始样式 |
|
|
194
227
|
|
|
@@ -230,7 +263,7 @@ CAIT 以 DSH bundle 的形式安装;发布的 npm 包名为 `dsh-cait`,插
|
|
|
230
263
|
plugin_manager install_bundle target: dsh-cait
|
|
231
264
|
```
|
|
232
265
|
|
|
233
|
-
需要固定版本时写 `dsh-cait@1.1.
|
|
266
|
+
需要固定版本时写 `dsh-cait@1.1.7`,需要最新版时写 `dsh-cait@latest`。管理器会解析 registry
|
|
234
267
|
上的包、应用 bundle patch 并激活插件,不需要手工在配置档里加行。
|
|
235
268
|
|
|
236
269
|
使用 CLI 管理的配置档:
|
|
@@ -329,6 +362,7 @@ TM 返回条数、MT 路由/模型/温度,以及界面语言(`uiLang`:`aut
|
|
|
329
362
|
| `cat_consistency_report` | 按原文分组列出译文不一致的句段 |
|
|
330
363
|
| `cat_term_candidates` | 术语候选短名单:频次、例句、记忆库里已有的译法 |
|
|
331
364
|
| `cat_add_terms` | 一次性把选中的术语写进术语库 |
|
|
365
|
+
| `cat_review` | 请求模型给出结构化审校建议;不会直接写文档 |
|
|
332
366
|
|
|
333
367
|
因此 Agent 可以完全不点界面就把整篇铺底:反复调用 `cat_pre_translate`
|
|
334
368
|
(`from: next`)直到 `next` 为 `null`,用 `cat_get_segments` 查看,再用
|
|
@@ -343,7 +377,7 @@ TM 返回条数、MT 路由/模型/温度,以及界面语言(`uiLang`:`aut
|
|
|
343
377
|
flowchart LR
|
|
344
378
|
UI["DSH Web UI<br/>(侧栏 + 工作台)"] --> Client["client.js<br/>生成的 Web bundle"]
|
|
345
379
|
Client --> API["/cait/api/rpc<br/>同源 JSON"]
|
|
346
|
-
Tools["
|
|
380
|
+
Tools["21 个 Agent 工具"] --> Store["CatStore"]
|
|
347
381
|
API --> Store
|
|
348
382
|
Store --> Snapshot[("store.json<br/>+ sources/")]
|
|
349
383
|
```
|
|
@@ -428,7 +462,7 @@ node _dev/test-mt.mjs
|
|
|
428
462
|
|
|
429
463
|
导入/导出 fixture 为 `_dev/sample.docx`、`_dev/sample-table.docx` 和
|
|
430
464
|
`_dev/sample-format.docx`;可用对应的 `python _dev/make-*.py` 脚本重新生成。
|
|
431
|
-
|
|
465
|
+
45 套测试应全部通过。
|
|
432
466
|
|
|
433
467
|
### 发布
|
|
434
468
|
|
|
@@ -470,11 +504,14 @@ GitHub release 发布。
|
|
|
470
504
|
[不支持 PDF](#不支持-pdf))。暂不支持图片 OCR。
|
|
471
505
|
- EPUB 导入只覆盖 spine 中的正文 XHTML 文本块;不支持 DRM、固定版式、
|
|
472
506
|
脚本化以及大量使用 MathML 的电子书。
|
|
473
|
-
- DOCX
|
|
474
|
-
|
|
507
|
+
- DOCX 导入覆盖正文、表格、页眉、页脚、脚注和尾注;域、替代文本和修订删除
|
|
508
|
+
仍保持源语言。
|
|
475
509
|
- DOCX/PPTX 中混合 run 的段落会继承第一个 run 的格式。
|
|
476
|
-
- PPTX
|
|
477
|
-
- XLSX
|
|
510
|
+
- PPTX 导入覆盖正文和演讲者备注,不包含图表或 SmartArt。
|
|
511
|
+
- XLSX 导出需要目标列才能回写;公式单元格会跳过;1.1.7 之前导入的文档没有
|
|
512
|
+
保留源工作簿,只能重建新表。
|
|
513
|
+
- 嵌套 YAML 支持 mapping、sequence、scalar、块标量和注释;锚点、别名、
|
|
514
|
+
merge key 和 flow 集合会以 `LOCALIZATION_YAML_UNSUPPORTED` 拒绝。
|
|
478
515
|
- HTML/RTF 导出不往返原始样式;JSON 只翻译字符串值。
|
|
479
516
|
- TM 匹配是词法级的,不是语义级;没有词干、同义词或向量。
|
|
480
517
|
- 每个上下文下,同一原文存一条译文:重复的句子会为每种相邻句组合保留一条变体,
|
|
@@ -483,8 +520,8 @@ GitHub release 发布。
|
|
|
483
520
|
- TBX 与 JSON 术语导出是单向的;只有 TMX 和 CSV 能再导入回来。
|
|
484
521
|
- 工作台界面提供中文、English、日本語三种语言,可在设置中切换;README 提供英文、简体中文和日文三个版本,以英文版为准。
|
|
485
522
|
|
|
486
|
-
后续计划:通过多模态 DSH
|
|
487
|
-
|
|
523
|
+
后续计划:通过多模态 DSH 路由支持图片/视觉输入、Office 段落映射后的合并/拆分,
|
|
524
|
+
以及字幕波形/播放头。
|
|
488
525
|
|
|
489
526
|
## 变更日志与版本
|
|
490
527
|
|