Files
English/kouyu_english/assets/courses/A0/a0-08.json
T
shenleiandClaude Opus 5 6b42b7abc3 feat: 独立词库、三向认词与当日快闪复习
## 独立词库

理解词原先只能跟着课程单元走,学完 A0 十课词汇量只增加约 22 个实词,
不足以解决"记不住单词"。新增一份独立词库 assets/words/wordbank.json
(2748 词,A1–B1),挂进 receptiveWordRegistry 的合成单元 bank-A1/A2/B1,
完全复用理解词已有的状态机,不依赖课程进度,第一天就能用。

数据来源、许可与合成规则记在 tool/words/DATA-NOTE.md:CEFR-J 定等级、
公开词书提供音标、AI 重写全部释义并生成例句、OpenSubtitles 提供口语词频。
词书部分为 CC BY-NC-SA 4.0 且上游权利不明,仅供个人非商用;
若要分发或上架,须替换音标那一列。

## 背单词机制

- 间隔阶梯 1/3/7/15/30/60/120 天,连续答对上一级,答错回第一级。
  原先首次答对后要等 7 天才复习,正是"第二天就忘"的成因。
- 每日新词上限(10 分钟 8 个 / 20 分钟 15 个 / 30 分钟 20 个)。
  阶梯第一级是次日,今天引入的新词就是明天的工作量。
- 新词按口语频率发放,不再按字母序 —— A1 从 a.m./ability 变成 no/not/know/just。
- 三个方向按层级轮转:看词(英→中)→ 听词(音→中)→ 想词(中→英)。
  想词题仍是选择题,不要求产出,理解词定位不变,不进升级分母。
- 单词页独立成 tab,首页今日任务卡下方给一张认词入口卡。

## 用法对照

课程 JSON 增加 usage 字段(when/reply/swap/confuse):一个句型用在什么场合、
对方通常怎么答、还能怎么说、跟哪个学过的句型容易混。
知道 How are you? 的意思,不等于知道它不是用来问名字的。

## 复习流

- 当日快闪(recap)独立成队列,不占复习预算,也不计入积压。
- 只发放当日预算内的量,其余保持到期状态等下次,不悄悄丢弃或改期。
- 答错的项隔几题后回来,而不是立刻重问。

测试 296 通过,flutter analyze 干净。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-20 23:54:17 +09:00

