feat: 英汉词典与规范音标、多词典并存 (#40) #41

Merged
ila merged 2 commits from feat/40-english-chinese-dictionary into main 2026-09-16 21:42:15 +08:00
Owner

工单 #40 的实现与证据见 #40 。

  • 资源:scripts/dict_prepare.py 从三个 sha256 pin 的源(ECDICT StarDict / CMUdict / WordNet 词表)
    显式准备英汉资源:82,721 条中文释义,3,003,208 字节,条目数在 pin 容差内、音标字符集校验为 0 才产出;
    产物不入库,仓库只保存 pin 文件与两份许可证(ECDICT MIT、CMUdict BSD-2)。
  • 音标:优先 CMUdict ARPAbet→IPA 固定映射(35,799 条,如 curiosity /kjˌʊɹiˈɑːsəti/),
    否则保留 ECDICT 记法仅做字符级规范化并标注来源(30,580 条),两者都不可靠就不显示(16,342 条);
    含 ^ 等丢失首音的记法整条丢弃,不做语义猜测(1,038 条)。
  • schema v12:放开 lexgo_dictionaries 单行 CHECK 并增加 provider 列,两步都带条件守卫,
    可重放、可回退;既有词典行通过默认值仍是 WordNet 槽位。
  • 查词合并:中文释义在前、英英释义随后,音标取自词目且不复制到经 lemma 解析的屈折形;
    两本词典可分别启停,缺失或损坏时降级为只用另一本,都不可用时维持 resource_missing。
  • 测试:Go 96 项(新增 4 项:解析与查找、未审资源拒绝、合并顺序、两词典真实导入与启停);
    学习端 159 单测、26 e2e(含 390×844 触摸视口下面板不溢出的既有检查);管理端 32 项 + lint;
    真实 API 28 项检查(导入、字节一致、合并显示、屈折形、分别启停、降级与恢复)。
  • 未验证:真机触摸与音频体验缺口沿用 #14/#21/#37 记录;grok 这类两个来源都不可靠的词不显示音标。

不合并既有 PR,基准分支为已验收的 main。

工单 #40 的实现与证据见 https://git.ilapage.cn/OPC/lexgo/issues/40 。 - **资源**:`scripts/dict_prepare.py` 从三个 sha256 pin 的源(ECDICT StarDict / CMUdict / WordNet 词表) 显式准备英汉资源:82,721 条中文释义,3,003,208 字节,条目数在 pin 容差内、音标字符集校验为 0 才产出; 产物不入库,仓库只保存 pin 文件与两份许可证(ECDICT MIT、CMUdict BSD-2)。 - **音标**:优先 CMUdict ARPAbet→IPA 固定映射(35,799 条,如 curiosity `/kjˌʊɹiˈɑːsəti/`), 否则保留 ECDICT 记法仅做字符级规范化并标注来源(30,580 条),两者都不可靠就不显示(16,342 条); 含 `^` 等丢失首音的记法整条丢弃,不做语义猜测(1,038 条)。 - **schema v12**:放开 `lexgo_dictionaries` 单行 CHECK 并增加 `provider` 列,两步都带条件守卫, 可重放、可回退;既有词典行通过默认值仍是 WordNet 槽位。 - **查词合并**:中文释义在前、英英释义随后,音标取自词目且不复制到经 lemma 解析的屈折形; 两本词典可分别启停,缺失或损坏时降级为只用另一本,都不可用时维持 `resource_missing`。 - **测试**:Go 96 项(新增 4 项:解析与查找、未审资源拒绝、合并顺序、两词典真实导入与启停); 学习端 159 单测、26 e2e(含 390×844 触摸视口下面板不溢出的既有检查);管理端 32 项 + lint; 真实 API 28 项检查(导入、字节一致、合并显示、屈折形、分别启停、降级与恢复)。 - **未验证**:真机触摸与音频体验缺口沿用 #14/#21/#37 记录;`grok` 这类两个来源都不可靠的词不显示音标。 不合并既有 PR,基准分支为已验收的 main。
ila added 1 commit 2026-09-16 13:17:51 +08:00
- ECDICT 常用子集(82,721 条,含中文释义)与 CMUdict ARPAbet→IPA 转写音标,
  由 scripts/dict_prepare.py 从 sha256 pin 的源显式准备,运行时不联网。
- schema v12:放开 lexgo_dictionaries 单行约束并增加 provider 列,英英与英汉词典
  可分别启用;查词合并时中文释义在前、英英释义随后。
- 音标只取可验证来源:优先 CMUdict 转写,否则保留 ECDICT 记法并标注来源,
  两者都不可靠时不显示;含 ^ 等丢失首音的记法整条丢弃。
- 屈折形经 WordNet lemma 解析后回查中文词典,但不把词目音标复制到屈折形上。
- 管理端可区分两种词典并分别启停;学习端查词面板显示音标与中文释义。
ila added 1 commit 2026-09-16 13:27:20 +08:00
ila merged commit a412e000c0 into main 2026-09-16 21:42:15 +08:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/lexgo#41