- Add AIReportSystem.js for detailed AI response capture and report generation - Add AIReportInterface.js UI component for report access and export - Integrate AI reporting into LLMValidator and SmartPreviewOrchestrator - Add missing modules to Application.js configuration (unifiedDRS, smartPreviewOrchestrator) - Create missing content/chapters/sbs.json for book metadata - Enhance Application.js with debug logging for module loading - Add multi-format export capabilities (text, HTML, JSON) - Implement automatic learning insights extraction from AI feedback - Add session management and performance tracking for AI reports 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
169 lines
12 KiB
JSON
169 lines
12 KiB
JSON
{
|
||
"id": "sbs-7-8",
|
||
"book_id": "sbs",
|
||
"name": "Daily Life & Vocabulary",
|
||
"description": "Side by Side Level 7-8 vocabulary with language-agnostic format",
|
||
"difficulty": "intermediate",
|
||
"language": "en-US",
|
||
"chapter_number": "7-8",
|
||
"metadata": {
|
||
"version": "1.0",
|
||
"created": "2025-09-23",
|
||
"updated": "2025-09-23",
|
||
"source": "Side by Side English Learning Series",
|
||
"target_level": "intermediate",
|
||
"estimated_hours": 25,
|
||
"prerequisites": ["sbs-5-6"],
|
||
"learning_objectives": [
|
||
"Master intermediate vocabulary for daily situations",
|
||
"Understand clothing and body parts terminology",
|
||
"Learn emotional expressions and feelings",
|
||
"Practice technology and social media vocabulary"
|
||
],
|
||
"content_tags": ["vocabulary", "daily-life", "practical-english", "conversational"],
|
||
"completion_criteria": {
|
||
"vocabulary_mastery": 80,
|
||
"quiz_score": 75,
|
||
"games_completed": 5
|
||
}
|
||
},
|
||
"vocabulary": {
|
||
"central": { "user_language": "中心的;中央的", "type": "adjective", "pronunciation": "/ˈsentrəl/" },
|
||
"avenue": { "user_language": "大街;林荫道", "type": "noun", "pronunciation": "/ˈævənjuː/" },
|
||
"refrigerator": { "user_language": "冰箱", "type": "noun", "pronunciation": "/rɪˈfrɪdʒəreɪtər/" },
|
||
"closet": { "user_language": "衣柜;壁橱", "type": "noun", "pronunciation": "/ˈklɒzɪt/" },
|
||
"elevator": { "user_language": "电梯", "type": "noun", "pronunciation": "/ˈeləveɪtər/" },
|
||
"building": { "user_language": "建筑物;大楼", "type": "noun", "pronunciation": "/ˈbɪldɪŋ/" },
|
||
"air conditioner": { "user_language": "空调", "type": "noun", "pronunciation": "/ɛr kənˈdɪʃənər/" },
|
||
"superintendent": { "user_language": "主管;负责人", "type": "noun", "pronunciation": "/ˌsuːpərɪnˈtendənt/" },
|
||
"bus stop": { "user_language": "公交车站", "type": "noun", "pronunciation": "/bʌs stɒp/" },
|
||
"jacuzzi": { "user_language": "按摩浴缸", "type": "noun", "pronunciation": "/dʒəˈkuːzi/" },
|
||
"machine": { "user_language": "机器;设备", "type": "noun", "pronunciation": "/məˈʃiːn/" },
|
||
"two and a half": { "user_language": "两个半", "type": "number", "pronunciation": "/tuː ænd ə hæf/" },
|
||
"in the center of": { "user_language": "在……中心", "type": "preposition", "pronunciation": "/ɪn ðə ˈsentər ʌv/" },
|
||
"town": { "user_language": "城镇", "type": "noun", "pronunciation": "/taʊn/" },
|
||
"a lot of": { "user_language": "许多", "type": "determiner", "pronunciation": "/ə lɑt ʌv/" },
|
||
"noise": { "user_language": "噪音", "type": "noun", "pronunciation": "/nɔɪz/" },
|
||
"sidewalks": { "user_language": "人行道", "type": "noun", "pronunciation": "/ˈsaɪdwɔːks/" },
|
||
"all day and all night": { "user_language": "整日整夜", "type": "adverb", "pronunciation": "/ɔːl deɪ ænd ɔːl naɪt/" },
|
||
"convenient": { "user_language": "便利的", "type": "adjective", "pronunciation": "/kənˈviːniənt/" },
|
||
"shirt": { "user_language": "衬衫", "type": "noun", "pronunciation": "/ʃɜːrt/" },
|
||
"coat": { "user_language": "外套、大衣", "type": "noun", "pronunciation": "/koʊt/" },
|
||
"pants": { "user_language": "裤子", "type": "noun", "pronunciation": "/pænts/" },
|
||
"shoes": { "user_language": "鞋子", "type": "noun", "pronunciation": "/ʃuːz/" },
|
||
"hat": { "user_language": "帽子", "type": "noun", "pronunciation": "/hæt/" },
|
||
"dress": { "user_language": "连衣裙", "type": "noun", "pronunciation": "/drɛs/" },
|
||
"suit": { "user_language": "套装", "type": "noun", "pronunciation": "/suːt/" },
|
||
"tie": { "user_language": "领带", "type": "noun", "pronunciation": "/taɪ/" },
|
||
"socks": { "user_language": "袜子", "type": "noun", "pronunciation": "/sɑːks/" },
|
||
"blouse": { "user_language": "女式衬衫", "type": "noun", "pronunciation": "/blaʊs/" },
|
||
"skirt": { "user_language": "裙子", "type": "noun", "pronunciation": "/skɜːrt/" },
|
||
"sweater": { "user_language": "毛衣", "type": "noun", "pronunciation": "/ˈswɛtər/" },
|
||
"jacket": { "user_language": "夹克", "type": "noun", "pronunciation": "/ˈdʒækɪt/" },
|
||
"jeans": { "user_language": "牛仔裤", "type": "noun", "pronunciation": "/dʒiːnz/" },
|
||
"shorts": { "user_language": "短裤", "type": "noun", "pronunciation": "/ʃɔːrts/" },
|
||
"sneakers": { "user_language": "运动鞋", "type": "noun", "pronunciation": "/ˈsniːkərz/" },
|
||
"boots": { "user_language": "靴子", "type": "noun", "pronunciation": "/buːts/" },
|
||
"gloves": { "user_language": "手套", "type": "noun", "pronunciation": "/ɡlʌvz/" },
|
||
"scarf": { "user_language": "围巾", "type": "noun", "pronunciation": "/skɑːrf/" },
|
||
"belt": { "user_language": "腰带", "type": "noun", "pronunciation": "/bɛlt/" },
|
||
"head": { "user_language": "头", "type": "noun", "pronunciation": "/hɛd/" },
|
||
"hair": { "user_language": "头发", "type": "noun", "pronunciation": "/hɛr/" },
|
||
"eyes": { "user_language": "眼睛", "type": "noun", "pronunciation": "/aɪz/" },
|
||
"nose": { "user_language": "鼻子", "type": "noun", "pronunciation": "/noʊz/" },
|
||
"mouth": { "user_language": "嘴", "type": "noun", "pronunciation": "/maʊθ/" },
|
||
"ears": { "user_language": "耳朵", "type": "noun", "pronunciation": "/ɪrz/" },
|
||
"face": { "user_language": "脸", "type": "noun", "pronunciation": "/feɪs/" },
|
||
"neck": { "user_language": "脖子", "type": "noun", "pronunciation": "/nɛk/" },
|
||
"shoulders": { "user_language": "肩膀", "type": "noun", "pronunciation": "/ˈʃoʊldərz/" },
|
||
"arms": { "user_language": "胳膊", "type": "noun", "pronunciation": "/ɑːrmz/" },
|
||
"hands": { "user_language": "手", "type": "noun", "pronunciation": "/hændz/" },
|
||
"fingers": { "user_language": "手指", "type": "noun", "pronunciation": "/ˈfɪŋɡərz/" },
|
||
"chest": { "user_language": "胸部", "type": "noun", "pronunciation": "/tʃɛst/" },
|
||
"back": { "user_language": "背部", "type": "noun", "pronunciation": "/bæk/" },
|
||
"stomach": { "user_language": "腹部、肚子", "type": "noun", "pronunciation": "/ˈstʌmək/" },
|
||
"legs": { "user_language": "腿", "type": "noun", "pronunciation": "/lɛɡz/" },
|
||
"feet": { "user_language": "脚", "type": "noun", "pronunciation": "/fiːt/" },
|
||
"happy": { "user_language": "快乐的", "type": "adjective", "pronunciation": "/ˈhæpi/" },
|
||
"sad": { "user_language": "悲伤的", "type": "adjective", "pronunciation": "/sæd/" },
|
||
"angry": { "user_language": "生气的", "type": "adjective", "pronunciation": "/ˈæŋɡri/" },
|
||
"worried": { "user_language": "担心的", "type": "adjective", "pronunciation": "/ˈwɜːrid/" },
|
||
"excited": { "user_language": "兴奋的", "type": "adjective", "pronunciation": "/ɪkˈsaɪtɪd/" },
|
||
"tired": { "user_language": "疲劳的", "type": "adjective", "pronunciation": "/ˈtaɪərd/" },
|
||
"hungry": { "user_language": "饥饿的", "type": "adjective", "pronunciation": "/ˈhʌŋɡri/" },
|
||
"thirsty": { "user_language": "口渴的", "type": "adjective", "pronunciation": "/ˈθɜːrsti/" },
|
||
"cold": { "user_language": "寒冷的", "type": "adjective", "pronunciation": "/koʊld/" },
|
||
"hot": { "user_language": "炎热的", "type": "adjective", "pronunciation": "/hɑːt/" },
|
||
"computer": { "user_language": "电脑", "type": "noun", "pronunciation": "/kəmˈpjuːtər/" },
|
||
"laptop": { "user_language": "笔记本电脑", "type": "noun", "pronunciation": "/ˈlæptɑːp/" },
|
||
"phone": { "user_language": "电话", "type": "noun", "pronunciation": "/foʊn/" },
|
||
"tablet": { "user_language": "平板电脑", "type": "noun", "pronunciation": "/ˈtæblət/" },
|
||
"internet": { "user_language": "互联网", "type": "noun", "pronunciation": "/ˈɪntərnet/" },
|
||
"email": { "user_language": "电子邮件", "type": "noun", "pronunciation": "/ˈiːmeɪl/" },
|
||
"website": { "user_language": "网站", "type": "noun", "pronunciation": "/ˈwɛbsaɪt/" },
|
||
"app": { "user_language": "应用程序", "type": "noun", "pronunciation": "/æp/" },
|
||
"social media": { "user_language": "社交媒体", "type": "noun", "pronunciation": "/ˈsoʊʃəl ˈmidiə/" },
|
||
"password": { "user_language": "密码", "type": "noun", "pronunciation": "/ˈpæswərd/" }
|
||
},
|
||
"phrases": {
|
||
"I live in a two-bedroom apartment": { "user_language": "我住在一间两居室的公寓", "context": "housing", "pronunciation": "/aɪ lɪv ɪn ə tuː ˈbɛdruːm əˈpɑːrtmənt/" },
|
||
"It's in the center of town": { "user_language": "它在城镇中心", "context": "location", "pronunciation": "/ɪts ɪn ðə ˈsentər ʌv taʊn/" },
|
||
"There's a lot of noise": { "user_language": "有很多噪音", "context": "complaint", "pronunciation": "/ðɛrz ə lɑt ʌv nɔɪz/" },
|
||
"It's very convenient": { "user_language": "这很便利", "context": "advantage", "pronunciation": "/ɪts ˈvɛri kənˈviniənt/" },
|
||
"What are you wearing?": { "user_language": "你穿的是什么?", "context": "clothing", "pronunciation": "/wʌt ɑr ju ˈwɛrɪŋ/" },
|
||
"I'm wearing a blue shirt": { "user_language": "我穿着一件蓝色的衬衫", "context": "clothing", "pronunciation": "/aɪm ˈwɛrɪŋ ə blu ʃɜrt/" },
|
||
"How do you feel?": { "user_language": "你感觉怎么样?", "context": "emotions", "pronunciation": "/haʊ du ju fil/" },
|
||
"I feel happy today": { "user_language": "我今天感觉很开心", "context": "emotions", "pronunciation": "/aɪ fil ˈhæpi təˈdeɪ/" },
|
||
"Do you have internet access?": { "user_language": "你有网络连接吗?", "context": "technology", "pronunciation": "/du ju hæv ˈɪntərnet ˈækses/" },
|
||
"I need to check my email": { "user_language": "我需要查看我的电子邮件", "context": "technology", "pronunciation": "/aɪ nid tu tʃɛk maɪ ˈimeɪl/" }
|
||
},
|
||
"dialogs": {
|
||
"apartment_search": {
|
||
"title": "Looking for an Apartment",
|
||
"participants": ["Alex", "Manager"],
|
||
"lines": [
|
||
{ "speaker": "Alex", "text": "I'm looking for a two-bedroom apartment.", "user_language": "我在找一间两居室的公寓。" },
|
||
{ "speaker": "Manager", "text": "We have one available on Central Avenue.", "user_language": "我们在中央大道有一间可用的。" },
|
||
{ "speaker": "Alex", "text": "Is it convenient for transportation?", "user_language": "交通方便吗?" },
|
||
{ "speaker": "Manager", "text": "Yes, there's a bus stop right outside.", "user_language": "是的,外面就有一个公交车站。" }
|
||
]
|
||
},
|
||
"clothing_shopping": {
|
||
"title": "Shopping for Clothes",
|
||
"participants": ["Customer", "Salesperson"],
|
||
"lines": [
|
||
{ "speaker": "Customer", "text": "I need a shirt for work.", "user_language": "我需要一件工作穿的衬衫。" },
|
||
{ "speaker": "Salesperson", "text": "What size do you wear?", "user_language": "你穿什么尺码?" },
|
||
{ "speaker": "Customer", "text": "Medium. Do you have it in blue?", "user_language": "中码。你们有蓝色的吗?" },
|
||
{ "speaker": "Salesperson", "text": "Yes, here's a nice blue shirt.", "user_language": "有,这里有一件漂亮的蓝色衬衫。" }
|
||
]
|
||
}
|
||
},
|
||
"exercises": {
|
||
"vocabulary_matching": {
|
||
"type": "matching",
|
||
"instructions": "Match the English words with their Chinese meanings",
|
||
"pairs": [
|
||
{ "english": "shirt", "chinese": "衬衫" },
|
||
{ "english": "happy", "chinese": "快乐的" },
|
||
{ "english": "computer", "chinese": "电脑" },
|
||
{ "english": "apartment", "chinese": "公寓" }
|
||
]
|
||
},
|
||
"fill_in_blanks": {
|
||
"type": "fill_blanks",
|
||
"instructions": "Fill in the blanks with the correct words",
|
||
"sentences": [
|
||
{ "text": "I live in a two-bedroom _______", "answer": "apartment", "user_language": "我住在一间两居室的_______" },
|
||
{ "text": "I'm wearing a blue _______", "answer": "shirt", "user_language": "我穿着一件蓝色的_______" }
|
||
]
|
||
}
|
||
},
|
||
"statistics": {
|
||
"vocabulary_count": 67,
|
||
"phrases_count": 10,
|
||
"dialogs_count": 2,
|
||
"exercises_count": 2,
|
||
"estimated_completion_time": 25
|
||
}
|
||
} |