{"id":12929,"date":"2025-07-21T18:27:31","date_gmt":"2025-07-21T10:27:31","guid":{"rendered":"https:\/\/tiffanysmandarin.com\/?p=12929"},"modified":"2026-09-08T11:57:22","modified_gmt":"2026-09-08T03:57:22","slug":"contemporary-chinese-vocabulary-practice-b1l8","status":"publish","type":"post","link":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/","title":{"rendered":"B1 L8 Vocabulary and Practice"},"content":{"rendered":"\n<div style=\"height:5px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"height:33px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<!--\n  \u7576\u4ee3\u4e2d\u6587 Book 1 \u00b7 Lesson 8 \u300c\u5750\u706b\u8eca\u53bb\u81fa\u5357\u300d Taking a Train to Tainan \u2014 Vocabulary Embed\n  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  CORRECTED VERSION \u2014 the earlier draft mixed in words that don't belong to\n  this lesson (\u5c0f\u6642, \u7a7a, \u5f97, \u70ba\u4ec0\u9ebc, \u8acb, \u6700, \u6216\u8005) and was missing about a\n  dozen words that ARE actually taught here. Every headword below is\n  verified against the textbook's own \u751f\u8a5e\u4e00 (p.162, 16 words + 2 names +\n  2 phrases) and \u751f\u8a5e\u4e8c (p.164, 8 words + 2 names + 4 phrases) tables for\n  Lesson 8 \u2014 34 items total. Notably: the book's word for \"hour\" in this\n  lesson is \u9418\u982d (zh\u014dngt\u00f3u), not \u5c0f\u6642; \"or\" is \u6216\u662f (hu\u00f2sh\u00ec), not \u6216\u8005; and\n  \u6bd4\u8f03 (b\u01d0ji\u00e0o, adv. \"relatively\/more\") and \u6bd4 (b\u01d0, prep. \"...than...\") are\n  two DIFFERENT headwords taught in the same lesson, not duplicates.\n\n    - Same technical pattern as before:\n        - No <!DOCTYPE>\/<html>\/<head>\/<body>, no page-level toggle UI (the\n          site's own Text Display \/ Pinyin Display toggle covers that)\n        - CSS scoped under .dangdai-b1l8-vocab-embed with its own --db8-*\n          variables, same oxblood\/mustard\/sage\/bone palette as other lessons\n        - Ruby: every example\/dialogue sentence segmented WORD BY WORD into\n          its own ruby+pinyin chunk, punctuation is plain text, not ruby\n        - Root lookup by id (#dangdai-b1l8-vocab-embed-1), not currentScript\n        - Speaker buttons: inline SVG play-triangle icon, flex-locked to a\n          true circle (flex:0 0 26px; padding:0), data-trad\/data-simp + one\n          delegated click listener using the Web Speech API\n        - W(t,s,p) = shared pinyin; WD(t,s,pt,ps) = genuinely different\n          TW\/CN word AND pronunciation. Three confirmed for this lesson:\n          \u8a08\u7a0b\u8eca\/\u51fa\u79df\u8f66 (j\u00ecch\u00e9ngch\u0113\/ch\u016bz\u016bch\u0113, \"taxi\"), \u516c\u5171\u6c7d\u8eca\/\u516c\u4ea4\u8f66\n          (g\u014dngg\u00f2ng q\u00ecch\u0113\/g\u014dngji\u0101och\u0113, \"bus\"), \u6a5f\u8eca\/\u6469\u6258\u8f66 (j\u012bch\u0113\/\n          m\u00f3tu\u014dch\u0113, \"scooter\/motorcycle\") \u2014 the earlier draft had the right\n          idea here but wrote the Simplified side with the Traditional \u8eca\n          instead of Simplified \u8f66; fixed throughout, including inside\n          example-sentence tokens that reuse these words\n        - Traditional\/Simplified conversion: every piece of Chinese text\n          uses the site's own shared `lang-zh-TW` \/ `lang-zh-CN` classes, so\n          the site's existing cookie-driven, hyperscript-powered Text\n          Display toggle shows\/hides them automatically \u2014 including content\n          this script injects after page load. NO separate cookie-reading\n          JS is added here.\n        - Because the site's toggle script reaches into every lang-zh-TW\/\n          lang-zh-CN element it finds (including <ruby>\/<rt> here) and can\n          zero out font-size or force text color, `ruby`\/`.rb`\/`rt` all get\n          their color and font-size pinned with `!important`\n        - No literal `&&` appears inside the <script> tag (WordPress's\n          content filter can mangle it into `&#038;&#038;` and break the\n          script) \u2014 every spot that needs two chained conditions uses\n          nested `if` blocks instead\n        - Match It's tile pinyin reads `(w.pt || w.p)`, never plain `w.p`,\n          so a WD() word never renders literally as \"undefined\"\n\n    - Vocabulary sourced directly from \u7576\u4ee3\u4e2d\u6587\u8ab2\u7a0b 1, Lesson 8, pages 162\n      and 164 (\u751f\u8a5e\u4e00 \/ \u751f\u8a5e\u4e8c). Pinyin (including spacing for multi-word\n      phrases like \"w\u01cengl\u00f9 sh\u00e0ng\", \"bi\u00e0nl\u00ec sh\u0101ngdi\u00e0n\", \"g\u014dngg\u00f2ng q\u00ecch\u0113\")\n      copied exactly as printed in those tables.\n    - All example sentences below are ORIGINAL \u2014 none are lifted from the\n      textbook dialogues \u2014 but they're written to demonstrate this lesson's\n      actual grammar points: \u8ddf for companionship (\"\u8ddf...\u53bb...\"), the \u53c8...\n      \u53c8... \"both...and...\" pattern, and the \u6bd4\u8f03 vs. \u6bd4 comparison contrast\n      (\u6bd4\u8f03 = \"relatively,\" used without a direct comparison partner; \u6bd4 =\n      \"X \u6bd4 Y + adjective,\" a direct A-vs-B comparison).\n    - Verified trad\/simp CHARACTER pairs individually: \u706b\u8eca\/\u706b\u8f66, \u9ad8\u9435\/\n      \u9ad8\u94c1, \u8eca\u7968\/\u8f66\u7968, \u6bd4\u8f03\/\u6bd4\u8f83, \u81fa\u5357\/\u53f0\u5357, \u6545\u5bae\/\u6545\u5bab, \u9418\u982d\/\u949f\u5934, \u600e\u9ebc\/\n      \u600e\u4e48, \u540c\u5b78\/\u540c\u5b66, \u53c3\u89c0\/\u53c2\u89c2, \u9a0e\/\u9a91, \u8f09\/\u8f7d, \u6377\u904b\/\u6377\u8fd0, \u7db2\u8def\u4e0a\/\u7f51\u8def\u4e0a\n      (kept as-is per the site's shared TW\/CN glossary \u2014 mainland sites\n      commonly render this as \u7f51\u4e0a\/\u5728\u7f51\u4e0a, but \u7db2\u8def\u4e0a's word-for-word\n      Simplified rendering \u7f51\u8def\u4e0a is what the shared glossary uses\n      elsewhere on this site, so it's kept consistent here rather than\n      swapped for a different phrase)\n    - Top-of-page support note + a disclaimer above the invented practice\n      dialogue (same as other lessons)\n-->\n<div class=\"dangdai-b1l8-vocab-embed\" id=\"dangdai-b1l8-vocab-embed-1\">\n<style>\n.dangdai-b1l8-vocab-embed {\n  --db8-oxblood: #7b2d26;\n  --db8-oxblood-dark: #5e211c;\n  --db8-mustard: #c9922b;\n  --db8-sage: #7c8b6f;\n  --db8-bone: #f7f1e6;\n  --db8-ink: #2c2620;\n  --db8-line: #e4d9c4;\n  font-family: 'Work Sans', -apple-system, sans-serif;\n  color: var(--db8-ink);\n  background: #fff;\n  max-width: 760px;\n  margin: 0 auto;\n  padding: 8px 4px 24px;\n  line-height: 1.6;\n}\n.dangdai-b1l8-vocab-embed * { box-sizing: border-box; }\n.dangdai-b1l8-vocab-embed h1,\n.dangdai-b1l8-vocab-embed h2,\n.dangdai-b1l8-vocab-embed h3 {\n  font-family: 'Bitter', Georgia, serif;\n  color: var(--db8-oxblood-dark);\n  margin: 0 0 8px;\n}\n.dangdai-b1l8-vocab-embed .db8-support-note {\n  font-size: 0.85rem;\n  color: var(--db8-sage);\n  border-bottom: 1px solid var(--db8-line);\n  padding-bottom: 12px;\n  margin: 0 0 16px;\n}\n.dangdai-b1l8-vocab-embed .db8-lede {\n  margin: 0 0 24px;\n  padding: 14px 16px;\n  background: var(--db8-bone);\n  border-left: 4px solid var(--db8-mustard);\n  border-radius: 4px;\n  font-size: 0.98rem;\n}\n.dangdai-b1l8-vocab-embed .db8-lede b { color: var(--db8-oxblood-dark); }\n.dangdai-b1l8-vocab-embed .db8-sec-eyebrow {\n  display: inline-block;\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.75rem;\n  letter-spacing: 0.08em;\n  color: #fff;\n  background: var(--db8-oxblood);\n  padding: 3px 9px;\n  border-radius: 3px;\n  margin: 32px 0 10px;\n}\n.dangdai-b1l8-vocab-embed .db8-word-card {\n  border: 1px solid var(--db8-line);\n  border-radius: 8px;\n  padding: 12px 14px;\n  margin-bottom: 10px;\n  background: #fff;\n}\n.dangdai-b1l8-vocab-embed .db8-word-top {\n  display: flex;\n  align-items: baseline;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n.dangdai-b1l8-vocab-embed .db8-num {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.75rem;\n  color: var(--db8-mustard);\n  min-width: 22px;\n}\n.dangdai-b1l8-vocab-embed .db8-hanzi { font-size: 1.35rem; font-weight: 600; }\n.dangdai-b1l8-vocab-embed ruby {\n  ruby-position: over;\n  margin-right: 2px;\n  color: var(--db8-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b1l8-vocab-embed .rb {\n  color: var(--db8-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b1l8-vocab-embed rt {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.6rem !important;\n  color: var(--db8-sage) !important;\n  font-weight: 400;\n}\n.dangdai-b1l8-vocab-embed rt.hidden { display: none; }\n.dangdai-b1l8-vocab-embed rt.mouseover { opacity: 0; }\n.dangdai-b1l8-vocab-embed rt.mouseover:hover { opacity: 1; }\n.dangdai-b1l8-vocab-embed .db8-meaning { font-style: italic; color: #6b5f52; font-size: 0.92rem; }\n.dangdai-b1l8-vocab-embed .db8-speaker {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  flex: 0 0 26px;\n  width: 26px;\n  height: 26px;\n  padding: 0;\n  border: none;\n  background: var(--db8-bone);\n  color: var(--db8-oxblood);\n  border-radius: 50%;\n  cursor: pointer;\n  margin-left: auto;\n}\n.dangdai-b1l8-vocab-embed .db8-speaker:hover { background: var(--db8-mustard); color: #fff; }\n.dangdai-b1l8-vocab-embed .db8-example {\n  margin-top: 8px;\n  padding-top: 8px;\n  border-top: 1px dashed var(--db8-line);\n  font-size: 0.95rem;\n}\n.dangdai-b1l8-vocab-embed .db8-example .db8-sent-word { display: inline-flex; }\n.dangdai-b1l8-vocab-embed .db8-example .db8-punct { margin-right: 2px; }\n.dangdai-b1l8-vocab-embed .db8-example .db8-en {\n  display: block;\n  color: #6b5f52;\n  font-size: 0.85rem;\n  margin-top: 4px;\n}\n.dangdai-b1l8-vocab-embed .db8-dialogue-note { font-size: 0.85rem; color: #6b5f52; margin: 0 0 10px; }\n.dangdai-b1l8-vocab-embed .db8-dialogue {\n  background: var(--db8-bone);\n  border-radius: 8px;\n  padding: 16px 18px;\n  margin-top: 8px;\n}\n.dangdai-b1l8-vocab-embed .db8-line {\n  display: flex;\n  gap: 8px;\n  margin-bottom: 12px;\n  align-items: flex-start;\n  flex-wrap: wrap;\n}\n.dangdai-b1l8-vocab-embed .db8-speaker-tag {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.72rem;\n  color: var(--db8-oxblood);\n  min-width: 46px;\n  padding-top: 3px;\n}\n.dangdai-b1l8-vocab-embed .db8-line-body { flex: 1; min-width: 200px; }\n.dangdai-b1l8-vocab-embed .db8-line-en { display: block; color: #6b5f52; font-size: 0.82rem; margin-top: 2px; }\n\n.dangdai-b1l8-vocab-embed .db8-fc-hint { font-size: 0.85rem; color: #6b5f52; margin: 0 0 12px; text-align: center; }\n.dangdai-b1l8-vocab-embed .db8-flashcard-wrap { max-width: 320px; margin: 0 auto 14px; perspective: 1200px; }\n.dangdai-b1l8-vocab-embed .db8-flashcard {\n  position: relative;\n  width: 100%;\n  height: 230px;\n  cursor: pointer;\n  transform-style: preserve-3d;\n  transition: transform 0.5s;\n}\n.dangdai-b1l8-vocab-embed .db8-flashcard.db8-flipped { transform: rotateY(180deg); }\n.dangdai-b1l8-vocab-embed .db8-fc-face {\n  position: absolute;\n  inset: 0;\n  backface-visibility: hidden;\n  border: 1px solid var(--db8-line);\n  border-radius: 12px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 16px;\n  background: #fff;\n  text-align: center;\n}\n.dangdai-b1l8-vocab-embed .db8-fc-back { transform: rotateY(180deg); background: var(--db8-bone); }\n.dangdai-b1l8-vocab-embed .db8-fc-front .db8-hanzi { font-size: 4rem !important; }\n.dangdai-b1l8-vocab-embed .db8-flashcard-wrap rt { font-size: 1.2rem !important; }\n.dangdai-b1l8-vocab-embed .db8-fc-back .db8-meaning { font-style: italic; color: var(--db8-oxblood-dark); font-size: 1.725rem; }\n.dangdai-b1l8-vocab-embed .db8-flashcard-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 28px; }\n.dangdai-b1l8-vocab-embed .db8-game-btn {\n  font-family: 'Work Sans', sans-serif;\n  font-size: 0.85rem;\n  border: 1px solid var(--db8-oxblood);\n  color: var(--db8-oxblood);\n  background: #fff;\n  padding: 6px 14px;\n  border-radius: 20px;\n  cursor: pointer;\n}\n.dangdai-b1l8-vocab-embed .db8-game-btn:hover { background: var(--db8-oxblood); color: #fff; }\n.dangdai-b1l8-vocab-embed .db8-game-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }\n.dangdai-b1l8-vocab-embed .db8-game-status { font-family: 'IBM Plex Mono', monospace; font-size: 0.82rem; color: var(--db8-sage); }\n.dangdai-b1l8-vocab-embed .db8-game-board { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }\n.dangdai-b1l8-vocab-embed .db8-game-col { display: flex; flex-direction: column; gap: 8px; }\n.dangdai-b1l8-vocab-embed .db8-tile {\n  font-family: 'Work Sans', sans-serif;\n  text-align: left;\n  border: 1px solid var(--db8-line);\n  background: #fff;\n  border-radius: 6px;\n  padding: 10px 12px;\n  cursor: pointer;\n  font-size: 0.95rem;\n  color: var(--db8-ink);\n  transition: background 0.15s, border-color 0.15s, transform 0.1s;\n}\n.dangdai-b1l8-vocab-embed .db8-tile .db8-tile-py {\n  display: block;\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: var(--db8-sage);\n  margin-top: 2px;\n}\n.dangdai-b1l8-vocab-embed .db8-tile:hover:not(.db8-matched):not(.db8-selected) { border-color: var(--db8-mustard); }\n.dangdai-b1l8-vocab-embed .db8-tile.db8-selected { border-color: var(--db8-oxblood); background: var(--db8-bone); }\n.dangdai-b1l8-vocab-embed .db8-tile.db8-matched { border-color: var(--db8-sage); background: #eef2e9; color: var(--db8-sage); cursor: default; }\n.dangdai-b1l8-vocab-embed .db8-tile.db8-wrong { border-color: #b5453d; background: #fbeceb; animation: db8-shake 0.3s; }\n@keyframes db8-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }\n.dangdai-b1l8-vocab-embed .db8-game-win { text-align: center; padding: 14px; font-family: 'Bitter', serif; color: var(--db8-oxblood-dark); display: none; }\n.dangdai-b1l8-vocab-embed .db8-game-win.db8-show { display: block; }\n@media (max-width: 480px) { .dangdai-b1l8-vocab-embed .db8-game-board { grid-template-columns: 1fr; } }\n.dangdai-b1l8-vocab-embed .db8-quiz { background: #fff; border: 1px solid var(--db8-line); border-radius: 12px; padding: 20px 22px; margin-top: 8px; }\n.dangdai-b1l8-vocab-embed .db8-quiz-progress { font-size: 0.82rem; color: var(--db8-sage); margin: 0 0 10px; font-family: 'IBM Plex Mono', monospace; }\n.dangdai-b1l8-vocab-embed .db8-quiz-prompt { font-size: 1.1rem; margin: 0 0 14px; }\n.dangdai-b1l8-vocab-embed .db8-quiz-options { display: flex; flex-direction: column; gap: 8px; margin: 0 0 10px; }\n.dangdai-b1l8-vocab-embed .db8-quiz-opt { text-align: left; border: 1px solid var(--db8-line); background: var(--db8-bone); border-radius: 8px; padding: 10px 14px; cursor: pointer; font-size: 0.98rem; color: var(--db8-ink); }\n.dangdai-b1l8-vocab-embed .db8-quiz-opt:hover { background: #f0e6d2; }\n.dangdai-b1l8-vocab-embed .db8-quiz-opt.correct { background: #e3efdd; border-color: #7fae6d; color: #3d5c34; }\n.dangdai-b1l8-vocab-embed .db8-quiz-opt.incorrect { background: #f5e0dc; border-color: var(--db8-oxblood); color: var(--db8-oxblood-dark); }\n.dangdai-b1l8-vocab-embed .db8-quiz-opt[disabled] { cursor: default; }\n.dangdai-b1l8-vocab-embed .db8-quiz-input-row { display: flex; gap: 8px; margin: 0 0 10px; flex-wrap: wrap; }\n.dangdai-b1l8-vocab-embed .db8-quiz-input { flex: 1 1 200px; border: 1px solid var(--db8-line); border-radius: 8px; padding: 9px 12px; font-size: 0.98rem; }\n.dangdai-b1l8-vocab-embed .db8-quiz-submit, .dangdai-b1l8-vocab-embed .db8-quiz-next, .dangdai-b1l8-vocab-embed .db8-quiz-retake { border: none; background: var(--db8-oxblood); color: #fff; border-radius: 20px; padding: 8px 18px; font-size: 0.9rem; cursor: pointer; }\n.dangdai-b1l8-vocab-embed .db8-quiz-submit:hover, .dangdai-b1l8-vocab-embed .db8-quiz-next:hover, .dangdai-b1l8-vocab-embed .db8-quiz-retake:hover { background: var(--db8-oxblood-dark); }\n.dangdai-b1l8-vocab-embed .db8-quiz-feedback { font-size: 0.95rem; margin: 0 0 10px; min-height: 1.4em; }\n.dangdai-b1l8-vocab-embed .db8-quiz-feedback.correct { color: #3d5c34; }\n.dangdai-b1l8-vocab-embed .db8-quiz-feedback.incorrect { color: var(--db8-oxblood-dark); }\n.dangdai-b1l8-vocab-embed .db8-quiz-score { text-align: center; }\n.dangdai-b1l8-vocab-embed .db8-quiz-score .db8-quiz-score-num { font-size: 2.2rem; font-weight: 700; color: var(--db8-oxblood-dark); display: block; margin-bottom: 8px; font-family: 'Bitter', serif; }\n<\/style>\n\n<p class=\"db8-support-note\"><em>A note before you start: I&#8217;d love for you to support the official textbook \u2014 this page is only meant as a review tool for people who already own a copy, not a replacement for it.<\/em><\/p>\n\n<p class=\"db8-lede\">\n<b><span class=\"lang-zh-TW\">\u7576\u4ee3\u4e2d\u6587\u8ab2\u7a0b<\/span><span class=\"lang-zh-CN\">\u5f53\u4ee3\u4e2d\u6587\u8bfe\u7a0b<\/span> Book 1 \u00b7 Lesson 8\u300c<span class=\"lang-zh-TW\">\u5750\u706b\u8eca\u53bb\u81fa\u5357<\/span><span class=\"lang-zh-CN\">\u5750\u706b\u8f66\u53bb\u53f0\u5357<\/span>\u300dTaking a Train to Tainan<\/b> \u2014 the vocabulary from this lesson, with pinyin, meaning, and an example sentence for every word, segmented word by word so you can see how each piece works on its own.\n<\/p>\n\n<div class=\"db8-sec-eyebrow\">01 \u2014 TRANSPORTATION<\/div>\n<div id=\"db8-word-list-1\"><\/div>\n\n<div class=\"db8-sec-eyebrow\">02 \u2014 GETTING AROUND<\/div>\n<div id=\"db8-word-list-2\"><\/div>\n\n<div class=\"db8-sec-eyebrow\">03 \u2014 COMPARING OPTIONS<\/div>\n<p style=\"font-size:0.88rem;color:#6b5f52;margin:0 0 10px;\"><b><span class=\"lang-zh-TW\">\u6bd4\u8f03<\/span><span class=\"lang-zh-CN\">\u6bd4\u8f83<\/span><\/b> (&#8220;relatively\/more so&#8221;) and <b>\u6bd4<\/b> (&#8220;X \u6bd4 Y + adjective,&#8221; a direct comparison) are two separate words in this lesson \u2014 see how the example sentences use them differently.<\/p>\n<div id=\"db8-word-list-3\"><\/div>\n\n<div class=\"db8-sec-eyebrow\">04 \u2014 PLACES &amp; SIGHTS<\/div>\n<div id=\"db8-word-list-4\"><\/div>\n\n<div class=\"db8-sec-eyebrow\">05 \u2014 USEFUL WORDS<\/div>\n<div id=\"db8-word-list-5\"><\/div>\n\n<div class=\"db8-sec-eyebrow\">06 \u2014 PUT IT TOGETHER<\/div>\n<p class=\"db8-dialogue-note\"><em>Note: this dialogue is not from the textbook \u2014 it&#8217;s a short conversation I made up using the vocabulary above so you can see the words used together. For the actual Lesson 8 dialogue, I&#8217;d recommend picking up a copy of the textbook itself.<\/em><\/p>\n<div class=\"db8-dialogue\" id=\"db8-dialogue\"><\/div>\n\n<div class=\"db8-sec-eyebrow\">07 \u2014 FLASHCARDS<\/div>\n<p class=\"db8-fc-hint\">Tap the card to flip it, then use the arrows to move through the deck.<\/p>\n<div class=\"db8-flashcard-wrap\">\n  <div class=\"db8-flashcard\" id=\"db8-flashcard\">\n    <div class=\"db8-fc-face db8-fc-front\" id=\"db8-fc-front\"><\/div>\n    <div class=\"db8-fc-face db8-fc-back\" id=\"db8-fc-back\"><\/div>\n  <\/div>\n<\/div>\n<div class=\"db8-flashcard-controls\">\n  <button class=\"db8-game-btn\" id=\"db8-fc-prev\">\u2039 Prev<\/button>\n  <span class=\"db8-game-status\" id=\"db8-fc-progress\">1 \/ 34<\/span>\n  <button class=\"db8-game-btn\" id=\"db8-fc-next\">Next \u203a<\/button>\n<\/div>\n\n<div class=\"db8-sec-eyebrow\">08 \u2014 MATCH IT<\/div>\n<p style=\"font-size:0.9rem;color:#6b5f52;margin:0 0 10px;\">Tap a Chinese word, then tap the English meaning that matches it. Get all 8 pairs to finish the round.<\/p>\n<div class=\"db8-game-bar\">\n  <button class=\"db8-game-btn\" id=\"db8-game-new\">New Round<\/button>\n  <span class=\"db8-game-status\" id=\"db8-game-status\">0 \/ 8 matched<\/span>\n<\/div>\n<div class=\"db8-game-board\">\n  <div class=\"db8-game-col\" id=\"db8-game-col-zh\"><\/div>\n  <div class=\"db8-game-col\" id=\"db8-game-col-en\"><\/div>\n<\/div>\n<div class=\"db8-game-win\" id=\"db8-game-win\">\ud83c\udf89 All matched! Nice work.<\/div>\n\n<div class=\"db8-sec-eyebrow\">09 \u2014 VOCABULARY QUIZ<\/div>\n<p style=\"font-size:0.9rem;color:#6b5f52;margin:0 0 10px;\">15 questions covering this lesson&#8217;s vocabulary \u2014 a mix of multiple choice and type-the-answer.<\/p>\n<div class=\"db8-quiz\" id=\"db8-quiz\"><\/div>\n\n<script>\n(function () {\n  var root = document.getElementById('dangdai-b1l8-vocab-embed-1');\n  if (!root) return;\n\n  var SPEAKER_SVG = '<svg viewBox=\"0 0 24 24\" width=\"12\" height=\"12\" fill=\"currentColor\" aria-hidden=\"true\">' +\n    '<path d=\"M7 4.5v15l13-7.5z\"><\/path>' +\n    '<\/svg>';\n\n  function W(t, s, p) { return { t: t, s: s, pt: p, ps: p }; }\n  function WD(t, s, pt, ps) { return { t: t, s: s, pt: pt, ps: ps }; }\n\n  var GROUPS = {\n    \/\/ \u751f\u8a5e\u4e00 p.162 (vehicles) + \u751f\u8a5e\u4e8c p.164 (\u6377\u904b)\n    'db8-word-list-1': [\n      { t: '\u5750', s: '\u5750', p: 'zu\u00f2', meaning: 'to take, to travel by (a vehicle)',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u60f3','\u60f3','xi\u01ceng'), W('\u5750','\u5750','zu\u00f2'), W('\u706b\u8eca','\u706b\u8f66','hu\u01d2ch\u0113'), W('\u53bb','\u53bb','q\u00f9'), W('\u81fa\u5357','\u53f0\u5357','T\u00e1in\u00e1n'), '\u3002'],\n        exEn: 'I want to take the train to Tainan.' },\n      { t: '\u706b\u8eca', s: '\u706b\u8f66', p: 'hu\u01d2ch\u0113', meaning: 'train',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u60f3','\u60f3','xi\u01ceng'), W('\u5750','\u5750','zu\u00f2'), W('\u706b\u8eca','\u706b\u8f66','hu\u01d2ch\u0113'), W('\u53bb','\u53bb','q\u00f9'), W('\u81fa\u5357','\u53f0\u5357','T\u00e1in\u00e1n'), '\u3002'],\n        exEn: 'I want to take the train to Tainan.' },\n      { t: '\u9ad8\u9435', s: '\u9ad8\u94c1', p: 'g\u0101oti\u011b', meaning: 'High Speed Rail',\n        ex: [W('\u9ad8\u9435','\u9ad8\u94c1','G\u0101oti\u011b'), W('\u6bd4','\u6bd4','b\u01d0'), W('\u706b\u8eca','\u706b\u8f66','hu\u01d2ch\u0113'), W('\u5feb','\u5feb','ku\u00e0i'), '\u3002'],\n        exEn: 'High-speed rail is faster than the train.' },\n      { t: '\u516c\u5171\u6c7d\u8eca', s: '\u516c\u5171\u6c7d\u8f66', pt: 'g\u014dngg\u00f2ng q\u00ecch\u0113', ps: 'g\u014dngji\u0101och\u0113', meaning: 'bus (short form: \u516c\u8eca\/\u516c\u4ea4\u8f66)',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u670b\u53cb','\u670b\u53cb','p\u00e9ngy\u01d2u'), W('\u5750','\u5750','zu\u00f2'), WD('\u516c\u8eca','\u516c\u4ea4\u8f66','g\u014dngch\u0113','g\u014dngji\u0101och\u0113'), W('\u53bb','\u53bb','q\u00f9'), W('\u4e0a\u73ed','\u4e0a\u73ed','sh\u00e0ngb\u0101n'), '\u3002'],\n        exEn: 'My friend takes the bus to work.' },\n      { t: '\u8a08\u7a0b\u8eca', s: '\u51fa\u79df\u8f66', pt: 'j\u00ecch\u00e9ngch\u0113', ps: 'ch\u016bz\u016bch\u0113', meaning: 'taxi',\n        ex: [W('\u5750','\u5750','Zu\u00f2'), WD('\u8a08\u7a0b\u8eca','\u51fa\u79df\u8f66','j\u00ecch\u00e9ngch\u0113','ch\u016bz\u016bch\u0113'), W('\u6bd4\u8f03','\u6bd4\u8f83','b\u01d0ji\u00e0o'), W('\u8cb4','\u8d35','gu\u00ec'), '\u3002'],\n        exEn: 'Taking a taxi is relatively more expensive.' },\n      { t: '\u6a5f\u8eca', s: '\u6469\u6258\u8f66', pt: 'j\u012bch\u0113', ps: 'm\u00f3tu\u014dch\u0113', meaning: 'scooter, motorcycle',\n        ex: [W('\u4ed6','\u4ed6','T\u0101'), W('\u6bcf\u5929','\u6bcf\u5929','m\u011biti\u0101n'), W('\u9a0e','\u9a91','q\u00ed'), WD('\u6a5f\u8eca','\u6469\u6258\u8f66','j\u012bch\u0113','m\u00f3tu\u014dch\u0113'), W('\u4e0a\u73ed','\u4e0a\u73ed','sh\u00e0ngb\u0101n'), '\u3002'],\n        exEn: 'He rides a scooter to work every day.' },\n      { t: '\u6377\u904b', s: '\u6377\u8fd0', p: 'ji\u00e9y\u00f9n', meaning: 'Mass Rapid Transit (MRT)',\n        ex: [W('\u6545\u5bae','\u6545\u5bab','G\u00f9g\u014dng'), W('\u6c92\u6709','\u6ca1\u6709','m\u00e9iy\u01d2u'), W('\u6377\u904b','\u6377\u8fd0','ji\u00e9y\u00f9n'), '\u3002'],\n        exEn: \"There's no MRT to the Palace Museum.\" },\n      { t: '\u9418\u982d', s: '\u949f\u5934', p: 'zh\u014dngt\u00f3u', meaning: 'hour',\n        ex: [W('\u5750','\u5750','Zu\u00f2'), W('\u706b\u8eca','\u706b\u8f66','hu\u01d2ch\u0113'), W('\u8981','\u8981','y\u00e0o'), W('\u4e09','\u4e09','s\u0101n'), W('\u500b','\u4e2a','ge'), W('\u9418\u982d','\u949f\u5934','zh\u014dngt\u00f3u'), '\u3002'],\n        exEn: 'Taking the train takes three hours.' }\n    ],\n    \/\/ \u751f\u8a5e\u4e00 p.162 \u2014 actions & logistics of getting around\n    'db8-word-list-2': [\n      { t: '\u8ddf', s: '\u8ddf', p: 'g\u0113n', meaning: 'with',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u60f3','\u60f3','xi\u01ceng'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u670b\u53cb','\u670b\u53cb','p\u00e9ngy\u01d2u'), W('\u53bb','\u53bb','q\u00f9'), W('\u81fa\u5357','\u53f0\u5357','T\u00e1in\u00e1n'), W('\u73a9','\u73a9','w\u00e1n'), '\u3002'],\n        exEn: 'I want to go have fun in Tainan with a friend.' },\n      { t: '\u73a9', s: '\u73a9', p: 'w\u00e1n', meaning: 'to have fun',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u60f3','\u60f3','xi\u01ceng'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u670b\u53cb','\u670b\u53cb','p\u00e9ngy\u01d2u'), W('\u53bb','\u53bb','q\u00f9'), W('\u81fa\u5357','\u53f0\u5357','T\u00e1in\u00e1n'), W('\u73a9','\u73a9','w\u00e1n'), '\u3002'],\n        exEn: 'I want to go have fun in Tainan with a friend.' },\n      { t: '\u9a0e', s: '\u9a91', p: 'q\u00ed', meaning: 'to ride',\n        ex: [W('\u4ed6','\u4ed6','T\u0101'), W('\u6bcf\u5929','\u6bcf\u5929','m\u011biti\u0101n'), W('\u9a0e','\u9a91','q\u00ed'), WD('\u6a5f\u8eca','\u6469\u6258\u8f66','j\u012bch\u0113','m\u00f3tu\u014dch\u0113'), W('\u4e0a\u73ed','\u4e0a\u73ed','sh\u00e0ngb\u0101n'), '\u3002'],\n        exEn: 'He rides a scooter to work every day.' },\n      { t: '\u8f09', s: '\u8f7d', p: 'z\u00e0i', meaning: 'to give someone a ride (on\/in a vehicle)',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u540c\u5b78','\u540c\u5b66','t\u00f3ngxu\u00e9'), W('\u9a0e','\u9a91','q\u00ed'), WD('\u6a5f\u8eca','\u6469\u6258\u8f66','j\u012bch\u0113','m\u00f3tu\u014dch\u0113'), W('\u8f09','\u8f7d','z\u00e0i'), W('\u6211','\u6211','w\u01d2'), W('\u53bb','\u53bb','q\u00f9'), W('\u8eca\u7ad9','\u8f66\u7ad9','ch\u0113zh\u00e0n'), '\u3002'],\n        exEn: 'My classmate gives me a ride to the station on his scooter.' },\n      { t: '\u7ad9', s: '\u7ad9', p: 'zh\u00e0n', meaning: 'station',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u540c\u5b78','\u540c\u5b66','t\u00f3ngxu\u00e9'), W('\u9a0e','\u9a91','q\u00ed'), WD('\u6a5f\u8eca','\u6469\u6258\u8f66','j\u012bch\u0113','m\u00f3tu\u014dch\u0113'), W('\u8f09','\u8f7d','z\u00e0i'), W('\u6211','\u6211','w\u01d2'), W('\u53bb','\u53bb','q\u00f9'), W('\u8eca\u7ad9','\u8f66\u7ad9','ch\u0113zh\u00e0n'), '\u3002'],\n        exEn: 'My classmate gives me a ride to the station on his scooter.' },\n      { t: '\u8eca\u7968', s: '\u8f66\u7968', p: 'ch\u0113pi\u00e0o', meaning: '(train, bus) ticket',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u8981','\u8981','y\u00e0o'), W('\u53bb','\u53bb','q\u00f9'), W('\u4fbf\u5229\u5546\u5e97','\u4fbf\u5229\u5546\u5e97','bi\u00e0nl\u00ec sh\u0101ngdi\u00e0n'), W('\u8cb7','\u4e70','m\u01cei'), W('\u8eca\u7968','\u8f66\u7968','ch\u0113pi\u00e0o'), '\u3002'],\n        exEn: \"I'm going to the convenience store to buy a ticket.\" },\n      { t: '\u600e\u9ebc', s: '\u600e\u4e48', p: 'z\u011bnme', meaning: 'how',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u60f3','\u60f3','xi\u01ceng'), W('\u600e\u9ebc','\u600e\u4e48','z\u011bnme'), W('\u53bb','\u53bb','q\u00f9'), W('\u81fa\u5357','\u53f0\u5357','T\u00e1in\u00e1n'), '\uff1f'],\n        exEn: 'How do you want to go to Tainan?' }\n    ],\n    \/\/ \u751f\u8a5e\u4e00 p.162 \u2014 comparing options \/ descriptive words\n    'db8-word-list-3': [\n      { t: '\u6bd4\u8f03', s: '\u6bd4\u8f83', p: 'b\u01d0ji\u00e0o', meaning: 'relatively; comparatively, more',\n        ex: [W('\u5750','\u5750','Zu\u00f2'), W('\u9ad8\u9435','\u9ad8\u94c1','g\u0101oti\u011b'), W('\u6bd4\u8f03','\u6bd4\u8f83','b\u01d0ji\u00e0o'), W('\u8212\u670d','\u8212\u670d','sh\u016bf\u00fa'), '\u3002'],\n        exEn: 'Taking the high-speed rail is relatively more comfortable.' },\n      { t: '\u6bd4', s: '\u6bd4', p: 'b\u01d0', meaning: '(more...) than',\n        ex: [W('\u9a0e','\u9a91','Q\u00ed'), WD('\u6a5f\u8eca','\u6469\u6258\u8f66','j\u012bch\u0113','m\u00f3tu\u014dch\u0113'), W('\u6bd4','\u6bd4','b\u01d0'), W('\u5750','\u5750','zu\u00f2'), WD('\u516c\u8eca','\u516c\u4ea4\u8f66','g\u014dngch\u0113','g\u014dngji\u0101och\u0113'), W('\u5feb','\u5feb','ku\u00e0i'), '\u3002'],\n        exEn: 'Riding a scooter is faster than taking the bus.' },\n      { t: '\u5feb', s: '\u5feb', p: 'ku\u00e0i', meaning: 'fast',\n        ex: [W('\u9ad8\u9435','\u9ad8\u94c1','G\u0101oti\u011b'), W('\u6bd4','\u6bd4','b\u01d0'), W('\u706b\u8eca','\u706b\u8f66','hu\u01d2ch\u0113'), W('\u5feb','\u5feb','ku\u00e0i'), '\u3002'],\n        exEn: 'High-speed rail is faster than the train.' },\n      { t: '\u6162', s: '\u6162', p: 'm\u00e0n', meaning: 'slow',\n        ex: [W('\u706b\u8eca','\u706b\u8f66','Hu\u01d2ch\u0113'), W('\u592a','\u592a','t\u00e0i'), W('\u6162','\u6162','m\u00e0n'), W('\u4e86','\u4e86','le'), '\u3002'],\n        exEn: 'The train is too slow.' },\n      { t: '\u8212\u670d', s: '\u8212\u670d', p: 'sh\u016bf\u00fa', meaning: 'comfortable',\n        ex: [W('\u5750','\u5750','Zu\u00f2'), W('\u9ad8\u9435','\u9ad8\u94c1','g\u0101oti\u011b'), W('\u6bd4\u8f03','\u6bd4\u8f83','b\u01d0ji\u00e0o'), W('\u8212\u670d','\u8212\u670d','sh\u016bf\u00fa'), '\u3002'],\n        exEn: 'Taking the high-speed rail is relatively more comfortable.' },\n      { t: '\u975e\u5e38', s: '\u975e\u5e38', p: 'f\u0113ich\u00e1ng', meaning: 'very',\n        ex: [W('\u9ad8\u9435','\u9ad8\u94c1','G\u0101oti\u011b'), W('\u8eca\u7968','\u8f66\u7968','ch\u0113pi\u00e0o'), W('\u975e\u5e38','\u975e\u5e38','f\u0113ich\u00e1ng'), W('\u8cb4','\u8d35','gu\u00ec'), '\u3002'],\n        exEn: 'High-speed rail tickets are very expensive.' },\n      { t: '\u53c8', s: '\u53c8', p: 'y\u00f2u', meaning: 'both...and... (\u53c8...\u53c8...)',\n        ex: [W('\u5750','\u5750','Zu\u00f2'), W('\u9ad8\u9435','\u9ad8\u94c1','g\u0101oti\u011b'), W('\u53c8','\u53c8','y\u00f2u'), W('\u5feb','\u5feb','ku\u00e0i'), W('\u53c8','\u53c8','y\u00f2u'), W('\u8212\u670d','\u8212\u670d','sh\u016bf\u00fa'), '\u3002'],\n        exEn: 'Taking the high-speed rail is both fast and comfortable.' },\n      { t: '\u4f46\u662f', s: '\u4f46\u662f', p: 'd\u00e0nsh\u00ec', meaning: 'but, however',\n        ex: [W('\u9ad8\u9435','\u9ad8\u94c1','G\u0101oti\u011b'), W('\u8eca\u7968','\u8f66\u7968','ch\u0113pi\u00e0o'), W('\u6709\u9ede','\u6709\u70b9','y\u01d2udi\u01cen'), W('\u8cb4','\u8d35','gu\u00ec'), '\uff0c', W('\u4f46\u662f','\u4f46\u662f','d\u00e0nsh\u00ec'), W('\u5f88','\u5f88','h\u011bn'), W('\u8212\u670d','\u8212\u670d','sh\u016bf\u00fa'), '\u3002'],\n        exEn: \"High-speed rail tickets are a bit expensive, but it's very comfortable.\" },\n      { t: '\u6216\u662f', s: '\u6216\u662f', p: 'hu\u00f2sh\u00ec', meaning: 'or',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u5750','\u5750','zu\u00f2'), W('\u706b\u8eca','\u706b\u8f66','hu\u01d2ch\u0113'), W('\u6216\u662f','\u6216\u662f','hu\u00f2sh\u00ec'), W('\u5750','\u5750','zu\u00f2'), W('\u9ad8\u9435','\u9ad8\u94c1','g\u0101oti\u011b'), '\u3002'],\n        exEn: 'You can take the train or take the high-speed rail.' }\n    ],\n    \/\/ \u751f\u8a5e\u4e00\/\u751f\u8a5e\u4e8c \u2014 place names & sightseeing\n    'db8-word-list-4': [\n      { t: '\u81fa\u5357', s: '\u53f0\u5357', p: 'T\u00e1in\u00e1n', meaning: 'Tainan (a city in southwestern Taiwan)',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u60f3','\u60f3','xi\u01ceng'), W('\u5750','\u5750','zu\u00f2'), W('\u706b\u8eca','\u706b\u8f66','hu\u01d2ch\u0113'), W('\u53bb','\u53bb','q\u00f9'), W('\u81fa\u5357','\u53f0\u5357','T\u00e1in\u00e1n'), '\u3002'],\n        exEn: 'I want to take the train to Tainan.' },\n      { t: '\u6545\u5bae\u535a\u7269\u9662', s: '\u6545\u5bab\u535a\u7269\u9662', pt: 'G\u00f9g\u014dng B\u00f3w\u00f9yu\u00e0n', ps: 'G\u00f9g\u014dng B\u00f3w\u00f9yu\u00e0n', meaning: 'National Palace Museum (short form: \u6545\u5bae\/\u6545\u5bab)',\n        ex: [W('\u6545\u5bae','\u6545\u5bab','G\u00f9g\u014dng'), W('\u6c92\u6709','\u6ca1\u6709','m\u00e9iy\u01d2u'), W('\u6377\u904b','\u6377\u8fd0','ji\u00e9y\u00f9n'), '\u3002'],\n        exEn: \"There's no MRT to the Palace Museum.\" },\n      { t: '\u4e2d\u570b', s: '\u4e2d\u56fd', p: 'Zh\u014dnggu\u00f3', meaning: 'China',\n        ex: [W('\u6545\u5bae','\u6545\u5bab','G\u00f9g\u014dng'), W('\u6709','\u6709','y\u01d2u'), W('\u5f88\u591a','\u5f88\u591a','h\u011bndu\u014d'), W('\u4e2d\u570b','\u4e2d\u56fd','Zh\u014dnggu\u00f3'), W('\u53e4\u4ee3','\u53e4\u4ee3','g\u01d4d\u00e0i'), W('\u7684','\u7684','de'), W('\u6771\u897f','\u4e1c\u897f','d\u014dngxi'), '\u3002'],\n        exEn: 'The Palace Museum has a lot of ancient Chinese things.' },\n      { t: '\u540c\u5b78', s: '\u540c\u5b66', p: 't\u00f3ngxu\u00e9', meaning: 'classmate',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u540c\u5b78','\u540c\u5b66','t\u00f3ngxu\u00e9'), W('\u9a0e','\u9a91','q\u00ed'), WD('\u6a5f\u8eca','\u6469\u6258\u8f66','j\u012bch\u0113','m\u00f3tu\u014dch\u0113'), W('\u8f09','\u8f7d','z\u00e0i'), W('\u6211','\u6211','w\u01d2'), W('\u53bb','\u53bb','q\u00f9'), W('\u8eca\u7ad9','\u8f66\u7ad9','ch\u0113zh\u00e0n'), '\u3002'],\n        exEn: 'My classmate gives me a ride to the station on his scooter.' },\n      { t: '\u53c3\u89c0', s: '\u53c2\u89c2', p: 'c\u0101ngu\u0101n', meaning: 'to visit (an institution)',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u8981','\u8981','y\u00e0o'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u540c\u5b78','\u540c\u5b66','t\u00f3ngxu\u00e9'), W('\u53bb','\u53bb','q\u00f9'), W('\u53c3\u89c0','\u53c2\u89c2','c\u0101ngu\u0101n'), W('\u6545\u5bae','\u6545\u5bab','G\u00f9g\u014dng'), '\u3002'],\n        exEn: \"I'm going to visit the Palace Museum with my classmates.\" },\n      { t: '\u53e4\u4ee3', s: '\u53e4\u4ee3', p: 'g\u01d4d\u00e0i', meaning: 'ancient times',\n        ex: [W('\u6545\u5bae','\u6545\u5bab','G\u00f9g\u014dng'), W('\u6709','\u6709','y\u01d2u'), W('\u5f88\u591a','\u5f88\u591a','h\u011bndu\u014d'), W('\u4e2d\u570b','\u4e2d\u56fd','Zh\u014dnggu\u00f3'), W('\u53e4\u4ee3','\u53e4\u4ee3','g\u01d4d\u00e0i'), W('\u7684','\u7684','de'), W('\u6771\u897f','\u4e1c\u897f','d\u014dngxi'), '\u3002'],\n        exEn: 'The Palace Museum has a lot of ancient Chinese things.' }\n    ],\n    \/\/ \u751f\u8a5e\u4e00 phrases + \u751f\u8a5e\u4e8c phrases\n    'db8-word-list-5': [\n      { t: '\u7db2\u8def\u4e0a', s: '\u7db2\u8def\u4e0a', p: 'w\u01cengl\u00f9 sh\u00e0ng', meaning: 'on the internet',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u5728','\u5728','z\u00e0i'), W('\u7db2\u8def\u4e0a','\u7db2\u8def\u4e0a','w\u01cengl\u00f9 sh\u00e0ng'), W('\u8cb7','\u4e70','m\u01cei'), W('\u8eca\u7968','\u8f66\u7968','ch\u0113pi\u00e0o'), '\u3002'],\n        exEn: 'You can buy tickets online.' },\n      { t: '\u4fbf\u5229\u5546\u5e97', s: '\u4fbf\u5229\u5546\u5e97', p: 'bi\u00e0nl\u00ec sh\u0101ngdi\u00e0n', meaning: 'convenience store',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u8981','\u8981','y\u00e0o'), W('\u53bb','\u53bb','q\u00f9'), W('\u4fbf\u5229\u5546\u5e97','\u4fbf\u5229\u5546\u5e97','bi\u00e0nl\u00ec sh\u0101ngdi\u00e0n'), W('\u8cb7','\u4e70','m\u01cei'), W('\u8eca\u7968','\u8f66\u7968','ch\u0113pi\u00e0o'), '\u3002'],\n        exEn: \"I'm going to the convenience store to buy a ticket.\" },\n      { t: '\u4e0d\u884c', s: '\u4e0d\u884c', p: 'b\u00f9 x\u00edng', meaning: 'will not do',\n        ex: [W('\u4e0d\u884c','\u4e0d\u884c','B\u00f9 x\u00edng'), '\uff0c', W('\u5230','\u5230','d\u00e0o'), W('\u6545\u5bae','\u6545\u5bab','G\u00f9g\u014dng'), W('\u6c92\u6709','\u6ca1\u6709','m\u00e9iy\u01d2u'), W('\u6377\u904b','\u6377\u8fd0','ji\u00e9y\u00f9n'), '\u3002'],\n        exEn: \"No good \u2014 there's no MRT to the Palace Museum.\" },\n      { t: '\u5dee\u4e0d\u591a', s: '\u5dee\u4e0d\u591a', p: 'ch\u00e0b\u00f9du\u014d', meaning: 'about the same',\n        ex: [W('\u9a0e','\u9a91','Q\u00ed'), WD('\u6a5f\u8eca','\u6469\u6258\u8f66','j\u012bch\u0113','m\u00f3tu\u014dch\u0113'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u5750','\u5750','zu\u00f2'), WD('\u516c\u8eca','\u516c\u4ea4\u8f66','g\u014dngch\u0113','g\u014dngji\u0101och\u0113'), W('\u5dee\u4e0d\u591a','\u5dee\u4e0d\u591a','ch\u00e0b\u00f9du\u014d'), W('\u5feb','\u5feb','ku\u00e0i'), '\u3002'],\n        exEn: 'Riding a scooter and taking the bus are about equally fast.' }\n    ]\n  };\n\n  var DIALOGUE = [\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u9019\u500b','\u8fd9\u4e2a','Zh\u00e8ge'), W('\u9031\u672b','\u5468\u672b','zh\u014dum\u00f2'), W('\u6211','\u6211','w\u01d2'), W('\u60f3','\u60f3','xi\u01ceng'), W('\u53bb','\u53bb','q\u00f9'), W('\u81fa\u5357','\u53f0\u5357','T\u00e1in\u00e1n'), W('\u73a9','\u73a9','w\u00e1n'), '\uff0c', W('\u4f60','\u4f60','n\u01d0'), W('\u77e5\u9053','\u77e5\u9053','zh\u012bd\u00e0o'), W('\u600e\u9ebc','\u600e\u4e48','z\u011bnme'), W('\u53bb','\u53bb','q\u00f9'), W('\u6bd4\u8f03','\u6bd4\u8f83','b\u01d0ji\u00e0o'), W('\u5feb','\u5feb','ku\u00e0i'), W('\u55ce','\u5417','ma'), '\uff1f'],\n      en: \"I want to go have fun in Tainan this weekend \u2014 do you know which way is faster to get there?\" },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u5750','\u5750','Zu\u00f2'), W('\u9ad8\u9435','\u9ad8\u94c1','g\u0101oti\u011b'), W('\u6bd4','\u6bd4','b\u01d0'), W('\u5750','\u5750','zu\u00f2'), W('\u706b\u8eca','\u706b\u8f66','hu\u01d2ch\u0113'), W('\u5feb','\u5feb','ku\u00e0i'), '\uff0c', W('\u4f46\u662f','\u4f46\u662f','d\u00e0nsh\u00ec'), W('\u8eca\u7968','\u8f66\u7968','ch\u0113pi\u00e0o'), W('\u6bd4\u8f03','\u6bd4\u8f83','b\u01d0ji\u00e0o'), W('\u8cb4','\u8d35','gu\u00ec'), '\u3002'],\n      en: 'Taking the high-speed rail is faster than the train, but the tickets are more expensive.' },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u6c92\u95dc\u4fc2','\u6ca1\u5173\u7cfb','M\u00e9igu\u0101nxi'), '\uff0c', W('\u6211','\u6211','w\u01d2'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u5728','\u5728','z\u00e0i'), W('\u7db2\u8def\u4e0a','\u7db2\u8def\u4e0a','w\u01cengl\u00f9 sh\u00e0ng'), W('\u6216\u662f','\u6216\u662f','hu\u00f2sh\u00ec'), W('\u4fbf\u5229\u5546\u5e97','\u4fbf\u5229\u5546\u5e97','bi\u00e0nl\u00ec sh\u0101ngdi\u00e0n'), W('\u8cb7','\u4e70','m\u01cei'), W('\u7968','\u7968','pi\u00e0o'), '\u3002'],\n      en: \"That's fine, I can buy tickets online or at a convenience store.\" },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u597d','\u597d','H\u01ceo'), '\uff0c', W('\u90a3','\u90a3','n\u00e0'), W('\u6211\u5011','\u6211\u4eec','w\u01d2men'), W('\u5750','\u5750','zu\u00f2'), W('\u9ad8\u9435','\u9ad8\u94c1','g\u0101oti\u011b'), W('\u53bb','\u53bb','q\u00f9'), '\uff0c', W('\u53c8','\u53c8','y\u00f2u'), W('\u5feb','\u5feb','ku\u00e0i'), W('\u53c8','\u53c8','y\u00f2u'), W('\u8212\u670d','\u8212\u670d','sh\u016bf\u00fa'), '\u3002'],\n      en: \"Great, then let's take the high-speed rail \u2014 it's both fast and comfortable.\" },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u5c0d\u4e86','\u5bf9\u4e86','Du\u00ecle'), '\uff0c', W('\u4f60','\u4f60','n\u01d0'), W('\u660e\u5929','\u660e\u5929','m\u00edngti\u0101n'), W('\u8981','\u8981','y\u00e0o'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u540c\u5b78','\u540c\u5b66','t\u00f3ngxu\u00e9'), W('\u53bb','\u53bb','q\u00f9'), W('\u53c3\u89c0','\u53c2\u89c2','c\u0101ngu\u0101n'), W('\u6545\u5bae','\u6545\u5bab','G\u00f9g\u014dng'), W('\u55ce','\u5417','ma'), '\uff1f'],\n      en: 'By the way, are you going to visit the Palace Museum with your classmates tomorrow?' },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u5c0d\u554a','\u5bf9\u554a','Du\u00ec a'), '\uff0c', W('\u6211','\u6211','w\u01d2'), W('\u540c\u5b78','\u540c\u5b66','t\u00f3ngxu\u00e9'), W('\u9a0e','\u9a91','q\u00ed'), WD('\u6a5f\u8eca','\u6469\u6258\u8f66','j\u012bch\u0113','m\u00f3tu\u014dch\u0113'), W('\u8f09','\u8f7d','z\u00e0i'), W('\u6211','\u6211','w\u01d2'), W('\u53bb','\u53bb','q\u00f9'), '\u3002'],\n      en: 'Yeah, my classmate is giving me a ride there on his scooter.' },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u6211','\u6211','W\u01d2'), W('\u60f3','\u60f3','xi\u01ceng'), W('\u5750','\u5750','zu\u00f2'), W('\u6377\u904b','\u6377\u8fd0','ji\u00e9y\u00f9n'), W('\u53bb','\u53bb','q\u00f9'), '\uff0c', W('\u6bd4\u8f03','\u6bd4\u8f83','b\u01d0ji\u00e0o'), W('\u65b9\u4fbf','\u65b9\u4fbf','f\u0101ngbi\u00e0n'), '\u3002'],\n      en: 'I want to take the MRT there \u2014 it\\u2019s more convenient.' },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u4e0d\u884c','\u4e0d\u884c','B\u00f9 x\u00edng'), '\uff0c', W('\u5230','\u5230','d\u00e0o'), W('\u6545\u5bae','\u6545\u5bab','G\u00f9g\u014dng'), W('\u6c92\u6709','\u6ca1\u6709','m\u00e9iy\u01d2u'), W('\u6377\u904b','\u6377\u8fd0','ji\u00e9y\u00f9n'), '\uff0c', W('\u4f60','\u4f60','n\u01d0'), W('\u5f97','\u5f97','d\u011bi'), W('\u5750','\u5750','zu\u00f2'), WD('\u516c\u8eca','\u516c\u4ea4\u8f66','g\u014dngch\u0113','g\u014dngji\u0101och\u0113'), W('\u6216\u662f','\u6216\u662f','hu\u00f2sh\u00ec'), W('\u8a08\u7a0b\u8eca','\u51fa\u79df\u8f66','j\u00ecch\u00e9ngch\u0113'), '\u3002'],\n      en: \"Won't work \u2014 there's no MRT to the Palace Museum, you'll have to take the bus or a taxi.\" },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u90a3','\u90a3','N\u00e0'), W('\u6211','\u6211','w\u01d2'), W('\u5750','\u5750','zu\u00f2'), WD('\u516c\u8eca','\u516c\u4ea4\u8f66','g\u014dngch\u0113','g\u014dngji\u0101och\u0113'), '\u3002', W('\u9a0e','\u9a91','Q\u00ed'), WD('\u6a5f\u8eca','\u6469\u6258\u8f66','j\u012bch\u0113','m\u00f3tu\u014dch\u0113'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u5750','\u5750','zu\u00f2'), WD('\u516c\u8eca','\u516c\u4ea4\u8f66','g\u014dngch\u0113','g\u014dngji\u0101och\u0113'), W('\u5dee\u4e0d\u591a','\u5dee\u4e0d\u591a','ch\u00e0b\u00f9du\u014d'), W('\u5feb','\u5feb','ku\u00e0i'), W('\u55ce','\u5417','ma'), '\uff1f'],\n      en: 'Then I\\u2019ll take the bus. Is riding a scooter about as fast as taking the bus?' },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u5dee\u4e0d\u591a','\u5dee\u4e0d\u591a','Ch\u00e0b\u00f9du\u014d'), '\u3002'],\n      en: 'About the same.' }\n  ];\n\n  var ALL_WORDS = [];\n  Object.keys(GROUPS).forEach(function (k) {\n    GROUPS[k].forEach(function (w) { ALL_WORDS.push(w); });\n  });\n\n  function rubyWord(w) {\n    return '<span class=\"db8-sent-word\">' +\n      '<ruby class=\"lang-zh-TW\"><span class=\"rb\">' + w.t + '<\/span><rt>' + w.pt + '<\/rt><\/ruby>' +\n      '<ruby class=\"lang-zh-CN\"><span class=\"rb\">' + w.s + '<\/span><rt>' + w.ps + '<\/rt><\/ruby>' +\n      '<\/span>';\n  }\n\n  function renderTokens(tokens) {\n    var html = '';\n    tokens.forEach(function (tok) {\n      if (typeof tok === 'string') {\n        html += '<span class=\"db8-punct\">' + tok + '<\/span>';\n      } else {\n        html += rubyWord(tok);\n      }\n    });\n    return html;\n  }\n\n  function headwordRuby(t, s, pt, ps) {\n    return '<ruby class=\"lang-zh-TW\"><span class=\"rb\">' + t + '<\/span><rt>' + pt + '<\/rt><\/ruby>' +\n           '<ruby class=\"lang-zh-CN\"><span class=\"rb\">' + s + '<\/span><rt>' + ps + '<\/rt><\/ruby>';\n  }\n\n  var counter = 0;\n  Object.keys(GROUPS).forEach(function (containerId) {\n    var container = root.querySelector('#' + containerId);\n    if (!container) return;\n    var html = '';\n    GROUPS[containerId].forEach(function (w) {\n      counter++;\n      var num = (counter < 10 ? '0' : '') + counter;\n      html += '<div class=\"db8-word-card\">' +\n        '<div class=\"db8-word-top\">' +\n          '<span class=\"db8-num\">' + num + '<\/span>' +\n          '<span class=\"db8-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>' +\n          '<span class=\"db8-meaning\">' + w.meaning + '<\/span>' +\n          '<button class=\"db8-speaker\" data-trad=\"' + w.t + '\" data-simp=\"' + w.s + '\" aria-label=\"Play pronunciation\">' + SPEAKER_SVG + '<\/button>' +\n        '<\/div>' +\n        '<div class=\"db8-example\">' +\n          renderTokens(w.ex) +\n          '<span class=\"db8-en\">' + w.exEn + '<\/span>' +\n        '<\/div>' +\n      '<\/div>';\n    });\n    container.innerHTML = html;\n  });\n\n  var dialogueEl = root.querySelector('#db8-dialogue');\n  if (dialogueEl) {\n    var dHtml = '';\n    DIALOGUE.forEach(function (line) {\n      dHtml += '<div class=\"db8-line\">' +\n        '<span class=\"db8-speaker-tag\">' +\n          '<span class=\"lang-zh-TW\">' + line.speakerT + '<\/span>' +\n          '<span class=\"lang-zh-CN\">' + line.speakerS + '<\/span>' +\n        '<\/span>' +\n        '<span class=\"db8-line-body\">' +\n          renderTokens(line.tokens) +\n          '<span class=\"db8-line-en\">' + line.en + '<\/span>' +\n        '<\/span>' +\n      '<\/div>';\n    });\n    dialogueEl.innerHTML = dHtml;\n  }\n\n  \/\/ ---- Flashcards ----\n  var fcCard = root.querySelector('#db8-flashcard');\n  var fcFront = root.querySelector('#db8-fc-front');\n  var fcBack = root.querySelector('#db8-fc-back');\n  var fcProgress = root.querySelector('#db8-fc-progress');\n  var fcPrevBtn = root.querySelector('#db8-fc-prev');\n  var fcNextBtn = root.querySelector('#db8-fc-next');\n  var fcIndex = 0;\n  var fcFlipped = false;\n\n  function renderFlashcard() {\n    var w = ALL_WORDS[fcIndex];\n    if (!w || !fcFront || !fcBack) return;\n    fcFront.innerHTML = '<span class=\"db8-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>';\n    fcBack.innerHTML = '<span class=\"db8-meaning\">' + w.meaning + '<\/span>';\n    if (fcProgress) fcProgress.textContent = (fcIndex + 1) + ' \/ ' + ALL_WORDS.length;\n    if (fcCard) fcCard.classList.remove('db8-flipped');\n    fcFlipped = false;\n  }\n\n  if (fcCard) {\n    fcCard.addEventListener('click', function () {\n      fcFlipped = !fcFlipped;\n      fcCard.classList.toggle('db8-flipped', fcFlipped);\n    });\n  }\n  if (fcPrevBtn) fcPrevBtn.addEventListener('click', function () {\n    fcIndex = (fcIndex - 1 + ALL_WORDS.length) % ALL_WORDS.length;\n    renderFlashcard();\n  });\n  if (fcNextBtn) fcNextBtn.addEventListener('click', function () {\n    fcIndex = (fcIndex + 1) % ALL_WORDS.length;\n    renderFlashcard();\n  });\n  renderFlashcard();\n\n  \/\/ ---- Match It game ----\n  var gameColZh = root.querySelector('#db8-game-col-zh');\n  var gameColEn = root.querySelector('#db8-game-col-en');\n  var gameStatus = root.querySelector('#db8-game-status');\n  var gameWin = root.querySelector('#db8-game-win');\n  var gameNewBtn = root.querySelector('#db8-game-new');\n  var gameRound = [];\n  var gameSelectedZh = null;\n  var gameSelectedEn = null;\n  var gameMatchedCount = 0;\n  var gameBusy = false;\n\n  function shuffle(arr) {\n    var a = arr.slice();\n    for (var i = a.length - 1; i > 0; i--) {\n      var j = Math.floor(Math.random() * (i + 1));\n      var tmp = a[i]; a[i] = a[j]; a[j] = tmp;\n    }\n    return a;\n  }\n\n  function startRound() {\n    gameRound = shuffle(ALL_WORDS).slice(0, 8);\n    gameSelectedZh = null;\n    gameSelectedEn = null;\n    gameMatchedCount = 0;\n    gameBusy = false;\n    if (gameWin) gameWin.classList.remove('db8-show');\n\n    var zhOrder = shuffle(gameRound);\n    var enOrder = shuffle(gameRound);\n\n    gameColZh.innerHTML = zhOrder.map(function (w) {\n      return '<button class=\"db8-tile\" data-id=\"' + w.t + '\" data-side=\"zh\">' +\n        '<span class=\"lang-zh-TW\">' + w.t + '<\/span><span class=\"lang-zh-CN\">' + w.s + '<\/span>' +\n        '<span class=\"db8-tile-py\">' + (w.pt || w.p) + '<\/span>' +\n      '<\/button>';\n    }).join('');\n\n    gameColEn.innerHTML = enOrder.map(function (w) {\n      return '<button class=\"db8-tile\" data-id=\"' + w.t + '\" data-side=\"en\">' + w.meaning + '<\/button>';\n    }).join('');\n\n    updateGameStatus();\n  }\n\n  function updateGameStatus() {\n    if (gameStatus) gameStatus.textContent = gameMatchedCount + ' \/ ' + gameRound.length + ' matched';\n  }\n\n  function handleTileClick(tile) {\n    if (gameBusy || tile.classList.contains('db8-matched')) return;\n    var side = tile.getAttribute('data-side');\n\n    if (side === 'zh') {\n      if (gameSelectedZh) gameSelectedZh.classList.remove('db8-selected');\n      gameSelectedZh = tile;\n      tile.classList.add('db8-selected');\n    } else {\n      if (gameSelectedEn) gameSelectedEn.classList.remove('db8-selected');\n      gameSelectedEn = tile;\n      tile.classList.add('db8-selected');\n    }\n\n    if (gameSelectedZh) {\n      if (gameSelectedEn) {\n        var zhId = gameSelectedZh.getAttribute('data-id');\n        var enId = gameSelectedEn.getAttribute('data-id');\n        if (zhId === enId) {\n          gameSelectedZh.classList.remove('db8-selected');\n          gameSelectedEn.classList.remove('db8-selected');\n          gameSelectedZh.classList.add('db8-matched');\n          gameSelectedEn.classList.add('db8-matched');\n          gameMatchedCount++;\n          updateGameStatus();\n          gameSelectedZh = null;\n          gameSelectedEn = null;\n          var roundDone = (gameMatchedCount === gameRound.length);\n          if (roundDone) {\n            if (gameWin) {\n              gameWin.classList.add('db8-show');\n            }\n          }\n        } else {\n          gameBusy = true;\n          var z = gameSelectedZh, en = gameSelectedEn;\n          z.classList.add('db8-wrong');\n          en.classList.add('db8-wrong');\n          setTimeout(function () {\n            z.classList.remove('db8-selected', 'db8-wrong');\n            en.classList.remove('db8-selected', 'db8-wrong');\n            gameBusy = false;\n          }, 400);\n          gameSelectedZh = null;\n          gameSelectedEn = null;\n        }\n      }\n    }\n  }\n\n  root.addEventListener('click', function (e) {\n    var tile = e.target.closest('.db8-tile');\n    if (tile) {\n      if (root.contains(tile)) handleTileClick(tile);\n    }\n  });\n  if (gameNewBtn) gameNewBtn.addEventListener('click', startRound);\n\n  startRound();\n\n  \/\/ ---- Vocabulary Quiz ----\n  var QUIZ_DATA = [\n    { type: 'mc', prompt: '<span class=\"lang-zh-TW\">\u706b\u8eca<\/span><span class=\"lang-zh-CN\">\u706b\u8f66<\/span> means...', options: ['train', 'high-speed rail', 'bus', 'taxi'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for <span class=\"lang-zh-TW\">\u9ad8\u9435<\/span><span class=\"lang-zh-CN\">\u9ad8\u94c1<\/span>.', accept: ['gaotie'] },\n    { type: 'mc', prompt: 'Which word means \"taxi\" the way it\\u2019s said in Taiwan?', options: ['<span class=\"lang-zh-TW\">\u8a08\u7a0b\u8eca<\/span><span class=\"lang-zh-CN\">\u8ba1\u7a0b\u8f66<\/span>', '<span class=\"lang-zh-TW\">\u6a5f\u8eca<\/span><span class=\"lang-zh-CN\">\u673a\u8f66<\/span>', '<span class=\"lang-zh-TW\">\u516c\u8eca<\/span><span class=\"lang-zh-CN\">\u516c\u8f66<\/span>', '<span class=\"lang-zh-TW\">\u706b\u8eca<\/span><span class=\"lang-zh-CN\">\u706b\u8f66<\/span>'], answer: 0 },\n    { type: 'type', prompt: 'Type the English word for <span class=\"lang-zh-TW\">\u9418\u982d<\/span><span class=\"lang-zh-CN\">\u949f\u5934<\/span>.', accept: ['hour'] },\n    { type: 'mc', prompt: 'Which word means \"to give someone a ride\"?', options: ['<span class=\"lang-zh-TW\">\u8f09<\/span><span class=\"lang-zh-CN\">\u8f7d<\/span>', '<span class=\"lang-zh-TW\">\u9a0e<\/span><span class=\"lang-zh-CN\">\u9a91<\/span>', '\u5750', '\u7ad9'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for <span class=\"lang-zh-TW\">\u8eca\u7968<\/span><span class=\"lang-zh-CN\">\u8f66\u7968<\/span>.', accept: ['chepiao'] },\n    { type: 'mc', prompt: 'Which of these means \"relatively\/more so\" (used WITHOUT a direct comparison partner)?', options: ['<span class=\"lang-zh-TW\">\u6bd4\u8f03<\/span><span class=\"lang-zh-CN\">\u6bd4\u8f83<\/span>', '\u6bd4', '\u53c8', '\u6216\u662f'], answer: 0 },\n    { type: 'type', prompt: 'Type the English word for \u8212\u670d.', accept: ['comfortable'] },\n    { type: 'mc', prompt: 'In \"\u9a0e\u6a5f\u8eca\u6bd4\u5750\u516c\u8eca\u5feb\" (riding a scooter is faster than taking the bus), \u6bd4 functions as...', options: ['a direct A-vs-B comparison marker (\"X than Y\")', 'a question particle', 'a measure word', 'an adverb meaning \"very\"'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for \u53c8\u2026\u53c8\u2026 (as in \u53c8\u5feb\u53c8\u8212\u670d).', accept: ['you'] },\n    { type: 'mc', prompt: '<span class=\"lang-zh-TW\">\u6545\u5bae\u535a\u7269\u9662<\/span><span class=\"lang-zh-CN\">\u6545\u5bab\u535a\u7269\u9662<\/span> refers to...', options: ['the National Palace Museum', 'Tainan', 'a train station', 'a bus stop'], answer: 0 },\n    { type: 'type', prompt: 'Type the English word for <span class=\"lang-zh-TW\">\u53c3\u89c0<\/span><span class=\"lang-zh-CN\">\u53c2\u89c2<\/span>.', accept: ['to visit', 'visit'] },\n    { type: 'mc', prompt: '<span class=\"lang-zh-TW\">\u6377\u904b<\/span><span class=\"lang-zh-CN\">\u6377\u8fd0<\/span> means...', options: ['MRT (Mass Rapid Transit)', 'high-speed rail', 'convenience store', 'the internet'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for <span class=\"lang-zh-TW\">\u53e4\u4ee3<\/span>.', accept: ['gudai'] },\n    { type: 'mc', prompt: '\u5dee\u4e0d\u591a means...', options: ['about the same', 'very different', 'will not do', 'or'], answer: 0 }\n  ];\n\n  var quizRoot = root.querySelector('#db8-quiz');\n  if (quizRoot) {\n    var quizCurrent = 0;\n    var quizScore = 0;\n    var quizAnswered = false;\n\n    function quizStripTones(s) {\n      return s.normalize('NFD').replace(\/[\\u0300-\\u036f]\/g, '').toLowerCase().replace(\/[^a-z0-9]\/g, '');\n    }\n\n    function renderQuiz() {\n      if (quizCurrent >= QUIZ_DATA.length) { renderQuizScore(); return; }\n      var q = QUIZ_DATA[quizCurrent];\n      quizAnswered = false;\n      var html = '<p class=\"db8-quiz-progress\">Question ' + (quizCurrent + 1) + ' of ' + QUIZ_DATA.length + '<\/p>';\n      html += '<p class=\"db8-quiz-prompt\">' + q.prompt + '<\/p>';\n      if (q.type === 'mc') {\n        html += '<div class=\"db8-quiz-options\">';\n        for (var i = 0; i < q.options.length; i++) {\n          html += '<button type=\"button\" class=\"db8-quiz-opt\" data-i=\"' + i + '\">' + q.options[i] + '<\/button>';\n        }\n        html += '<\/div>';\n      } else {\n        html += '<div class=\"db8-quiz-input-row\">';\n        html += '<input type=\"text\" class=\"db8-quiz-input\" placeholder=\"Type your answer\">';\n        html += '<button type=\"button\" class=\"db8-quiz-submit\">Submit<\/button>';\n        html += '<\/div>';\n      }\n      html += '<p class=\"db8-quiz-feedback\"><\/p>';\n      html += '<button type=\"button\" class=\"db8-quiz-next\" style=\"display:none;\">Next<\/button>';\n      quizRoot.innerHTML = html;\n\n      if (q.type === 'mc') {\n        var quizOpts = quizRoot.querySelectorAll('.db8-quiz-opt');\n        quizOpts.forEach(function (btn) {\n          btn.addEventListener('click', function () {\n            if (quizAnswered) return;\n            quizAnswered = true;\n            var i = parseInt(this.getAttribute('data-i'), 10);\n            var correct = i === q.answer;\n            if (correct) quizScore++;\n            quizOpts.forEach(function (b, bi) {\n              b.setAttribute('disabled', 'disabled');\n              if (bi === q.answer) b.classList.add('correct');\n              else if (bi === i) b.classList.add('incorrect');\n            });\n            showQuizFeedback(correct);\n          });\n        });\n      } else {\n        var quizInput = quizRoot.querySelector('.db8-quiz-input');\n        var quizSubmitBtn = quizRoot.querySelector('.db8-quiz-submit');\n        var submitQuizAnswer = function () {\n          if (quizAnswered) return;\n          quizAnswered = true;\n          var val = quizStripTones(quizInput.value || '');\n          var correct = q.accept.indexOf(val) !== -1;\n          if (correct) quizScore++;\n          quizInput.setAttribute('disabled', 'disabled');\n          quizSubmitBtn.setAttribute('disabled', 'disabled');\n          showQuizFeedback(correct, q.accept[0]);\n        };\n        quizSubmitBtn.addEventListener('click', submitQuizAnswer);\n        quizInput.addEventListener('keydown', function (e) {\n          if (e.key === 'Enter') submitQuizAnswer();\n        });\n      }\n\n      function showQuizFeedback(correct, correctAnswer) {\n        var fb = quizRoot.querySelector('.db8-quiz-feedback');\n        if (correct) {\n          fb.textContent = 'Correct!';\n        } else if (correctAnswer) {\n          fb.textContent = 'Not quite \u2014 the answer is \"' + correctAnswer + '\".';\n        } else {\n          fb.textContent = 'Not quite \u2014 check the highlighted answer above.';\n        }\n        fb.className = 'db8-quiz-feedback ' + (correct ? 'correct' : 'incorrect');\n        var quizNextBtn = quizRoot.querySelector('.db8-quiz-next');\n        quizNextBtn.style.display = 'inline-block';\n        quizNextBtn.addEventListener('click', function () {\n          quizCurrent++;\n          renderQuiz();\n        });\n      }\n    }\n\n    function renderQuizScore() {\n      quizRoot.innerHTML =\n        '<div class=\"db8-quiz-score\">' +\n        '<span class=\"db8-quiz-score-num\">' + quizScore + ' \/ ' + QUIZ_DATA.length + '<\/span>' +\n        '<p>Nice work! Want to try again?<\/p>' +\n        '<button type=\"button\" class=\"db8-quiz-retake\">Retake Quiz<\/button>' +\n        '<\/div>';\n      quizRoot.querySelector('.db8-quiz-retake').addEventListener('click', function () {\n        quizCurrent = 0;\n        quizScore = 0;\n        renderQuiz();\n      });\n    }\n\n    renderQuiz();\n  }\n\n  \/\/ Speaker buttons (event delegation, Web Speech API) \u2014 headword cards only\n  root.addEventListener('click', function (e) {\n    var btn = e.target.closest('.db8-speaker');\n    if (!btn || !root.contains(btn)) return;\n    if (!('speechSynthesis' in window)) return;\n    var showingSimp = false;\n    var simpEl = root.querySelector('.lang-zh-CN');\n    if (simpEl) {\n      if (simpEl.offsetParent !== null) showingSimp = true;\n    }\n    var text = showingSimp ? btn.getAttribute('data-simp') : btn.getAttribute('data-trad');\n    var utter = new SpeechSynthesisUtterance(text);\n    utter.lang = showingSimp ? 'zh-CN' : 'zh-TW';\n    window.speechSynthesis.cancel();\n    window.speechSynthesis.speak(utter);\n  });\n})();\n<\/script>\n<\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-medium is-resized\"><a href=\"https:\/\/ko-fi.com\/tiffanystalk\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"58\" src=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-300x58.png\" alt=\"\" class=\"wp-image-570\" style=\"width:150px;height:29px\" srcset=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-300x58.png 300w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-600x115.png 600w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-1024x197.png 1024w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-768x148.png 768w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-1536x296.png 1536w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-2048x394.png 2048w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-850x164.png 850w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption class=\"wp-element-caption\">Do you like it? \ud83d\ude42<\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-medium is-resized\"><a href=\"https:\/\/tiffanysmandarin.com\/index.php\/contemporary-chinese-book-1\/\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"86\" src=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/e68f92e59c963-300x86.png\" alt=\"\" class=\"wp-image-571\" style=\"width:150px;height:43px\" srcset=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/e68f92e59c963-300x86.png 300w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/e68f92e59c963-600x171.png 600w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/e68f92e59c963.png 700w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":10970,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_wp_convertkit_post_meta":{"form":"-1","landing_page":"0","tag":"0","restrict_content":"0"},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1099],"tags":[],"class_list":["post-12929","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1099"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>B1 L8 Vocabulary and Practice - OneDotDot Chinese<\/title>\n<meta name=\"description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u516b\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 8\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"B1 L8 Vocabulary and Practice - OneDotDot Chinese\" \/>\n<meta property=\"og:description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u516b\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 8\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/\" \/>\n<meta property=\"og:site_name\" content=\"OneDotDot Chinese\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-21T10:27:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-08T03:57:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"tiffany\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"tiffany\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/21\\\/contemporary-chinese-vocabulary-practice-b1l8\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/21\\\/contemporary-chinese-vocabulary-practice-b1l8\\\/\"},\"author\":{\"name\":\"tiffany\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"headline\":\"B1 L8 Vocabulary and Practice\",\"datePublished\":\"2025-07-21T10:27:31+00:00\",\"dateModified\":\"2026-09-08T03:57:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/21\\\/contemporary-chinese-vocabulary-practice-b1l8\\\/\"},\"wordCount\":9,\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/21\\\/contemporary-chinese-vocabulary-practice-b1l8\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/\u7576\u4ee3\u4e2d\u6587.jpg\",\"articleSection\":[\"\u7576\u4ee3\u4e2d\u6587 1\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/21\\\/contemporary-chinese-vocabulary-practice-b1l8\\\/\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/21\\\/contemporary-chinese-vocabulary-practice-b1l8\\\/\",\"name\":\"B1 L8 Vocabulary and Practice - OneDotDot Chinese\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/21\\\/contemporary-chinese-vocabulary-practice-b1l8\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/21\\\/contemporary-chinese-vocabulary-practice-b1l8\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/\u7576\u4ee3\u4e2d\u6587.jpg\",\"datePublished\":\"2025-07-21T10:27:31+00:00\",\"dateModified\":\"2026-09-08T03:57:22+00:00\",\"description\":\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u516b\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 8\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/21\\\/contemporary-chinese-vocabulary-practice-b1l8\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/21\\\/contemporary-chinese-vocabulary-practice-b1l8\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/21\\\/contemporary-chinese-vocabulary-practice-b1l8\\\/#primaryimage\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/\u7576\u4ee3\u4e2d\u6587.jpg\",\"contentUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/\u7576\u4ee3\u4e2d\u6587.jpg\",\"width\":800,\"height\":300,\"caption\":\"\u7576\u4ee3\u4e2d\u65871\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/21\\\/contemporary-chinese-vocabulary-practice-b1l8\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"B1 L8 Vocabulary and Practice\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\",\"name\":\"OneDotDot Chinese\",\"description\":\"Learn a little Chinese every day\",\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tiffanysmandarin.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\",\"name\":\"tiffany\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/cropped-logo_tiffany2-1.png\",\"url\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/cropped-logo_tiffany2-1.png\",\"contentUrl\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/cropped-logo_tiffany2-1.png\",\"width\":214,\"height\":214,\"caption\":\"tiffany\"},\"logo\":{\"@id\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/cropped-logo_tiffany2-1.png\"},\"sameAs\":[\"https:\\\/\\\/www.instagram.com\\\/tiffanys_talk\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/tiffany-huang-mandarin\\\/\"],\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/author\\\/tiffany\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"B1 L8 Vocabulary and Practice - OneDotDot Chinese","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u516b\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 8","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/","og_locale":"en_US","og_type":"article","og_title":"B1 L8 Vocabulary and Practice - OneDotDot Chinese","og_description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u516b\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 8","og_url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/","og_site_name":"OneDotDot Chinese","article_published_time":"2025-07-21T10:27:31+00:00","article_modified_time":"2026-09-08T03:57:22+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","type":"image\/jpeg"}],"author":"tiffany","twitter_card":"summary_large_image","twitter_misc":{"Written by":"tiffany","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/#article","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/"},"author":{"name":"tiffany","@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"headline":"B1 L8 Vocabulary and Practice","datePublished":"2025-07-21T10:27:31+00:00","dateModified":"2026-09-08T03:57:22+00:00","mainEntityOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/"},"wordCount":9,"publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","articleSection":["\u7576\u4ee3\u4e2d\u6587 1"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/","url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/","name":"B1 L8 Vocabulary and Practice - OneDotDot Chinese","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/#primaryimage"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","datePublished":"2025-07-21T10:27:31+00:00","dateModified":"2026-09-08T03:57:22+00:00","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u516b\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 8","breadcrumb":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/#primaryimage","url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","contentUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","width":800,"height":300,"caption":"\u7576\u4ee3\u4e2d\u65871"},{"@type":"BreadcrumbList","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/21\/contemporary-chinese-vocabulary-practice-b1l8\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/tiffanysmandarin.com\/"},{"@type":"ListItem","position":2,"name":"B1 L8 Vocabulary and Practice"}]},{"@type":"WebSite","@id":"https:\/\/tiffanysmandarin.com\/#website","url":"https:\/\/tiffanysmandarin.com\/","name":"OneDotDot Chinese","description":"Learn a little Chinese every day","publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tiffanysmandarin.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99","name":"tiffany","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/cropped-logo_tiffany2-1.png","url":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/cropped-logo_tiffany2-1.png","contentUrl":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/cropped-logo_tiffany2-1.png","width":214,"height":214,"caption":"tiffany"},"logo":{"@id":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/cropped-logo_tiffany2-1.png"},"sameAs":["https:\/\/www.instagram.com\/tiffanys_talk\/","https:\/\/www.linkedin.com\/in\/tiffany-huang-mandarin\/"],"url":"https:\/\/tiffanysmandarin.com\/index.php\/author\/tiffany\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","_links":{"self":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/12929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/comments?post=12929"}],"version-history":[{"count":3,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/12929\/revisions"}],"predecessor-version":[{"id":16743,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/12929\/revisions\/16743"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/media\/10970"}],"wp:attachment":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/media?parent=12929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/categories?post=12929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/tags?post=12929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}