Class_generator/content/chapters/sbs-8.json
StillHammer 8ebc0b2334 Add TTS service, deployment docs, and refactor game modules
- Add TTSService.js for text-to-speech functionality
- Add comprehensive deployment documentation (guides, checklists, diagnostics)
- Add new SBS content (chapters 8 & 9)
- Refactor 14 game modules for better maintainability (-947 lines)
- Enhance SettingsDebug.js with improved debugging capabilities
- Update configuration files and startup scripts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-18 23:41:12 +08:00

783 lines
40 KiB
JSON
Raw Permalink 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": "sbs-8",
"book_id": "sbs",
"name": "Clothing & Colors",
"description": "Side by Side Level 1 - Chapter 8: Clothing items, colors, shopping, singular/plural, this/that/these/those",
"difficulty": "beginner",
"language": "en-US",
"chapter_number": "8",
"metadata": {
"version": "1.0",
"created": "2025-10-18",
"updated": "2025-10-18",
"source": "Side by Side English Learning Series",
"target_level": "beginner",
"estimated_hours": 12,
"prerequisites": ["sbs-1", "sbs-2"],
"learning_objectives": [
"Master clothing and accessories vocabulary",
"Learn color vocabulary",
"Practice singular and plural forms",
"Use this/that and these/those correctly",
"Practice shopping dialogues",
"Learn to compliment and respond"
],
"content_tags": ["vocabulary", "clothing", "colors", "shopping", "plurals", "demonstratives"],
"completion_criteria": {
"vocabulary_mastery": 80,
"quiz_score": 75,
"games_completed": 3
}
},
"vocabulary": {
"shirt": { "user_language": "衬衫", "type": "noun", "pronunciation": "/ʃɜːrt/" },
"coat": { "user_language": "外套;大衣", "type": "noun", "pronunciation": "/koʊt/" },
"dress": { "user_language": "连衣裙", "type": "noun", "pronunciation": "/dres/" },
"skirt": { "user_language": "裙子", "type": "noun", "pronunciation": "/skɜːrt/" },
"blouse": { "user_language": "女式衬衫", "type": "noun", "pronunciation": "/blaʊs/" },
"jacket": { "user_language": "夹克;短上衣", "type": "noun", "pronunciation": "/ˈdʒækɪt/" },
"suit": { "user_language": "西装;套装", "type": "noun", "pronunciation": "/suːt/" },
"tie": { "user_language": "领带", "type": "noun", "pronunciation": "/taɪ/" },
"belt": { "user_language": "皮带;腰带", "type": "noun", "pronunciation": "/belt/" },
"sweater": { "user_language": "毛衣;针织衫", "type": "noun", "pronunciation": "/ˈswetər/" },
"pants": { "user_language": "裤子", "type": "noun", "pronunciation": "/pænts/" },
"jeans": { "user_language": "牛仔裤", "type": "noun", "pronunciation": "/dʒiːnz/" },
"pajamas": { "user_language": "睡衣", "type": "noun", "pronunciation": "/pəˈɑːməz/" },
"shoes": { "user_language": "鞋子", "type": "noun", "pronunciation": "/ʃuːz/" },
"socks": { "user_language": "袜子", "type": "noun", "pronunciation": "/sɑːks/" },
"boots": { "user_language": "靴子", "type": "noun", "pronunciation": "/buːts/" },
"hat": { "user_language": "帽子", "type": "noun", "pronunciation": "/hæt/" },
"glove": { "user_language": "手套", "type": "noun", "pronunciation": "/ɡlʌv/" },
"umbrella": { "user_language": "雨伞", "type": "noun", "pronunciation": "/ʌmˈbrelə/" },
"watch": { "user_language": "手表", "type": "noun", "pronunciation": "/wɑːtʃ/" },
"earring": { "user_language": "耳环", "type": "noun", "pronunciation": "/ˈɪrɪŋ/" },
"necklace": { "user_language": "项链", "type": "noun", "pronunciation": "/ˈnekləs/" },
"bracelet": { "user_language": "手镯", "type": "noun", "pronunciation": "/ˈbreɪslət/" },
"briefcase": { "user_language": "公文包", "type": "noun", "pronunciation": "/ˈbriːfkeɪs/" },
"stocking": { "user_language": "长筒袜", "type": "noun", "pronunciation": "/ˈstɑːkɪŋ/" },
"purse": { "user_language": "手提包", "type": "noun", "pronunciation": "/pɜːrs/" },
"pocketbook": { "user_language": "钱包", "type": "noun", "pronunciation": "/ˈpɑːkɪtbʊk/" },
"glasses": { "user_language": "眼镜", "type": "noun", "pronunciation": "/ˈɡlæsɪz/" },
"sunglasses": { "user_language": "太阳镜", "type": "noun", "pronunciation": "/ˈsʌnɡlæsɪz/" },
"raincoat": { "user_language": "雨衣", "type": "noun", "pronunciation": "/ˈreɪnkoʊt/" },
"mittens": { "user_language": "连指手套", "type": "noun", "pronunciation": "/ˈmɪtənz/" },
"sports jacket": { "user_language": "运动夹克", "type": "noun", "pronunciation": "/spɔːrts ˈdʒækɪt/" },
"red": { "user_language": "红色", "type": "adjective", "pronunciation": "/red/" },
"orange": { "user_language": "橙色", "type": "adjective", "pronunciation": "/ˈɔːrɪndʒ/" },
"yellow": { "user_language": "黄色", "type": "adjective", "pronunciation": "/ˈjeloʊ/" },
"green": { "user_language": "绿色", "type": "adjective", "pronunciation": "/ɡriːn/" },
"blue": { "user_language": "蓝色", "type": "adjective", "pronunciation": "/bluː/" },
"purple": { "user_language": "紫色", "type": "adjective", "pronunciation": "/ˈːrpəl/" },
"black": { "user_language": "黑色", "type": "adjective", "pronunciation": "/blæk/" },
"pink": { "user_language": "粉色", "type": "adjective", "pronunciation": "/pɪŋk/" },
"gray": { "user_language": "灰色", "type": "adjective", "pronunciation": "/ɡreɪ/" },
"white": { "user_language": "白色", "type": "adjective", "pronunciation": "/waɪt/" },
"gold": { "user_language": "金色", "type": "adjective", "pronunciation": "/ɡoʊld/" },
"brown": { "user_language": "棕色", "type": "adjective", "pronunciation": "/braʊn/" },
"silver": { "user_language": "银色", "type": "adjective", "pronunciation": "/ˈsɪlvər/" },
"clean": { "user_language": "干净的", "type": "adjective", "pronunciation": "/kliːn/" },
"dirty": { "user_language": "脏的", "type": "adjective", "pronunciation": "/ˈːrti/" },
"upset": { "user_language": "烦恼的;不安的", "type": "adjective", "pronunciation": "/ʌpˈset/" },
"closet": { "user_language": "衣柜;壁橱", "type": "noun", "pronunciation": "/ˈklɑːzət/" },
"dry cleaner's": { "user_language": "干洗店", "type": "noun", "pronunciation": "/draɪ ˈkliːnərz/" },
"ripped": { "user_language": "破的;撕裂的", "type": "adjective", "pronunciation": "/rɪpt/" },
"clothesline": { "user_language": "晾衣绳", "type": "noun", "pronunciation": "/ˈkloʊðzlaɪn/" },
"raining": { "user_language": "下雨", "type": "verb", "pronunciation": "/ˈreɪnɪŋ/" },
"difficult": { "user_language": "困难的", "type": "adjective", "pronunciation": "/ˈdɪfɪkəlt/" },
"getting dressed": { "user_language": "穿衣服", "type": "verb phrase", "pronunciation": "/ˈɡetɪŋ drest/" },
"empty": { "user_language": "空的", "type": "adjective", "pronunciation": "/ˈempti/" },
"striped": { "user_language": "有条纹的", "type": "adjective", "pronunciation": "/straɪpt/" },
"polka dot": { "user_language": "圆点花纹的", "type": "adjective", "pronunciation": "/ˈpoʊlkə dɑːt/" },
"popular": { "user_language": "流行的", "type": "adjective", "pronunciation": "/ˈpɑːpjələr/" },
"inexpensive": { "user_language": "便宜的", "type": "adjective", "pronunciation": "/ˌɪnɪkˈspensɪv/" },
"expensive": { "user_language": "昂贵的", "type": "adjective", "pronunciation": "/ɪkˈspensɪv/" },
"cotton": { "user_language": "棉的", "type": "adjective", "pronunciation": "/ˈkɑːtən/" },
"wool": { "user_language": "羊毛的", "type": "adjective", "pronunciation": "/wʊl/" },
"leather": { "user_language": "皮革的", "type": "adjective", "pronunciation": "/ˈleðər/" },
"vinyl": { "user_language": "人造革的", "type": "adjective", "pronunciation": "/ˈvaɪnəl/" },
"frustrated": { "user_language": "沮丧的", "type": "adjective", "pronunciation": "/ˈfrʌstreɪtɪd/" },
"special": { "user_language": "特别的", "type": "adjective", "pronunciation": "/ˈspeʃəl/" },
"gifts": { "user_language": "礼物", "type": "noun", "pronunciation": "/ɡɪfts/" },
"trouble": { "user_language": "麻烦", "type": "noun", "pronunciation": "/ˈtrʌbəl/" },
"holiday shopping": { "user_language": "节日购物", "type": "noun phrase", "pronunciation": "/ˈhɑːlədeɪ ˈʃɑːpɪŋ/" },
"pair": { "user_language": "一双;一副", "type": "noun", "pronunciation": "/per/" }
},
"phrases": {
"Excuse me. I'm looking for a shirt": { "user_language": "打扰一下。我在找一件衬衫。", "context": "shopping", "pronunciation": "/ɪkˈskjuːz miː aɪm ˈlʊkɪŋ fɔːr ə ʃɜːrt/" },
"Shirts are over there": { "user_language": "衬衫在那边。", "context": "shopping-response", "pronunciation": "/ʃɜːrts ɑːr ˈoʊvər ðer/" },
"May I help you?": { "user_language": "我能帮您吗?", "context": "customer-service", "pronunciation": "/meɪ aɪ help juː/" },
"Yes, please": { "user_language": "是的,麻烦了", "context": "polite-response", "pronunciation": "/jes pliːz/" },
"Here's a nice jacket": { "user_language": "这里有一件不错的夹克。", "context": "offering", "pronunciation": "/hɪrz ə naɪs ˈdʒækɪt/" },
"But this is a purple jacket!": { "user_language": "但这是一件紫色的夹克!", "context": "objection", "pronunciation": "/bʌt ðɪs ɪz ə ˈːrpəl ˈdʒækɪt/" },
"That's okay": { "user_language": "没关系", "context": "reassurance", "pronunciation": "/ðæts oʊˈkeɪ/" },
"Purple jackets are very popular this year": { "user_language": "紫色夹克今年很流行。", "context": "sales-pitch", "pronunciation": "/ˈːrpəl ˈdʒækɪts ɑːr ˈveri ˈpɑːpjələr ðɪs jɪr/" },
"I'm looking for a pair of gloves": { "user_language": "我在找一副手套。", "context": "shopping", "pronunciation": "/aɪm ˈlʊkɪŋ fɔːr ə per əv ɡlʌvz/" },
"I think that's my jacket": { "user_language": "我觉得那是我的夹克。", "context": "claiming-item", "pronunciation": "/aɪ θɪŋk ðæts maɪ ˈdʒækɪt/" },
"I don't think so": { "user_language": "我不这么认为", "context": "disagreeing", "pronunciation": "/aɪ doʊnt θɪŋk soʊ/" },
"You're right": { "user_language": "你说得对", "context": "agreeing", "pronunciation": "/jʊr raɪt/" },
"I guess I made a mistake": { "user_language": "我想我搞错了", "context": "apologizing", "pronunciation": "/aɪ ɡes aɪ meɪd ə mɪˈsteɪk/" },
"Is this your umbrella?": { "user_language": "这是你的雨伞吗?", "context": "lost-and-found", "pronunciation": "/ɪz ðɪs jʊr ʌmˈbrelə/" },
"Are you sure?": { "user_language": "你确定吗?", "context": "confirming", "pronunciation": "/ɑːr juː ʃʊr/" },
"That's a very nice hat!": { "user_language": "那顶帽子真好看!", "context": "compliment", "pronunciation": "/ðæts ə ˈveri naɪs hæt/" },
"Thank you": { "user_language": "谢谢", "context": "responding-compliment", "pronunciation": "/θæŋk juː/" }
},
"dialogs": {
"shopping_singular": {
"title": "Shirts Are Over There",
"participants": ["Customer", "Employee"],
"lines": [
{ "speaker": "Customer", "text": "Excuse me. I'm looking for a shirt.", "user_language": "打扰一下。我在找一件衬衫。" },
{ "speaker": "Employee", "text": "Shirts are over there.", "user_language": "衬衫在那边。" },
{ "speaker": "Customer", "text": "Thanks.", "user_language": "谢谢。" }
]
},
"shopping_color": {
"title": "Shopping for a Jacket",
"participants": ["Customer", "Salesperson"],
"lines": [
{ "speaker": "Salesperson", "text": "May I help you?", "user_language": "我能帮您吗?" },
{ "speaker": "Customer", "text": "Yes, please. I'm looking for a jacket.", "user_language": "是的,麻烦了。我在找一件夹克。" },
{ "speaker": "Salesperson", "text": "Here's a nice jacket.", "user_language": "这里有一件不错的夹克。" },
{ "speaker": "Customer", "text": "But this is a PURPLE jacket!", "user_language": "但这是一件紫色的夹克!" },
{ "speaker": "Salesperson", "text": "That's okay. Purple jackets are very POPULAR this year.", "user_language": "没关系。紫色夹克今年很流行。" }
]
},
"shopping_pair": {
"title": "Shopping for Gloves",
"participants": ["Customer", "Salesperson"],
"lines": [
{ "speaker": "Salesperson", "text": "Can I help you?", "user_language": "我能帮您吗?" },
{ "speaker": "Customer", "text": "Yes, please. I'm looking for a pair of gloves.", "user_language": "是的,麻烦了。我在找一副手套。" },
{ "speaker": "Salesperson", "text": "Here's a nice pair of gloves.", "user_language": "这里有一副不错的手套。" },
{ "speaker": "Customer", "text": "But these are GREEN gloves!", "user_language": "但这些是绿色的手套!" },
{ "speaker": "Salesperson", "text": "That's okay. Green gloves are very POPULAR this year.", "user_language": "没关系。绿色手套今年很流行。" }
]
},
"lost_and_found_singular": {
"title": "Lost and Found - Umbrella",
"participants": ["Person A", "Person B"],
"lines": [
{ "speaker": "Person A", "text": "Is this your umbrella?", "user_language": "这是你的雨伞吗?" },
{ "speaker": "Person B", "text": "No, it isn't.", "user_language": "不,不是。" },
{ "speaker": "Person A", "text": "Are you sure?", "user_language": "你确定吗?" },
{ "speaker": "Person B", "text": "Yes. THAT umbrella is BROWN, and MY umbrella is BLACK.", "user_language": "是的。那把雨伞是棕色的,而我的雨伞是黑色的。" }
]
},
"lost_and_found_plural": {
"title": "Lost and Found - Boots",
"participants": ["Person A", "Person B"],
"lines": [
{ "speaker": "Person A", "text": "Are these your boots?", "user_language": "这些是你的靴子吗?" },
{ "speaker": "Person B", "text": "No, they aren't.", "user_language": "不,不是。" },
{ "speaker": "Person A", "text": "Are you sure?", "user_language": "你确定吗?" },
{ "speaker": "Person B", "text": "Yes. THOSE boots are DIRTY, and MY boots are CLEAN.", "user_language": "是的。那些靴子是脏的,而我的靴子是干净的。" }
]
},
"mistake": {
"title": "I Think That's My Jacket",
"participants": ["Person A", "Person B"],
"lines": [
{ "speaker": "Person A", "text": "Excuse me. I think that's my jacket.", "user_language": "打扰一下。我觉得那是我的夹克。" },
{ "speaker": "Person B", "text": "Hmm. I don't think so. I think this is MY jacket.", "user_language": "嗯。我不这么认为。我觉得这是我的夹克。" },
{ "speaker": "Person A", "text": "Oh. You're right. I guess I made a mistake.", "user_language": "哦。你说得对。我想我搞错了。" }
]
},
"compliment": {
"title": "Complimenting",
"participants": ["Person A", "Person B"],
"lines": [
{ "speaker": "Person A", "text": "That's a very nice hat!", "user_language": "那顶帽子真好看!" },
{ "speaker": "Person B", "text": "Thank you.", "user_language": "谢谢。" }
]
}
},
"texts": [
{
"title": "Nothing to Wear",
"original_language": "Fred is upset this morning. He's looking for something to wear to work, but there's nothing in his closet.\n\nHe's looking for a clean shirt, but all his shirts are dirty. He's looking for a sports jacket, but all his sports jackets are at the dry cleaner's. He's looking for a pair of pants, but all the pants in his closet are ripped. And he's looking for a pair of socks, but all his socks are on the clothesline. It's raining!\n\nFred is having a difficult time this morning. He's getting dressed for work, but his closet is empty, and there's nothing to wear.",
"user_language": "弗雷德今天早上很烦恼。他在找衣服去上班,但他的衣柜里什么都没有。\n\n他在找一件干净的衬衫但他所有的衬衫都脏了。他在找一件运动夹克但他所有的运动夹克都在干洗店。他在找一条裤子但他衣柜里所有的裤子都破了。他还在找一双袜子但他所有的袜子都在晾衣绳上。正在下雨\n\n弗雷德今天早上很为难。他正在穿衣服去上班但他的衣柜是空的没有衣服可穿。"
},
{
"title": "Holiday Shopping",
"original_language": "Mrs. Miller is doing her holiday shopping. She's looking for gifts for her family, but she's having a lot of trouble.\n\nShe's looking for a brown umbrella for her son, but all the umbrellas are black. She's looking for a gray raincoat for her daughter, but all the raincoats are yellow. She's looking for a cotton sweater for her husband, but all the sweaters are wool.\n\nShe's looking for an inexpensive bracelet for her sister, but all the bracelets are expensive. She's looking for a leather purse for her mother, but all the purses are vinyl. And she's looking for a polka dot tie for her father, but all the ties are striped.\n\nPoor Mrs. Miller is very frustrated. She's looking for special gifts for all the special people in her family, but she's having a lot of trouble.",
"user_language": "米勒太太正在进行节日购物。她在为家人寻找礼物,但她遇到了很多麻烦。\n\n她在为儿子找一把棕色雨伞但所有的雨伞都是黑色的。她在为女儿找一件灰色雨衣但所有的雨衣都是黄色的。她在为丈夫找一件棉毛衣但所有的毛衣都是羊毛的。\n\n她在为妹妹找一条便宜的手镯但所有的手镯都很贵。她在为母亲找一个皮革手提包但所有的手提包都是人造革的。她在为父亲找一条圆点领带但所有的领带都是条纹的。\n\n可怜的米勒太太非常沮丧。她在为家里所有特别的人寻找特别的礼物但她遇到了很多麻烦。"
}
],
"grammar": {
"singular-plural": {
"title": "Singular and Plural Forms",
"explanation": "Most nouns add -s for plural. Nouns ending in -s, -x, -z, -ch, -sh add -es.",
"examples": [
{
"english": "a shirt → shirts",
"translation": "一件衬衫 → 衬衫们",
"explanation": "Regular plural: add -s"
},
{
"english": "a dress → dresses",
"translation": "一条连衣裙 → 连衣裙们",
"explanation": "Nouns ending in -s add -es"
},
{
"english": "a watch → watches",
"translation": "一块手表 → 手表们",
"explanation": "Nouns ending in -ch add -es"
}
]
},
"this-that-these-those": {
"title": "This, That, These, Those",
"explanation": "Use this/that for singular, these/those for plural. This/these are near, that/those are far.",
"examples": [
{
"english": "This is my jacket. (near, singular)",
"translation": "这是我的夹克。(近,单数)",
"explanation": "Use 'this is' for singular items close to you"
},
{
"english": "That umbrella is brown. (far, singular)",
"translation": "那把雨伞是棕色的。(远,单数)",
"explanation": "Use 'that' for singular items away from you"
},
{
"english": "These are my gloves. (near, plural)",
"translation": "这些是我的手套。(近,复数)",
"explanation": "Use 'these are' for plural items close to you"
},
{
"english": "Those boots are dirty. (far, plural)",
"translation": "那些靴子是脏的。(远,复数)",
"explanation": "Use 'those' for plural items away from you"
}
]
},
"adjectives": {
"title": "Adjectives Before Nouns",
"explanation": "Adjectives (like colors) come before nouns in English. They don't change for plural.",
"examples": [
{
"english": "a purple jacket",
"translation": "一件紫色的夹克",
"explanation": "Adjective 'purple' comes before noun 'jacket'"
},
{
"english": "green gloves",
"translation": "绿色的手套",
"explanation": "Adjective 'green' stays the same for plural nouns"
},
{
"english": "That's a very nice hat!",
"translation": "那顶帽子真好看!",
"explanation": "Multiple adjectives can modify one noun"
}
]
},
"pair-of": {
"title": "Using 'Pair of'",
"explanation": "Use 'a pair of' for items that come in twos (shoes, socks, gloves, pants, etc.)",
"examples": [
{
"english": "I'm looking for a pair of gloves",
"translation": "我在找一副手套",
"explanation": "Gloves come in pairs (left and right)"
},
{
"english": "Here's a nice pair of shoes",
"translation": "这里有一双不错的鞋子",
"explanation": "Shoes always come in pairs"
},
{
"english": "a pair of pants",
"translation": "一条裤子",
"explanation": "Pants is always plural in English, use 'a pair of'"
}
]
}
},
"fillInBlanks": [
{
"sentence": "Excuse me. I'm looking for a ___",
"options": ["shirt", "shirts", "shoe", "glove"],
"correctAnswer": "shirt",
"explanation": "Use singular 'a shirt' with the article 'a'",
"grammarFocus": "singular-plural"
},
{
"sentence": "___ are over there",
"options": ["Shirts", "Shirt", "A shirt", "The shirt"],
"correctAnswer": "Shirts",
"explanation": "Use plural when talking about items in general",
"grammarFocus": "singular-plural"
},
{
"sentence": "This is a ___ jacket",
"options": ["purple", "purples", "a purple", "the purple"],
"correctAnswer": "purple",
"explanation": "Adjectives don't change form and come before nouns",
"grammarFocus": "adjectives"
},
{
"sentence": "I'm looking for a pair of ___",
"options": ["gloves", "glove", "a glove", "the gloves"],
"correctAnswer": "gloves",
"explanation": "Use plural after 'a pair of'",
"grammarFocus": "pair-of"
},
{
"sentence": "___ umbrella is brown",
"options": ["That", "This", "These", "Those"],
"correctAnswer": "That",
"explanation": "Use 'that' for singular items that are far",
"grammarFocus": "this-that-these-those"
},
{
"sentence": "___ boots are dirty",
"options": ["Those", "That", "This", "These"],
"correctAnswer": "Those",
"explanation": "Use 'those' for plural items that are far",
"grammarFocus": "this-that-these-those"
},
{
"sentence": "I think ___ is my jacket",
"options": ["that", "those", "these", "this"],
"correctAnswer": "that",
"explanation": "Use 'that' when pointing to a singular item away from you",
"grammarFocus": "this-that-these-those"
},
{
"sentence": "I think ___ are my gloves",
"options": ["these", "this", "that", "those"],
"correctAnswer": "these",
"explanation": "Use 'these' when pointing to plural items near you",
"grammarFocus": "this-that-these-those"
},
{
"sentence": "Purple jackets are very ___ this year",
"options": ["popular", "populars", "popularity", "popularly"],
"correctAnswer": "popular",
"explanation": "Use adjective 'popular' after 'very'",
"grammarFocus": "adjectives"
},
{
"sentence": "All his shirts are ___",
"options": ["dirty", "clean", "new", "old"],
"correctAnswer": "dirty",
"explanation": "According to the story, Fred's shirts are dirty",
"grammarFocus": "vocabulary"
},
{
"sentence": "Is this ___ umbrella?",
"options": ["your", "you", "yours", "you're"],
"correctAnswer": "your",
"explanation": "Use possessive adjective 'your' before a noun",
"grammarFocus": "possessives"
},
{
"sentence": "That's a very nice ___!",
"options": ["hat", "hats", "a hat", "the hat"],
"correctAnswer": "hat",
"explanation": "Use singular noun after the article 'a'",
"grammarFocus": "singular-plural"
},
{
"sentence": "I guess I made a ___",
"options": ["mistake", "correct", "right", "wrong"],
"correctAnswer": "mistake",
"explanation": "The expression is 'make a mistake'",
"grammarFocus": "expressions"
},
{
"sentence": "Fred's closet is ___",
"options": ["empty", "full", "big", "small"],
"correctAnswer": "empty",
"explanation": "According to the story, Fred's closet is empty",
"grammarFocus": "vocabulary"
},
{
"sentence": "Mrs. Miller is looking for ___ for her family",
"options": ["gifts", "gift", "a gift", "the gift"],
"correctAnswer": "gifts",
"explanation": "She's looking for multiple gifts for different people",
"grammarFocus": "singular-plural"
}
],
"corrections": [
{
"correct": "Shirts are over there",
"incorrect": "Shirt are over there",
"explanation": "Use plural 'shirts' when talking about items in general, not just one",
"grammarFocus": "singular-plural"
},
{
"correct": "This is a purple jacket",
"incorrect": "This is purple jacket",
"explanation": "Include the article 'a' before singular countable nouns",
"grammarFocus": "articles"
},
{
"correct": "These are green gloves",
"incorrect": "These are greens gloves",
"explanation": "Adjectives don't take plural form in English",
"grammarFocus": "adjectives"
},
{
"correct": "I'm looking for a pair of gloves",
"incorrect": "I'm looking for a gloves",
"explanation": "Use 'a pair of' for items that come in twos",
"grammarFocus": "pair-of"
},
{
"correct": "That umbrella is brown",
"incorrect": "That umbrella brown",
"explanation": "Include the verb 'is' in complete sentences",
"grammarFocus": "to-be"
},
{
"correct": "Those boots are dirty",
"incorrect": "That boots are dirty",
"explanation": "Use 'those' with plural nouns, not 'that'",
"grammarFocus": "this-that-these-those"
},
{
"correct": "I don't think so",
"incorrect": "I don't think yes",
"explanation": "The correct expression is 'I don't think so', not 'I don't think yes'",
"grammarFocus": "expressions"
},
{
"correct": "You're right",
"incorrect": "Your right",
"explanation": "Use 'you're' (you are), not the possessive 'your'",
"grammarFocus": "contractions"
},
{
"correct": "I made a mistake",
"incorrect": "I did a mistake",
"explanation": "Use 'make a mistake', not 'do a mistake'",
"grammarFocus": "collocations"
},
{
"correct": "Are these your boots?",
"incorrect": "Is these your boots?",
"explanation": "Use 'are' with plural 'these', not 'is'",
"grammarFocus": "subject-verb-agreement"
}
],
"exercises": {
"singular_to_plural": {
"type": "transformation",
"instructions": "Change from singular to plural",
"items": [
{ "singular": "a shirt", "plural": "shirts", "user_language_s": "一件衬衫", "user_language_p": "衬衫们" },
{ "singular": "a coat", "plural": "coats", "user_language_s": "一件外套", "user_language_p": "外套们" },
{ "singular": "a dress", "plural": "dresses", "user_language_s": "一条连衣裙", "user_language_p": "连衣裙们" },
{ "singular": "a watch", "plural": "watches", "user_language_s": "一块手表", "user_language_p": "手表们" },
{ "singular": "an umbrella", "plural": "umbrellas", "user_language_s": "一把雨伞", "user_language_p": "雨伞们" }
]
},
"this_that_practice": {
"type": "demonstrative_practice",
"instructions": "Use this/that or these/those",
"items": [
{ "context": "jacket (near)", "answer": "This is my jacket", "user_language": "这是我的夹克" },
{ "context": "umbrella (far)", "answer": "That umbrella is brown", "user_language": "那把雨伞是棕色的" },
{ "context": "gloves (near)", "answer": "These are my gloves", "user_language": "这些是我的手套" },
{ "context": "boots (far)", "answer": "Those boots are dirty", "user_language": "那些靴子是脏的" }
]
},
"reading_check_nothing_to_wear": {
"type": "multiple_choice",
"instructions": "Nothing to Wear - Choose the correct answer",
"items": [
{
"question": "Fred's closet is ___",
"options": ["upset", "empty"],
"correctAnswer": "empty",
"user_language": "弗雷德的衣柜是___"
},
{
"question": "Fred's shirts are ___",
"options": ["dirty", "clean"],
"correctAnswer": "dirty",
"user_language": "弗雷德的衬衫是___"
},
{
"question": "The weather is ___",
"options": ["not very good", "beautiful"],
"correctAnswer": "not very good",
"user_language": "天气是___"
},
{
"question": "Fred is upset because ___",
"options": ["he's getting dressed", "there's nothing to wear"],
"correctAnswer": "there's nothing to wear",
"user_language": "弗雷德烦恼是因为___"
}
]
},
"word_doesnt_belong": {
"type": "odd_one_out",
"instructions": "Which word doesn't belong?",
"items": [
{
"options": ["sweater", "jacket", "briefcase", "coat"],
"correctAnswer": "briefcase",
"explanation": "Briefcase is not clothing, it's an accessory",
"user_language": "公文包不是衣服"
},
{
"options": ["necklace", "belt", "bracelet", "earrings"],
"correctAnswer": "belt",
"explanation": "Belt is not jewelry",
"user_language": "皮带不是珠宝"
},
{
"options": ["blouse", "skirt", "dress", "tie"],
"correctAnswer": "tie",
"explanation": "Tie is typically for men",
"user_language": "领带是男士用品"
},
{
"options": ["clean", "green", "gray", "blue"],
"correctAnswer": "clean",
"explanation": "Clean is not a color",
"user_language": "干净的不是颜色"
}
]
}
},
"pronunciation": {
"title": "Emphasized Words",
"instructions": "Practice emphasizing important words in sentences",
"exercises": [
{
"sentence": "But this is a PURPLE jacket!",
"user_language": "但这是一件紫色的夹克!",
"emphasis": ["PURPLE"],
"explanation": "Emphasize the color to show surprise or disagreement"
},
{
"sentence": "Green gloves are very POPULAR this year.",
"user_language": "绿色手套今年很流行。",
"emphasis": ["POPULAR"],
"explanation": "Emphasize 'popular' to reassure the customer"
},
{
"sentence": "I think this is MY jacket.",
"user_language": "我觉得这是我的夹克。",
"emphasis": ["MY"],
"explanation": "Emphasize 'my' to claim ownership"
},
{
"sentence": "THAT umbrella is BROWN, and MY umbrella is BLACK.",
"user_language": "那把雨伞是棕色的,而我的雨伞是黑色的。",
"emphasis": ["THAT", "BROWN", "MY", "BLACK"],
"explanation": "Emphasize contrasting words to show differences"
},
{
"sentence": "But these are YELLOW shoes!",
"user_language": "但这些是黄色的鞋子!",
"emphasis": ["YELLOW"],
"explanation": "Emphasize the unexpected color"
},
{
"sentence": "Striped socks are very POPULAR this year.",
"user_language": "条纹袜子今年很流行。",
"emphasis": ["POPULAR"],
"explanation": "Emphasize to justify the unusual choice"
},
{
"sentence": "I think these are MY glasses.",
"user_language": "我觉得这些是我的眼镜。",
"emphasis": ["MY"],
"explanation": "Emphasize ownership"
},
{
"sentence": "THOSE boots are DIRTY, and MY boots are CLEAN.",
"user_language": "那些靴子是脏的,而我的靴子是干净的。",
"emphasis": ["THOSE", "DIRTY", "MY", "CLEAN"],
"explanation": "Emphasize contrasting adjectives"
}
]
},
"irregular_plurals": {
"title": "Irregular Plurals Review",
"explanation": "Some plurals don't follow regular rules",
"items": [
{ "singular": "man", "plural": "men", "user_language_s": "一个男人", "user_language_p": "男人们" },
{ "singular": "woman", "plural": "women", "user_language_s": "一个女人", "user_language_p": "女人们" },
{ "singular": "child", "plural": "children", "user_language_s": "一个孩子", "user_language_p": "孩子们" },
{ "singular": "person", "plural": "people", "user_language_s": "一个人", "user_language_p": "人们" },
{ "singular": "tooth", "plural": "teeth", "user_language_s": "一颗牙齿", "user_language_p": "牙齿们" },
{ "singular": "mouse", "plural": "mice", "user_language_s": "一只老鼠", "user_language_p": "老鼠们" }
]
},
"listening_exercises": {
"what_word": {
"title": "What's the Word?",
"instructions": "Listen and choose the correct answer",
"items": [
{ "options": ["blouse", "dress"], "user_language": "女式衬衫 或 连衣裙" },
{ "options": ["shoes", "boots"], "user_language": "鞋子 或 靴子" },
{ "options": ["necklace", "bracelet"], "user_language": "项链 或 手镯" },
{ "options": ["coat", "raincoat"], "user_language": "外套 或 雨衣" },
{ "options": ["socks", "stockings"], "user_language": "袜子 或 长筒袜" },
{ "options": ["shirt", "skirt"], "user_language": "衬衫 或 裙子" }
]
},
"singular_or_plural": {
"title": "Which Word Do You Hear?",
"instructions": "Listen and choose singular or plural",
"items": [
{ "options": ["jacket", "jackets"], "user_language": "夹克(单/复数)" },
{ "options": ["belt", "belts"], "user_language": "皮带(单/复数)" },
{ "options": ["sweater", "sweaters"], "user_language": "毛衣(单/复数)" },
{ "options": ["suit", "suits"], "user_language": "西装(单/复数)" },
{ "options": ["shoe", "shoes"], "user_language": "鞋子(单/复数)" },
{ "options": ["tie", "ties"], "user_language": "领带(单/复数)" }
]
},
"attention_shoppers": {
"title": "Attention, J-Mart Shoppers!",
"instructions": "Match the item to the correct aisle number",
"items": [
{ "item": "jackets", "aisle": "Aisle 1", "user_language": "夹克 → 第1通道" },
{ "item": "gloves", "aisle": "Aisle 7", "user_language": "手套 → 第7通道" },
{ "item": "blouses", "aisle": "Aisle 9", "user_language": "女式衬衫 → 第9通道" },
{ "item": "bracelets", "aisle": "Aisle 11", "user_language": "手镯 → 第11通道" },
{ "item": "ties", "aisle": "Aisle 5", "user_language": "领带 → 第5通道" }
]
}
},
"cultural_content": {
"title": "Clothing, Colors, and Cultures",
"sections": [
{
"topic": "Colors and Children's Clothing",
"content": "Blue and pink aren't children's clothing colors all around the world. The meanings of colors are sometimes very different in different cultures. For example, in some cultures, blue is a common clothing color for little boys, and pink is a common clothing color for little girls. In other cultures, other colors are common for boys and girls.",
"user_language": "蓝色和粉色并不是世界各地儿童服装的颜色。颜色的含义在不同文化中有时非常不同。例如,在一些文化中,蓝色是小男孩的常见服装颜色,粉色是小女孩的常见服装颜色。在其他文化中,男孩和女孩的常见颜色是其他颜色。"
},
{
"topic": "Colors for Special Days",
"content": "There are also different colors for special days in different cultures. For example, white is the traditional color of a wedding dress in some cultures, but other colors are traditional in other cultures.",
"user_language": "在不同文化中,特殊日子也有不同的颜色。例如,在一些文化中,白色是婚纱的传统颜色,但在其他文化中,其他颜色是传统的。"
},
{
"topic": "Color Meanings",
"content": "For some people, white is a happy color. For others, it's a sad color. For some people, red is a beautiful and lucky color. For others, it's a very sad color.",
"user_language": "对一些人来说,白色是快乐的颜色。对其他人来说,这是悲伤的颜色。对一些人来说,红色是美丽和幸运的颜色。对其他人来说,这是非常悲伤的颜色。",
"question": "What are the meanings of different colors in YOUR culture?",
"question_user_language": "在你的文化中,不同颜色的含义是什么?"
}
],
"additional_vocabulary": {
"title": "Build Your Vocabulary - More Clothing",
"singular_items": [
{ "word": "bathrobe", "user_language": "浴袍", "pronunciation": "/ˈbæθroʊb/" },
{ "word": "tee shirt", "user_language": "T恤", "pronunciation": "/tiː ʃɜːrt/" },
{ "word": "scarf", "user_language": "围巾", "pronunciation": "/skɑːrf/" },
{ "word": "wallet", "user_language": "钱包", "pronunciation": "/ˈwɑːlɪt/" },
{ "word": "ring", "user_language": "戒指", "pronunciation": "/rɪŋ/" }
],
"plural_items": [
{ "word": "sandals", "user_language": "凉鞋", "pronunciation": "/ˈsændəlz/" },
{ "word": "slippers", "user_language": "拖鞋", "pronunciation": "/ˈslɪpərz/" },
{ "word": "sneakers", "user_language": "运动鞋", "pronunciation": "/ˈsniːkərz/" },
{ "word": "shorts", "user_language": "短裤", "pronunciation": "/ʃɔːrts/" },
{ "word": "sweat pants", "user_language": "运动裤", "pronunciation": "/swet pænts/" }
]
}
},
"thematic_questions": {
"clothing_items": [
{
"id": "q1",
"question": "What clothing items do you wear to work?",
"question_user_language": "你上班穿什么衣服?",
"tts_enabled": true,
"example_responses": [
"I wear a shirt and pants",
"I wear a suit and tie",
"I wear a dress"
],
"theme": "clothing_items"
},
{
"id": "q2",
"question": "What are you wearing today?",
"question_user_language": "你今天穿什么?",
"tts_enabled": true,
"example_responses": [
"I'm wearing jeans and a sweater",
"I'm wearing a blue shirt",
"I'm wearing a dress and boots"
],
"theme": "clothing_items"
},
{
"id": "q3",
"question": "What are the students in your class wearing today?",
"question_user_language": "你班上的学生今天穿什么?",
"tts_enabled": true,
"example_responses": [
"They're wearing jeans and shirts",
"Some are wearing dresses",
"Many students are wearing sweaters"
],
"theme": "clothing_items"
}
],
"colors": [
{
"id": "q4",
"question": "What's your favorite color?",
"question_user_language": "你最喜欢的颜色是什么?",
"tts_enabled": true,
"example_responses": [
"My favorite color is blue",
"I like red",
"Purple is my favorite"
],
"theme": "colors"
},
{
"id": "q5",
"question": "What color is your jacket?",
"question_user_language": "你的夹克是什么颜色?",
"tts_enabled": true,
"example_responses": [
"My jacket is black",
"It's blue",
"I have a brown jacket"
],
"theme": "colors"
}
],
"shopping": [
{
"id": "q6",
"question": "What are you looking for?",
"question_user_language": "你在找什么?",
"tts_enabled": true,
"example_responses": [
"I'm looking for a shirt",
"I'm looking for a pair of shoes",
"I'm looking for a jacket"
],
"theme": "shopping"
}
]
},
"statistics": {
"vocabulary_count": 71,
"phrases_count": 16,
"dialogs_count": 7,
"texts_count": 2,
"exercises_count": 4,
"fillInBlanks_count": 15,
"corrections_count": 10,
"thematic_questions_count": 5,
"estimated_completion_time": 12
}
}