轻量级离线单词闪卡-英语克星
英语单词克星——基于 HTML+JSON 的智能闪卡学习工具(附完整源码 + JSON 详解)
一款轻量级、可离线使用的单词闪卡学习应用,支持 AI 生成词库、默写模式、间隔重复算法、深色主题、数据导入导出及丰富的开发者调试功能。
项目简介
传统的单词卡片学习方式难以追踪进度,而许多背单词 App 又过于臃肿。本项目采用纯原生 Web 技术(HTML5 + CSS3 + JavaScript),实现了一个高度可自由定制、数据透明的闪卡学习工具。
- 核心技术:原生 HTML/CSS/JS,无需任何外部依赖
- 数据格式:JSON(结构自由,可 AI 生成,
实际上不建议手搓) - 特色亮点:
- 3D 翻转卡片,毛玻璃视觉效果
- 支持中译英 / 英译中两种默写方向,随机模式
- 基于“认识 / 模糊 / 不认识”的自适应复习间隔(可调)
- 掌握进度环形图、连续打卡徽章
- 生词本、错词本、收藏夹
- (半自动)语音朗读(Web Speech API)
- 完全本地存储(LocalStorage),无后端依赖
- 开发者控制台(
作弊器、批量操作、复习时间编辑)
核心功能
学习交互
- 单词翻卡:点击卡片或按空格键实现平滑 3D 翻转,正面显示英文及音标,背面显示中文释义、例句、同反义词、词根。
- 默写模式:切换后卡片锁定一面,出现输入框。用户输入答案后自动判断对错,正确则自动跳到下一个单词并标记为“认识”,错误则加入错词本。
- 方向切换:支持中译英、英译中、随机方向(每次随机一种方向,可实时切换)。
数据管理
- 词库导入:支持选择 JSON 文件或拖拽文件到页面任意位置,自动解析。
- 词库导出:可将当前词库导出为 JSON 文件,便于备份或分享。
- 自定义词库:项目内置了 AI 提示词模板,复制后发送给豆包、DeepSeek 等 AI,即可获得符合格式的 JSON 单词表。
学习追踪
- 进度统计:环形进度条展示已掌握单词数量,并显示具体数字。
- 连续打卡徽章:记录每日学习,中断则重置,激励持续学习。
- 间隔重复算法:每个单词根据用户反馈(认识/模糊/不认识)计算下一次复习时间,到期自动优先出现。
设计特色
- 毛玻璃视觉效果:使用
backdrop-filter: blur(14px)和半透明背景,营造沉浸式学习体验。 - 响应式布局:通过
viewport设置和 CSS 媒体查询,完美适配手机、平板、桌面端。 - 流畅动效:卡片翻转采用
transform-style: preserve-3d和cubic-bezier缓动,动画自然。 - 深色模式:一键切换深色/浅色主题,并自动记忆用户偏好。
- 可扩展架构:所有学习状态(掌握列表、错词本、记忆时间等)均存储于
localStorage,且不同词库的进度相互隔离。
JSON 技术详解(有大佬可以进行指正)
JSON 基础
JSON(JavaScript Object Notation)是一种轻量级数据交换格式,基于 JavaScript 对象字面量语法,但独立于语言。几乎所有现代编程语言都支持 JSON 的解析与生成。
语法规则
- 数据以 键值对 形式存在,键必须用双引号包裹。
- 值只能是以下六种类型:
- 字符串(双引号)
- 数值(整数或浮点数)
- 布尔值(
true/false) - 数组(方括号,元素可以是任意类型)
- 对象(花括号,键值对集合)
null(空)
- 不允许有注释、末尾逗号、未定义的键或函数。
示例(本小程序适配)
{
"type": "w",
"string": "apple",
"read": "/ˈæpəl/",
"chinese": "苹果",
"example": "I eat an apple every day.",
"exampleChinese": "我每天吃一个苹果。",
"synonyms": ["fruit"],
"antonyms": [],
"root": "来自古英语 æppel"
}
本项目的 JSON 数据结构
一个完整的词库文件是一个 JSON 数组,每个元素代表一个单词或短语,必须包含以下字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
type |
string | 是 | "w" (单词) 或 "s" (短语) |
string |
string | 是 | 英文单词或短语 |
chinese |
string | 是 | 中文释义 |
read |
string | 否 | 音标(例如 "/ˈæpəl/") |
example |
string | 否 | 英文例句 |
exampleChinese |
string | 否 | 例句中文翻译 |
synonyms |
array | 否 | 同义词列表 |
antonyms |
array | 否 | 反义词列表 |
root |
string | 否 | 词根/词缀说明 |
AI 生成提示词(项目内已内置):
请根据我提供的单词/短语照片,生成一个可直接复制的JSON数组。每个对象必须包含以下字段:
"type": "w"(单词) 或 "s"(短语),
"string": "英文",
"read": "/音标/",
"chinese": "中文释义",
"example": "高质量英文例句",
"exampleChinese": "例句中文翻译",
"synonyms": ["同义词1","同义词2"],
"antonyms": ["反义词1"],
"root": "词根词缀说明"
严格按此格式,不要添加额外解释。
JSON 在项目中的解析与存储
-
文件导入:使用
FileReader读取.json文件,JSON.parse()转换为 JavaScript 数组,并进行有效性校验(必须包含string和chinese字段)。 -
本地存储:学习进度(已掌握列表、错词本、收藏夹、记忆时间表等)分别存储于
localStorage,键名格式为flashcore_v4_${currentFile}_${key},实现不同词库的进度隔离。 -
导出:
JSON.stringify(words, null, 2)生成格式化 JSON 并触发下载。
JSON 常见问题与调试技巧
-
解析失败:多数由于末尾多了一个逗号、键未用双引号、单引号混用。推荐使用 JSONLint 校验。
-
字符编码:中文应直接使用 Unicode 字符(非
\u转义也可,JSON 规范允许原样输出)。 -
大数据量优化:本项目的词库一般不超过几千词,直接
JSON.parse无性能问题。如需超大型词库可考虑分片或 IndexedDB。
核心代码逻辑解析
整体架构
整个应用是一个单 HTML 文件,内部包含 style 样式、div 布局和 script 逻辑。主要分为以下模块:
-
UI 层:卡片容器、控制按钮、统计区域、模态框等。
-
数据层:
words数组、mastered、favorites、wrongWords、memory等全局状态。 -
存储层:
localStorage读写函数(saveData/loadData)。 -
核心算法:基于间隔重复的单词抽取(
nextReviewWord)、进度更新、记忆记录(recordMemory)。 -
交互层:事件监听(点击、键盘、拖拽)、语音朗读、默写模式判断。
关键代码片段解读
1. 间隔重复抽取逻辑
function nextReviewWord() {
if (!words.length) return null;
const now = Date.now();
const dueWords = words.filter(w => {
const m = memory[w.string];
return m && m.nextReview <= now;
});
if (dueWords.length) return dueWords[Math.floor(Math.random() * dueWords.length)];
const unmastered = words.filter(w => !mastered.includes(w.string));
if (unmastered.length) return unmastered[Math.floor(Math.random() * unmastered.length)];
return null;
}
-
优先返回已到期的单词(
nextReview <= 当前时间)。 -
若无到期单词,则随机返回一个尚未掌握的单词。
-
若全部掌握,返回
null并触发完成祝贺。
2. 记录记忆等级与复习时间
function recordMemory(level) {
const w = words[currentIndex];
memory[w.string] = { level, nextReview: Date.now() + intervalsConfig[level] };
if (level === 'known') {
if (!mastered.includes(w.string)) mastered.push(w.string);
wrongWords = wrongWords.filter(x => x !== w.string);
} else if (level === 'forgot') {
if (!wrongWords.includes(w.string)) wrongWords.push(w.string);
mastered = mastered.filter(x => x !== w.string);
}
saveData(); updateProgress(); randomWord();
}
-
intervalsConfig存储三种等级对应的毫秒间隔(默认:认识 7 天,模糊 1 天,忘记 1 小时),可在开发者面板调整。 -
标记“认识”后,单词进入
mastered数组并从错词本移除;标记“忘记”则相反。 -
调用
randomWord()自动跳转下一个待复习单词。
3. 默写模式的方向与卡片翻转控制
function enableDictationMode(enable) {
dictationMode = enable;
if (enable) {
if (randomDirection) dictationDirection = Math.random() < 0.5 ? 'cn2en' : 'en2cn';
const targetFlipped = (dictationDirection === 'cn2en'); // cn2en 需要显示背面(因为背面是释义区)
if (isFlipped !== targetFlipped) flip();
activateQuiz();
} else {
deactivateQuiz();
if (isFlipped) flip(false);
}
updateDictationUI();
}
-
当方向为
'cn2en'(中文→英文)时,卡片应显示背面(背面包含输入框,供用户填写英文)。 -
当方向为
'en2cn'时,显示正面,输入框在正面。 -
activateQuiz()会根据当前活动侧显示对应的输入框和按钮。
4. 本地存储隔离
function storageKey(k) { return `flashcore_v4_${currentFile}_${k}`; }
-
每个词库文件(如
"ielts")拥有独立的mastered、memory等存储项,避免不同词库之间互相覆盖。
5. 开发者控制台(动态 UI)
开发者面板通过 openDevModal() 动态生成 HTML 并绑定事件。其中一些实用功能:
-
cheat.masterAll():将所有单词标记为已掌握。 -
cheat.setStreak(days):伪造连续打卡天数。 -
devShiftAll:将所有单词的复习时间增加 24 小时(用于加快或推迟复习)。 -
devMergeImport:合并另一个备份文件中的mastered、wrongWords和memory,适合多设备同步。
事件绑定与快捷键
文档中监听了全局键盘事件:
document.addEventListener('keydown', e => {
if (e.key === 'ArrowLeft') showEntry(currentIndex - 1);
if (e.key === 'ArrowRight') showEntry(currentIndex + 1);
if (e.key === ' ' || e.code === 'Space') { e.preventDefault(); flip(); }
if (e.key === 'r' || e.key === 'R') randomWord();
if (e.key === 'd' || e.key === 'D') enableDictationMode(!dictationMode);
if (e.ctrlKey && e.key === 'q') window.cheat.fillAnswer(); // 作弊填充
});
-
空格翻转卡片,左右箭头切换单词,R 键随机抽词,D 键切换默写模式,Ctrl+Q 自动填充正确答案(
真*调试用)完整源代码
以下是项目的完整 HTML 代码。保存为
.html/.htm 文件即可在浏览器中运行。<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes, maximum-scale=2.0, viewport-fit=cover, theme-color=#4b6e8c"> <title>📚 英语单词闪卡 · 开发者版</title> <style> :root { --bg-start: #e8f0fe; --bg-end: #f2f6fc; --glass-bg: rgba(255,255,255,0.75); --card-bg: rgba(255,255,255,0.92); --text: #1e293b; --text2: #475569; --text3: #64748b; --accent: #c08b4a; --star: #eab308; --primary: #4b6e8c; --danger: #dc2626; --success: #16a34a; --border: rgba(0,0,0,0.06); --shadow: 0 25px 50px -12px rgba(0,0,0,0.15); --quiz-bg: rgba(255,255,255,0.7); } .dark-mode { --bg-start: #0f172a; --bg-end: #1e293b; --glass-bg: rgba(30,41,59,0.8); --card-bg: rgba(30,41,59,0.95); --text: #f1f5f9; --text2: #cbd5e1; --text3: #94a3b8; --border: rgba(255,255,255,0.08); --quiz-bg: rgba(30,41,59,0.75); } * { margin:0; padding:0; box-sizing:border-box; } body { font-family: 'Inter', 'Noto Sans SC', 'PingFang SC', system-ui, sans-serif; background: linear-gradient(135deg, var(--bg-start), var(--bg-end)); min-height: 100vh; display: flex; justify-content: center; align-items: center; padding: 20px; transition: background 0.3s, color 0.3s; -webkit-tap-highlight-color: transparent; user-select: none; } .app { max-width: 700px; width: 100%; display: flex; flex-direction: column; gap: 16px; } .glass { background: var(--glass-bg); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid var(--border); border-radius: 24px; padding: 20px; box-shadow: 0 8px 32px rgba(0,0,0,0.04); } h1 { font-size: 1.7rem; color: var(--text); text-align: center; } .subtitle { font-size: 0.8rem; color: var(--text3); text-align: center; margin-top: 4px; } .toolbar { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; align-items: center; } .btn { padding: 8px 16px; border-radius: 20px; border: none; font-weight: 600; cursor: pointer; background: var(--glass-bg); color: var(--text2); backdrop-filter: blur(4px); display: inline-flex; align-items: center; gap: 4px; font-size: 0.82rem; transition: 0.2s; box-shadow: 0 2px 8px rgba(0,0,0,0.04); white-space: nowrap; } .btn:hover { filter: brightness(1.08); transform: translateY(-1px); } .btn.primary { background: var(--primary); color: white; } .btn.accent { background: var(--accent); color: white; } .btn.danger { background: var(--danger); color: white; } .btn.small { padding: 5px 10px; font-size: 0.7rem; border-radius: 14px; } .btn.tiny { padding: 2px 8px; font-size: 0.65rem; border-radius: 10px; } #fileNameBadge { cursor: pointer; transition: 0.2s; } #fileNameBadge:hover { background: rgba(128,128,128,0.1); transform: scale(1.02); } .stats { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: center; } .progress-ring svg { width: 52px; height: 52px; transform: rotate(-90deg); } .circle-bg { stroke: rgba(128,128,128,0.12); } .circle-fill { stroke: var(--primary); transition: stroke-dashoffset 0.5s; } .streak-badge { background: #fef3c7; color: #b45309; padding: 4px 12px; border-radius: 20px; font-weight: 600; font-size: 0.8rem; } .card-scene { perspective: 1200px; width: 100%; height: 420px; position: relative; margin: 8px auto; } .card-inner { position: relative; width: 100%; height: 100%; transition: transform 0.6s cubic-bezier(0.4,0,0.2,1); transform-style: preserve-3d; } .card-inner.flipped { transform: rotateY(180deg); } .card-face { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; border-radius: 28px; background: var(--card-bg); backdrop-filter: blur(8px); box-shadow: var(--shadow); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px 24px; overflow-y: auto; gap: 6px; } .card-back { transform: rotateY(180deg); } .word { font-family: 'Playfair Display', 'Georgia', serif; font-size: 2.2rem; font-weight: 700; color: var(--text); margin: 4px 0; text-align: center; word-break: break-word; } .phonetic { font-size: 0.9rem; color: var(--text3); font-style: italic; } .type-tag { background: rgba(128,128,128,0.08); padding: 2px 12px; border-radius: 12px; font-size: 0.7rem; margin: 2px; } .meaning { font-size: 1.5rem; font-weight: 600; color: var(--text); text-align: center; margin: 4px 0; word-break: break-word; } .extra { font-size: 0.8rem; color: var(--text3); margin-top: 4px; line-height: 1.6; text-align: center; max-width: 100%; } .example { font-style: italic; background: rgba(128,128,128,0.04); padding: 4px 8px; border-radius: 8px; margin: 4px 0; display: inline-block; } .abs-btn { position: absolute; top: 14px; background: none; border: none; font-size: 1.5rem; cursor: pointer; z-index: 5; transition: 0.2s; line-height: 1; } .speak-btn { right: 58px; color: var(--text3); } .speak-btn:hover { color: var(--accent); transform: scale(1.2); } .fav-btn { right: 14px; color: var(--star); opacity: 0.5; } .fav-btn.active { opacity: 1; } .quiz-box { margin-top: 6px; width: 100%; display: flex; flex-direction: column; gap: 6px; padding: 8px; border-radius: 14px; background: var(--quiz-bg); } .quiz-box.hidden { display: none; } .quiz-input { width: 100%; padding: 10px 12px; border: 1px solid var(--border); border-radius: 12px; background: rgba(255,255,255,0.85); color: var(--text); font-size: 0.95rem; outline: none; } .quiz-input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(75,110,140,0.15); } .quiz-row { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; } .actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 4px; } .daily-quote { text-align: center; font-size: 0.8rem; color: var(--text3); margin-top: 8px; padding: 8px; background: rgba(128,128,128,0.04); border-radius: 12px; } .dictation-direction-bar { display: flex; gap: 6px; align-items: center; justify-content: center; flex-wrap: wrap; padding: 6px 0; } .dictation-direction-bar .btn.active-dir { background: var(--primary); color: white; } .modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 1000; justify-content: center; align-items: center; } .modal-overlay.active { display: flex; } .modal { background: var(--glass-bg); backdrop-filter: blur(20px); border-radius: 24px; width: 95%; max-width: 750px; max-height: 90vh; display: flex; flex-direction: column; box-shadow: 0 30px 60px rgba(0,0,0,0.3); } .modal-header { padding: 16px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--border); } .modal-body { flex: 1; overflow-y: auto; padding: 16px; } .dev-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; } .dev-section { background: rgba(128,128,128,0.03); border-radius: 16px; padding: 14px; } .dev-section h4 { margin-bottom: 10px; font-size: 0.95rem; } .word-list-item { display: flex; align-items: center; gap: 6px; padding: 4px 0; border-bottom: 1px solid var(--border); font-size: 0.8rem; } .word-list-item button { margin-left: auto; } #dictationExtraInfo { display: none; font-size: 0.75rem; color: var(--text3); text-align: center; padding: 4px 8px; background: rgba(128,128,128,0.05); border-radius: 8px; margin-top: 2px; } #debugInfo { display: none; font-size: 0.7rem; color: var(--text3); text-align: center; margin-top: 4px; } @media (max-width: 500px) { .card-scene { height: 380px; } .word { font-size: 1.7rem; } .meaning { font-size: 1.3rem; } .btn { padding: 6px 12px; font-size: 0.76rem; } .card-face { padding: 16px 14px; } .quiz-input { font-size: 0.9rem; padding: 8px 10px; } .dev-grid { grid-template-columns: 1fr; } } </style> </head> <body> <div class="app" id="app"> <div> <h1 id="mainTitle">📚 英语单词闪卡</h1> <div class="subtitle" id="subtitleInfo">导入 JSON 词库即可开始</div> </div> <div class="glass" id="importPanel"> <h3>📥 第一步:获取AI生成的单词表</h3> <div style="position:relative;"> <div id="promptText" style="background:rgba(0,0,0,0.03); border-radius:12px; padding:12px; font-size:0.75rem; white-space:pre-wrap; max-height:200px; overflow-y:auto;">🤖 AI提示词(复制后发送给豆包/DeepSeek 等AI): --- 请根据我提供的单词/短语照片,生成一个可直接复制的JSON数组。每个对象必须包含以下字段: "type": "w"(单词) 或 "s"(短语), "string": "英文", "read": "/音标/", "chinese": "中文释义", "example": "高质量英文例句", "exampleChinese": "例句中文翻译", "synonyms": ["同义词1","同义词2"], "antonyms": ["反义词1"], "root": "词根词缀说明" 严格按此格式,不要添加额外解释。</div> <button class="btn small" style="position:absolute; top:8px; right:8px;" id="copyBtn">📋 复制</button> </div> <label class="btn primary" for="fileInput" style="cursor:pointer; margin-top:10px;">📂 选择 JSON 文件</label> <input type="file" id="fileInput" accept=".json,application/json" hidden> <p style="font-size:0.7rem; margin-top:8px;">💡 支持拖拽文件到页面任意位置</p> </div> <div id="mainUI" style="display:none; flex-direction:column; gap:12px;"> <div class="toolbar"> <span class="btn" id="fileNameBadge" title="点击打开开发者设置">📄</span> <button class="btn" id="btnReimport">📥 导入</button> <button class="btn" id="btnManage">📋 词库</button> <button class="btn" id="btnExport">⬇️ 导出</button> <button class="btn" id="btnTheme">🌓 深色</button> <button class="btn primary" id="btnDictationMode">✍️ 默写模式</button> </div> <div class="dictation-direction-bar" id="dictationDirectionBar" style="display:none;"> <span style="font-size:0.75rem; color:var(--text3);">方向:</span> <button class="btn small active-dir" id="btnDirCn2En">🇨🇳→🇬🇧 中译英</button> <button class="btn small" id="btnDirEn2Cn">🇬🇧→🇨🇳 英译中</button> <button class="btn small" id="btnDirRandom">🎲 随机方向</button> </div> <div class="stats"> <div class="progress-ring"> <svg width="52" height="52"><circle class="circle-bg" cx="26" cy="26" r="22" fill="none" stroke-width="4"/><circle class="circle-fill" id="progressCircle" cx="26" cy="26" r="22" fill="none" stroke-width="4" stroke-dasharray="138.2" stroke-dashoffset="138.2"/></svg> </div> <span id="progressText" style="font-weight:600;">已掌握 0/0</span> <span class="streak-badge" id="streakBadge">🔥 0天</span> </div> <div class="card-scene" id="cardScene"> <div class="card-inner" id="cardInner"> <div class="card-face card-front" id="cardFront"> <button class="abs-btn speak-btn" id="speakBtn">🔊</button> <button class="abs-btn fav-btn" id="favBtn">☆</button> <div class="word" id="wordText"></div> <div class="phonetic" id="phoneticDisplay"></div> <div class="type-tag" id="typeTag"></div> <div class="quiz-box hidden" id="quizBoxFront"> <input class="quiz-input" id="quizInputFront" placeholder="输入中文释义后按回车..."> <div class="quiz-row"> <button class="btn primary small" id="btnQuizSubmitFront">提交</button> <button class="btn small" id="btnShowHintFront">💡 提示</button> </div> <div id="quizFeedbackFront" style="font-size:0.8rem; min-height:1.2em;"></div> </div> </div> <div class="card-face card-back" id="cardBack"> <button class="abs-btn fav-btn" id="favBtnBack">☆</button> <div class="meaning" id="meaningDisplay"></div> <div class="extra" id="extraInfo"></div> <div id="dictationExtraInfo"></div> <div class="quiz-box hidden" id="quizBoxBack"> <input class="quiz-input" id="quizInputBack" placeholder="输入英文后按回车..."> <div class="quiz-row"> <button class="btn primary small" id="btnQuizSubmitBack">提交</button> <button class="btn small" id="btnShowHintBack">💡 音标提示</button> </div> <div id="quizFeedbackBack" style="font-size:0.8rem; min-height:1.2em;"></div> </div> </div> </div> <div id="debugInfo"></div> </div> <div class="actions" id="memoryButtons"> <button class="btn" id="btnForgot">😕 不认识</button> <button class="btn" id="btnFuzzy">🤔 模糊</button> <button class="btn" id="btnKnown">😊 认识</button> </div> <div class="actions"> <button class="btn" id="btnRandom">🎲 随机</button> <button class="btn" id="btnFlip">🔄 翻转</button> <button class="btn accent" id="btnReset">🔄 重置进度</button> <button class="btn" id="btnVocab">📖 生词本</button> <button class="btn" id="btnWrongBook">📕 错词本</button> </div> <div class="daily-quote" id="dailyQuote">💬 今日金句加载中...</div> </div> </div> <div class="modal-overlay" id="modalOverlay"> <div class="modal" id="modalContent"> <div class="modal-header"><h3 id="modalTitle"></h3><button class="btn" onclick="closeModal()">✕</button></div> <div class="modal-body" id="modalBody"></div> </div> </div> <script> (() => { // ========== 状态 ========== let words = []; let currentIndex = 0; let isFlipped = false; let dictationMode = false; let dictationDirection = 'cn2en'; let randomDirection = false; let favorites = []; let mastered = []; let wrongWords = []; let memory = {}; let streak = 0; let lastStudyDate = ''; let currentFile = 'words'; let quizActive = false; let flipLock = false; let autoSpeakEnabled = true; let completionHandled = false; let loadDelay = 0; // 毫秒 let logMode = false; let cheatAutoFill = false; let cheatShowAnswer = false; let intervalsConfig = { known: 7*86400000, fuzzy: 1*86400000, forgot: 1*3600000 }; let speechRate = 0.9; let speechPitch = 1.0; let recentFiles = []; // 历史文件列表 const $ = (s) => document.getElementById(s); // ========== 存储 ========== function storageKey(k) { return `flashcore_v4_${currentFile}_${k}`; } function globalStorageKey(k) { return `flashcore_v4_global_${k}`; } function saveData() { try { localStorage.setItem(storageKey('fav'), JSON.stringify(favorites)); localStorage.setItem(storageKey('mastered'), JSON.stringify(mastered)); localStorage.setItem(storageKey('wrong'), JSON.stringify(wrongWords)); localStorage.setItem(storageKey('memory'), JSON.stringify(memory)); localStorage.setItem(storageKey('streak'), String(streak)); localStorage.setItem(storageKey('lastDate'), lastStudyDate); localStorage.setItem(storageKey('dictDir'), dictationDirection); localStorage.setItem(storageKey('autoSpeak'), String(autoSpeakEnabled)); localStorage.setItem(storageKey('intervals'), JSON.stringify(intervalsConfig)); localStorage.setItem(storageKey('speechRate'), speechRate); localStorage.setItem(storageKey('speechPitch'), speechPitch); localStorage.setItem(storageKey('randomDir'), String(randomDirection)); localStorage.setItem(globalStorageKey('recentFiles'), JSON.stringify(recentFiles)); } catch(e) {} } function loadData() { try { favorites = JSON.parse(localStorage.getItem(storageKey('fav')) || '[]'); mastered = JSON.parse(localStorage.getItem(storageKey('mastered')) || '[]'); wrongWords = JSON.parse(localStorage.getItem(storageKey('wrong')) || '[]'); memory = JSON.parse(localStorage.getItem(storageKey('memory')) || '{}'); streak = parseInt(localStorage.getItem(storageKey('streak')) || '0', 10); lastStudyDate = localStorage.getItem(storageKey('lastDate')) || ''; dictationDirection = localStorage.getItem(storageKey('dictDir')) || 'cn2en'; autoSpeakEnabled = localStorage.getItem(storageKey('autoSpeak')) !== 'false'; intervalsConfig = JSON.parse(localStorage.getItem(storageKey('intervals')) || JSON.stringify({known:7*86400000, fuzzy:1*86400000, forgot:1*3600000})); speechRate = parseFloat(localStorage.getItem(storageKey('speechRate')) || '0.9'); speechPitch = parseFloat(localStorage.getItem(storageKey('speechPitch')) || '1.0'); randomDirection = localStorage.getItem(storageKey('randomDir')) === 'true'; recentFiles = JSON.parse(localStorage.getItem(globalStorageKey('recentFiles')) || '[]'); } catch(e) { // 重置为默认值 } if (words.length > 0) { const validStrings = new Set(words.map(w => w.string)); favorites = favorites.filter(f => validStrings.has(f)); mastered = mastered.filter(m => validStrings.has(m)); wrongWords = wrongWords.filter(w => validStrings.has(w)); Object.keys(memory).forEach(k => { if (!validStrings.has(k)) delete memory[k]; }); } } // ========== 进度与UI ========== function updateStreak() { const today = new Date().toISOString().slice(0,10); if (lastStudyDate === today) return; const yesterday = new Date(Date.now()-86400000).toISOString().slice(0,10); streak = (lastStudyDate === yesterday) ? streak + 1 : 1; lastStudyDate = today; saveData(); $('streakBadge').textContent = `🔥 ${streak}天`; } function updateProgress() { const total = words.length; const done = mastered.length; const pct = total ? Math.round((done / total) * 100) : 0; const circle = $('progressCircle'); const circumference = 138.2; circle.style.strokeDashoffset = circumference - (pct / 100) * circumference; $('progressText').textContent = total > 0 && done === total ? '🎉 全部掌握!' : `已掌握 ${done}/${total}`; } function nextReviewWord() { if (!words.length) return null; const now = Date.now(); const dueWords = words.filter(w => { const m = memory[w.string]; return m && m.nextReview <= now; }); if (dueWords.length) return dueWords[Math.floor(Math.random() * dueWords.length)]; const unmastered = words.filter(w => !mastered.includes(w.string)); if (unmastered.length) return unmastered[Math.floor(Math.random() * unmastered.length)]; return null; } function randomWord() { const next = nextReviewWord(); if (next) { completionHandled = false; showEntry(words.findIndex(w => w.string === next.string)); } else if (words.length > 0) { if (!completionHandled) { completionHandled = true; showCompletionOptions(); } else { if (words.length) showEntry(0); } } } function recordMemory(level) { if (!words.length) return; const w = words[currentIndex]; if (!w) return; memory[w.string] = { level, nextReview: Date.now() + intervalsConfig[level] }; if (level === 'known') { if (!mastered.includes(w.string)) mastered.push(w.string); wrongWords = wrongWords.filter(x => x !== w.string); } else if (level === 'forgot') { if (!wrongWords.includes(w.string)) wrongWords.push(w.string); mastered = mastered.filter(x => x !== w.string); } saveData(); updateProgress(); randomWord(); } function showCompletionOptions() { const html = ` <div style="text-align:center; padding:10px;"> <p>🎉 全部掌握!</p> <button class="btn primary" onclick="cheatMasterAll(); closeModal();">重新开始复习</button> <button class="btn accent" onclick="closeModal(); enableDictationMode(true);">默写检测</button> </div>`; openModal('学习完成', html); } // 卡片渲染 function renderCard() { if (!words.length) return; const w = words[currentIndex]; if (!w) return; $('wordText').textContent = w.string; $('phoneticDisplay').textContent = w.read || ''; $('typeTag').textContent = w.type === 's' ? '📘 短语' : '📕 单词'; $('meaningDisplay').textContent = w.chinese; let extra = ''; if (w.example) extra += `<div class="example">📖 ${w.example} ${w.exampleChinese ? '— '+w.exampleChinese : ''}</div>`; if (w.synonyms?.length) extra += `<div>🔗 近义: ${w.synonyms.join(', ')}</div>`; if (w.antonyms?.length) extra += `<div>⚔️ 反义: ${w.antonyms.join(', ')}</div>`; if (w.root) extra += `<div>🌱 词根: ${w.root}</div>`; $('extraInfo').innerHTML = extra; const fav = favorites.includes(w.string); $('favBtn').textContent = fav ? '★' : '☆'; $('favBtn').classList.toggle('active', fav); $('favBtnBack').textContent = fav ? '★' : '☆'; $('favBtnBack').classList.toggle('active', fav); updateDictationUI(); if (logMode) { const m = memory[w.string]; $('debugInfo').style.display = 'block'; $('debugInfo').textContent = `调试: 记忆等级 ${m?.level || '无'}, 下次复习: ${m ? new Date(m.nextReview).toLocaleString() : '立即'}`; } else { $('debugInfo').style.display = 'none'; } } function updateDictationUI() { if (!words.length) return; const w = words[currentIndex]; if (dictationMode) { $('typeTag').style.display = 'none'; $('extraInfo').style.display = 'none'; if (dictationDirection === 'en2cn') { $('meaningDisplay').style.display = 'none'; $('phoneticDisplay').style.display = ''; } else { $('meaningDisplay').style.display = ''; $('phoneticDisplay').style.display = 'none'; } $('dictationExtraInfo').style.display = ''; $('dictationExtraInfo').textContent = dictationDirection === 'en2cn' ? (w.read ? `音标: ${w.read}` : '') : ''; if (cheatShowAnswer) { $('dictationExtraInfo').textContent += ' [答案: ' + (dictationDirection==='cn2en' ? w.string : w.chinese) + ']'; } } else { $('typeTag').style.display = ''; $('extraInfo').style.display = ''; $('meaningDisplay').style.display = ''; $('phoneticDisplay').style.display = ''; $('dictationExtraInfo').style.display = 'none'; } } function flip(force) { if (flipLock || !words.length || dictationMode) return; if (typeof force === 'boolean') isFlipped = force; else isFlipped = !isFlipped; cardInner.classList.toggle('flipped', isFlipped); if (!isFlipped) deactivateQuiz(); flipLock = true; setTimeout(() => flipLock = false, 600); } function showEntry(idx) { if (!words.length) return; if (idx < 0) idx = words.length - 1; if (idx >= words.length) idx = 0; currentIndex = idx; if (dictationMode) { if (randomDirection) { dictationDirection = Math.random() < 0.5 ? 'cn2en' : 'en2cn'; updateDirectionButtons(); } const targetFlipped = (dictationDirection === 'cn2en'); if (isFlipped !== targetFlipped) { isFlipped = targetFlipped; cardInner.classList.toggle('flipped', isFlipped); } } else if (isFlipped) { isFlipped = false; cardInner.classList.remove('flipped'); } renderCard(); if (dictationMode) activateQuiz(); if (autoSpeakEnabled && words.length > 0) { clearTimeout(window._autoSpeakTimer); window._autoSpeakTimer = setTimeout(() => { if (words[currentIndex]) speak(); }, loadDelay + 300); } } function enableDictationMode(enable) { dictationMode = enable; $('btnDictationMode').textContent = enable ? '✍️ 退出默写' : '✍️ 默写模式'; $('memoryButtons').style.display = enable ? 'none' : 'flex'; $('dictationDirectionBar').style.display = enable ? 'flex' : 'none'; updateDirectionButtons(); if (enable) { if (randomDirection) dictationDirection = Math.random() < 0.5 ? 'cn2en' : 'en2cn'; const targetFlipped = (dictationDirection === 'cn2en'); if (isFlipped !== targetFlipped) { isFlipped = targetFlipped; cardInner.classList.toggle('flipped', isFlipped); } activateQuiz(); } else { deactivateQuiz(); if (isFlipped) { isFlipped = false; cardInner.classList.remove('flipped'); } } updateDictationUI(); } function switchDictationDirection(dir) { if (dir === 'random') { randomDirection = !randomDirection; saveData(); $('btnDirRandom').classList.toggle('active-dir', randomDirection); return; } if (!dictationMode || dictationDirection === dir) return; dictationDirection = dir; randomDirection = false; updateDirectionButtons(); const targetFlipped = (dir === 'cn2en'); if (isFlipped !== targetFlipped) { isFlipped = targetFlipped; cardInner.classList.toggle('flipped', isFlipped); } deactivateQuiz(); updateDictationUI(); activateQuiz(); saveData(); } function updateDirectionButtons() { $('btnDirCn2En').classList.toggle('active-dir', dictationDirection === 'cn2en' && !randomDirection); $('btnDirEn2Cn').classList.toggle('active-dir', dictationDirection === 'en2cn' && !randomDirection); $('btnDirRandom').classList.toggle('active-dir', randomDirection); } function getActiveQuizBox() { return dictationDirection === 'cn2en' ? 'back' : 'front'; } function activateQuiz() { if (!words.length || !dictationMode) return; const activeSide = getActiveQuizBox(); if (activeSide === 'back') { $('quizBoxBack').classList.remove('hidden'); $('quizBoxFront').classList.add('hidden'); $('quizInputBack').value = ''; if (cheatAutoFill && words[currentIndex]) { $('quizInputBack').value = words[currentIndex].string; } } else { $('quizBoxFront').classList.remove('hidden'); $('quizBoxBack').classList.add('hidden'); $('quizInputFront').value = ''; if (cheatAutoFill && words[currentIndex]) { $('quizInputFront').value = words[currentIndex].chinese; } } quizActive = true; const inputEl = activeSide === 'back' ? $('quizInputBack') : $('quizInputFront'); setTimeout(() => { if (inputEl && dictationMode) inputEl.focus(); }, 100); } function deactivateQuiz() { $('quizBoxBack').classList.add('hidden'); $('quizBoxFront').classList.add('hidden'); quizActive = false; } function checkDictationAnswer(skip = false) { if (!words.length || !dictationMode) return; const w = words[currentIndex]; if (!w) return; const activeSide = getActiveQuizBox(); const inputEl = activeSide === 'back' ? $('quizInputBack') : $('quizInputFront'); const feedbackEl = activeSide === 'back' ? $('quizFeedbackBack') : $('quizFeedbackFront'); const ans = inputEl.value.trim(); if (!ans && !skip) return; if (skip) { showEntry(currentIndex + 1); return; } let isCorrect = (dictationDirection === 'cn2en') ? (ans.toLowerCase() === w.string.toLowerCase()) : fuzzyMatchChinese(ans, w.chinese); if (isCorrect) { feedbackEl.textContent = '✅ 正确!'; feedbackEl.style.color = 'var(--success)'; if (!mastered.includes(w.string)) { mastered.push(w.string); wrongWords = wrongWords.filter(x => x !== w.string); } memory[w.string] = { level: 'known', nextReview: Date.now() + intervalsConfig.known }; saveData(); updateProgress(); setTimeout(() => { const next = nextReviewWord(); showEntry(next ? words.findIndex(x => x.string === next.string) : (currentIndex + 1) % words.length); }, 700); } else { feedbackEl.textContent = '❌ 不对,再试试'; feedbackEl.style.color = 'var(--danger)'; if (!wrongWords.includes(w.string)) { wrongWords.push(w.string); saveData(); } inputEl.value = ''; inputEl.focus(); } } function fuzzyMatchChinese(input, target) { const normalize = (s) => s.replace(/[,,、。;;::!!??\s]+/g, '').trim(); const ni = normalize(input), nt = normalize(target); if (ni === nt) return true; if (ni.length >= 2 && nt.length >= 2 && (nt.includes(ni) || ni.includes(nt))) return true; const targetParts = target.split(/[,,;;、\s]+/).filter(p => p.length > 0); if (targetParts.length > 1) { const inputParts = input.split(/[,,;;、\s]+/).filter(p => p.length > 0); const matchCount = inputParts.filter(ip => targetParts.some(tp => normalize(tp) === normalize(ip))).length; if (matchCount >= Math.ceil(targetParts.length * 0.5)) return true; } return false; } function showPhoneticHint() { if (!words.length || !dictationMode) return; const w = words[currentIndex]; const activeSide = getActiveQuizBox(); const inputEl = activeSide === 'back' ? $('quizInputBack') : $('quizInputFront'); const feedbackEl = activeSide === 'back' ? $('quizFeedbackBack') : $('quizFeedbackFront'); if (dictationDirection === 'cn2en') { inputEl.value = w.read ? w.read.replace(/\//g, '') : ''; feedbackEl.textContent = `音标提示:${w.read || '无'}`; } else { feedbackEl.textContent = w.example ? `(例句) ${w.example}` : (w.root ? `(词根) ${w.root}` : '暂无提示'); } inputEl.focus(); } function speak() { if (!words.length) return; const text = words[currentIndex].string; if ('speechSynthesis' in window) { speechSynthesis.cancel(); const u = new SpeechSynthesisUtterance(text); u.lang = 'en-US'; u.rate = speechRate; u.pitch = speechPitch; speechSynthesis.speak(u); } } function openBingSearch() { if (!words.length) return; window.open(`https://cn.bing.com/search?q=${encodeURIComponent(words[currentIndex].string)}`, '_blank'); } // 文件处理 function loadFile(file) { if (!file) return; const reader = new FileReader(); reader.onload = (e) => { try { const data = JSON.parse(e.target.result); if (!Array.isArray(data)) throw new Error('数据不是数组'); const valid = data.filter(item => item.string && item.chinese); if (!valid.length) throw new Error('没有有效单词'); words = valid; currentFile = file.name.replace(/\.json$/i, '') || 'words'; document.title = currentFile + ' · 单词闪卡'; $('mainTitle').textContent = '📚 ' + currentFile; $('subtitleInfo').textContent = `已加载 ${words.length} 词条`; $('fileNameBadge').textContent = '📄 ' + currentFile; if (!recentFiles.includes(currentFile)) { recentFiles.unshift(currentFile); if (recentFiles.length > 10) recentFiles.pop(); } loadData(); importPanel.style.display = 'none'; mainUI.style.display = 'flex'; dictationMode = false; isFlipped = false; cardInner.classList.remove('flipped'); deactivateQuiz(); $('memoryButtons').style.display = 'flex'; $('dictationDirectionBar').style.display = 'none'; updateDirectionButtons(); updateDictationUI(); updateStreak(); completionHandled = false; showEntry(0); updateProgress(); saveData(); } catch (err) { alert('解析失败:' + err.message); } }; reader.onerror = () => alert('文件读取失败'); reader.readAsText(file); } document.addEventListener('dragover', e => { e.preventDefault(); e.stopPropagation(); }); document.addEventListener('drop', e => { e.preventDefault(); e.stopPropagation(); const files = e.dataTransfer?.files; if (files?.length) { const file = files[0]; if (file.name.endsWith('.json') || file.type === 'application/json') loadFile(file); else alert('请拖入 .json 文件'); } }); // 每日一句 const quotes = [ { en: "The secret of getting ahead is getting started.", zh: "领先的秘诀就是开始行动。" }, { en: "Don't watch the clock; do what it does. Keep going.", zh: "不要盯着时钟,要像它一样不停前进。" } ]; function setDailyQuote() { const today = new Date().toDateString(); const index = (today.split(' ').join('').charCodeAt(0) + new Date().getDate()) % quotes.length; const q = quotes[Math.abs(index)]; $('dailyQuote').textContent = `💬 ${q.en} —— ${q.zh}`; } setDailyQuote(); // ========== 全局作弊命令 ========== window.cheat = { masterAll() { mastered = [...new Set(words.map(w => w.string))]; wrongWords = []; memory = {}; saveData(); updateProgress(); showEntry(0); }, forgetAll() { mastered = []; wrongWords = [...new Set(words.map(w => w.string))]; memory = {}; saveData(); updateProgress(); }, dueAll() { words.forEach(w => { memory[w.string] = { level: 'known', nextReview: Date.now() }; }); saveData(); randomWord(); }, setStreak(days) { streak = days; lastStudyDate = new Date().toISOString().slice(0,10); saveData(); updateStreak(); }, resetToday() { lastStudyDate = ''; saveData(); streak = 0; updateStreak(); }, fillAnswer() { if(dictationMode) { const w=words[currentIndex]; const el=getActiveQuizBox()==='back'?$('quizInputBack'):$('quizInputFront'); el.value = dictationDirection==='cn2en'?w.string:w.chinese; } }, toggleAnswer() { cheatShowAnswer = !cheatShowAnswer; updateDictationUI(); }, skipWord() { if(dictationMode) checkDictationAnswer(true); }, exportReport() { const report = `学习报告\n日期: ${new Date().toLocaleString()}\n词库: ${currentFile} (${words.length}词)\n掌握: ${mastered.length} (${(mastered.length/words.length*100).toFixed(0)}%)\n错词: ${wrongWords.length}\n连续天数: ${streak}\n`; const blob = new Blob([report], {type:'text/plain'}); const a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = '学习报告.txt'; a.click(); }, exportAnki() { let csv = 'word,chinese,example\n'; words.forEach(w => { csv += `"${w.string}","${w.chinese}","${w.example||''}"\n`; }); const blob = new Blob([csv], {type:'text/csv'}); const a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = 'anki_import.csv'; a.click(); }, bulkFavWrongs() { wrongWords.forEach(w => { if(!favorites.includes(w)) favorites.push(w); }); saveData(); }, setDelay(ms) { loadDelay = ms; }, toggleLog() { logMode = !logMode; renderCard(); } }; // ========== 开发者模态框 ========== function openDevModal() { let html = `<div class="dev-grid">`; // 统计 html += `<div class="dev-section"><h4>📊 状态</h4> <p>词库: ${currentFile} (${words.length}词)</p> <p>掌握: ${mastered.length} | 错词: ${wrongWords.length} | 收藏: ${favorites.length}</p> <p>连续: ${streak}天 | 自动发音: ${autoSpeakEnabled?'开':'关'}</p></div>`; // 复习间隔 html += `<div class="dev-section"><h4>⏱️ 复习间隔</h4> <label>认识: <input id="devKnown" type="number" value="${(intervalsConfig.known/3600000).toFixed(1)}" step="0.5"> h</label> <label>模糊: <input id="devFuzzy" type="number" value="${(intervalsConfig.fuzzy/3600000).toFixed(1)}" step="0.5"> h</label> <label>忘记: <input id="devForgot" type="number" value="${(intervalsConfig.forgot/3600000).toFixed(1)}" step="0.5"> h</label> <button class="btn small" id="devSaveInterval">保存</button></div>`; // 学习作弊 html += `<div class="dev-section"><h4>🎓 学习作弊</h4> <button class="btn small" id="devMasterAll">全部掌握</button> <button class="btn small" id="devForgetAll">全部遗忘</button> <button class="btn small" id="devDueAll">全部到期</button> <label>连续天数: <input id="devStreak" type="number" value="${streak}" min="0" style="width:60px"></label> <button class="btn tiny" id="devSetStreak">设置</button> <button class="btn tiny" id="devResetToday">重置今日</button></div>`; // 记忆操控 html += `<div class="dev-section"><h4>🧠 记忆操控</h4> <button class="btn small" id="devShiftAll">延长所有+24h</button> <button class="btn small" id="devShiftMinus">缩短所有-24h</button> <div style="margin-top:6px"><input id="devWordSelect" list="wordList" placeholder="选择单词"><datalist id="wordList">${words.map(w=>`<option value="${w.string}">`).join('')}</datalist> <input id="devReviewDate" type="datetime-local" style="width:140px"> <button class="btn tiny" id="devSetWordTime">设置复习时间</button></div></div>`; // 默写作弊 html += `<div class="dev-section"><h4>✍️ 默写作弊</h4> <label><input type="checkbox" id="devAutoFill" ${cheatAutoFill?'checked':''}> 自动填充</label> <label><input type="checkbox" id="devShowAnswer" ${cheatShowAnswer?'checked':''}> 显示答案</label> <button class="btn small" id="devSkipWord">跳过当前</button></div>`; // 导出 html += `<div class="dev-section"><h4>📤 导出</h4> <button class="btn small" id="devReport">学习报告</button> <button class="btn small" id="devAnki">Anki CSV</button></div>`; // 历史词库 html += `<div class="dev-section"><h4>📂 历史词库</h4>${recentFiles.map(f=>`<button class="btn tiny" onclick="switchToFile('${f}')">${f}</button>`).join(' ') || '无'}</div>`; // 其他 html += `<div class="dev-section"><h4>⚙️ 其他</h4> <label>语音速率: <input id="devRate" type="range" min="0.5" max="2" step="0.1" value="${speechRate}"></label> <label>音调: <input id="devPitch" type="range" min="0.5" max="2" step="0.1" value="${speechPitch}"></label> <label>延迟: <input id="devDelay" type="number" value="${loadDelay}" min="0" step="100"> ms</label> <label><input type="checkbox" id="devLog" ${logMode?'checked':''}> 调试日志</label> <button class="btn small" id="devBulkFav">错词→收藏</button> <button class="btn small" id="devMergeImport">合并备份</button> <input type="file" id="devMergeFile" accept=".json" hidden> </div>`; html += `</div>`; openModal('🛠️ 开发者控制台', html); // 绑定事件 document.getElementById('devSaveInterval').onclick = () => { const k = parseFloat(document.getElementById('devKnown').value) * 3600000; const f = parseFloat(document.getElementById('devFuzzy').value) * 3600000; const g = parseFloat(document.getElementById('devForgot').value) * 3600000; if (k>0 && f>0 && g>0) { intervalsConfig = { known: k, fuzzy: f, forgot: g }; saveData(); closeModal(); openDevModal(); } }; document.getElementById('devMasterAll').onclick = () => { window.cheat.masterAll(); closeModal(); }; document.getElementById('devForgetAll').onclick = () => { window.cheat.forgetAll(); closeModal(); }; document.getElementById('devDueAll').onclick = () => { window.cheat.dueAll(); closeModal(); }; document.getElementById('devSetStreak').onclick = () => { const s = parseInt(document.getElementById('devStreak').value); if (!isNaN(s) && s>=0) { window.cheat.setStreak(s); closeModal(); } }; document.getElementById('devResetToday').onclick = () => { window.cheat.resetToday(); closeModal(); }; document.getElementById('devShiftAll').onclick = () => { for (let k in memory) memory[k].nextReview += 86400000; saveData(); closeModal(); }; document.getElementById('devShiftMinus').onclick = () => { for (let k in memory) memory[k].nextReview = Math.max(Date.now(), memory[k].nextReview - 86400000); saveData(); closeModal(); }; document.getElementById('devSetWordTime').onclick = () => { const word = document.getElementById('devWordSelect').value; const dateStr = document.getElementById('devReviewDate').value; if (word && dateStr) { const timestamp = new Date(dateStr).getTime(); if (!isNaN(timestamp)) { memory[word] = { level: 'known', nextReview: timestamp }; saveData(); closeModal(); } } }; document.getElementById('devAutoFill').onchange = function() { cheatAutoFill = this.checked; }; document.getElementById('devShowAnswer').onchange = function() { cheatShowAnswer = this.checked; updateDictationUI(); }; document.getElementById('devSkipWord').onclick = () => { window.cheat.skipWord(); }; document.getElementById('devReport').onclick = () => { window.cheat.exportReport(); }; document.getElementById('devAnki').onclick = () => { window.cheat.exportAnki(); }; document.getElementById('devRate').oninput = function() { speechRate = parseFloat(this.value); saveData(); }; document.getElementById('devPitch').oninput = function() { speechPitch = parseFloat(this.value); saveData(); }; document.getElementById('devDelay').onchange = function() { loadDelay = parseInt(this.value)||0; }; document.getElementById('devLog').onchange = function() { logMode = this.checked; renderCard(); }; document.getElementById('devBulkFav').onclick = () => { window.cheat.bulkFavWrongs(); closeModal(); }; document.getElementById('devMergeImport').onclick = () => document.getElementById('devMergeFile').click(); document.getElementById('devMergeFile').onchange = (e) => { const file = e.target.files[0]; if (!file) return; const reader = new FileReader(); reader.onload = (ev) => { try { const backup = JSON.parse(ev.target.result); if (backup.mastered) mastered = [...new Set([...mastered, ...backup.mastered])]; if (backup.wrongWords) wrongWords = [...new Set([...wrongWords, ...backup.wrongWords])]; if (backup.memory) Object.assign(memory, backup.memory); saveData(); updateProgress(); closeModal(); } catch (e) { alert('无效备份'); } }; reader.readAsText(file); e.target.value = ''; }; } // 历史词库快速切换 window.switchToFile = (filename) => { $('fileInput').click(); // 无法直接选择文件,提示用户再次选择同名文件 alert(`请在文件选择对话框中再次选择"${filename}.json"文件`); }; // 事件绑定 $('fileNameBadge').addEventListener('click', openDevModal); $('copyBtn').addEventListener('click', () => { navigator.clipboard.writeText($('promptText').innerText).then(() => { $('copyBtn').textContent = '✅ 已复制'; setTimeout(() => $('copyBtn').textContent = '📋 复制', 1500); }).catch(() => { /* fallback */ }); }); $('fileInput').addEventListener('change', e => { if(e.target.files.length) { loadFile(e.target.files[0]); e.target.value = ''; } }); $('btnReimport').addEventListener('click', () => { $('fileInput').value = ''; $('fileInput').click(); }); $('btnExport').addEventListener('click', () => { if(!words.length) return alert('无词库'); const a = document.createElement('a'); a.href = URL.createObjectURL(new Blob([JSON.stringify(words,null,2)],{type:'application/json'})); a.download = currentFile+'_export.json'; a.click(); }); $('btnTheme').addEventListener('click', () => { document.body.classList.toggle('dark-mode'); $('btnTheme').textContent = document.body.classList.contains('dark-mode') ? '☀️ 浅色' : '🌓 深色'; localStorage.setItem('flashcore_darkmode', document.body.classList.contains('dark-mode')?'1':'0'); }); try { if(localStorage.getItem('flashcore_darkmode')==='1') { document.body.classList.add('dark-mode'); $('btnTheme').textContent='☀️ 浅色'; } } catch(e){} $('btnDictationMode').addEventListener('click', ()=> enableDictationMode(!dictationMode)); $('btnDirCn2En').addEventListener('click', ()=> switchDictationDirection('cn2en')); $('btnDirEn2Cn').addEventListener('click', ()=> switchDictationDirection('en2cn')); $('btnDirRandom').addEventListener('click', ()=> switchDictationDirection('random')); $('cardScene').addEventListener('click', e => { if(dictationMode) return; if(e.target.closest('button')||e.target.closest('input')||e.target.closest('.quiz-box')) return; flip(); }); // 触摸与键盘事件略,同之前版本 document.addEventListener('keydown', e => { if($('modalOverlay').classList.contains('active')) return; if(document.activeElement?.id==='quizInputBack'||document.activeElement?.id==='quizInputFront') return; if(e.key==='ArrowLeft'){ e.preventDefault(); showEntry(currentIndex-1); } if(e.key==='ArrowRight'){ e.preventDefault(); showEntry(currentIndex+1); } if(e.key===' '||e.code==='Space'){ e.preventDefault(); flip(); } if(e.key==='r'||e.key==='R'){ e.preventDefault(); randomWord(); } if(e.key==='d'||e.key==='D'){ e.preventDefault(); enableDictationMode(!dictationMode); } if(e.key==='b'||e.key==='B'){ e.preventDefault(); openBingSearch(); } if(e.ctrlKey && e.key==='q'){ e.preventDefault(); window.cheat.fillAnswer(); } }); $('speakBtn').addEventListener('click', e => { e.stopPropagation(); speak(); }); $('favBtn').addEventListener('click', e => { e.stopPropagation(); const w = words[currentIndex]?.string; if(!w) return; const idx = favorites.indexOf(w); if(idx>-1) favorites.splice(idx,1); else favorites.push(w); saveData(); renderCard(); }); $('favBtnBack').addEventListener('click', e => { e.stopPropagation(); $('favBtn').click(); }); $('btnRandom').addEventListener('click', randomWord); $('btnFlip').addEventListener('click', ()=>{ if(!dictationMode) flip(); }); $('btnReset').addEventListener('click', ()=>{ if(confirm('重置所有学习进度?')){ mastered=[]; wrongWords=[]; memory={}; favorites=[]; saveData(); updateProgress(); showEntry(0); } }); $('btnForgot').addEventListener('click', ()=> recordMemory('forgot')); $('btnFuzzy').addEventListener('click', ()=> recordMemory('fuzzy')); $('btnKnown').addEventListener('click', ()=> recordMemory('known')); $('btnQuizSubmitBack').addEventListener('click', checkDictationAnswer); $('btnShowHintBack').addEventListener('click', showPhoneticHint); $('quizInputBack').addEventListener('keydown', e => { if(e.key==='Enter') checkDictationAnswer(); }); $('btnQuizSubmitFront').addEventListener('click', checkDictationAnswer); $('btnShowHintFront').addEventListener('click', showPhoneticHint); $('quizInputFront').addEventListener('keydown', e => { if(e.key==='Enter') checkDictationAnswer(); }); function openModal(title, html) { $('modalTitle').textContent = title; $('modalBody').innerHTML = html; $('modalOverlay').classList.add('active'); } window.closeModal = () => $('modalOverlay').classList.remove('active'); $('modalOverlay').addEventListener('click', e => { if(e.target===$('modalOverlay')) closeModal(); }); document.addEventListener('keydown', e => { if(e.key==='Escape' && $('modalOverlay').classList.contains('active')) closeModal(); }); // 词库管理、生词本、错词本 function escapeHTML(s){ const d=document.createElement('div'); d.textContent=s; return d.innerHTML; } $('btnManage').addEventListener('click', ()=>{ let list = words.map((w,i)=>`<div class="word-item"><span><strong>${escapeHTML(w.string)}</strong></span><span>${escapeHTML(w.chinese)}</span><button class="btn danger small" onclick="deleteWord(${i})">🗑</button></div>`).join(''); list += `<hr><div><input id="newStr" placeholder="英文"><input id="newChn" placeholder="释义"><button class="btn primary small" onclick="addWord()">+添加</button></div>`; openModal('词库管理', list); }); window.deleteWord = (i)=>{ if(i<0||i>=words.length) return; const removed=words[i].string; words.splice(i,1); favorites=favorites.filter(f=>f!==removed); mastered=mastered.filter(m=>m!==removed); wrongWords=wrongWords.filter(w=>w!==removed); delete memory[removed]; saveData(); updateProgress(); if(words.length) showEntry(currentIndex>=words.length?words.length-1:currentIndex); else { importPanel.style.display='block'; mainUI.style.display='none'; } closeModal(); }; window.addWord = ()=>{ const s=document.getElementById('newStr')?.value.trim(); const c=document.getElementById('newChn')?.value.trim(); if(s&&c){ words.push({type:'w',string:s,chinese:c}); saveData(); closeModal(); } }; $('btnVocab').addEventListener('click', ()=> openModal('生词本', favorites.length?favorites.map(w=>`<div>⭐ ${escapeHTML(w)}</div>`).join(''):'暂无收藏')); $('btnWrongBook').addEventListener('click', ()=> openModal('错词本', wrongWords.length?wrongWords.map(w=>`<div>❌ ${escapeHTML(w)}</div>`).join(''):'暂无错词')); importPanel.style.display='block'; mainUI.style.display='none'; })(); </script> </body> </html>
使用说明
-
准备词库:复制项目内的 AI 提示词,发送给豆包、DeepSeek 等 AI,获得 JSON 格式的单词表。(
巨大的任务量优先选D某/K某) -
导入词库:点击“选择 JSON 文件”。
-
开始学习:
-
闪卡模式:点击卡片或按空格翻转,点击“认识/模糊/不认识”按钮记录学习效果。
-
默写模式:点击“✍️ 默写模式”按钮,选择方向,在输入框中作答,自动判断对错。
-
-
查看进度:环形进度条显示掌握比例,连续打卡徽章激励每日学习。
-
高级功能:点击顶部的文件名(如📄 words)打开开发者控制台,可调整复习间隔、作弊、合并备份等。 (当我没说)
扩展建议
-
云端同步:接入 Firebase 或 LeanCloud,将学习记录同步到服务器。
-
语音识别:默写模式下增加语音输入,判断发音是否正确。
-
学习曲线分析:基于
memory中的每次复习时间,绘制遗忘曲线。 -
图片支持:在 JSON 中增加
image字段,显示与单词相关的配图。
最后更新:2026-06-14
本项目完全开源,可随意修改使用。POWER BY : CSDN-本人-PRKK_XW
THANKS OF:LUOGU-洛谷本人-Starriver1125
最后附上某书七下英语单词库(适配本程序的.json文件)
[
{"type": "w", "string": "motorcycle", "read": "/'məʊtəsaɪkl/", "chinese": "摩托车", "example": "He rides a motorcycle to work every day.", "exampleChinese": "他每天骑摩托车上班。", "synonyms": ["motorbike"], "antonyms": [], "root": "motor(马达)+cycle(轮子)"},
{"type": "w", "string": "sightseeing", "read": "/'saɪtsi:ɪŋ/", "chinese": "观光;游览", "example": "We spent the afternoon sightseeing in the city.", "exampleChinese": "我们下午在城里观光。", "synonyms": ["touring", "visiting"], "antonyms": [], "root": "sight(景象)+seeing(看)"},
{"type": "w", "string": "imagine", "read": "/ɪ'mædʒɪn/", "chinese": "想象;设想", "example": "Can you imagine life without electricity?", "exampleChinese": "你能想象没有电的生活吗?", "synonyms": ["envision", "picture"], "antonyms": [], "root": "imag(图像)+ine(动词后缀)"},
{"type": "w", "string": "destination", "read": "/ˌdestɪ'neɪʃn/", "chinese": "目的地;终点", "example": "Paris is our final destination.", "exampleChinese": "巴黎是我们的最终目的地。", "synonyms": ["goal", "target"], "antonyms": ["origin"], "root": "de(向下)+stin(站立)+ation(名词后缀)"},
{"type": "w", "string": "address", "read": "/ə'dres/", "chinese": "住址;地址", "example": "Please write your address on the form.", "exampleChinese": "请在表格上写下你的地址。", "synonyms": ["location", "residence"], "antonyms": [], "root": "ad(向)+dress(引导)"},
{"type": "w", "string": "government", "read": "/'gʌvənmənt/", "chinese": "政府", "example": "The government announced new policies yesterday.", "exampleChinese": "政府昨天宣布了新政策。", "synonyms": ["administration", "authority"], "antonyms": [], "root": "govern(统治)+ment(名词后缀)"},
{"type": "w", "string": "unique", "read": "/ju'ni:k/", "chinese": "独特的;罕见的", "example": "Each person's fingerprint is unique.", "exampleChinese": "每个人的指纹都是独一无二的。", "synonyms": ["distinctive", "special"], "antonyms": ["common", "ordinary"], "root": "uni(一)+que(形容词后缀)"},
{"type": "w", "string": "endangered", "read": "/ɪn'deɪndʒəd/", "chinese": "濒危的", "example": "The giant panda is an endangered species.", "exampleChinese": "大熊猫是濒危物种。", "synonyms": ["threatened"], "antonyms": ["safe", "protected"], "root": "en(使)+danger(危险)+ed(形容词后缀)"},
{"type": "w", "string": "stretch", "read": "/stretʃ/", "chinese": "延伸;绵延", "example": "The road stretches for miles across the desert.", "exampleChinese": "这条路在沙漠中绵延数英里。", "synonyms": ["extend", "spread"], "antonyms": ["shrink"], "root": "古英语streccan(伸展)"},
{"type": "w", "string": "huge", "read": "/hju:dʒ/", "chinese": "巨大的;极多的", "example": "They built a huge shopping mall downtown.", "exampleChinese": "他们在市中心建了一个巨大的购物中心。", "synonyms": ["enormous", "immense"], "antonyms": ["tiny", "small"], "root": "古法语ahuge(巨大的)"},
{"type": "w", "string": "wild", "read": "/waɪld/", "chinese": "野的;野生的;自然环境;野生状态", "example": "We saw wild animals in the national park.", "exampleChinese": "我们在国家公园看到了野生动物。", "synonyms": ["natural", "untamed"], "antonyms": ["domestic", "tame"], "root": "古英语wilde(野生的)"},
{"type": "w", "string": "discover", "read": "/dɪ'skʌvə(r)/", "chinese": "了解到;查明", "example": "Scientists discovered a new planet last month.", "exampleChinese": "科学家上个月发现了一颗新行星。", "synonyms": ["find", "detect"], "antonyms": ["conceal", "hide"], "root": "dis(除去)+cover(覆盖)"},
{"type": "w", "string": "volcano", "read": "/vɒl'keɪnəʊ/", "chinese": "火山", "example": "The volcano erupted suddenly last night.", "exampleChinese": "这座火山昨晚突然爆发了。", "synonyms": [], "antonyms": [], "root": "来自意大利语Vulcano(火神)"},
{"type": "w", "string": "range", "read": "/reɪndʒ/", "chinese": "山脉", "example": "The Himalayas is the highest mountain range in the world.", "exampleChinese": "喜马拉雅山脉是世界上最高的山脉。", "synonyms": ["chain", "series"], "antonyms": [], "root": "古法语reng(行,列)"},
{"type": "w", "string": "snowmobile", "read": "/'snəʊməbi:l/", "chinese": "雪地机动车", "example": "We rode snowmobiles across the frozen lake.", "exampleChinese": "我们骑雪地机动车穿过结冰的湖面。", "synonyms": [], "antonyms": [], "root": "snow(雪)+mobile(移动的)"},
{"type": "w", "string": "wolf", "read": "/wʊlf/", "chinese": "狼", "example": "A wolf howled in the distance.", "exampleChinese": "一只狼在远处嚎叫。", "synonyms": [], "antonyms": [], "root": "古英语wulf"},
{"type": "s", "string": "department store", "read": "", "chinese": "百货商店", "example": "I bought this coat at a department store.", "exampleChinese": "我在百货商店买了这件外套。", "synonyms": ["mall", "supermarket"], "antonyms": [], "root": "department(部门)+store(商店)"},
{"type": "s", "string": "prefer to", "read": "", "chinese": "更喜欢", "example": "I prefer to walk rather than take the bus.", "exampleChinese": "我宁愿走路也不愿坐公交车。", "synonyms": ["would rather"], "antonyms": [], "root": "pre(在前)+fer(拿)"},
{"type": "s", "string": "by hand", "read": "", "chinese": "用手工", "example": "This sweater was made by hand.", "exampleChinese": "这件毛衣是手工制作的。", "synonyms": ["manually"], "antonyms": ["by machine"], "root": ""},
{"type": "s", "string": "go sightseeing", "read": "", "chinese": "去观光", "example": "We plan to go sightseeing in London tomorrow.", "exampleChinese": "我们计划明天去伦敦观光。", "synonyms": ["go touring"], "antonyms": [], "root": ""},
{"type": "s", "string": "go on a trip", "read": "", "chinese": "去旅行", "example": "They went on a trip to Japan last summer.", "exampleChinese": "他们去年夏天去日本旅行了。", "synonyms": ["travel", "take a journey"], "antonyms": [], "root": ""},
{"type": "s", "string": "set up", "read": "", "chinese": "建立", "example": "They set up a new company last year.", "exampleChinese": "他们去年成立了一家新公司。", "synonyms": ["establish", "found"], "antonyms": ["break down"], "root": ""},
{"type": "s", "string": "giant panda", "read": "", "chinese": "大熊猫", "example": "The giant panda is a national treasure of China.", "exampleChinese": "大熊猫是中国的国宝。", "synonyms": [], "antonyms": [], "root": "giant(巨大的)+panda(熊猫)"},
{"type": "s", "string": "in the wild", "read": "", "chinese": "在野外", "example": "These animals live in the wild.", "exampleChinese": "这些动物生活在野外。", "synonyms": ["in nature"], "antonyms": ["in captivity"], "root": ""},
{"type": "s", "string": "all year round", "read": "", "chinese": "全年", "example": "The museum is open all year round.", "exampleChinese": "这家博物馆全年开放。", "synonyms": ["throughout the year"], "antonyms": [], "root": ""},
{"type": "s", "string": "golden monkey", "read": "", "chinese": "金丝猴", "example": "The golden monkey is native to China.", "exampleChinese": "金丝猴原产于中国。", "synonyms": [], "antonyms": [], "root": "golden(金色的)+monkey(猴子)"},
{"type": "s", "string": "go hiking", "read": "", "chinese": "去远足", "example": "We often go hiking in the mountains on weekends.", "exampleChinese": "我们周末经常去山里远足。", "synonyms": ["go trekking"], "antonyms": [], "root": ""},
{"type": "s", "string": "hot spring", "read": "", "chinese": "温泉", "example": "We relaxed in the hot spring after skiing.", "exampleChinese": "滑雪后我们在温泉里放松。", "synonyms": ["thermal spring"], "antonyms": [], "root": ""},
{"type": "w", "string": "branch", "read": "/brɑːntʃ/", "chinese": "树枝", "example": "The bird sat on a branch of the tree.", "exampleChinese": "鸟儿坐在树枝上。", "synonyms": ["limb", "bough"], "antonyms": ["trunk"], "root": "拉丁语branca(爪子,分支)"},
{"type": "w", "string": "root", "read": "/ru:t/", "chinese": "根;根茎", "example": "Trees absorb water through their roots.", "exampleChinese": "树木通过根部吸收水分。", "synonyms": ["origin", "source"], "antonyms": [], "root": "古英语rōt"},
{"type": "w", "string": "silent", "read": "/'saɪlənt/", "chinese": "不说话的;沉默的", "example": "The classroom was silent during the exam.", "exampleChinese": "考试期间教室很安静。", "synonyms": ["quiet", "mute"], "antonyms": ["noisy", "loud"], "root": "sil(安静)+ent(形容词后缀)"},
{"type": "w", "string": "overlook", "read": "/ˌəʊvə'lʊk/", "chinese": "忽略;未注意到", "example": "Don't overlook the details in the contract.", "exampleChinese": "不要忽略合同中的细节。", "synonyms": ["ignore", "neglect"], "antonyms": ["notice", "observe"], "root": "over(在...上)+look(看)"},
{"type": "w", "string": "human", "read": "/'hju:mən/", "chinese": "人", "example": "Every human being deserves respect.", "exampleChinese": "每个人都应该受到尊重。", "synonyms": ["person", "individual"], "antonyms": ["animal"], "root": "拉丁语humanus(人的)"},
{"type": "w", "string": "oxygen", "read": "/'ɒksɪdʒən/", "chinese": "氧;氧气", "example": "Plants produce oxygen during photosynthesis.", "exampleChinese": "植物在光合作用中产生氧气。", "synonyms": [], "antonyms": [], "root": "oxy(酸)+gen(产生)"},
{"type": "w", "string": "create", "read": "/kri'eɪt/", "chinese": "创造", "example": "Artists create beautiful paintings.", "exampleChinese": "艺术家创作美丽的画作。", "synonyms": ["make", "produce"], "antonyms": ["destroy", "ruin"], "root": "cre(生长,创造)+ate(动词后缀)"},
{"type": "w", "string": "environment", "read": "/ɪn'vaɪrənmənt/", "chinese": "自然环境", "example": "We must protect the environment for future generations.", "exampleChinese": "我们必须为后代保护环境。", "synonyms": ["surroundings", "nature"], "antonyms": [], "root": "en(进入)+viron(环绕)+ment(名词后缀)"},
{"type": "w", "string": "convenient", "read": "/kən'vi:niənt/", "chinese": "便利的;方便的", "example": "Online shopping is very convenient.", "exampleChinese": "网上购物非常方便。", "synonyms": ["handy", "practical"], "antonyms": ["inconvenient"], "root": "con(共同)+ven(来)+ient(形容词后缀)"},
{"type": "w", "string": "furniture", "read": "/'fɜːnɪtʃə(r)/", "chinese": "(可移动的)家具", "example": "We need to buy some new furniture for the living room.", "exampleChinese": "我们需要为客厅买一些新家具。", "synonyms": ["furnishings"], "antonyms": [], "root": "furn(装备)+iture(名词后缀)"},
{"type": "w", "string": "wood", "read": "/wʊd/", "chinese": "木;木头", "example": "The table is made of solid wood.", "exampleChinese": "这张桌子是实木做的。", "synonyms": ["timber", "lumber"], "antonyms": [], "root": "古英语wudu"},
{"type": "w", "string": "treat", "read": "/tri:t/", "chinese": "以……态度对待;以……方式对待", "example": "You should treat others with respect.", "exampleChinese": "你应该尊重地对待他人。", "synonyms": ["handle", "deal with"], "antonyms": [], "root": "拉丁语tractare(处理)"},
{"type": "w", "string": "communicate", "read": "/kə'mju:nɪkeɪt/", "chinese": "交流;沟通", "example": "Good leaders communicate clearly with their team.", "exampleChinese": "优秀的领导者与团队沟通清晰。", "synonyms": ["convey", "express"], "antonyms": [], "root": "com(共同)+mun(公共)+icate(动词后缀)"},
{"type": "w", "string": "species", "read": "/'spi:ʃi:z/", "chinese": "种;物种", "example": "There are over 10,000 species of birds in the world.", "exampleChinese": "世界上有超过一万种鸟类。", "synonyms": ["kind", "type"], "antonyms": [], "root": "拉丁语species(外观,种类)"},
{"type": "w", "string": "product", "read": "/'prɒdʌkt/", "chinese": "产品;制品", "example": "This factory produces electronic products.", "exampleChinese": "这家工厂生产电子产品。", "synonyms": ["goods", "item"], "antonyms": [], "root": "pro(向前)+duct(引导)"},
{"type": "w", "string": "side", "read": "/saɪd/", "chinese": "一面", "example": "Please write on one side of the paper only.", "exampleChinese": "请只在纸的一面书写。", "synonyms": ["aspect", "face"], "antonyms": [], "root": "古英语sīde"},
{"type": "w", "string": "borrow", "read": "/'bɒrəʊ/", "chinese": "借;借用", "example": "Can I borrow your pen for a moment?", "exampleChinese": "我能借你的笔用一下吗?", "synonyms": ["use temporarily"], "antonyms": ["lend"], "root": "古英语borgian(借)"},
{"type": "w", "string": "dig", "read": "/dɪg/", "chinese": "掘(地);凿(洞);挖(土)", "example": "The dog likes to dig holes in the garden.", "exampleChinese": "这只狗喜欢在花园里挖洞。", "synonyms": ["excavate"], "antonyms": ["bury"], "root": "古英语dīgian"},
{"type": "w", "string": "hole", "read": "/həʊl/", "chinese": "洞;孔;坑", "example": "There's a hole in my sock.", "exampleChinese": "我的袜子上有个洞。", "synonyms": ["opening", "cavity"], "antonyms": [], "root": "古英语hol"},
{"type": "w", "string": "stick", "read": "/stɪk/", "chinese": "棍;条", "example": "He picked up a stick to light the fire.", "exampleChinese": "他捡起一根棍子生火。", "synonyms": ["rod", "branch"], "antonyms": [], "root": "古英语sticca"},
{"type": "w", "string": "accident", "read": "/'æksɪdənt/", "chinese": "意外;偶然的事", "example": "I met her by accident at the supermarket.", "exampleChinese": "我在超市偶然遇见了她。", "synonyms": ["mishap", "incident"], "antonyms": ["intention"], "root": "ac(向)+cid(落下)+ent(名词后缀)"},
{"type": "w", "string": "knowledge", "read": "/'nɒlɪdʒ/", "chinese": "知识;学问", "example": "Knowledge is power.", "exampleChinese": "知识就是力量。", "synonyms": ["wisdom", "understanding"], "antonyms": ["ignorance"], "root": "know(知道)+ledge(名词后缀)"},
{"type": "w", "string": "character", "read": "/'kærəktə(r)/", "chinese": "文字", "example": "Chinese characters are beautiful and complex.", "exampleChinese": "汉字美丽而复杂。", "synonyms": ["letter", "symbol"], "antonyms": [], "root": "希腊语kharakter(特征,符号)"},
{"type": "w", "string": "spread", "read": "/spred/", "chinese": "传播", "example": "News spreads quickly on social media.", "exampleChinese": "消息在社交媒体上传播得很快。", "synonyms": ["distribute", "disseminate"], "antonyms": ["suppress"], "root": "古英语sprǣdan"},
{"type": "w", "string": "translation", "read": "/trænz'leɪʃn/", "chinese": "译文;译本", "example": "I read the book in translation.", "exampleChinese": "我读的是这本书的译本。", "synonyms": ["version", "interpretation"], "antonyms": ["original"], "root": "trans(跨越)+lat(携带)+ion(名词后缀)"},
{"type": "s", "string": "take in", "read": "", "chinese": "吸收;摄入", "example": "Plants take in carbon dioxide from the air.", "exampleChinese": "植物从空气中吸收二氧化碳。", "synonyms": ["absorb"], "antonyms": ["release"], "root": ""},
{"type": "s", "string": "greenhouse gas", "read": "", "chinese": "温室气体", "example": "Carbon dioxide is a major greenhouse gas.", "exampleChinese": "二氧化碳是一种主要的温室气体。", "synonyms": [], "antonyms": [], "root": "greenhouse(温室)+gas(气体)"},
{"type": "s", "string": "to begin with", "read": "", "chinese": "首先;第一点", "example": "To begin with, we need to define the problem.", "exampleChinese": "首先,我们需要定义问题。", "synonyms": ["firstly", "initially"], "antonyms": [], "root": ""},
{"type": "w", "string": "advice", "read": "/əd'vaɪs/", "chinese": "建议", "example": "Can you give me some advice on learning English?", "exampleChinese": "你能给我一些学英语的建议吗?", "synonyms": ["suggestion", "tip"], "antonyms": [], "root": "ad(向)+vis(看)+e"},
{"type": "w", "string": "encourage", "read": "/ɪn'kʌrɪdʒ/", "chinese": "鼓励;激励", "example": "Teachers should encourage students to ask questions.", "exampleChinese": "老师应该鼓励学生提问。", "synonyms": ["inspire", "motivate"], "antonyms": ["discourage"], "root": "en(使)+courage(勇气)"},
{"type": "w", "string": "retire", "read": "/rɪ'taɪə(r)/", "chinese": "(令)退职;(使)退休", "example": "My father plans to retire at the age of 60.", "exampleChinese": "我父亲计划60岁退休。", "synonyms": ["resign", "withdraw"], "antonyms": ["begin work"], "root": "re(回)+tire(拉)"},
{"type": "w", "string": "cheerful", "read": "/'tʃɪəfl/", "chinese": "快乐的;高兴的", "example": "She has a cheerful personality.", "exampleChinese": "她性格开朗快乐。", "synonyms": ["happy", "joyful"], "antonyms": ["sad", "gloomy"], "root": "cheer(欢呼)+ful(充满...的)"},
{"type": "w", "string": "community", "read": "/kə'mju:nəti/", "chinese": "社区", "example": "Our community center offers many activities.", "exampleChinese": "我们的社区中心提供很多活动。", "synonyms": ["neighborhood", "society"], "antonyms": [], "root": "com(共同)+mun(公共)+ity(名词后缀)"},
{"type": "w", "string": "medical", "read": "/'medɪkl/", "chinese": "医学的;医疗的", "example": "He works in a medical research lab.", "exampleChinese": "他在医学研究实验室工作。", "synonyms": ["clinical"], "antonyms": [], "root": "med(治疗)+ical(形容词后缀)"},
{"type": "w", "string": "fried", "read": "/fraɪd/", "chinese": "油炸的;油煎的;油炒的", "example": "I prefer steamed fish to fried fish.", "exampleChinese": "比起炸鱼我更喜欢蒸鱼。", "synonyms": ["deep-fried"], "antonyms": ["boiled", "steamed"], "root": "fry(油炸)+ed(形容词后缀)"},
{"type": "w", "string": "wherever", "read": "/weər'evə(r)/", "chinese": "各处;处处", "example": "Wherever you go, I will follow.", "exampleChinese": "无论你去哪里,我都会跟随。", "synonyms": ["anywhere"], "antonyms": ["nowhere"], "root": "where(哪里)+ever(无论)"},
{"type": "w", "string": "future", "read": "/'fju:tʃə(r)/", "chinese": "将来;未来", "example": "No one knows what will happen in the future.", "exampleChinese": "没有人知道未来会发生什么。", "synonyms": ["prospect", "tomorrow"], "antonyms": ["past", "history"], "root": "拉丁语futurus(将来的)"},
{"type": "w", "string": "soon", "read": "/su:n/", "chinese": "很快;马上;不久", "example": "I will finish my homework soon.", "exampleChinese": "我很快会完成作业。", "synonyms": ["shortly", "quickly"], "antonyms": ["later"], "root": "古英语sōna"},
{"type": "w", "string": "smart", "read": "/smɑːt/", "chinese": "聪明的;机敏的", "example": "She is a smart student who learns quickly.", "exampleChinese": "她是个聪明的学生,学得很快。", "synonyms": ["clever", "intelligent"], "antonyms": ["stupid", "foolish"], "root": "古英语smeortan(刺痛,敏锐)"},
{"type": "w", "string": "attention", "read": "/ə'tenʃn/", "chinese": "专心;注意力", "example": "Please pay attention to the teacher.", "exampleChinese": "请注意听老师讲课。", "synonyms": ["concentration", "focus"], "antonyms": ["distraction"], "root": "at(向)+tent(伸展)+ion(名词后缀)"},
{"type": "w", "string": "seldom", "read": "/'seldəm/", "chinese": "不常;很少;难得", "example": "I seldom eat fast food.", "exampleChinese": "我很少吃快餐。", "synonyms": ["rarely", "hardly"], "antonyms": ["often", "frequently"], "root": "古英语seldan(很少)"},
{"type": "w", "string": "bored", "read": "/bɔ:d/", "chinese": "(对某人/事物)厌倦的;烦闷的", "example": "I get bored when I have nothing to do.", "exampleChinese": "我无事可做时会感到无聊。", "synonyms": ["tired", "uninterested"], "antonyms": ["interested", "excited"], "root": "bore(使厌烦)+ed(形容词后缀)"},
{"type": "w", "string": "strict", "read": "/strɪkt/", "chinese": "要求严格的;严厉的", "example": "My parents are strict about my study.", "exampleChinese": "我父母对我的学习要求严格。", "synonyms": ["severe", "rigorous"], "antonyms": ["lenient", "loose"], "root": "拉丁语strictus(拉紧的)"},
{"type": "w", "string": "relative", "read": "/'relətɪv/", "chinese": "亲戚;亲属", "example": "Most of my relatives live in the countryside.", "exampleChinese": "我的大多数亲戚住在乡下。", "synonyms": ["family member", "kin"], "antonyms": [], "root": "re(回)+lat(携带)+ive(名词后缀)"},
{"type": "w", "string": "uniform", "read": "/'ju:nɪfɔ:m/", "chinese": "制服;校服", "example": "Students must wear uniforms at school.", "exampleChinese": "学生在学校必须穿校服。", "synonyms": ["costume", "outfit"], "antonyms": [], "root": "uni(一)+form(形式)"},
{"type": "w", "string": "personality", "read": "/ˌpɜːsə'næləti/", "chinese": "性格;个性", "example": "She has a warm and friendly personality.", "exampleChinese": "她性格热情友好。", "synonyms": ["character", "temperament"], "antonyms": [], "root": "person(人)+ality(名词后缀)"},
{"type": "w", "string": "characteristic", "read": "/ˌkærəktə'rɪstɪk/", "chinese": "特点;品质", "example": "Patience is one of her main characteristics.", "exampleChinese": "耐心是她的主要特点之一。", "synonyms": ["feature", "trait"], "antonyms": [], "root": "character(特征)+istic(形容词后缀)"},
{"type": "w", "string": "topic", "read": "/'tɒpɪk/", "chinese": "话题;标题", "example": "Climate change is a hot topic nowadays.", "exampleChinese": "气候变化是当今的热门话题。", "synonyms": ["subject", "theme"], "antonyms": [], "root": "希腊语topikos(地方的,主题的)"},
{"type": "w", "string": "active", "read": "/'æktɪv/", "chinese": "忙碌的;活跃的", "example": "He leads an active lifestyle.", "exampleChinese": "他过着活跃的生活方式。", "synonyms": ["energetic", "lively"], "antonyms": ["inactive", "passive"], "root": "act(行动)+ive(形容词后缀)"},
{"type": "w", "string": "smartphone", "read": "/'smɑːtfəʊn/", "chinese": "智能手机", "example": "Almost everyone has a smartphone now.", "exampleChinese": "现在几乎人人都有智能手机。", "synonyms": ["mobile phone"], "antonyms": [], "root": "smart(智能的)+phone(电话)"},
{"type": "w", "string": "wisely", "read": "/'waɪzli/", "chinese": "聪明地;明智地", "example": "Use your time wisely.", "exampleChinese": "明智地利用你的时间。", "synonyms": ["sensibly", "intelligently"], "antonyms": ["foolishly"], "root": "wise(明智的)+ly(副词后缀)"},
{"type": "w", "string": "competition", "read": "/ˌkɒmpə'tɪʃn/", "chinese": "比赛;竞赛", "example": "She won first place in the singing competition.", "exampleChinese": "她在歌唱比赛中获得第一名。", "synonyms": ["contest", "race"], "antonyms": ["cooperation"], "root": "com(共同)+pet(追求)+ition(名词后缀)"},
{"type": "w", "string": "shower", "read": "/'ʃaʊə(r)/", "chinese": "淋浴", "example": "I usually take a shower in the morning.", "exampleChinese": "我通常早上淋浴。", "synonyms": ["bath"], "antonyms": [], "root": "古英语scūr(阵雨)"},
{"type": "w", "string": "online", "read": "/ˌɒn'laɪn/", "chinese": "在线的", "example": "I prefer to shop online rather than in stores.", "exampleChinese": "我喜欢网上购物而不是去实体店。", "synonyms": ["connected", "wired"], "antonyms": ["offline"], "root": "on(在...上)+line(线)"},
{"type": "w", "string": "site", "read": "/saɪt/", "chinese": "建筑工地", "example": "The construction site is closed to the public.", "exampleChinese": "建筑工地对公众关闭。", "synonyms": ["location", "place"], "antonyms": [], "root": "拉丁语situs(位置)"},
{"type": "w", "string": "narrow", "read": "/'nærəʊ/", "chinese": "狭窄的;窄小的", "example": "The street is too narrow for two cars.", "exampleChinese": "这条街太窄,容不下两辆车。", "synonyms": ["slender", "thin"], "antonyms": ["wide", "broad"], "root": "古英语nearu(狭窄的)"},
{"type": "w", "string": "superman", "read": "/'su:pəmæn/", "chinese": "超人", "example": "He is like a superman who never gets tired.", "exampleChinese": "他就像个从不会累的超人。", "synonyms": ["hero"], "antonyms": [], "root": "super(超级的)+man(人)"},
{"type": "s", "string": "give up", "read": "", "chinese": "认输;放弃", "example": "Never give up on your dreams.", "exampleChinese": "永远不要放弃你的梦想。", "synonyms": ["quit", "surrender"], "antonyms": ["persist", "continue"], "root": ""},
{"type": "s", "string": "used to", "read": "", "chinese": "曾经", "example": "I used to play basketball every day.", "exampleChinese": "我曾经每天打篮球。", "synonyms": ["would"], "antonyms": [], "root": ""},
{"type": "s", "string": "in the future", "read": "", "chinese": "在未来", "example": "I hope to travel more in the future.", "exampleChinese": "我希望将来能多旅行。", "synonyms": ["later on"], "antonyms": ["in the past"], "root": ""},
{"type": "s", "string": "be strict about", "read": "", "chinese": "对……要求严格", "example": "My teacher is strict about homework deadlines.", "exampleChinese": "我的老师对作业截止日期要求严格。", "synonyms": ["be rigorous about"], "antonyms": [], "root": ""},
{"type": "s", "string": "be worried about", "read": "", "chinese": "担心", "example": "Don't be worried about the exam.", "exampleChinese": "不要担心考试。", "synonyms": ["be concerned about"], "antonyms": [], "root": ""},
{"type": "w", "string": "wine", "read": "/waɪn/", "chinese": "葡萄酒", "example": "France is famous for its wine.", "exampleChinese": "法国以其葡萄酒闻名。", "synonyms": [], "antonyms": [], "root": "拉丁语vinum"},
{"type": "w", "string": "match", "read": "/mætʃ/", "chinese": "配对", "example": "These two colors match perfectly.", "exampleChinese": "这两种颜色完美搭配。", "synonyms": ["pair", "fit"], "antonyms": ["clash"], "root": "古英语gemæcca(伴侣)"},
{"type": "w", "string": "rich", "read": "/rɪtʃ/", "chinese": "丰富多彩的", "example": "The area has a rich cultural heritage.", "exampleChinese": "这个地区有丰富的文化遗产。", "synonyms": ["abundant", "wealthy"], "antonyms": ["poor", "lacking"], "root": "古英语rīce(强大的,富有的)"},
{"type": "w", "string": "lie", "read": "/laɪ/", "chinese": "位于;坐落在", "example": "The village lies in a beautiful valley.", "exampleChinese": "这个村庄坐落在美丽的山谷中。", "synonyms": ["be located", "sit"], "antonyms": [], "root": "古英语licgan(躺,位于)"},
{"type": "w", "string": "café", "read": "/'kæfeɪ/", "chinese": "咖啡馆;小餐馆", "example": "Let's meet at the café across the street.", "exampleChinese": "我们在街对面的咖啡馆见面吧。", "synonyms": ["coffee shop", "bistro"], "antonyms": [], "root": "法语café(咖啡)"},
{"type": "w", "string": "excellent", "read": "/'eksələnt/", "chinese": "优秀的;极好的", "example": "You did an excellent job on this project.", "exampleChinese": "你在这个项目上做得很出色。", "synonyms": ["outstanding", "superb"], "antonyms": ["terrible", "poor"], "root": "ex(出)+cell(上升)+ent(形容词后缀)"},
{"type": "w", "string": "coast", "read": "/kəʊst/", "chinese": "海岸;海滨", "example": "We walked along the coast at sunset.", "exampleChinese": "日落时分我们沿着海岸散步。", "synonyms": ["shore", "seaside"], "antonyms": ["inland"], "root": "拉丁语costa(肋骨,海岸)"},
{"type": "w", "string": "perfect", "read": "/'pɜːfɪkt/", "chinese": "正合适", "example": "This dress is perfect for the party.", "exampleChinese": "这条裙子非常适合参加派对。", "synonyms": ["ideal", "flawless"], "antonyms": ["imperfect", "flawed"], "root": "per(完全)+fect(做)"},
{"type": "w", "string": "mostly", "read": "/'məʊstli/", "chinese": "主要地;通常", "example": "The audience was mostly young people.", "exampleChinese": "观众主要是年轻人。", "synonyms": ["mainly", "usually"], "antonyms": ["rarely"], "root": "most(最多的)+ly(副词后缀)"},
{"type": "w", "string": "receive", "read": "/rɪ'si:v/", "chinese": "接待;招待", "example": "We received a warm welcome at the hotel.", "exampleChinese": "我们在酒店受到了热情的接待。", "synonyms": ["welcome", "accept"], "antonyms": ["give", "send"], "root": "re(回)+ceive(拿)"},
{"type": "w", "string": "key", "read": "/ki:/", "chinese": "主要的;关键的", "example": "Education is the key to success.", "exampleChinese": "教育是成功的关键。", "synonyms": ["main", "crucial"], "antonyms": ["minor", "unimportant"], "root": "古英语cǣg"},
{"type": "w", "string": "remain", "read": "/rɪ'meɪn/", "chinese": "仍然是;保持不变", "example": "Please remain seated until the plane stops.", "exampleChinese": "请保持就座直到飞机停下。", "synonyms": ["stay", "continue"], "antonyms": ["change", "leave"], "root": "re(回)+main(停留)"},
{"type": "w", "string": "lift", "read": "/lɪft/", "chinese": "电梯;升降机", "example": "Let's take the lift to the tenth floor.", "exampleChinese": "我们乘电梯到十楼吧。", "synonyms": ["elevator"], "antonyms": [], "root": "古斯堪的纳维亚语lypta(举起)"},
{"type": "w", "string": "step", "read": "/step/", "chinese": "台阶", "example": "Be careful of the steps when you go down.", "exampleChinese": "下来时小心台阶。", "synonyms": ["stair", "rung"], "antonyms": [], "root": "古英语stæpe"},
{"type": "w", "string": "stair", "read": "/steə(r)/", "chinese": "楼梯", "example": "I climbed the stairs to the second floor.", "exampleChinese": "我爬楼梯到了二楼。", "synonyms": ["staircase", "steps"], "antonyms": [], "root": "古英语stǣger"},
{"type": "s", "string": "come from", "read": "", "chinese": "来自", "example": "She comes from a small town in the south.", "exampleChinese": "她来自南方的一个小镇。", "synonyms": ["originate from"], "antonyms": [], "root": ""},
{"type": "s", "string": "look around", "read": "", "chinese": "环视;环顾;四下察看", "example": "Look around before you cross the street.", "exampleChinese": "过马路前先四处看看。", "synonyms": ["glance around"], "antonyms": [], "root": ""},
{"type": "s", "string": "be made of", "read": "", "chinese": "由……制成", "example": "This table is made of solid wood.", "exampleChinese": "这张桌子是实木做的。", "synonyms": ["consist of"], "antonyms": [], "root": ""},
{"type": "s", "string": "for example", "read": "", "chinese": "例如;譬如", "example": "I like fruits, for example, apples and oranges.", "exampleChinese": "我喜欢水果,例如苹果和橙子。", "synonyms": ["for instance"], "antonyms": [], "root": ""},
{"type": "s", "string": "communicate with", "read": "", "chinese": "与……沟通", "example": "It's important to communicate with your parents.", "exampleChinese": "与父母沟通很重要。", "synonyms": ["talk to"], "antonyms": [], "root": ""},
{"type": "s", "string": "call on", "read": "", "chinese": "号召;动员;要求", "example": "The leader called on everyone to work hard.", "exampleChinese": "领导号召大家努力工作。", "synonyms": ["appeal to", "urge"], "antonyms": [], "root": ""},
{"type": "s", "string": "according to", "read": "", "chinese": "据(……所说);按(……所报道)", "example": "According to the weather forecast, it will rain tomorrow.", "exampleChinese": "据天气预报说明天会下雨。", "synonyms": ["based on"], "antonyms": [], "root": ""},
{"type": "s", "string": "by accident", "read": "", "chinese": "偶然;意外地", "example": "I met her by accident at the library.", "exampleChinese": "我在图书馆偶然遇见了她。", "synonyms": ["by chance"], "antonyms": ["on purpose"], "root": ""},
{"type": "w", "string": "dolphin", "read": "/'dɒlfɪn/", "chinese": "海豚", "example": "Dolphins are intelligent marine animals.", "exampleChinese": "海豚是聪明的海洋动物。", "synonyms": [], "antonyms": [], "root": "希腊语delphis"},
{"type": "w", "string": "hen", "read": "/hen/", "chinese": "母鸡", "example": "The hen laid an egg this morning.", "exampleChinese": "这只母鸡今早上产了一个蛋。", "synonyms": ["chicken"], "antonyms": ["rooster"], "root": "古英语henn"},
{"type": "w", "string": "blind", "read": "/blaɪnd/", "chinese": "瞎的;失明的", "example": "The blind man uses a white cane to walk.", "exampleChinese": "这位盲人用白色手杖走路。", "synonyms": ["sightless"], "antonyms": ["sighted"], "root": "古英语blind"},
{"type": "w", "string": "wool", "read": "/wʊl/", "chinese": "(羊等的)毛", "example": "This sweater is made of pure wool.", "exampleChinese": "这件毛衣是纯羊毛的。", "synonyms": ["fleece"], "antonyms": [], "root": "古英语wull"},
{"type": "w", "string": "sir", "read": "/sɜː(r)/", "chinese": "先生", "example": "Yes, sir. I will do it right away.", "exampleChinese": "是的,先生。我马上就做。", "synonyms": ["gentleman"], "antonyms": ["madam"], "root": "古法语sire(主人)"},
{"type": "w", "string": "receptionist", "read": "/rɪ'sepʃənɪst/", "chinese": "接待员", "example": "The receptionist greeted us warmly at the front desk.", "exampleChinese": "接待员在前台热情地迎接了我们。", "synonyms": ["greeter"], "antonyms": [], "root": "re(回)+cept(拿)+ion+ist(人)"},
{"type": "w", "string": "allow", "read": "/ə'laʊ/", "chinese": "允许进入(或出去、通过)", "example": "Dogs are not allowed in the restaurant.", "exampleChinese": "餐厅不允许狗进入。", "synonyms": ["permit", "let"], "antonyms": ["forbid", "prohibit"], "root": "拉丁语allocare(分配)"},
{"type": "w", "string": "apologize", "read": "/ə'pɒlədʒaɪz/", "chinese": "道歉", "example": "I want to apologize for being late.", "exampleChinese": "我想为迟到道歉。", "synonyms": ["say sorry"], "antonyms": [], "root": "apo(离开)+log(说话)+ize(动词后缀)"},
{"type": "w", "string": "asleep", "read": "/ə'sli:p/", "chinese": "睡着", "example": "The baby is asleep in the crib.", "exampleChinese": "婴儿在婴儿床里睡着了。", "synonyms": ["sleeping"], "antonyms": ["awake"], "root": "a(在)+sleep(睡眠)"},
{"type": "w", "string": "smoke", "read": "/sməʊk/", "chinese": "烟", "example": "There was smoke coming from the kitchen.", "exampleChinese": "厨房冒出了烟。", "synonyms": ["fume"], "antonyms": [], "root": "古英语smoca"},
{"type": "w", "string": "fireman", "read": "/'faɪəmən/", "chinese": "消防队员", "example": "The fireman rescued the cat from the tree.", "exampleChinese": "消防员从树上救下了猫。", "synonyms": ["firefighter"], "antonyms": [], "root": "fire(火)+man(人)"},
{"type": "w", "string": "type", "read": "/taɪp/", "chinese": "类型;种类", "example": "What type of music do you like?", "exampleChinese": "你喜欢什么类型的音乐?", "synonyms": ["kind", "sort"], "antonyms": [], "root": "希腊语typos(印记,类型)"},
{"type": "w", "string": "search-and-rescue", "read": "/ˌsɜːtʃ ənd 'reskju:/", "chinese": "搜索救援", "example": "The search-and-rescue team found the missing hikers.", "exampleChinese": "搜救队找到了失踪的徒步者。", "synonyms": ["rescue mission"], "antonyms": [], "root": "search(搜索)+and+rescue(救援)"},
{"type": "w", "string": "service", "read": "/'sɜːvɪs/", "chinese": "服务", "example": "The restaurant provides excellent service.", "exampleChinese": "这家餐厅提供优质服务。", "synonyms": ["assistance", "help"], "antonyms": [], "root": "serv(服务)+ice(名词后缀)"},
{"type": "w", "string": "disaster", "read": "/dɪ'zɑːstə(r)/", "chinese": "灾难;灾害", "example": "The earthquake was a terrible disaster.", "exampleChinese": "这场地震是一场可怕的灾难。", "synonyms": ["catastrophe", "tragedy"], "antonyms": ["blessing"], "root": "dis(坏的)+aster(星星)"},
{"type": "w", "string": "guest", "read": "/gest/", "chinese": "旅客;房客", "example": "We have some guests staying at our house this weekend.", "exampleChinese": "这个周末我们家有一些客人住。", "synonyms": ["visitor", "traveler"], "antonyms": ["host"], "root": "古英语giest"},
{"type": "w", "string": "team", "read": "/ti:m/", "chinese": "组;班", "example": "Our team won the championship last year.", "exampleChinese": "我们队去年赢得了冠军。", "synonyms": ["group", "crew"], "antonyms": [], "root": "古英语tēam"},
{"type": "w", "string": "transport", "read": "/træn'spɔːt/", "chinese": "运输;运送", "example": "The goods were transported by ship.", "exampleChinese": "货物通过船运输。", "synonyms": ["carry", "convey"], "antonyms": [], "root": "trans(跨越)+port(携带)"},
{"type": "w", "string": "guard", "read": "/gɑːd/", "chinese": "守卫;保卫", "example": "The dog guards the house at night.", "exampleChinese": "这只狗晚上看家。", "synonyms": ["protect", "defend"], "antonyms": ["attack"], "root": "古法语garder(看守)"},
{"type": "w", "string": "honey", "read": "/'hʌni/", "chinese": "蜂蜜", "example": "I like to put honey in my tea.", "exampleChinese": "我喜欢在茶里加蜂蜜。", "synonyms": [], "antonyms": [], "root": "古英语hunig"},
{"type": "w", "string": "material", "read": "/mə'tɪəriəl/", "chinese": "材料;原料", "example": "This dress is made of high-quality material.", "exampleChinese": "这条裙子是用优质材料做的。", "synonyms": ["substance", "stuff"], "antonyms": [], "root": "拉丁语materia(物质)"},
{"type": "w", "string": "either", "read": "/'aɪðə(r)/", "chinese": "也", "example": "I don't like coffee, and I don't like tea either.", "exampleChinese": "我不喜欢咖啡,也不喜欢茶。", "synonyms": ["also", "too"], "antonyms": ["neither"], "root": "古英语ǣgther(两者之一)"},
{"type": "w", "string": "shark", "read": "/ʃɑːk/", "chinese": "鲨鱼", "example": "Sharks are apex predators in the ocean.", "exampleChinese": "鲨鱼是海洋中的顶级掠食者。", "synonyms": [], "antonyms": [], "root": "来源不明,可能来自德语Schorck"},
{"type": "w", "string": "scared", "read": "/skeəd/", "chinese": "害怕;恐惧", "example": "The child was scared of the dark.", "exampleChinese": "这个孩子害怕黑暗。", "synonyms": ["frightened", "afraid"], "antonyms": ["brave", "calm"], "root": "scare(惊吓)+ed(形容词后缀)"},
{"type": "w", "string": "grey", "read": "/greɪ/", "chinese": "灰色的", "example": "The sky was grey and cloudy.", "exampleChinese": "天空灰蒙蒙的,多云。", "synonyms": ["gray"], "antonyms": [], "root": "古英语grǣg"},
{"type": "s", "string": "lead (somebody) to", "read": "", "chinese": "带着(某人)到", "example": "The guide led us to the ancient temple.", "exampleChinese": "导游带着我们到了古庙。", "synonyms": ["guide to"], "antonyms": [], "root": ""},
{"type": "s", "string": "fall asleep", "read": "", "chinese": "入睡;睡着", "example": "I usually fall asleep within ten minutes.", "exampleChinese": "我通常十分钟内就睡着了。", "synonyms": ["go to sleep"], "antonyms": ["wake up"], "root": ""},
{"type": "s", "string": "get down", "read": "", "chinese": "俯身;趴下;跪下", "example": "Get down! There's a low ceiling here.", "exampleChinese": "低下头!这里天花板很低。", "synonyms": ["bend down"], "antonyms": ["stand up"], "root": ""},
{"type": "s", "string": "fire engine", "read": "", "chinese": "消防车", "example": "The fire engine rushed to the burning building.", "exampleChinese": "消防车冲向着火的大楼。", "synonyms": ["fire truck"], "antonyms": [], "root": ""},
{"type": "w", "string": "somewhere", "read": "/'sʌmweə(r)/", "chinese": "在某处;到某处", "example": "I left my keys somewhere in the house.", "exampleChinese": "我把钥匙落在家里某个地方了。", "synonyms": ["someplace"], "antonyms": ["nowhere"], "root": "some(某个)+where(哪里)"},
{"type": "w", "string": "probably", "read": "/'prɒbəbli/", "chinese": "很可能;大概", "example": "It will probably rain this afternoon.", "exampleChinese": "今天下午很可能会下雨。", "synonyms": ["likely", "perhaps"], "antonyms": ["unlikely"], "root": "prob(证明)+ably(副词后缀)"},
{"type": "w", "string": "source", "read": "/sɔːs/", "chinese": "来源;出处", "example": "What is the source of this information?", "exampleChinese": "这条信息的来源是什么?", "synonyms": ["origin", "beginning"], "antonyms": ["result", "end"], "root": "拉丁语surgere(升起)"},
{"type": "w", "string": "sometime", "read": "/'sʌmtaɪm/", "chinese": "在某时", "example": "Let's meet sometime next week.", "exampleChinese": "我们下周找个时间见面吧。", "synonyms": ["someday"], "antonyms": ["never"], "root": "some(某个)+time(时间)"},
{"type": "w", "string": "extinct", "read": "/ɪk'stɪŋkt/", "chinese": "已灭绝的;绝种的", "example": "Dinosaurs have been extinct for millions of years.", "exampleChinese": "恐龙已经灭绝数百万年了。", "synonyms": ["vanished", "dead"], "antonyms": ["extant", "living"], "root": "ex(出)+stinct(刺)"},
{"type": "w", "string": "effort", "read": "/'efət/", "chinese": "艰难的尝试;试图", "example": "Learning a language requires a lot of effort.", "exampleChinese": "学习语言需要付出很多努力。", "synonyms": ["attempt", "endeavor"], "antonyms": ["ease"], "root": "古法语esforz(力量)"},
{"type": "w", "string": "everyday", "read": "/'evrideɪ/", "chinese": "每天的;日常的", "example": "I use this app for everyday communication.", "exampleChinese": "我每天用这个应用交流。", "synonyms": ["daily", "routine"], "antonyms": ["special", "unusual"], "root": "every(每个)+day(天)"},
{"type": "w", "string": "form", "read": "/fɔːm/", "chinese": "类型;形态", "example": "Ice is the solid form of water.", "exampleChinese": "冰是水的固态形式。", "synonyms": ["shape", "type"], "antonyms": [], "root": "拉丁语forma(形状)"},
{"type": "w", "string": "journey", "read": "/'dʒɜːni/", "chinese": "(尤指长途)旅行", "example": "The journey from Beijing to Shanghai takes about five hours by train.", "exampleChinese": "从北京到上海的火车旅程大约需要五小时。", "synonyms": ["trip", "voyage"], "antonyms": [], "root": "古法语jornee(一天的路程)"},
{"type": "w", "string": "drop", "read": "/drɒp/", "chinese": "滴;水珠", "example": "A drop of water fell from the tap.", "exampleChinese": "一滴水从水龙头滴落。", "synonyms": ["drip", "bead"], "antonyms": [], "root": "古英语dropa"},
{"type": "w", "string": "tap", "read": "/tæp/", "chinese": "水龙头", "example": "Please turn off the tap when you're done.", "exampleChinese": "用完请关掉水龙头。", "synonyms": ["faucet"], "antonyms": [], "root": "古英语tæppa"},
{"type": "w", "string": "voice", "read": "/vɔɪs/", "chinese": "说话声", "example": "I recognized her voice immediately.", "exampleChinese": "我立刻认出了她的声音。", "synonyms": ["sound", "tone"], "antonyms": ["silence"], "root": "拉丁语vox(声音)"},
{"type": "w", "string": "eventually", "read": "/ɪ'ventʃuəli/", "chinese": "最后;终于", "example": "Eventually, we found the lost keys.", "exampleChinese": "最后,我们找到了丢失的钥匙。", "synonyms": ["finally", "ultimately"], "antonyms": ["initially"], "root": "e(出)+vent(来)+ually(副词后缀)"},
{"type": "w", "string": "pipe", "read": "/paɪp/", "chinese": "管子;管道", "example": "Water flows through the pipe to the house.", "exampleChinese": "水通过管道流到房子里。", "synonyms": ["tube", "pipeline"], "antonyms": [], "root": "古英语pīpe"},
{"type": "w", "string": "return", "read": "/rɪ'tɜːn/", "chinese": "回去;返回", "example": "I will return home after the meeting.", "exampleChinese": "会议结束后我会回家。", "synonyms": ["go back", "come back"], "antonyms": ["leave", "depart"], "root": "re(回)+turn(转)"},
{"type": "w", "string": "rush", "read": "/rʌʃ/", "chinese": "迅速移动", "example": "Everyone rushed to the exit when the alarm sounded.", "exampleChinese": "警报响起时,所有人都冲向出口。", "synonyms": ["hurry", "dash"], "antonyms": ["crawl", "creep"], "root": "中古英语russhen"},
{"type": "w", "string": "bath", "read": "/bɑːθ/", "chinese": "洗澡;洗浴", "example": "The baby loves to play in the bath.", "exampleChinese": "宝宝喜欢在浴盆里玩。", "synonyms": ["shower", "wash"], "antonyms": [], "root": "古英语bæþ"},
{"type": "w", "string": "salt", "read": "/sɔːlt/", "chinese": "含盐的;咸的", "example": "The soup is too salty for me.", "exampleChinese": "这汤对我来说太咸了。", "synonyms": ["salty", "briny"], "antonyms": ["sweet", "fresh"], "root": "古英语sealt"},
{"type": "w", "string": "brain", "read": "/breɪn/", "chinese": "脑", "example": "The brain controls all body functions.", "exampleChinese": "大脑控制所有身体功能。", "synonyms": ["mind", "intellect"], "antonyms": [], "root": "古英语brægen"},
{"type": "w", "string": "fix", "read": "/fɪks/", "chinese": "修理", "example": "Can you help me fix my bicycle?", "exampleChinese": "你能帮我修自行车吗?", "synonyms": ["repair", "mend"], "antonyms": ["break", "damage"], "root": "拉丁语figere(固定)"},
{"type": "w", "string": "public", "read": "/'pʌblɪk/", "chinese": "公共的;公开的", "example": "This is a public park open to everyone.", "exampleChinese": "这是一个对所有人开放的公园。", "synonyms": ["open", "communal"], "antonyms": ["private", "personal"], "root": "拉丁语publicus(人民的)"},
{"type": "w", "string": "population", "read": "/ˌpɒpju'leɪʃn/", "chinese": "人口", "example": "The population of this city has grown rapidly.", "exampleChinese": "这个城市的人口增长很快。", "synonyms": ["inhabitants", "residents"], "antonyms": [], "root": "popul(人民)+ation(名词后缀)"},
{"type": "w", "string": "agriculture", "read": "/'ægrɪkʌltʃə(r)/", "chinese": "农业", "example": "Agriculture is the main industry in this region.", "exampleChinese": "农业是这个地区的主要产业。", "synonyms": ["farming", "cultivation"], "antonyms": [], "root": "agri(田地)+cult(耕种)+ure(名词后缀)"},
{"type": "w", "string": "trade", "read": "/treɪd/", "chinese": "贸易;买卖", "example": "International trade has increased significantly.", "exampleChinese": "国际贸易显著增长。", "synonyms": ["commerce", "business"], "antonyms": [], "root": "中古低地德语trade(小路,贸易路线)"},
{"type": "w", "string": "industry", "read": "/'ɪndəstri/", "chinese": "工业;生产制造", "example": "The tourism industry is important to the local economy.", "exampleChinese": "旅游业对当地经济很重要。", "synonyms": ["manufacturing", "business"], "antonyms": [], "root": "拉丁语industria(勤奋,活动)"},
{"type": "w", "string": "role", "read": "/rəʊl/", "chinese": "作用", "example": "Parents play an important role in children's education.", "exampleChinese": "父母在孩子的教育中扮演重要角色。", "synonyms": ["function", "part"], "antonyms": [], "root": "古法语rolle(卷轴,角色)"},
{"type": "w", "string": "goods", "read": "/gʊdz/", "chinese": "商品;货品", "example": "The store sells a wide variety of goods.", "exampleChinese": "这家商店销售各种各样的商品。", "synonyms": ["products", "merchandise"], "antonyms": [], "root": "good(好的)的复数形式"},
{"type": "w", "string": "overseas", "read": "/ˌəʊvə'si:z/", "chinese": "在国外;向海外", "example": "Many students choose to study overseas.", "exampleChinese": "许多学生选择出国留学。", "synonyms": ["abroad", "foreign"], "antonyms": ["domestic", "home"], "root": "over(越过)+seas(海洋)"},
{"type": "w", "string": "global", "read": "/'gləʊbl/", "chinese": "全球的;全世界的", "example": "Climate change is a global problem.", "exampleChinese": "气候变化是一个全球性问题。", "synonyms": ["worldwide", "international"], "antonyms": ["local", "regional"], "root": "globe(地球)+al(形容词后缀)"},
{"type": "w", "string": "income", "read": "/'ɪnkʌm/", "chinese": "收入;收益;所得", "example": "His monthly income is enough to support his family.", "exampleChinese": "他的月收入足以养家。", "synonyms": ["earnings", "revenue"], "antonyms": ["expense", "expenditure"], "root": "in(进入)+come(来)"},
{"type": "w", "string": "nearly", "read": "/'nɪəli/", "chinese": "几乎;差不多;将近", "example": "It's nearly time to leave.", "exampleChinese": "差不多该走了。", "synonyms": ["almost", "approximately"], "antonyms": [], "root": "near(近的)+ly(副词后缀)"},
{"type": "w", "string": "business", "read": "/'bɪznəs/", "chinese": "买卖;生意", "example": "He runs a small business from home.", "exampleChinese": "他在家经营一家小生意。", "synonyms": ["commerce", "trade"], "antonyms": [], "root": "busy(忙碌的)+ness(名词后缀)"},
{"type": "w", "string": "leisure", "read": "/'leʒə(r)/", "chinese": "闲暇;空闲;休闲", "example": "I like to read books in my leisure time.", "exampleChinese": "我喜欢在闲暇时间读书。", "synonyms": ["free time", "spare time"], "antonyms": ["work", "business"], "root": "拉丁语licere(被允许)"},
{"type": "w", "string": "throughout", "read": "/θru:'aʊt/", "chinese": "自始至终;贯穿整个时期", "example": "She remained calm throughout the crisis.", "exampleChinese": "她在整个危机中保持冷静。", "synonyms": ["during", "all through"], "antonyms": [], "root": "through(穿过)+out(向外)"},
{"type": "w", "string": "duty", "read": "/'dju:ti/", "chinese": "责任;义务", "example": "It is our duty to protect the environment.", "exampleChinese": "保护环境是我们的责任。", "synonyms": ["responsibility", "obligation"], "antonyms": ["right", "privilege"], "root": "古法语deu(欠的)"},
{"type": "s", "string": "a bit", "read": "", "chinese": "有点儿;稍微", "example": "I'm a bit tired after the long walk.", "exampleChinese": "走了这么久,我有点累。", "synonyms": ["a little", "somewhat"], "antonyms": ["a lot"], "root": ""},
{"type": "s", "string": "at once", "read": "", "chinese": "立即;马上", "example": "Please come to my office at once.", "exampleChinese": "请马上来我办公室。", "synonyms": ["immediately", "right away"], "antonyms": ["later"], "root": ""},
{"type": "s", "string": "drinking water", "read": "", "chinese": "饮用水", "example": "Make sure you have enough drinking water for the hike.", "exampleChinese": "确保你有足够的饮用水用于徒步。", "synonyms": ["potable water"], "antonyms": [], "root": ""},
{"type": "s", "string": "play a role in", "read": "", "chinese": "在……起作用", "example": "Technology plays an important role in modern education.", "exampleChinese": "技术在现代教育中起重要作用。", "synonyms": ["participate in"], "antonyms": [], "root": ""},
{"type": "s", "string": "steam engine", "read": "", "chinese": "蒸汽机", "example": "The steam engine revolutionized transportation in the 19th century.", "exampleChinese": "蒸汽机在19世纪彻底改变了交通。", "synonyms": [], "antonyms": [], "root": "steam(蒸汽)+engine(发动机)"},
{"type": "s", "string": "as a result", "read": "", "chinese": "作为结果;因此", "example": "He studied hard; as a result, he passed the exam.", "exampleChinese": "他努力学习,因此通过了考试。", "synonyms": ["therefore", "consequently"], "antonyms": [], "root": ""},
{"type": "s", "string": "make sure", "read": "", "chinese": "确保;设法保证", "example": "Make sure you lock the door before leaving.", "exampleChinese": "离开前确保锁好门。", "synonyms": ["ensure", "guarantee"], "antonyms": [], "root": ""},
{"type": "w", "string": "battery", "read": "/'bætəri/", "chinese": "电池", "example": "My phone battery is running low.", "exampleChinese": "我的手机电池快没电了。", "synonyms": ["cell", "power pack"], "antonyms": [], "root": "拉丁语battuere(打)"},
{"type": "w", "string": "electricity", "read": "/ɪˌlek'trɪsəti/", "chinese": "电;电能", "example": "Electricity powers our modern world.", "exampleChinese": "电驱动着我们的现代世界。", "synonyms": ["power", "current"], "antonyms": [], "root": "electr(电)+icity(名词后缀)"},
{"type": "w", "string": "switch-off", "read": "/ˌswɪtʃ 'ɒf/", "chinese": "关闭(电灯、机器等)的", "example": "Don't forget to switch off the lights.", "exampleChinese": "别忘了关灯。", "synonyms": ["turn off", "shut off"], "antonyms": ["switch on", "turn on"], "root": "switch(开关)+off(关闭)"},
{"type": "w", "string": "task", "read": "/tɑːsk/", "chinese": "任务;活动", "example": "Completing this report is my main task today.", "exampleChinese": "完成这份报告是我今天的主要任务。", "synonyms": ["job", "assignment"], "antonyms": [], "root": "拉丁语taxare(评估,任务)"},
{"type": "w", "string": "while", "read": "/waɪl/", "chinese": "一段时间;一会儿", "example": "Wait here for a while, please.", "exampleChinese": "请在这里等一会儿。", "synonyms": ["period", "time"], "antonyms": [], "root": "古英语hwīl"},
{"type": "w", "string": "tablet", "read": "/'tæblət/", "chinese": "平板电脑", "example": "She uses a tablet to read e-books.", "exampleChinese": "她用平板电脑看电子书。", "synonyms": ["pad", "device"], "antonyms": [], "root": "table(桌子)+et(小)"},
{"type": "w", "string": "fridge", "read": "/frɪdʒ/", "chinese": "冰箱", "example": "Put the milk back in the fridge.", "exampleChinese": "把牛奶放回冰箱。", "synonyms": ["refrigerator"], "antonyms": [], "root": "refrigerator的缩写"},
{"type": "w", "string": "yogurt", "read": "/'jɒgət/", "chinese": "酸奶", "example": "I eat yogurt for breakfast every morning.", "exampleChinese": "我每天早上吃酸奶当早餐。", "synonyms": ["yoghurt"], "antonyms": [], "root": "土耳其语yoğurt"},
{"type": "w", "string": "apartment", "read": "/ə'pɑːtmənt/", "chinese": "公寓套房", "example": "They live in a small apartment downtown.", "exampleChinese": "他们住在市中心的一套小公寓里。", "synonyms": ["flat", "condo"], "antonyms": [], "root": "a(向)+part(部分)+ment(名词后缀)"},
{"type": "w", "string": "household", "read": "/'haʊshəʊld/", "chinese": "家庭的", "example": "Household chores take up a lot of time.", "exampleChinese": "家务活占用很多时间。", "synonyms": ["domestic", "family"], "antonyms": [], "root": "house(房子)+hold(持有)"},
{"type": "w", "string": "against", "read": "/ə'genst/", "chinese": "紧靠;碰;撞", "example": "The ladder was leaning against the wall.", "exampleChinese": "梯子靠在墙上。", "synonyms": ["opposing", "touching"], "antonyms": ["for"], "root": "古英语ongean(反对)"},
{"type": "s", "string": "have something in common", "read": "", "chinese": "有相同的特征(或特点等)", "example": "We have a lot in common despite our different backgrounds.", "exampleChinese": "尽管背景不同,我们有很多共同点。", "synonyms": ["share similarities"], "antonyms": [], "root": ""},
{"type": "s", "string": "light bulb", "read": "", "chinese": "电灯泡", "example": "The light bulb needs to be replaced.", "exampleChinese": "这个电灯泡需要更换了。", "synonyms": ["bulb", "lamp"], "antonyms": [], "root": "light(光)+bulb(球茎)"},
{"type": "s", "string": "air conditioner", "read": "", "chinese": "空调机;空调设备", "example": "We need to fix the air conditioner before summer.", "exampleChinese": "夏天前我们需要修好空调。", "synonyms": ["AC", "cooler"], "antonyms": ["heater"], "root": "air(空气)+condition(调节)+er(名词后缀)"},
{"type": "s", "string": "video game", "read": "", "chinese": "电子游戏", "example": "Playing video games too long is bad for your eyes.", "exampleChinese": "玩电子游戏太久对眼睛不好。", "synonyms": ["computer game", "console game"], "antonyms": [], "root": "video(视频)+game(游戏)"},
{"type": "s", "string": "run out of", "read": "", "chinese": "用完;耗尽", "example": "We ran out of milk this morning.", "exampleChinese": "今天早上我们的牛奶用完了。", "synonyms": ["exhaust", "deplete"], "antonyms": ["stock up"], "root": ""},
{"type": "s", "string": "go bad", "read": "", "chinese": "变质", "example": "The meat will go bad if you don't refrigerate it.", "exampleChinese": "如果不冷藏,肉会变质。", "synonyms": ["spoil", "rot"], "antonyms": ["stay fresh"], "root": ""},
{"type": "s", "string": "electric car", "read": "", "chinese": "电动汽车", "example": "Electric cars are becoming more popular.", "exampleChinese": "电动汽车越来越受欢迎。", "synonyms": ["e-car", "EV"], "antonyms": [], "root": "electric(电的)+car(汽车)"},
{"type": "s", "string": "electrical appliance", "read": "", "chinese": "电器", "example": "Don't use electrical appliances near water.", "exampleChinese": "不要在有水的地方使用电器。", "synonyms": ["device", "equipment"], "antonyms": [], "root": "electrical(电的)+appliance(器具)"},
{"type": "s", "string": "care about", "read": "", "chinese": "关注;担忧", "example": "I really care about environmental protection.", "exampleChinese": "我真的很关注环境保护。", "synonyms": ["concern about", "worry about"], "antonyms": ["ignore", "neglect"], "root": ""},
{"type": "s", "string": "climate change", "read": "", "chinese": "气候变化", "example": "Climate change is affecting weather patterns worldwide.", "exampleChinese": "气候变化正在影响全球的天气模式。", "synonyms": ["global warming"], "antonyms": [], "root": "climate(气候)+change(变化)"},
{"type": "s", "string": "join in", "read": "", "chinese": "参加;加入", "example": "Everyone joined in the singing.", "exampleChinese": "大家都加入了唱歌。", "synonyms": ["participate", "take part"], "antonyms": ["quit", "withdraw"], "root": ""},
{"type": "w", "string": "speed", "read": "/spiːd/", "chinese": "速度;速率", "example": "The car is traveling at a speed of 100 km per hour.", "exampleChinese": "这辆车正以每小时100公里的速度行驶。", "synonyms": ["velocity", "pace"], "antonyms": ["slowness"], "root": "古英语spēd(成功,速度)"},
{"type": "w", "string": "safety", "read": "/'seɪfti/", "chinese": "安全;平安", "example": "Safety is the top priority in this factory.", "exampleChinese": "安全是这家工厂的首要任务。", "synonyms": ["security", "protection"], "antonyms": ["danger", "risk"], "root": "safe(安全的)+ty(名词后缀)"},
{"type": "w", "string": "instruction", "read": "/ɪn'strʌkʃn/", "chinese": "用法说明;操作指南", "example": "Please read the instructions before using the machine.", "exampleChinese": "使用机器前请阅读说明书。", "synonyms": ["directions", "guidance"], "antonyms": [], "root": "in(向内)+struct(建造)+ion(名词后缀)"},
{"type": "w", "string": "connect", "read": "/kə'nekt/", "chinese": "(使)连接", "example": "Please connect the printer to the computer.", "exampleChinese": "请将打印机连接到电脑。", "synonyms": ["link", "attach"], "antonyms": ["disconnect", "separate"], "root": "con(共同)+nect(绑)"},
{"type": "w", "string": "device", "read": "/dɪ'vaɪs/", "chinese": "装置;设备", "example": "This device can measure your heart rate.", "exampleChinese": "这个设备可以测量你的心率。", "synonyms": ["gadget", "equipment"], "antonyms": [], "root": "de(分开)+vice(看)"},
{"type": "w", "string": "rule", "read": "/ruːl/", "chinese": "规则;条例", "example": "You must follow the rules of the school.", "exampleChinese": "你必须遵守学校规定。", "synonyms": ["regulation", "law"], "antonyms": ["exception"], "root": "古法语reule(直尺,规则)"},
{"type": "w", "string": "climate", "read": "/'klaɪmət/", "chinese": "气候", "example": "The climate here is mild all year round.", "exampleChinese": "这里的气候全年温和。", "synonyms": ["weather", "atmosphere"], "antonyms": [], "root": "希腊语klima(倾斜,气候)"},
{"type": "w", "string": "amount", "read": "/ə'maʊnt/", "chinese": "数量;数额", "example": "A large amount of money was spent on the project.", "exampleChinese": "这个项目花费了大量资金。", "synonyms": ["quantity", "sum"], "antonyms": ["lack", "deficiency"], "root": "古法语amunter(上升)"},
{"type": "w", "string": "power", "read": "/'paʊə(r)/", "chinese": "驱动;推动(机器或车辆)", "example": "The engine powers the entire vehicle.", "exampleChinese": "发动机驱动整辆车。", "synonyms": ["drive", "propel"], "antonyms": [], "root": "古法语poeir(能力)"},
{"type": "w", "string": "television set", "read": "/'telɪvɪʒn set/", "chinese": "电视机", "example": "We bought a new television set last week.", "exampleChinese": "我们上周买了一台新电视机。", "synonyms": ["TV", "television"], "antonyms": [], "root": "tele(远)+vis(看)+ion+set(装置)"},
{"type": "w", "string": "landmark", "read": "/'lændmɑːk/", "chinese": "地标", "example": "The Eiffel Tower is a famous landmark in Paris.", "exampleChinese": "埃菲尔铁塔是巴黎著名的地标。", "synonyms": ["monument", "feature"], "antonyms": [], "root": "land(土地)+mark(标记)"},
{"type": "w", "string": "contribution", "read": "/ˌkɒntrɪ'bjuːʃn/", "chinese": "贡献", "example": "His contribution to science is widely recognized.", "exampleChinese": "他对科学的贡献广受认可。", "synonyms": ["donation", "input"], "antonyms": [], "root": "con(共同)+tribut(给予)+ion(名词后缀)"},
{"type": "w", "string": "hero", "read": "/'hɪərəʊ/", "chinese": "英雄", "example": "The firefighter was hailed as a hero.", "exampleChinese": "这位消防员被誉为英雄。", "synonyms": ["champion", "protagonist"], "antonyms": ["villain", "coward"], "root": "希腊语hērōs"},
{"type": "w", "string": "pioneer", "read": "/ˌpaɪə'nɪə(r)/", "chinese": "先锋;先驱", "example": "She was a pioneer in the field of medicine.", "exampleChinese": "她是医学领域的先驱。", "synonyms": ["trailblazer", "forerunner"], "antonyms": ["follower"], "root": "古法语paonier(步兵,先锋)"},
{"type": "w", "string": "technology", "read": "/tek'nɒlədʒi/", "chinese": "科技", "example": "Modern technology has changed our lives.", "exampleChinese": "现代科技改变了我们的生活。", "synonyms": ["tech", "science"], "antonyms": [], "root": "techno(工艺)+logy(学科)"},
{"type": "w", "string": "receive", "read": "/rɪ'siːv/", "chinese": "拿到;接到;收到", "example": "I received a letter from my friend yesterday.", "exampleChinese": "我昨天收到了朋友的来信。", "synonyms": ["get", "obtain"], "antonyms": ["send", "give"], "root": "re(回)+ceive(拿)"},
{"type": "w", "string": "award", "read": "/ə'wɔːd/", "chinese": "奖;授予;奖励", "example": "She won an award for best actress.", "exampleChinese": "她获得了最佳女演员奖。", "synonyms": ["prize", "honor"], "antonyms": ["punishment"], "root": "古法语eswarder(观察,判定)"},
{"type": "w", "string": "engineering", "read": "/ˌendʒɪ'nɪərɪŋ/", "chinese": "工程学", "example": "He studied engineering at university.", "exampleChinese": "他在大学学习工程学。", "synonyms": ["technology", "design"], "antonyms": [], "root": "engine(发动机)+er+ing(名词后缀)"},
{"type": "w", "string": "education", "read": "/ˌedʒu'keɪʃn/", "chinese": "教育", "example": "Education is the key to a better future.", "exampleChinese": "教育是通往更美好未来的关键。", "synonyms": ["schooling", "training"], "antonyms": ["ignorance"], "root": "e(出)+duc(引导)+ation(名词后缀)"},
{"type": "w", "string": "spend", "read": "/spend/", "chinese": "花(时间);度过", "example": "I like to spend time with my family.", "exampleChinese": "我喜欢和家人一起度过时光。", "synonyms": ["pass", "use"], "antonyms": ["save", "earn"], "root": "古英语spendan(花费)"},
{"type": "w", "string": "research", "read": "/rɪ'sɜːtʃ/", "chinese": "研究;调查", "example": "Scientists are conducting research on climate change.", "exampleChinese": "科学家正在进行气候变化研究。", "synonyms": ["study", "investigation"], "antonyms": [], "root": "re(再)+search(搜索)"},
{"type": "w", "string": "achieve", "read": "/ə'tʃiːv/", "chinese": "(凭长期努力)达到(某目标、地位、标准)", "example": "She worked hard to achieve her goals.", "exampleChinese": "她努力工作以实现自己的目标。", "synonyms": ["accomplish", "attain"], "antonyms": ["fail", "miss"], "root": "古法语achever(完成)"},
{"type": "w", "string": "well-respected", "read": "/ˌwel rɪ'spektɪd/", "chinese": "受尊敬的", "example": "He is a well-respected professor in his field.", "exampleChinese": "他是该领域一位备受尊敬的教授。", "synonyms": ["esteemed", "admired"], "antonyms": ["disrespected"], "root": "well(好)+respected(受尊敬的)"},
{"type": "w", "string": "found", "read": "/faʊnd/", "chinese": "建立(城镇或国家)", "example": "The city was founded in the 12th century.", "exampleChinese": "这座城市建于12世纪。", "synonyms": ["establish", "create"], "antonyms": ["destroy", "abolish"], "root": "拉丁语fundare(奠定基础)"},
{"type": "w", "string": "eager", "read": "/'iːgə(r)/", "chinese": "热切的;渴望的", "example": "The students are eager to learn new things.", "exampleChinese": "学生们渴望学习新事物。", "synonyms": ["keen", "enthusiastic"], "antonyms": ["reluctant", "unwilling"], "root": "古法语aigre(尖锐的,热切的)"},
{"type": "w", "string": "raise", "read": "/reɪz/", "chinese": "增加;提高", "example": "The company decided to raise salaries.", "exampleChinese": "公司决定加薪。", "synonyms": ["increase", "lift"], "antonyms": ["lower", "reduce"], "root": "古诺斯语reisa(举起)"},
{"type": "w", "string": "mission", "read": "/'mɪʃn/", "chinese": "使命", "example": "The team's mission was to rescue the hostages.", "exampleChinese": "小队的使命是营救 hostage。", "synonyms": ["task", "assignment"], "antonyms": [], "root": "拉丁语missio(派遣)"},
{"type": "w", "string": "honour", "read": "/'ɒnə(r)/", "chinese": "荣誉;名誉", "example": "It is an honour to meet you.", "exampleChinese": "很荣幸见到您。", "synonyms": ["glory", "distinction"], "antonyms": ["dishonor", "shame"], "root": "拉丁语honor(荣誉)"},
{"type": "w", "string": "public", "read": "/'pʌblɪk/", "chinese": "百姓;民众", "example": "The park is open to the public.", "exampleChinese": "公园对公众开放。", "synonyms": ["people", "citizens"], "antonyms": ["private sector"], "root": "拉丁语publicus(人民的)"},
{"type": "w", "string": "approval", "read": "/ə'pruːvl/", "chinese": "赞成;同意", "example": "The plan received unanimous approval.", "exampleChinese": "该计划获得了一致同意。", "synonyms": ["consent", "agreement"], "antonyms": ["disapproval", "rejection"], "root": "ap(向)+prov(测试)+al(名词后缀)"},
{"type": "w", "string": "praise", "read": "/preɪz/", "chinese": "赞扬;称赞;赞美", "example": "The teacher praised her for her hard work.", "exampleChinese": "老师赞扬了她的努力学习。", "synonyms": ["compliment", "admire"], "antonyms": ["criticize", "blame"], "root": "古法语preisier(估价,赞扬)"},
{"type": "w", "string": "society", "read": "/sə'saɪəti/", "chinese": "社会", "example": "We all have a responsibility to contribute to society.", "exampleChinese": "我们都有责任为社会做贡献。", "synonyms": ["community", "culture"], "antonyms": [], "root": "拉丁语societas(同伴关系)"},
{"type": "w", "string": "female", "read": "/'fiːmeɪl/", "chinese": "女的;女性的", "example": "The female lead gave an excellent performance.", "exampleChinese": "女主角表现出色。", "synonyms": ["womanly", "feminine"], "antonyms": ["male", "masculine"], "root": "拉丁语femella(小的,女性)"},
{"type": "w", "string": "admire", "read": "/əd'maɪə(r)/", "chinese": "钦佩;仰慕", "example": "I admire her dedication to her work.", "exampleChinese": "我钦佩她对工作的奉献精神。", "synonyms": ["respect", "esteem"], "antonyms": ["despise", "scorn"], "root": "ad(向)+mir(惊奇)+e"},
{"type": "w", "string": "inspire", "read": "/ɪn'spaɪə(r)/", "chinese": "激励;鼓舞", "example": "Her speech inspired us to take action.", "exampleChinese": "她的演讲激励我们采取行动。", "synonyms": ["motivate", "encourage"], "antonyms": ["discourage", "dismay"], "root": "in(向内)+spir(呼吸)+e"},
{"type": "w", "string": "regular", "read": "/'regjələ(r)/", "chinese": "通常的;平常的", "example": "I am one of his regular customers.", "exampleChinese": "我是他的常客之一。", "synonyms": ["usual", "normal"], "antonyms": ["irregular", "unusual"], "root": "reg(统治)+ular(形容词后缀)"},
{"type": "w", "string": "feed", "read": "/fiːd/", "chinese": "养活;提供食物", "example": "Parents work hard to feed their families.", "exampleChinese": "父母努力工作来养家。", "synonyms": ["nourish", "sustain"], "antonyms": ["starve"], "root": "古英语fēdan"},
{"type": "w", "string": "smokejumper", "read": "/'sməʊkdʒʌmpə(r)/", "chinese": "空降消防员", "example": "Smokejumpers parachute into remote areas to fight fires.", "exampleChinese": "空降消防员跳伞进入偏远地区灭火。", "synonyms": ["firefighter"], "antonyms": [], "root": "smoke(烟)+jumper(跳跃者)"},
{"type": "w", "string": "thick", "read": "/θɪk/", "chinese": "茂密的", "example": "The forest was thick with trees.", "exampleChinese": "森林里树木茂密。", "synonyms": ["dense", "heavy"], "antonyms": ["thin", "sparse"], "root": "古英语þicce"},
{"type": "w", "string": "certain", "read": "/'sɜːtn/", "chinese": "某个;特定的", "example": "A certain smell reminded me of my childhood.", "exampleChinese": "某种气味让我想起了童年。", "synonyms": ["specific", "particular"], "antonyms": ["uncertain", "unsure"], "root": "拉丁语certus(确定的)"},
{"type": "w", "string": "kill", "read": "/kɪl/", "chinese": "杀死;导致死亡", "example": "Smoking can kill you.", "exampleChinese": "吸烟会致命。", "synonyms": ["slay", "murder"], "antonyms": ["save", "rescue"], "root": "中古英语killen"},
{"type": "w", "string": "tool", "read": "/tuːl/", "chinese": "工具", "example": "A hammer is a basic tool for building.", "exampleChinese": "锤子是建筑的基本工具。", "synonyms": ["instrument", "implement"], "antonyms": [], "root": "古英语tōl"},
{"type": "w", "string": "dead", "read": "/ded/", "chinese": "失去生命的;枯萎的", "example": "The plant looks dead because it wasn't watered.", "exampleChinese": "这株植物看起来枯萎了,因为没有浇水。", "synonyms": ["deceased", "lifeless"], "antonyms": ["alive", "living"], "root": "古英语dēad"},
{"type": "w", "string": "brave", "read": "/breɪv/", "chinese": "勇敢的;无畏的", "example": "The brave soldier saved his comrades.", "exampleChinese": "勇敢的士兵救了他的战友。", "synonyms": ["courageous", "heroic"], "antonyms": ["cowardly", "fearful"], "root": "意大利语bravo(勇敢的)"},
{"type": "w", "string": "tough", "read": "/tʌf/", "chinese": "健壮的;坚韧不拔的", "example": "You need to be tough to survive in the wild.", "exampleChinese": "要在野外生存,你需要坚韧不拔。", "synonyms": ["strong", "resilient"], "antonyms": ["weak", "fragile"], "root": "古英语tōh(坚韧的)"},
{"type": "w", "string": "fit", "read": "/fɪt/", "chinese": "健壮的;健康的", "example": "Exercise helps you stay fit.", "exampleChinese": "锻炼帮助你保持健康。", "synonyms": ["healthy", "strong"], "antonyms": ["unfit", "weak"], "root": "古英语fitt(合适的)"},
{"type": "w", "string": "otherwise", "read": "/'ʌðəwaɪz/", "chinese": "否则;不然", "example": "Hurry up, otherwise we'll miss the bus.", "exampleChinese": "快点,否则我们会错过公交车。", "synonyms": ["or else", "if not"], "antonyms": [], "root": "other(其他的)+wise(方式)"},
{"type": "w", "string": "survive", "read": "/sə'vaɪv/", "chinese": "生存;存活", "example": "Only a few passengers survived the crash.", "exampleChinese": "只有少数乘客在坠机中幸存。", "synonyms": ["live", "endure"], "antonyms": ["die", "perish"], "root": "sur(超过)+viv(活)+e"},
{"type": "w", "string": "proud", "read": "/praʊd/", "chinese": "骄傲的;自豪的", "example": "I am proud of my daughter's achievements.", "exampleChinese": "我为女儿的成就感到骄傲。", "synonyms": ["pleased", "honored"], "antonyms": ["ashamed", "humble"], "root": "古英语prūd(骄傲的)"},
{"type": "s", "string": "role model", "read": "", "chinese": "楷模;行为榜样", "example": "My teacher is my role model.", "exampleChinese": "我的老师是我的榜样。", "synonyms": ["example", "mentor"], "antonyms": [], "root": "role(角色)+model(模型)"},
{"type": "s", "string": "in the field of", "read": "", "chinese": "在……领域", "example": "She is an expert in the field of medicine.", "exampleChinese": "她是医学领域的专家。", "synonyms": ["in the area of"], "antonyms": [], "root": ""},
{"type": "s", "string": "devote oneself to", "read": "", "chinese": "献身;致力", "example": "He devoted himself to helping the poor.", "exampleChinese": "他致力于帮助穷人。", "synonyms": ["dedicate oneself to"], "antonyms": [], "root": ""},
{"type": "s", "string": "college entrance examination", "read": "", "chinese": "大学入学考试", "example": "The college entrance examination is very important in China.", "exampleChinese": "大学入学考试在中国非常重要。", "synonyms": ["entrance exam", "admission test"], "antonyms": [], "root": "college(大学)+entrance(入学)+examination(考试)"},
{"type": "s", "string": "look up to", "read": "", "chinese": "敬仰;钦佩", "example": "I have always looked up to my older brother.", "exampleChinese": "我一直很敬仰我的哥哥。", "synonyms": ["admire", "respect"], "antonyms": ["look down on"], "root": ""},
{"type": "s", "string": "sugar pill", "read": "", "chinese": "糖丸", "example": "The sugar pill had no real medicine in it.", "exampleChinese": "糖丸里没有真正的药物。", "synonyms": ["placebo"], "antonyms": [], "root": "sugar(糖)+pill(药丸)"},
{"type": "s", "string": "chief engineer", "read": "", "chinese": "总工程师", "example": "The chief engineer oversaw the entire project.", "exampleChinese": "总工程师监督整个项目。", "synonyms": ["head engineer"], "antonyms": [], "root": "chief(主要的)+engineer(工程师)"},
{"type": "s", "string": "put out", "read": "", "chinese": "熄灭;扑灭", "example": "Firefighters quickly put out the fire.", "exampleChinese": "消防员迅速扑灭了大火。", "synonyms": ["extinguish", "quench"], "antonyms": ["ignite", "light"], "root": ""},
{"type": "s", "string": "be able to", "read": "", "chinese": "能够", "example": "I will be able to help you tomorrow.", "exampleChinese": "我明天能够帮你。", "synonyms": ["can", "capable of"], "antonyms": ["unable to"], "root": ""},
{"type": "s", "string": "be proud of", "read": "", "chinese": "为……而自豪", "example": "I am proud of my country's culture.", "exampleChinese": "我为祖国的文化感到自豪。", "synonyms": ["take pride in"], "antonyms": ["be ashamed of"], "root": ""},
{"type": "w", "string": "possible", "read": "/'pɒsəbl/", "chinese": "可能", "example": "Is it possible to finish this by tomorrow?", "exampleChinese": "明天之前完成这可能吗?", "synonyms": ["feasible", "likely"], "antonyms": ["impossible", "unlikely"], "root": "pos(放置)+sible(能够)"},
{"type": "w", "string": "athlete", "read": "/'æθliːt/", "chinese": "运动员", "example": "The athlete trained hard for the Olympics.", "exampleChinese": "这位运动员为奥运会刻苦训练。", "synonyms": ["sportsman", "player"], "antonyms": [], "root": "希腊语athlētēs(竞争者)"},
{"type": "w", "string": "biologist", "read": "/baɪ'ɒlədʒɪst/", "chinese": "生物学家", "example": "The biologist studied marine life.", "exampleChinese": "这位生物学家研究海洋生物。", "synonyms": ["life scientist"], "antonyms": [], "root": "bio(生命)+log(学科)+ist(人)"},
{"type": "w", "string": "instrument", "read": "/'ɪnstrəmənt/", "chinese": "乐器;仪器", "example": "The piano is my favorite musical instrument.", "exampleChinese": "钢琴是我最喜欢的乐器。", "synonyms": ["tool", "device"], "antonyms": [], "root": "in(向内)+stru(建造)+ment(名词后缀)"},
{"type": "w", "string": "interest", "read": "/'ɪntrəst/", "chinese": "兴趣;业余爱好", "example": "Reading is one of my main interests.", "exampleChinese": "阅读是我的主要兴趣之一。", "synonyms": ["hobby", "passion"], "antonyms": ["boredom", "disinterest"], "root": "拉丁语interesse(在中间,关心)"},
{"type": "w", "string": "career", "read": "/kə'rɪə(r)/", "chinese": "生涯;职业", "example": "She has had a successful career in law.", "exampleChinese": "她的法律职业生涯很成功。", "synonyms": ["profession", "vocation"], "antonyms": [], "root": "古法语carriere(道路,职业)"},
{"type": "w", "string": "lifetime", "read": "/'laɪftaɪm/", "chinese": "一生;终身", "example": "This opportunity comes once in a lifetime.", "exampleChinese": "这个机会一生只有一次。", "synonyms": ["lifespan", "existence"], "antonyms": [], "root": "life(生命)+time(时间)"},
{"type": "w", "string": "diamond", "read": "/'daɪəmənd/", "chinese": "钻石", "example": "The ring has a beautiful diamond in it.", "exampleChinese": "这枚戒指里有一颗漂亮的钻石。", "synonyms": ["gem", "jewel"], "antonyms": [], "root": "希腊语adamas(不可征服的)"},
{"type": "w", "string": "belt", "read": "/belt/", "chinese": "腰带", "example": "He tightened his belt before starting work.", "exampleChinese": "他开始工作前系紧了腰带。", "synonyms": ["strap", "sash"], "antonyms": [], "root": "古英语belt"},
{"type": "w", "string": "shoot", "read": "/ʃuːt/", "chinese": "冲;奔;飞驰", "example": "The car shot past us on the highway.", "exampleChinese": "那辆车在高速公路上从我们旁边飞驰而过。", "synonyms": ["dash", "race"], "antonyms": ["crawl"], "root": "古英语sceotan(射击)"},
{"type": "w", "string": "extremely", "read": "/ɪk'striːmli/", "chinese": "极其;极端;非常", "example": "The weather is extremely hot today.", "exampleChinese": "今天天气非常热。", "synonyms": ["very", "highly"], "antonyms": ["slightly", "barely"], "root": "extreme(极端的)+ly(副词后缀)"},
{"type": "w", "string": "curious", "read": "/'kjʊəriəs/", "chinese": "求知欲强的;好奇的", "example": "Children are naturally curious about the world.", "exampleChinese": "孩子天生对世界充满好奇。", "synonyms": ["inquisitive", "interested"], "antonyms": ["indifferent", "uninterested"], "root": "cur(关心)+ious(形容词后缀)"},
{"type": "w", "string": "increase", "read": "/ɪn'kriːs/", "chinese": "增长;增多;增加", "example": "The population continues to increase rapidly.", "exampleChinese": "人口继续快速增长。", "synonyms": ["grow", "rise"], "antonyms": ["decrease", "reduce"], "root": "in(向内)+cre(生长)+ase"},
{"type": "w", "string": "host", "read": "/həʊst/", "chinese": "主持", "example": "She will host the awards ceremony tonight.", "exampleChinese": "她今晚将主持颁奖典礼。", "synonyms": ["present", "emcee"], "antonyms": ["guest"], "root": "拉丁语hospes(客人,主人)"},
{"type": "w", "string": "beyond", "read": "/bɪ'jɒnd/", "chinese": "在另一边;在(或向)更远处", "example": "The village lies beyond the mountains.", "exampleChinese": "村庄在山的那一边。", "synonyms": ["past", "further"], "antonyms": ["within"], "root": "古英语begeondan(在...那边)"},
{"type": "w", "string": "audience", "read": "/'ɔːdiəns/", "chinese": "观众;听众", "example": "The audience applauded loudly after the performance.", "exampleChinese": "演出结束后观众热烈鼓掌。", "synonyms": ["spectators", "listeners"], "antonyms": ["performers"], "root": "audi(听)+ence(名词后缀)"},
{"type": "w", "string": "lively", "read": "/'laɪvli/", "chinese": "充满趣味的;令人兴奋的", "example": "The party was lively with music and dancing.", "exampleChinese": "派对因音乐和舞蹈而充满趣味。", "synonyms": ["animated", "energetic"], "antonyms": ["dull", "boring"], "root": "live(活的)+ly(形容词后缀)"},
{"type": "w", "string": "actually", "read": "/'æktʃuəli/", "chinese": "事实上", "example": "Actually, I have never been to Paris.", "exampleChinese": "事实上,我从没去过巴黎。", "synonyms": ["in fact", "really"], "antonyms": ["theoretically"], "root": "act(行动)+ual+ly(副词后缀)"},
{"type": "w", "string": "sail", "read": "/seɪl/", "chinese": "驾驶(或乘坐)帆船航行", "example": "We plan to sail around the world next year.", "exampleChinese": "我们计划明年驾帆船环游世界。", "synonyms": ["navigate", "voyage"], "antonyms": [], "root": "古英语segl(帆)"},
{"type": "w", "string": "ability", "read": "/ə'bɪləti/", "chinese": "才能;本领", "example": "She has the ability to speak four languages.", "exampleChinese": "她有说四种语言的能力。", "synonyms": ["talent", "skill"], "antonyms": ["inability", "incapacity"], "root": "ab(离开)+il(能够)+ity(名词后缀)"},
{"type": "w", "string": "review", "read": "/rɪ'vjuː/", "chinese": "评论", "example": "The movie received excellent reviews from critics.", "exampleChinese": "这部电影获得了评论家的高度评价。", "synonyms": ["critique", "assessment"], "antonyms": [], "root": "re(再)+view(看)"},
{"type": "w", "string": "perform", "read": "/pə'fɔːm/", "chinese": "演出;表演", "example": "The band will perform at the concert hall tonight.", "exampleChinese": "乐队今晚将在音乐厅演出。", "synonyms": ["act", "play"], "antonyms": [], "root": "per(完全)+form(形式)"},
{"type": "w", "string": "kiss", "read": "/kɪs/", "chinese": "吻", "example": "She kissed her mother goodbye.", "exampleChinese": "她吻别母亲。", "synonyms": [], "antonyms": [], "root": "古英语cyssan"},
{"type": "w", "string": "hug", "read": "/hʌg/", "chinese": "拥抱;搂抱", "example": "The child ran to hug his grandmother.", "exampleChinese": "孩子跑过去拥抱他的祖母。", "synonyms": ["embrace", "cuddle"], "antonyms": [], "root": "古诺斯语hugga(安慰)"},
{"type": "w", "string": "method", "read": "/'meθəd/", "chinese": "方法;办法", "example": "This is the best method to solve the problem.", "exampleChinese": "这是解决问题的最佳方法。", "synonyms": ["way", "approach"], "antonyms": [], "root": "希腊语methodos(跟随)"},
{"type": "w", "string": "compare", "read": "/kəm'peə(r)/", "chinese": "将……比作;对比", "example": "Compare your answers with your partner's.", "exampleChinese": "将你的答案与同伴的进行对比。", "synonyms": ["contrast", "evaluate"], "antonyms": [], "root": "com(共同)+par(平等)+e"},
{"type": "w", "string": "nowadays", "read": "/'naʊədeɪz/", "chinese": "现在;目前;现今", "example": "Nowadays, most people use smartphones.", "exampleChinese": "如今,大多数人使用智能手机。", "synonyms": ["today", "currently"], "antonyms": ["formerly", "previously"], "root": "now(现在)+a+days(日子)"},
{"type": "w", "string": "human being", "read": "/ˌhjuːmən 'biːɪŋ/", "chinese": "人", "example": "Every human being deserves respect and dignity.", "exampleChinese": "每个人都应受到尊重和尊严。", "synonyms": ["person", "individual"], "antonyms": [], "root": "human(人类的)+being(存在)"},
{"type": "s", "string": "lecture", "read": "/'lektʃə(r)/", "chinese": "讲座;讲课;演讲", "example": "The professor gave an interesting lecture on history.", "exampleChinese": "教授做了一场关于历史的有趣讲座。", "synonyms": ["speech", "talk"], "antonyms": [], "root": "拉丁语lectura(阅读)"},
{"type": "s", "string": "go outside", "read": "", "chinese": "外出", "example": "Let's go outside and enjoy the sunshine.", "exampleChinese": "我们出去享受阳光吧。", "synonyms": ["go out"], "antonyms": ["stay in"], "root": ""},
{"type": "s", "string": "more and more", "read": "", "chinese": "越来越多", "example": "More and more people are learning English online.", "exampleChinese": "越来越多的人在网上学英语。", "synonyms": ["increasingly"], "antonyms": ["less and less"], "root": ""},
{"type": "s", "string": "body language", "read": "", "chinese": "肢体语言", "example": "Body language can tell you a lot about a person.", "exampleChinese": "肢体语言可以告诉你很多关于一个人的信息。", "synonyms": ["nonverbal communication"], "antonyms": [], "root": "body(身体)+language(语言)"},
{"type": "s", "string": "dream of", "read": "", "chinese": "梦想", "example": "I dream of traveling to space one day.", "exampleChinese": "我梦想有一天能去太空旅行。", "synonyms": ["aspire to", "long for"], "antonyms": [], "root": ""},
{"type": "s", "string": "come true", "read": "", "chinese": "实现;成为现实", "example": "Her dream of becoming a doctor finally came true.", "exampleChinese": "她成为医生的梦想终于实现了。", "synonyms": ["realize", "materialize"], "antonyms": ["fail", "collapse"], "root": ""}
]
再次感谢 致谢D某
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)