pocket_dict_5000轻量离线词表

pocket_dict_5000

https://github.com/FirepadCN/pocket_dict_5000

📚 Common English Words Dictionary

License: MIT Dart Flutter Star History Rank 996.icu

一个轻量级的英汉词典词典数据包(Dart/Flutter),收录约 5000 个最常用英语单词及变形索引,适用于单词查询、释义展示等场景。 A lightweight English-Chinese Dictionary data package for Dart/Flutter. Includes ~5,000 most common English words with inflection mappings. Ideal for word lookup and Chinese definition display.

示例

'abandon': CommonWordEntry(word: 'abandon', pronunciation: 'ә'bændәn', meaning: 'vt. 放弃, 抛弃, 遗弃, 使屈从, 沉溺, 放纵;n. 放任, 无拘束, 狂热'),

✨ 特性

  • 📦 即拿即用:纯 Dart Map 数据结构,无需额外解析
  • 🔍 变形索引:支持 abandonedabandoning 等变形词查询,自动映射到原形
  • 📖 完整释义:包含单词、国际音标、中文释义
  • 🪶 轻量小巧:仅约 5000 常用词,包体积小
  • 🎯 零依赖:纯 Dart 实现,兼容 Flutter 和纯 Dart 项目

📦 安装

Flutter

version: 1.0.0
repository: https://github.com/FirepadCN/pocket_dict_5000
 

筛选依据: 选取 ECDICT 元数据中带有以下标记之一的词条:

标记 含义 原始出处
oxford=1 牛津 3000 高频词 Oxford 3000(牛津大学出版社)
bnc 词频排名 British National Corpus(英国国家语料库)
frq 词频排名 Corpus of Contemporary American English(当代美国英语语料库)
zk / gk 中学教材 / 课标词汇 国内中高考英语大纲词汇

通过上述筛选,最终收录约 5000 个最常用、最具学习价值的英语单词及变形索引,在保持词典轻量的同时确保内容贴合实际使用需求。

筛选逻辑

  1. 候选集(isCandidate) 满足任一即入候选(总 9516 词):
  • oxford=1(牛津 3000 标记),或
  • tag 含 zk/gk(中学教材),或
  • bnc ≤ 8000(英国国家语料频次),或
  • frq ≤ 8000(COCA 频次)
  1. 排名分 score = min(有效 bnc, 有效 frq),两者都无效则记 Infinity(排最后)。

  2. 强制保留 + 补足

  • mustKeep:所有 oxford 或 zk/gk 词(必留),同分时优先保 oxford。
  • others:其余候选按 score 升序。
  • 先取 mustKeep,再按 score 从 others 补足到 5000。
  1. 质量门(被拒不占名额,顺延补齐)
  • 空词 / 词形非法(非 [A-Za-z-])/ 无中文释义 → 剔除。
  1. 命中 key 归一化 word.toLowerCase().replace(/[^a-z-]/g,''),与客户端 normalizeEnglishToken 一致。

  2. 词形展开(生成 12476 个 key,远超 5000 基础词)

  • 6.1 基础词自身 key 优先。
  • 6.2 用 ECDICT exchange 字段展开变形(过去式 p/过去分词 d/进行时 i/三单 3/复数 s/比较级 r/最高级 t),变形 key 指向基础词形条目(grows→grow)。
  • 6.3 0:lemma 桥接:未选中的不规则词形,若其 lemma 在选中集合内,则映射到该 lemma 条目。

输出:按 key 字典序稳定排序,写入 common_words_data.dart(Map<String, CommonWordEntry>),含基础词形展示、音标、中文释义。全程确定性(固定种子抽样 + 稳定排序),可重跑。

posted @ 2026-08-21 15:52  世纪末の魔术师  阅读(1)  评论(0)    收藏  举报