dsh-cait 1.0.4 → 1.1.3
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 +202 -0
- package/README.ja.md +147 -25
- package/README.md +176 -27
- package/README.zh-CN.md +137 -26
- package/client/components.js +2047 -340
- package/client/entry.js +13 -0
- package/client/helpers.js +110 -7
- package/client/locales.js +435 -6
- package/client/rpc.js +1 -1
- package/client/styles.js +137 -3
- package/client.js +2742 -356
- package/index.js +3 -0
- package/lib/aligner.js +411 -0
- package/lib/api.js +31 -0
- package/lib/context.js +71 -0
- package/lib/docx.js +12 -9
- package/lib/epub.js +355 -0
- package/lib/formats.js +88 -33
- package/lib/glossary.js +4 -4
- package/lib/html.js +271 -0
- package/lib/import-export.js +208 -95
- package/lib/libraries.js +55 -0
- package/lib/library-export.js +75 -0
- package/lib/library-view.js +215 -0
- package/lib/mt.js +17 -7
- package/lib/persistence.js +92 -7
- package/lib/pre-translate.js +263 -0
- package/lib/preprocess.js +65 -0
- package/lib/propagate.js +133 -0
- package/lib/qa.js +167 -0
- package/lib/store-utils.js +48 -6
- package/lib/store.js +143 -12
- package/lib/term-extract.js +190 -0
- package/lib/terms.js +102 -0
- package/lib/tm.js +123 -11
- package/lib/tmx.js +47 -2
- package/lib/tools.js +472 -0
- package/package.json +2 -2
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="29 套测试" src="https://img.shields.io/badge/tests-29%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`,界面显示为
|
|
@@ -32,11 +32,11 @@ CAIT 为 DSH Web UI 和 DSH 桌面端增加一个 CAT 翻译工作台。它从
|
|
|
32
32
|
| | |
|
|
33
33
|
|---|---|
|
|
34
34
|
| **原生集成 DSH** | 真正的侧栏入口、主工作台、DSH 主题令牌,以及人和 Agent 共用的同一份数据。不是 iframe,也不是另一个独立应用。 |
|
|
35
|
-
| **可解释的翻译记忆** | 支持多个 TM
|
|
35
|
+
| **可解释的翻译记忆** | 支持多个 TM 库、仅检索已挂载库、上下文 101%、精确/近似精确/高/中/低模糊等级,确认句段时自动写回。 |
|
|
36
36
|
| **术语感知编辑** | 支持多个术语库、按源语言过滤、行内高亮、点击插入术语,以及按术语设置是否区分大小写。 |
|
|
37
37
|
| **完整文档流程** | 文档标签页、关闭/重新打开、最近文档清理、重复导入复用、逐文档进度。 |
|
|
38
|
-
| **真实格式覆盖** | TXT、Markdown、DOCX、TMX、CSV、SRT/VTT、PO、XLIFF 1.2/2.0/SDLXLIFF、HTML、JSON、XLSX、PPTX、RTF。 |
|
|
39
|
-
| **面向 Agent** |
|
|
38
|
+
| **真实格式覆盖** | TXT、Markdown、DOCX、EPUB、TMX、CSV、SRT/VTT、PO、XLIFF 1.2/2.0/SDLXLIFF、HTML、JSON、XLSX、PPTX、RTF。 |
|
|
39
|
+
| **面向 Agent** | 十个工具共享当前文档和存储,Agent 可以与用户同时翻译。 |
|
|
40
40
|
|
|
41
41
|
## 快速开始
|
|
42
42
|
|
|
@@ -56,6 +56,9 @@ CAIT 为 DSH Web UI 和 DSH 桌面端增加一个 CAT 翻译工作台。它从
|
|
|
56
56
|
### 翻译记忆
|
|
57
57
|
|
|
58
58
|
- 支持多个 TM 库,每个库有 id、名称、挂载状态和默认写入库。
|
|
59
|
+
- **上下文匹配(ICE)为 101%。** 每次确认都会记录前后两句源文;之后相邻句相同的
|
|
60
|
+
句段得 101%,等级为 `context`;文本相同但相邻句不同仍为 100%。每个 key 最多保留
|
|
61
|
+
8 条上下文变体,并且始终保留无上下文的那一条。
|
|
59
62
|
- 支持精确、近似精确和三个模糊等级:
|
|
60
63
|
- `near_exact` 使用忽略数字、标点和空白后的 key 比较,不依赖分数阈值。
|
|
61
64
|
- `high_fuzzy` 为 `>= 0.85`,`medium_fuzzy` 为 `0.75–0.85`,
|
|
@@ -68,7 +71,8 @@ CAIT 为 DSH Web UI 和 DSH 桌面端增加一个 CAT 翻译工作台。它从
|
|
|
68
71
|
`bootstrap().tm.count` 是已挂载数量,`bootstrap().tm.total` 是所有库的总数。
|
|
69
72
|
完整数据请使用 `cat_lookup_tm` 或库面板。
|
|
70
73
|
- 支持 TMX 1.4 `<tu>/<tuv>/<seg>` 导入/导出。TMX 内联占位符会扁平化为
|
|
71
|
-
|
|
74
|
+
纯文本,并给出明确警告。上下文以 `<prop type="x-context">` 往返,所以 CAIT
|
|
75
|
+
自己导出的文件再导入后仍保留 101% 匹配。
|
|
72
76
|
|
|
73
77
|
### 术语库
|
|
74
78
|
|
|
@@ -77,11 +81,57 @@ CAIT 为 DSH Web UI 和 DSH 桌面端增加一个 CAT 翻译工作台。它从
|
|
|
77
81
|
- 支持 CSV/TSV 导入、术语备注、源语言过滤,以及工作台和
|
|
78
82
|
`cat_lookup_glossary` 都遵循的 `caseSensitive` 标记。
|
|
79
83
|
- 语言代码会规范化(`EN` → `en`,`ZH_cn` → `zh-CN`)。
|
|
84
|
+
- 任何库(无论是否挂载)里的条目都能编辑或删除;挂载状态只决定工作台搜索
|
|
85
|
+
和写入哪些库。
|
|
86
|
+
- **术语提取**:术语库工具栏的「从文档提取术语」会列出候选词,带出现次数、
|
|
87
|
+
记忆库里已有的译法和「已有」标记。统计负责找候选并排序(拉丁 n-gram;
|
|
88
|
+
中日韩重复子串用左右邻接熵过滤),模型只判断一份短名单——这正是模型擅长
|
|
89
|
+
的部分。
|
|
90
|
+
|
|
91
|
+
### 库页面
|
|
92
|
+
|
|
93
|
+
顶栏的「文档 / 库 / 对齐」在三个工作区之间切换,库页面不需要打开文档。
|
|
94
|
+
|
|
95
|
+
- TM 一张表、术语一张表,支持分页(20/50/100/200,会记住)、语言筛选,以及
|
|
96
|
+
可限定在任意若干库内的搜索。
|
|
97
|
+
- 右侧边栏直接编辑选中的条目、新增条目,并在有未保存改动时提示。
|
|
98
|
+
- TM 导出 **TMX**;术语库导出 **TBX**、**CSV** 或 **JSON**。导入与清空仍在同一
|
|
99
|
+
个工具栏里。
|
|
100
|
+
- 右侧面板的库按钮会把面板当前的搜索词一起带进库页面,在面板里查到的东西
|
|
101
|
+
可以接着在完整列表里看。
|
|
102
|
+
|
|
103
|
+
### 对齐
|
|
104
|
+
|
|
105
|
+
顶栏的「文档 / 库 / 对齐」第三个视图用两份成品文件建记忆库:源文一份、
|
|
106
|
+
译文一份,可以是完全不同的语言,格式任选。
|
|
107
|
+
|
|
108
|
+
- 跨语言打分:共享锚点(数字、`{0}` 占位符、URL、首字母大写的名字)、按语言
|
|
109
|
+
归一化的长度比例、段落结构。刻意不用字面相似度,因为它比不了两种语言。
|
|
110
|
+
- 分块动态规划可以配对 1:1、1:0、0:1、2:1、1:2;每行分高置信 / 待确认 / 可疑
|
|
111
|
+
三档,只有高置信默认勾选。
|
|
112
|
+
- 写入前每行都能与下一行合并、按换行拆开或删除;目标库在工具栏里选,完全
|
|
113
|
+
相同的条目会被跳过而不是重复写入。
|
|
80
114
|
|
|
81
115
|
### 工作台
|
|
82
116
|
|
|
83
117
|
- 按段落/句子切分,并逐句编辑译文。
|
|
84
|
-
-
|
|
118
|
+
- 句段三态:**待译** → **待审** → **已确认**,同时记录每句译文的来源
|
|
119
|
+
(`tm`、`mt`、`agent`、`manual`)。句段栏可按状态筛选,搜索覆盖原文、
|
|
120
|
+
译文和建议。
|
|
121
|
+
- **句段分页**:句段栏按 20/50/100/200 的页大小分页,并有一个输入框可直接
|
|
122
|
+
跳到某个编号。如果目标句段被当前筛选隐藏,跳转时会先清空筛选。
|
|
123
|
+
- **预翻译** 用 TM 精确命中加机器翻译把整篇铺底:按小块推进,显示
|
|
124
|
+
`已完成/总数`,可在块与块之间停止;已确认或已有译文的句段永远不会被覆盖。
|
|
125
|
+
- **上下排列的审校区**:原文、机器/agent 基线、可编辑译文从上到下依次排列,
|
|
126
|
+
每一块都占满面板宽度。**全部确认** 在一次确认弹窗后接受所有待审句段。
|
|
127
|
+
- 支持保存草稿、确认并下一句、上一句/下一句导航和进度。当前句段与草稿会
|
|
128
|
+
防抖落盘,重启后能回到原位。
|
|
129
|
+
- **重复句段自动同步**:确认一句后,本文档里其它相同原文的未确认句段会填上
|
|
130
|
+
同一译文(来源 `auto`),编辑草稿也会同步;「铺满重复句段」可一次性处理整篇。
|
|
131
|
+
已确认的句段永远不动。
|
|
132
|
+
- 句段栏里的 QA 提醒与导出前的汇总:占位符/标签缺失、数字不一致、
|
|
133
|
+
术语未使用、空译文、译文仍是原文、同一原文多种译法。只提醒,不阻挡导出,
|
|
134
|
+
也不写盘。
|
|
85
135
|
- 文档标签页;关闭标签页不会删除文档。
|
|
86
136
|
- **打开已有文档** 可重新打开已关闭的文档。
|
|
87
137
|
- **设置 → 界面** 提供界面语言切换:跟随 DSH 语言(默认)、简体中文、English、
|
|
@@ -91,9 +141,22 @@ CAIT 为 DSH Web UI 和 DSH 桌面端增加一个 CAT 翻译工作台。它从
|
|
|
91
141
|
不会影响 TM、术语库或其他文档。
|
|
92
142
|
- 同格式、同内容的再次导入会复用已有文档,而不是新建重复文档。
|
|
93
143
|
指纹覆盖语言、源文、格式和交换元数据。
|
|
94
|
-
- 响应式密度:工作台测量自身 DSH
|
|
95
|
-
缩放系数。1600×900 面板约为 1.
|
|
96
|
-
|
|
144
|
+
- 响应式密度:工作台测量自身 DSH 面板,并应用经过衰减的 1×–1.45× `--cait-u`
|
|
145
|
+
缩放系数。1600×900 面板约为 1.17×,最大化的 4K 面板停在 1.45×:
|
|
146
|
+
大窗口贴近 DSH 自带界面,不再比宿主明显放大。
|
|
147
|
+
- 工作台跟随 DSH 的亮/暗主题,包括原生控件(`color-scheme`),
|
|
148
|
+
下拉框、复选框和滚动条都与面板一致。
|
|
149
|
+
|
|
150
|
+
### 预处理
|
|
151
|
+
|
|
152
|
+
导入的源文在切句之前会经过预处理阶段:
|
|
153
|
+
|
|
154
|
+
- 折叠重复空格与制表符、去掉行首缩进、合并连续空行。
|
|
155
|
+
- 移除零宽字符和多余的控制字符。
|
|
156
|
+
- 占位符 token(`{1}`、`{2}`…)、标点、大小写和段落顺序保持不变,
|
|
157
|
+
因此 XLIFF/HTML/EPUB 的内联标记仍可正确往返。
|
|
158
|
+
- 三个步骤可在 **设置 → 预处理** 中分别开关,并随其他设置一起持久化。
|
|
159
|
+
它们作用于新导入和 `createDocument` 调用,不会改写已有文档。
|
|
97
160
|
|
|
98
161
|
### MT 辅助
|
|
99
162
|
|
|
@@ -114,15 +177,16 @@ provider/model/code/status,客户端只会收到 `MT_PROVIDER_FAILED`。
|
|
|
114
177
|
| 格式 | 导入 | 导出 | 说明 |
|
|
115
178
|
| --- | :---: | :---: | --- |
|
|
116
179
|
| TXT / Markdown | ✅ | ✅ | 按段落和句子切分 |
|
|
117
|
-
| CSV | ✅ | ✅ |
|
|
180
|
+
| CSV | ✅ | ✅ | 自动识别逗号、分号、制表符或竖线分隔;可通过表头名称或从 1 开始的列号指定源/目标列;现有双语导出 |
|
|
118
181
|
| DOCX | ✅ | ✅ | 正文段落;导入时排除表格块。导出会修改原包,保留样式、编号、图片、页眉、表格和版式。 |
|
|
119
|
-
|
|
|
182
|
+
| EPUB | ✅ | ✅ | 按 EPUB 3 spine 顺序读取 XHTML 文本块,内联标记保留为 token 并回写到保留的源包。不支持 DRM、固定版式和脚本化 EPUB。 |
|
|
183
|
+
| TMX 1.4 | ✅ | ✅ | 常见 `<tu>/<tuv>/<seg>` 子集;内联标记扁平化并警告;上下文用 `<prop type="x-context">` 往返 |
|
|
120
184
|
| SRT / WebVTT | ✅ | ✅ | 一个字幕 cue 对应一个句段;保留时间轴/设置/标识;保留语义标签;非法时间范围会拒绝 |
|
|
121
185
|
| PO | ✅ | ✅ | 支持上下文、复数形式、译者注释和废弃 `#~` 条目 |
|
|
122
186
|
| XLIFF 1.2 | ✅ | ✅ | 内联标签转换为 `{n}` token;缺少 token 时阻止确认 |
|
|
123
187
|
| XLIFF 2.0 | ✅ | ✅ | 基础 `<unit><segment><source>/<target>` 子集 |
|
|
124
188
|
| SDLXLIFF | ✅ | ✅ | 走基础 XLIFF 1.2 路径;SDL 专有扩展不会完整往返 |
|
|
125
|
-
| HTML | ✅ | ✅ |
|
|
189
|
+
| HTML | ✅ | ✅ | 保留文本块与内联标签;不重建文档级 CSS/版式 |
|
|
126
190
|
| JSON | ✅ | ✅ | 字符串路径子集;通过模板保留对象/数组结构;key 和数字不翻译 |
|
|
127
191
|
| XLSX | ✅ | ✅ | 第一个工作表;识别 `Source`/`Target` 表头或 A/B 列;导出为新的两列表格 |
|
|
128
192
|
| PPTX | ✅ | ✅* | 保留源格式导出;需要导入时保留的 `.pptx` 包。仅正文;备注/图表/SmartArt 不导入。 |
|
|
@@ -132,8 +196,25 @@ provider/model/code/status,客户端只会收到 `MT_PROVIDER_FAILED`。
|
|
|
132
196
|
而不是静默生成一个没有格式的演示文稿。
|
|
133
197
|
|
|
134
198
|
交换元数据(字幕时间轴、PO 上下文/复数/注释、XLIFF id 和内联 token 映射、
|
|
135
|
-
JSON 路径/模板、XLSX 行号、PPTX
|
|
136
|
-
|
|
199
|
+
JSON 路径/模板、XLSX 行号、PPTX 幻灯片/段落位置、EPUB spine href 和块序号)
|
|
200
|
+
会保存在文档/句段上,并随快照持久化。
|
|
201
|
+
|
|
202
|
+
### 不支持 PDF
|
|
203
|
+
|
|
204
|
+
CAIT 不导入 PDF,后续版本也不会加入 PDF 支持。PDF 是固定版式的打印格式,
|
|
205
|
+
没有逻辑段落、阅读顺序或内联标记;从中提取的文本会散落在绘图指令之间,
|
|
206
|
+
丢失标题、表格和内联强调,切出的句段对翻译记忆和 MT 都是很差的输入——
|
|
207
|
+
也就是说,PDF 极其不适合 AI 相关工作。
|
|
208
|
+
|
|
209
|
+
如果需要翻译 PDF 内容,请先转换成支持的格式,例如:
|
|
210
|
+
|
|
211
|
+
```sh
|
|
212
|
+
pandoc input.pdf -t docx -o output.docx # 或 -t html、-t markdown
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
也可以使用 Adobe Acrobat 的 **导出为 Word/HTML**、LibreOffice,或其他能生成
|
|
216
|
+
DOCX、HTML、EPUB 或纯文本的工具。扫描版 PDF 在转换前还需要 OCR;
|
|
217
|
+
CAIT 没有图片 OCR 阶段。
|
|
137
218
|
|
|
138
219
|
## 安装
|
|
139
220
|
|
|
@@ -149,7 +230,7 @@ CAIT 以 DSH bundle 的形式安装;发布的 npm 包名为 `dsh-cait`,插
|
|
|
149
230
|
plugin_manager install_bundle target: dsh-cait
|
|
150
231
|
```
|
|
151
232
|
|
|
152
|
-
需要固定版本时写 `dsh-cait@1.
|
|
233
|
+
需要固定版本时写 `dsh-cait@1.1.3`,需要最新版时写 `dsh-cait@latest`。管理器会解析 registry
|
|
153
234
|
上的包、应用 bundle patch 并激活插件,不需要手工在配置档里加行。
|
|
154
235
|
|
|
155
236
|
使用 CLI 管理的配置档:
|
|
@@ -214,7 +295,7 @@ dsh web --patch C:\absolute\path\to\dsh-CAIT\_dev\cait.patch.yml
|
|
|
214
295
|
```
|
|
215
296
|
|
|
216
297
|
快照保存文档、打开的标签页、TM、术语库、库、挂载关系和非敏感设置。
|
|
217
|
-
导入的 DOCX/PPTX 源包放在 `sources/` 下。
|
|
298
|
+
导入的 DOCX/PPTX/EPUB 源包放在 `sources/` 下。
|
|
218
299
|
|
|
219
300
|
界面内的**设置**保存在快照里,而不是上面的 YAML:源语言/目标语言、模糊阈值、
|
|
220
301
|
TM 返回条数、MT 路由/模型/温度,以及界面语言(`uiLang`:`auto` | `zh` | `en` |
|
|
@@ -226,7 +307,8 @@ TM 返回条数、MT 路由/模型/温度,以及界面语言(`uiLang`:`aut
|
|
|
226
307
|
|
|
227
308
|
如果快照损坏或版本未知,CAIT 会记录警告,将其移动到
|
|
228
309
|
`store.json.corrupt-<timestamp>`,然后以空状态启动,而不是让插件激活失败。
|
|
229
|
-
版本 1 快照会迁移到版本
|
|
310
|
+
版本 1、2 快照会迁移到版本 3,并创建默认 TM 和术语库;版本 2 里「有译文但未
|
|
311
|
+
确认」的草稿会变成 `translated`,来源记为 `manual`。
|
|
230
312
|
|
|
231
313
|
## Agent 工具
|
|
232
314
|
|
|
@@ -239,6 +321,19 @@ TM 返回条数、MT 路由/模型/温度,以及界面语言(`uiLang`:`aut
|
|
|
239
321
|
| `cat_list_documents` | 列出文档和进度 |
|
|
240
322
|
| `cat_switch_document` | 选择活动文档 |
|
|
241
323
|
| `cat_suggest_mt` | 通过所选 DSH 路由调用 MT,或使用明确的离线回退 |
|
|
324
|
+
| `cat_pre_translate` | 用 TM + MT 填一块,跳过已确认/已有译文的句段,返回 `next` |
|
|
325
|
+
| `cat_get_segments` | 取一段有界句段窗口,含状态、来源和建议 |
|
|
326
|
+
| `cat_confirm_segments` | 确认索引列表、一段窗口,或全部待审句段 |
|
|
327
|
+
| `cat_propose_translation` | 只留下建议和理由,不动已确认的译文 |
|
|
328
|
+
| `cat_align` | 对齐两段文本,报告高置信 / 待确认 / 可疑的配对 |
|
|
329
|
+
| `cat_consistency_report` | 按原文分组列出译文不一致的句段 |
|
|
330
|
+
| `cat_term_candidates` | 术语候选短名单:频次、例句、记忆库里已有的译法 |
|
|
331
|
+
| `cat_add_terms` | 一次性把选中的术语写进术语库 |
|
|
332
|
+
|
|
333
|
+
因此 Agent 可以完全不点界面就把整篇铺底:反复调用 `cat_pre_translate`
|
|
334
|
+
(`from: next`)直到 `next` 为 `null`,用 `cat_get_segments` 查看,再用
|
|
335
|
+
`cat_confirm_segments` 批量接受。做术语时读 `cat_term_candidates`,判断这份
|
|
336
|
+
短名单,再用 `cat_add_terms` 写入。
|
|
242
337
|
|
|
243
338
|
工作台和工具共用一个 `CatStore`,因此 Agent 可以翻译用户当前打开的同一份文档。
|
|
244
339
|
|
|
@@ -248,7 +343,7 @@ TM 返回条数、MT 路由/模型/温度,以及界面语言(`uiLang`:`aut
|
|
|
248
343
|
flowchart LR
|
|
249
344
|
UI["DSH Web UI<br/>(侧栏 + 工作台)"] --> Client["client.js<br/>生成的 Web bundle"]
|
|
250
345
|
Client --> API["/cait/api/rpc<br/>同源 JSON"]
|
|
251
|
-
Tools["
|
|
346
|
+
Tools["15 个 Agent 工具"] --> Store["CatStore"]
|
|
252
347
|
API --> Store
|
|
253
348
|
Store --> Snapshot[("store.json<br/>+ sources/")]
|
|
254
349
|
```
|
|
@@ -286,6 +381,9 @@ cait/
|
|
|
286
381
|
│ ├─ persistence.js
|
|
287
382
|
│ ├─ import-export.js
|
|
288
383
|
│ ├─ formats.js # CSV/SRT/VTT/PO/XLIFF/HTML/JSON/RTF
|
|
384
|
+
│ ├─ html.js # 共享 HTML/XHTML 文本块扫描与回写
|
|
385
|
+
│ ├─ epub.js # EPUB 包读取 / spine 导入 / 回写导出
|
|
386
|
+
│ ├─ preprocess.js # 导入期源文预处理阶段
|
|
289
387
|
│ ├─ xlsx.js
|
|
290
388
|
│ ├─ pptx.js
|
|
291
389
|
│ ├─ segmenter.js
|
|
@@ -314,6 +412,8 @@ node --check client.js
|
|
|
314
412
|
node _dev/test-core.mjs
|
|
315
413
|
node _dev/test-imports.mjs
|
|
316
414
|
node _dev/test-formats.mjs
|
|
415
|
+
node _dev/test-epub.mjs
|
|
416
|
+
node _dev/test-preprocess.mjs
|
|
317
417
|
node _dev/test-second-tier.mjs
|
|
318
418
|
node _dev/test-docx-export.mjs
|
|
319
419
|
node _dev/test-api.mjs
|
|
@@ -328,7 +428,7 @@ node _dev/test-mt.mjs
|
|
|
328
428
|
|
|
329
429
|
导入/导出 fixture 为 `_dev/sample.docx`、`_dev/sample-table.docx` 和
|
|
330
430
|
`_dev/sample-format.docx`;可用对应的 `python _dev/make-*.py` 脚本重新生成。
|
|
331
|
-
|
|
431
|
+
15 套测试应全部通过。
|
|
332
432
|
|
|
333
433
|
### 发布
|
|
334
434
|
|
|
@@ -366,7 +466,10 @@ GitHub release 发布。
|
|
|
366
466
|
|
|
367
467
|
## 已知限制与路线图
|
|
368
468
|
|
|
369
|
-
-
|
|
469
|
+
- 不支持 PDF 导入;PDF 已被明确排除在范围外(见
|
|
470
|
+
[不支持 PDF](#不支持-pdf))。暂不支持图片 OCR。
|
|
471
|
+
- EPUB 导入只覆盖 spine 中的正文 XHTML 文本块;不支持 DRM、固定版式、
|
|
472
|
+
脚本化以及大量使用 MathML 的电子书。
|
|
370
473
|
- DOCX 导入会跳过表格、页眉、脚注、域、替代文本和修订删除内容。
|
|
371
474
|
DOCX 导出时这些区域保持源语言。
|
|
372
475
|
- DOCX/PPTX 中混合 run 的段落会继承第一个 run 的格式。
|
|
@@ -374,18 +477,26 @@ GitHub release 发布。
|
|
|
374
477
|
- XLSX 导入/导出是两列表格;不保留单元格样式、公式、合并单元格、图片和额外工作表。
|
|
375
478
|
- HTML/RTF 导出不往返原始样式;JSON 只翻译字符串值。
|
|
376
479
|
- TM 匹配是词法级的,不是语义级;没有词干、同义词或向量。
|
|
377
|
-
-
|
|
480
|
+
- 每个上下文下,同一原文存一条译文:重复的句子会为每种相邻句组合保留一条变体,
|
|
481
|
+
每个 key 上限 8 条;相邻句不同时回落到无上下文的通用条目。
|
|
482
|
+
- 上下文只取前后两句源文,不包含文档、客户或项目元数据。
|
|
483
|
+
- TBX 与 JSON 术语导出是单向的;只有 TMX 和 CSV 能再导入回来。
|
|
378
484
|
- 工作台界面提供中文、English、日本語三种语言,可在设置中切换;README 提供英文、简体中文和日文三个版本,以英文版为准。
|
|
379
485
|
|
|
380
|
-
|
|
381
|
-
|
|
486
|
+
后续计划:通过多模态 DSH 路由支持图片/视觉输入、保留样式的 XLSX 输出,
|
|
487
|
+
以及 XLIFF `<alt-trans>` / 注释支持。
|
|
382
488
|
|
|
383
489
|
## 变更日志与版本
|
|
384
490
|
|
|
385
491
|
见 [CHANGELOG.md](CHANGELOG.md)。`v1.0.0` 是首个公开发布版本,`v1.0.1` 增加了
|
|
386
492
|
日语界面和界面内语言切换,`v1.0.2` 让「跟随 DSH 语言」真正跟随 DSH 的语言设置,
|
|
387
|
-
`v1.0.3` 把包发布到 npm,`v1.0.4` 起后续版本改由带 provenance
|
|
388
|
-
|
|
493
|
+
`v1.0.3` 把包发布到 npm,`v1.0.4` 起后续版本改由带 provenance 的发布流水线产出,
|
|
494
|
+
`v1.0.5` 增加 EPUB、导入预处理和 PDF 政策,`v1.1.0` 增加 agent 驱动的预翻译、
|
|
495
|
+
句段三态、上下排列的审校区和轻量 QA,`v1.1.1` 增加带 TMX/TBX/CSV/JSON 导出的
|
|
496
|
+
库页面、句段分页,以及从右侧面板跳进库页面,`v1.1.2` 增加带 101%(ICE)
|
|
497
|
+
匹配的上下文记忆,`v1.1.3` 增加双文件对齐、重复句段自动同步、术语提取,
|
|
498
|
+
以及 agent 写建议用的原语;项目在开发阶段使用 `0.1.0`,
|
|
499
|
+
发布到 GitHub 前统一改为 `1.0.0`。
|
|
389
500
|
|
|
390
501
|
> **License:** Apache License 2.0,见 [LICENSE](LICENSE)。再分发时需保留
|
|
391
502
|
> [NOTICE](NOTICE) 中的署名信息。
|