643 lines
15 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"id": "a0-08",
"level": "A0",
"status": "approved",
"title": "星期与时间",
"canDo": "说今天和整点",
"categories": [],
"coreItems": [
{
"id": "A0-W12",
"type": "word",
"en": "Monday",
"zh": "星期一",
"match": [
[
"monday"
]
],
"review": {
"prompt": "把“星期一”写成英文。",
"dictation": {
"sentence": "Its Monday.",
"meaning": "今天星期一。"
}
}
},
{
"id": "A0-W13",
"type": "word",
"en": "Tuesday",
"zh": "星期二",
"match": [
[
"tuesday"
]
],
"review": {
"prompt": "把“星期二”写成英文。",
"dictation": {
"sentence": "Its Tuesday.",
"meaning": "今天星期二。"
}
}
},
{
"id": "A0-W14",
"type": "word",
"en": "Wednesday",
"zh": "星期三",
"match": [
[
"wednesday"
]
],
"review": {
"prompt": "把“星期三”写成英文。",
"dictation": {
"sentence": "Its Wednesday.",
"meaning": "今天星期三。"
}
}
},
{
"id": "A0-W15",
"type": "word",
"en": "Thursday",
"zh": "星期四",
"match": [
[
"thursday"
]
],
"review": {
"prompt": "把“星期四”写成英文。",
"dictation": {
"sentence": "Its Thursday.",
"meaning": "今天星期四。"
}
}
},
{
"id": "A0-W16",
"type": "word",
"en": "Friday",
"zh": "星期五",
"match": [
[
"friday"
]
],
"review": {
"prompt": "把“星期五”写成英文。",
"dictation": {
"sentence": "Its Friday.",
"meaning": "今天星期五。"
}
}
},
{
"id": "A0-W17",
"type": "word",
"en": "Saturday",
"zh": "星期六",
"match": [
[
"saturday"
]
],
"review": {
"prompt": "把“星期六”写成英文。",
"dictation": {
"sentence": "Its Saturday.",
"meaning": "今天星期六。"
}
}
},
{
"id": "A0-W18",
"type": "word",
"en": "Sunday",
"zh": "星期日",
"match": [
[
"sunday"
]
],
"review": {
"prompt": "把“星期日”写成英文。",
"dictation": {
"sentence": "Its Sunday.",
"meaning": "今天星期日。"
}
}
},
{
"id": "A0-P14",
"type": "phrase",
"en": "What day is it today?",
"match": [
[
"what day is it"
]
],
"review": {
"prompt": "问今天星期几。",
"dictation": {
"sentence": "What day is it today?",
"meaning": "今天星期几?"
}
},
"usage": {
"when": "不确定今天星期几,问别人。",
"reply": "对方会回 It's Monday.",
"confuse": [
{
"id": "A0-P16",
"note": "What time is it? 问的是现在几点钟,What day is it today? 问的是今天星期几。"
}
]
}
},
{
"id": "A0-P15",
"type": "phrase",
"en": "It's [weekday].",
"match": [
[
"it is"
],
[
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
]
],
"review": {
"prompt": "说出今天星期几。",
"dictation": {
"sentence": "Its Friday.",
"meaning": "今天星期五。"
}
},
"usage": {
"when": "别人问今天星期几的时候回答。",
"swap": "熟人之间也可以只说 Monday.",
"confuse": [
{
"id": "A0-P17",
"note": "It's Monday. 回答星期,It's three o'clock. 回答钟点;后面跟哪个,看别人问的是什么。"
}
]
}
},
{
"id": "A0-P16",
"type": "phrase",
"en": "What time is it?",
"match": [
[
"what time is it"
]
],
"review": {
"prompt": "问现在几点。",
"dictation": {
"sentence": "What time is it?",
"meaning": "现在几点?"
}
},
"usage": {
"when": "想知道现在几点钟。",
"reply": "对方会回 It's three o'clock.",
"confuse": [
{
"id": "A0-P14",
"note": "What day is it today? 问的是星期几,这句问的是几点钟。"
}
]
}
},
{
"id": "A0-P17",
"type": "phrase",
"en": "It's [hour] o'clock.",
"match": [
[
"it is"
],
[
"o'clock",
"oclock",
"clock"
]
],
"review": {
"prompt": "说出一个整点时间。",
"hint": "用 Its … oclock 说整点时间。",
"dictation": {
"sentence": "Its three oclock.",
"meaning": "现在三点。"
}
},
"usage": {
"when": "别人问几点的时候,报出整点时间。",
"confuse": [
{
"id": "A0-P15",
"note": "It's Monday. 回答的是星期,It's three o'clock. 回答的是钟点。"
}
]
}
}
],
"vocabulary": [
{
"id": "a0-08-monday",
"word": "Monday",
"meaning": "星期一",
"example": "It is Monday.",
"exampleMeaning": "今天是星期一。"
},
{
"id": "a0-08-oclock",
"word": "oclock",
"meaning": "整点",
"example": "Its three oclock.",
"exampleMeaning": "现在三点整。"
}
],
"segments": [
{
"id": "a0-08-a",
"title": "星期与时间",
"minutes": 12,
"itemIds": [
"A0-W12",
"A0-W13",
"A0-W14",
"A0-P14",
"A0-P15"
],
"grammarNote": "问星期用 What day is it?;回答用 It is / Its + 星期。",
"vocabulary": [
{
"id": "A0-W12",
"word": "Monday",
"meaning": "星期一",
"example": "It is Monday.",
"exampleMeaning": "今天是星期一。",
"ipa": "/ˈmʌndeɪ/"
},
{
"id": "A0-W13",
"word": "Tuesday",
"meaning": "星期二",
"example": "It is Tuesday.",
"exampleMeaning": "今天是星期二。",
"ipa": "/ˈtjuːzdeɪ/"
},
{
"id": "A0-W14",
"word": "Wednesday",
"meaning": "星期三",
"example": "It is Wednesday.",
"exampleMeaning": "今天是星期三。",
"ipa": "/ˈwenzdeɪ/"
},
{
"id": "A0-P14",
"word": "What day is it today?",
"meaning": "今天星期几?",
"example": "What day is it today?",
"exampleMeaning": "今天星期几?"
},
{
"id": "A0-P15",
"word": "It's Monday.",
"meaning": "今天是星期一。",
"example": "It's Monday.",
"exampleMeaning": "今天是星期一。"
}
],
"sceneId": "a0-08-a",
"listening": {
"text": "It is Monday.",
"question": "今天星期几?",
"options": [
"星期一",
"星期二",
"星期三"
]
},
"speaking": [
{
"text": "It is Monday.",
"tip": ""
}
],
"reading": {
"text": "Mia: What day is it today? Is it Monday?\nShen: No. It is Tuesday.",
"question": "Mia 猜错了,今天其实是星期几?",
"options": [
"Tuesday",
"Monday",
"Wednesday"
]
},
"writing": {
"prompt": "写一句今天是星期一、二或三。",
"example": "It is Monday.",
"accept": [
[
"it is"
],
[
"monday",
"tuesday",
"wednesday"
]
],
"hint": "用 It is / Its 加 Monday、Tuesday 或 Wednesday。"
},
"independent": {
"prompt": "不看帮助,说出星期一、二或三。",
"help": "It is Monday / Tuesday / Wednesday.",
"accept": [
[
"monday",
"tuesday",
"wednesday"
]
]
}
},
{
"id": "a0-08-b",
"title": "星期与时间",
"minutes": 12,
"itemIds": [
"A0-W15",
"A0-W16",
"A0-W17",
"A0-W18"
],
"grammarNote": "星期四到星期日也沿用 It is / It’s + 星期这个句型。",
"vocabulary": [
{
"id": "A0-W15",
"word": "Thursday",
"meaning": "星期四",
"example": "It is Thursday.",
"exampleMeaning": "今天是星期四。",
"ipa": "/ˈθɜːzdeɪ/"
},
{
"id": "A0-W16",
"word": "Friday",
"meaning": "星期五",
"example": "It is Friday.",
"exampleMeaning": "今天是星期五。",
"ipa": "/ˈfraɪdeɪ/"
},
{
"id": "A0-W17",
"word": "Saturday",
"meaning": "星期六",
"example": "It is Saturday.",
"exampleMeaning": "今天是星期六。",
"ipa": "/ˈsætədeɪ/"
},
{
"id": "A0-W18",
"word": "Sunday",
"meaning": "星期日",
"example": "It is Sunday.",
"exampleMeaning": "今天是星期日。",
"ipa": "/ˈsʌndeɪ/"
}
],
"sceneId": "a0-08-b",
"listening": {
"text": "It is Friday.",
"question": "今天星期几?",
"options": [
"星期五",
"星期四",
"星期日"
]
},
"speaking": [
{
"text": "It is Friday.",
"tip": ""
}
],
"reading": {
"text": "Mia: Is it Saturday today?\nShen: No. It is Sunday.",
"question": "Shen 说今天是哪一天?",
"options": [
"Sunday",
"Saturday",
"Friday"
]
},
"writing": {
"prompt": "写一句今天是星期四到日。",
"example": "It is Friday.",
"accept": [
[
"it is"
],
[
"thursday",
"friday",
"saturday",
"sunday"
]
],
"hint": "用 It is / Its 加 Thursday、Friday、Saturday 或 Sunday。"
},
"independent": {
"prompt": "不看帮助,说出星期四到日。",
"help": "It is Thursday / Friday / Saturday / Sunday.",
"accept": [
[
"thursday",
"friday",
"saturday",
"sunday"
]
]
}
},
{
"id": "a0-08-c",
"title": "星期与时间",
"minutes": 12,
"itemIds": [
"A0-P16",
"A0-P17"
],
"grammarNote": "说整点用 It is / Its + 数字 + oclock,例如 Its three oclock。",
"vocabulary": [
{
"id": "A0-P16",
"word": "What time is it?",
"meaning": "现在几点?",
"example": "What time is it?",
"exampleMeaning": "现在几点?"
},
{
"id": "A0-P17",
"word": "It's three o'clock.",
"meaning": "现在三点。",
"example": "It's three o'clock.",
"exampleMeaning": "现在三点。"
}
],
"sceneId": "a0-08-c",
"listening": {
"text": "It is three oclock.",
"question": "是什么时间?",
"options": [
"三点",
"一点",
"星期三"
]
},
"speaking": [
{
"text": "It is three oclock.",
"tip": ""
}
],
"reading": {
"text": "Mia: What time is it? Is it two oclock?\nShen: No. It is three oclock.",
"question": "Shen 说现在是几点?",
"options": [
"Three oclock",
"Two oclock",
"One oclock"
]
},
"writing": {
"prompt": "写一句整点时间。",
"example": "It is three oclock.",
"accept": [
[
"it is"
],
[
"o'clock",
"oclock"
]
],
"hint": "用 It is / Its 加数字和 oclock,例如 Its three oclock。"
},
"independent": {
"prompt": "不看帮助,说一个整点时间。",
"help": "It is … oclock.",
"accept": [
[
"o'clock",
"oclock"
]
]
}
}
],
"scenes": [
{
"id": "a0-08-a",
"kind": "main",
"title": "星期与时间",
"goal": "询问并说出星期一到三",
"turns": [
{
"ai": "What day is it?",
"aiZh": "今天星期几?",
"goal": "问今天星期几",
"model": "What day is it?",
"accept": [
"what day"
]
},
{
"ai": "Say Monday, Tuesday, or Wednesday.",
"aiZh": "请说 Monday, Tuesday, 或 Wednesday(周一、周二或周三)。",
"goal": "说出周一到周三中的一天",
"model": "It is Monday.",
"accept": [
"monday",
"tuesday",
"wednesday"
]
}
]
},
{
"id": "a0-08-b",
"kind": "main",
"title": "星期与时间",
"goal": "说出星期四到日",
"turns": [
{
"ai": "What day is it?",
"aiZh": "今天星期几?",
"goal": "问今天星期几",
"model": "What day is it?",
"accept": [
"what day"
]
},
{
"ai": "Say Thursday, Friday, Saturday, or Sunday.",
"aiZh": "请说 Thursday, Friday, Saturday, 或 Sunday(周四、周五、周六或周日)。",
"goal": "说出周四到周日中的一天",
"model": "It is Friday.",
"accept": [
"thursday",
"friday",
"saturday",
"sunday"
]
}
]
},
{
"id": "a0-08-c",
"kind": "main",
"title": "星期与时间",
"goal": "询问并说出整点",
"turns": [
{
"ai": "What time is it?",
"aiZh": "现在几点了?",
"goal": "问现在几点",
"model": "What time is it?",
"accept": [
"what time"
]
},
{
"ai": "Say one full time sentence.",
"aiZh": "请说一个完整的时间句子。",
"goal": "说一个完整的时间句子",
"model": "It is three oclock.",
"accept": [
"o'clock",
"oclock"
]
}
]
}
],
"tasks": [],
"materials": []
}