{"id":12988,"date":"2025-07-29T23:58:14","date_gmt":"2025-07-29T15:58:14","guid":{"rendered":"https:\/\/tiffanysmandarin.com\/?p=12988"},"modified":"2026-09-08T16:26:24","modified_gmt":"2026-09-08T08:26:24","slug":"contemporary-chinese-vocabulary-practice-b1l12","status":"publish","type":"post","link":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/29\/contemporary-chinese-vocabulary-practice-b1l12\/","title":{"rendered":"B1 L12 Vocabulary and Practice"},"content":{"rendered":"\n<div style=\"height:5px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<!--\n  \u7576\u4ee3\u4e2d\u6587 Book 1 \u00b7 Lesson 12 \u300c\u4f60\u5728\u81fa\u7063\u5b78\u591a\u4e45\u7684\u4e2d\u6587\uff1f\u300d How Long Will You Be Studying Chinese in Taiwan? \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  Same technical pattern as dangdai-b1l1 through b1l11-vocab-embed.html:\n    - No <!DOCTYPE>\/<html>\/<head>\/<body>, no page-level toggle UI (site's own\n      Text Display \/ Pinyin Display toggle covers that); no external Quizlet\n      embed on the page \u2014 flashcard deck, Match It game, and a 15-question\n      Vocabulary Quiz below replace it entirely\n    - CSS scoped under .dangdai-b1l12-vocab-embed with its own --db12-*\n      variables, same oxblood\/mustard\/sage\/bone palette as L1-L11\n    - Ruby: every example\/dialogue sentence segmented WORD BY WORD into its\n      own ruby+pinyin chunk, punctuation is plain text, not ruby\n    - Root lookup by id (#dangdai-b1l12-vocab-embed-1), not currentScript\n    - Speaker buttons: inline SVG play-triangle icon, flex-locked to a true\n      circle (flex:0 0 26px; padding:0), data-trad\/data-simp + one delegated\n      click listener using the Web Speech API\n    - W(t,s,p) = shared pinyin; WD(t,s,pt,ps) defined for parity but UNUSED\n      this lesson (no neutral-tone TW\/CN split found)\n    - Traditional\/Simplified conversion: every piece of Chinese text uses the\n      site's own shared `lang-zh-TW` \/ `lang-zh-CN` classes, so the site's\n      existing cookie-driven, hyperscript-powered Text Display toggle\n      shows\/hides them automatically \u2014 including content this script injects\n      after page load. NO separate cookie-reading 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 zero\n      out font-size or force text color, `ruby`\/`.rb`\/`rt` all get their\n      color and font-size pinned with `!important`\n    - No literal `&&` appears inside the <script> tag (WordPress's content\n      filter can mangle it into `&#038;&#038;` and break the script) \u2014 every\n      spot that needs two chained conditions uses nested `if` blocks instead\n    - Match It's tile pinyin reads `(w.pt || w.p)`, never plain `w.p`, so a\n      WD() word never renders literally as \"undefined\"\n\n    - Vocabulary sourced directly from \u7576\u4ee3\u4e2d\u6587\u8ab2\u7a0b 1, Lesson 12, pages 248\n      and 251 (\u751f\u8a5e\u4e00 \/ \u751f\u8a5e\u4e8c): 20 words + 2 phrases from \u751f\u8a5e\u4e00, 12 words +\n      1 phrase from \u751f\u8a5e\u4e8c \u2014 35 items total. NOTE: the textbook's own vocab\n      tables list \u4ee5\u5f8c (y\u01d0h\u00f2u) once in \u751f\u8a5e\u4e00 and again in \u751f\u8a5e\u4e8c, and \u5de5\u4f5c\n      (g\u014dngzu\u00f2) as both a verb (\"to work\") and a noun (\"job, work\") in\n      \u751f\u8a5e\u4e8c \u2014 this embed keeps each of those as a SINGLE headword card\n      (covering both senses\/POS in the meaning line) rather than showing\n      duplicate hanzi as separate cards, since duplicate hanzi would break\n      the Match It \/ flashcard mechanics below (which key off the hanzi\n      string as a unique id). Nothing is dropped \u2014 the duplicate entries are\n      merged, not omitted.\n    - All example sentences are ORIGINAL \u2014 none are lifted from the\n      textbook's two dialogues \u2014 but they're written to demonstrate this\n      lesson's actual grammar point: \u5148\u2026\u518d\u2026 (\"first..., and then...\", e.g.\n      \u6211\u5148\u5728\u8a9e\u8a00\u4e2d\u5fc3\u5ff5\u4e00\u5e74\uff0c\u518d\u5ff5\u56db\u5e74\u5927\u5b78).\n    - Verified trad\/simp CHARACTER pairs individually: \u8a08\u756b\/\u8ba1\u5212 (note:\n      Taiwan writes this word \u8a08\u756b with \u756b, mainland writes it \u8ba1\u5212 with\n      \u5212 \u2014 a genuine character-choice difference, not just trad\/simp\n      stroke simplification, but handled here the same way as other\n      trad\/simp pairs since it's a script\/orthography difference rather\n      than a different word or pronunciation), \u8a9e\u8a00\u4e2d\u5fc3\/\u8bed\u8a00\u4e2d\u5fc3, \u734e\u5b78\u91d1\/\n      \u5956\u5b66\u91d1, \u6210\u7e3e\/\u6210\u7ee9, \u5b78\u8cbb\/\u5b66\u8d39, \u9019\u6a23\/\u8fd9\u6837, \u570b\u5bb6\/\u56fd\u5bb6\n    - Top-of-page support note + a disclaimer above the invented practice\n      dialogue (both first person, \"I\"), same as L1-L11\n-->\n<div class=\"dangdai-b1l12-vocab-embed\" id=\"dangdai-b1l12-vocab-embed-1\">\n<style>\n.dangdai-b1l12-vocab-embed {\n  --db12-oxblood: #7b2d26;\n  --db12-oxblood-dark: #5e211c;\n  --db12-mustard: #c9922b;\n  --db12-sage: #7c8b6f;\n  --db12-bone: #f7f1e6;\n  --db12-ink: #2c2620;\n  --db12-line: #e4d9c4;\n  font-family: 'Work Sans', -apple-system, sans-serif;\n  color: var(--db12-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-b1l12-vocab-embed * { box-sizing: border-box; }\n.dangdai-b1l12-vocab-embed h1,\n.dangdai-b1l12-vocab-embed h2,\n.dangdai-b1l12-vocab-embed h3 {\n  font-family: 'Bitter', Georgia, serif;\n  color: var(--db12-oxblood-dark);\n  margin: 0 0 8px;\n}\n.dangdai-b1l12-vocab-embed .db12-support-note {\n  font-size: 0.85rem;\n  color: var(--db12-sage);\n  border-bottom: 1px solid var(--db12-line);\n  padding-bottom: 12px;\n  margin: 0 0 16px;\n}\n.dangdai-b1l12-vocab-embed .db12-lede {\n  margin: 0 0 24px;\n  padding: 14px 16px;\n  background: var(--db12-bone);\n  border-left: 4px solid var(--db12-mustard);\n  border-radius: 4px;\n  font-size: 0.98rem;\n}\n.dangdai-b1l12-vocab-embed .db12-lede b { color: var(--db12-oxblood-dark); }\n.dangdai-b1l12-vocab-embed .db12-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(--db12-oxblood);\n  padding: 3px 9px;\n  border-radius: 3px;\n  margin: 32px 0 10px;\n}\n.dangdai-b1l12-vocab-embed .db12-word-card {\n  border: 1px solid var(--db12-line);\n  border-radius: 8px;\n  padding: 12px 14px;\n  margin-bottom: 10px;\n  background: #fff;\n}\n.dangdai-b1l12-vocab-embed .db12-word-top {\n  display: flex;\n  align-items: baseline;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n.dangdai-b1l12-vocab-embed .db12-num {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.75rem;\n  color: var(--db12-mustard);\n  min-width: 22px;\n}\n.dangdai-b1l12-vocab-embed .db12-hanzi { font-size: 1.35rem; font-weight: 600; }\n.dangdai-b1l12-vocab-embed ruby {\n  ruby-position: over;\n  margin-right: 2px;\n  color: var(--db12-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b1l12-vocab-embed .rb {\n  color: var(--db12-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b1l12-vocab-embed rt {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.6rem !important;\n  color: var(--db12-sage) !important;\n  font-weight: 400;\n}\n.dangdai-b1l12-vocab-embed rt.hidden { display: none; }\n.dangdai-b1l12-vocab-embed rt.mouseover { opacity: 0; }\n.dangdai-b1l12-vocab-embed rt.mouseover:hover { opacity: 1; }\n.dangdai-b1l12-vocab-embed .db12-meaning { font-style: italic; color: #6b5f52; font-size: 0.92rem; }\n.dangdai-b1l12-vocab-embed .db12-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(--db12-bone);\n  color: var(--db12-oxblood);\n  border-radius: 50%;\n  cursor: pointer;\n  margin-left: auto;\n}\n.dangdai-b1l12-vocab-embed .db12-speaker:hover { background: var(--db12-mustard); color: #fff; }\n.dangdai-b1l12-vocab-embed .db12-example {\n  margin-top: 8px;\n  padding-top: 8px;\n  border-top: 1px dashed var(--db12-line);\n  font-size: 0.95rem;\n}\n.dangdai-b1l12-vocab-embed .db12-example .db12-sent-word { display: inline-flex; }\n.dangdai-b1l12-vocab-embed .db12-example .db12-punct { margin-right: 2px; }\n.dangdai-b1l12-vocab-embed .db12-example .db12-en {\n  display: block;\n  color: #6b5f52;\n  font-size: 0.85rem;\n  margin-top: 4px;\n}\n.dangdai-b1l12-vocab-embed .db12-dialogue-note { font-size: 0.85rem; color: #6b5f52; margin: 0 0 10px; }\n.dangdai-b1l12-vocab-embed .db12-dialogue {\n  background: var(--db12-bone);\n  border-radius: 8px;\n  padding: 16px 18px;\n  margin-top: 8px;\n}\n.dangdai-b1l12-vocab-embed .db12-line {\n  display: flex;\n  gap: 8px;\n  margin-bottom: 12px;\n  align-items: flex-start;\n  flex-wrap: wrap;\n}\n.dangdai-b1l12-vocab-embed .db12-speaker-tag {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.72rem;\n  color: var(--db12-oxblood);\n  min-width: 46px;\n  padding-top: 3px;\n}\n.dangdai-b1l12-vocab-embed .db12-line-body { flex: 1; min-width: 200px; }\n.dangdai-b1l12-vocab-embed .db12-line-en { display: block; color: #6b5f52; font-size: 0.82rem; margin-top: 2px; }\n\n.dangdai-b1l12-vocab-embed .db12-fc-hint { font-size: 0.85rem; color: #6b5f52; margin: 0 0 12px; text-align: center; }\n.dangdai-b1l12-vocab-embed .db12-flashcard-wrap { max-width: 320px; margin: 0 auto 14px; perspective: 1200px; }\n.dangdai-b1l12-vocab-embed .db12-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-b1l12-vocab-embed .db12-flashcard.db12-flipped { transform: rotateY(180deg); }\n.dangdai-b1l12-vocab-embed .db12-fc-face {\n  position: absolute;\n  inset: 0;\n  backface-visibility: hidden;\n  border: 1px solid var(--db12-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-b1l12-vocab-embed .db12-fc-back { transform: rotateY(180deg); background: var(--db12-bone); }\n.dangdai-b1l12-vocab-embed .db12-fc-front .db12-hanzi { font-size: 4rem !important; }\n.dangdai-b1l12-vocab-embed .db12-flashcard-wrap rt { font-size: 1.2rem !important; }\n.dangdai-b1l12-vocab-embed .db12-fc-back .db12-meaning { font-style: italic; color: var(--db12-oxblood-dark); font-size: 1.725rem; }\n.dangdai-b1l12-vocab-embed .db12-flashcard-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 28px; }\n.dangdai-b1l12-vocab-embed .db12-game-btn {\n  font-family: 'Work Sans', sans-serif;\n  font-size: 0.85rem;\n  border: 1px solid var(--db12-oxblood);\n  color: var(--db12-oxblood);\n  background: #fff;\n  padding: 6px 14px;\n  border-radius: 20px;\n  cursor: pointer;\n}\n.dangdai-b1l12-vocab-embed .db12-game-btn:hover { background: var(--db12-oxblood); color: #fff; }\n.dangdai-b1l12-vocab-embed .db12-game-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }\n.dangdai-b1l12-vocab-embed .db12-game-status { font-family: 'IBM Plex Mono', monospace; font-size: 0.82rem; color: var(--db12-sage); }\n.dangdai-b1l12-vocab-embed .db12-game-board { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }\n.dangdai-b1l12-vocab-embed .db12-game-col { display: flex; flex-direction: column; gap: 8px; }\n.dangdai-b1l12-vocab-embed .db12-tile {\n  font-family: 'Work Sans', sans-serif;\n  text-align: left;\n  border: 1px solid var(--db12-line);\n  background: #fff;\n  border-radius: 6px;\n  padding: 10px 12px;\n  cursor: pointer;\n  font-size: 0.95rem;\n  color: var(--db12-ink);\n  transition: background 0.15s, border-color 0.15s, transform 0.1s;\n}\n.dangdai-b1l12-vocab-embed .db12-tile .db12-tile-py {\n  display: block;\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: var(--db12-sage);\n  margin-top: 2px;\n}\n.dangdai-b1l12-vocab-embed .db12-tile:hover:not(.db12-matched):not(.db12-selected) { border-color: var(--db12-mustard); }\n.dangdai-b1l12-vocab-embed .db12-tile.db12-selected { border-color: var(--db12-oxblood); background: var(--db12-bone); }\n.dangdai-b1l12-vocab-embed .db12-tile.db12-matched { border-color: var(--db12-sage); background: #eef2e9; color: var(--db12-sage); cursor: default; }\n.dangdai-b1l12-vocab-embed .db12-tile.db12-wrong { border-color: #b5453d; background: #fbeceb; animation: db12-shake 0.3s; }\n@keyframes db12-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }\n.dangdai-b1l12-vocab-embed .db12-game-win { text-align: center; padding: 14px; font-family: 'Bitter', serif; color: var(--db12-oxblood-dark); display: none; }\n.dangdai-b1l12-vocab-embed .db12-game-win.db12-show { display: block; }\n@media (max-width: 480px) { .dangdai-b1l12-vocab-embed .db12-game-board { grid-template-columns: 1fr; } }\n.dangdai-b1l12-vocab-embed .db12-quiz { background: #fff; border: 1px solid var(--db12-line); border-radius: 12px; padding: 20px 22px; margin-top: 8px; }\n.dangdai-b1l12-vocab-embed .db12-quiz-progress { font-size: 0.82rem; color: var(--db12-sage); margin: 0 0 10px; font-family: 'IBM Plex Mono', monospace; }\n.dangdai-b1l12-vocab-embed .db12-quiz-prompt { font-size: 1.1rem; margin: 0 0 14px; }\n.dangdai-b1l12-vocab-embed .db12-quiz-options { display: flex; flex-direction: column; gap: 8px; margin: 0 0 10px; }\n.dangdai-b1l12-vocab-embed .db12-quiz-opt { text-align: left; border: 1px solid var(--db12-line); background: var(--db12-bone); border-radius: 8px; padding: 10px 14px; cursor: pointer; font-size: 0.98rem; color: var(--db12-ink); }\n.dangdai-b1l12-vocab-embed .db12-quiz-opt:hover { background: #f0e6d2; }\n.dangdai-b1l12-vocab-embed .db12-quiz-opt.correct { background: #e3efdd; border-color: #7fae6d; color: #3d5c34; }\n.dangdai-b1l12-vocab-embed .db12-quiz-opt.incorrect { background: #f5e0dc; border-color: var(--db12-oxblood); color: var(--db12-oxblood-dark); }\n.dangdai-b1l12-vocab-embed .db12-quiz-opt[disabled] { cursor: default; }\n.dangdai-b1l12-vocab-embed .db12-quiz-input-row { display: flex; gap: 8px; margin: 0 0 10px; flex-wrap: wrap; }\n.dangdai-b1l12-vocab-embed .db12-quiz-input { flex: 1 1 200px; border: 1px solid var(--db12-line); border-radius: 8px; padding: 9px 12px; font-size: 0.98rem; }\n.dangdai-b1l12-vocab-embed .db12-quiz-submit, .dangdai-b1l12-vocab-embed .db12-quiz-next, .dangdai-b1l12-vocab-embed .db12-quiz-retake { border: none; background: var(--db12-oxblood); color: #fff; border-radius: 20px; padding: 8px 18px; font-size: 0.9rem; cursor: pointer; }\n.dangdai-b1l12-vocab-embed .db12-quiz-submit:hover, .dangdai-b1l12-vocab-embed .db12-quiz-next:hover, .dangdai-b1l12-vocab-embed .db12-quiz-retake:hover { background: var(--db12-oxblood-dark); }\n.dangdai-b1l12-vocab-embed .db12-quiz-feedback { font-size: 0.95rem; margin: 0 0 10px; min-height: 1.4em; }\n.dangdai-b1l12-vocab-embed .db12-quiz-feedback.correct { color: #3d5c34; }\n.dangdai-b1l12-vocab-embed .db12-quiz-feedback.incorrect { color: var(--db12-oxblood-dark); }\n.dangdai-b1l12-vocab-embed .db12-quiz-score { text-align: center; }\n.dangdai-b1l12-vocab-embed .db12-quiz-score .db12-quiz-score-num { font-size: 2.2rem; font-weight: 700; color: var(--db12-oxblood-dark); display: block; margin-bottom: 8px; font-family: 'Bitter', serif; }\n<\/style>\n\n<p class=\"db12-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=\"db12-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 12\u300c\u4f60\u5728\u81fa\u7063\u5b78\u591a\u4e45\u7684\u4e2d\u6587\uff1f\u300dHow Long Will You Be Studying Chinese in Taiwan?<\/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=\"db12-sec-eyebrow\">01 \u2014 STUDY PLANS<\/div>\n<p style=\"font-size:0.88rem;color:#6b5f52;margin:0 0 10px;\">This lesson&#8217;s key grammar pattern is <b>\u5148\u2026\u518d\u2026<\/b> (&#8220;first&#8230;, and then&#8230;&#8221;) \u2014 see how the fifth card below uses it.<\/p>\n<div id=\"db12-word-list-1\"><\/div>\n\n<div class=\"db12-sec-eyebrow\">02 \u2014 MONEY &amp; GRADES<\/div>\n<div id=\"db12-word-list-2\"><\/div>\n\n<div class=\"db12-sec-eyebrow\">03 \u2014 HOPES &amp; THE FUTURE<\/div>\n<div id=\"db12-word-list-3\"><\/div>\n\n<div class=\"db12-sec-eyebrow\">04 \u2014 WORK &amp; BUSINESS<\/div>\n<div id=\"db12-word-list-4\"><\/div>\n\n<div class=\"db12-sec-eyebrow\">05 \u2014 LOOKING AHEAD<\/div>\n<div id=\"db12-word-list-5\"><\/div>\n\n<div class=\"db12-sec-eyebrow\">06 \u2014 PUT IT TOGETHER<\/div>\n<p class=\"db12-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 12 dialogues, I&#8217;d recommend picking up a copy of the textbook itself.<\/em><\/p>\n<div class=\"db12-dialogue\" id=\"db12-dialogue\"><\/div>\n\n<div class=\"db12-sec-eyebrow\">07 \u2014 FLASHCARDS<\/div>\n<p class=\"db12-fc-hint\">Tap the card to flip it, then use the arrows to move through the deck.<\/p>\n<div class=\"db12-flashcard-wrap\">\n  <div class=\"db12-flashcard\" id=\"db12-flashcard\">\n    <div class=\"db12-fc-face db12-fc-front\" id=\"db12-fc-front\"><\/div>\n    <div class=\"db12-fc-face db12-fc-back\" id=\"db12-fc-back\"><\/div>\n  <\/div>\n<\/div>\n<div class=\"db12-flashcard-controls\">\n  <button class=\"db12-game-btn\" id=\"db12-fc-prev\">\u2039 Prev<\/button>\n  <span class=\"db12-game-status\" id=\"db12-fc-progress\">1 \/ 35<\/span>\n  <button class=\"db12-game-btn\" id=\"db12-fc-next\">Next \u203a<\/button>\n<\/div>\n\n<div class=\"db12-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=\"db12-game-bar\">\n  <button class=\"db12-game-btn\" id=\"db12-game-new\">New Round<\/button>\n  <span class=\"db12-game-status\" id=\"db12-game-status\">0 \/ 8 matched<\/span>\n<\/div>\n<div class=\"db12-game-board\">\n  <div class=\"db12-game-col\" id=\"db12-game-col-zh\"><\/div>\n  <div class=\"db12-game-col\" id=\"db12-game-col-en\"><\/div>\n<\/div>\n<div class=\"db12-game-win\" id=\"db12-game-win\">\ud83c\udf89 All matched! Nice work.<\/div>\n\n<div class=\"db12-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=\"db12-quiz\" id=\"db12-quiz\"><\/div>\n\n<script>\n(function () {\n  var root = document.getElementById('dangdai-b1l12-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.248 \u2014 study plans\n    'db12-word-list-1': [\n      { t: '\u8a08\u756b', s: '\u8ba1\u5212', p: 'j\u00echu\u00e0', meaning: 'to plan to',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u8a08\u756b','\u8ba1\u5212','j\u00echu\u00e0'), W('\u5728','\u5728','z\u00e0i'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u5b78','\u5b66','xu\u00e9'), W('\u591a','\u591a','du\u014d'), W('\u4e45','\u4e45','ji\u01d4'), W('\u7684','\u7684','de'), W('\u4e2d\u6587','\u4e2d\u6587','Zh\u014dngw\u00e9n'), '\uff1f'],\n        exEn: 'How long do you plan to study Chinese in Taiwan?' },\n      { t: '\u5e74', s: '\u5e74', p: 'ni\u00e1n', meaning: 'measure word for year',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u6253\u7b97','\u6253\u7b97','d\u01cesu\u00e0n'), W('\u5b78','\u5b66','xu\u00e9'), W('\u4e94','\u4e94','w\u01d4'), W('\u5e74','\u5e74','ni\u00e1n'), '\u3002'],\n        exEn: 'I plan to study for five years.' },\n      { t: '\u4e45', s: '\u4e45', p: 'ji\u01d4', meaning: 'long (time)',\n        ex: [W('\u70ba\u4ec0\u9ebc','\u4e3a\u4ec0\u4e48','W\u00e8ish\u00e9nme'), W('\u8981','\u8981','y\u00e0o'), W('\u9019\u9ebc','\u8fd9\u4e48','zh\u00e8me'), W('\u4e45','\u4e45','ji\u01d4'), W('\u7684','\u7684','de'), W('\u6642\u9593','\u65f6\u95f4','sh\u00edji\u0101n'), '\uff1f'],\n        exEn: 'Why does it need to be such a long time?' },\n      { t: '\u6642\u9593', s: '\u65f6\u95f4', p: 'sh\u00edji\u0101n', meaning: 'time',\n        ex: [W('\u70ba\u4ec0\u9ebc','\u4e3a\u4ec0\u4e48','W\u00e8ish\u00e9nme'), W('\u8981','\u8981','y\u00e0o'), W('\u9019\u9ebc','\u8fd9\u4e48','zh\u00e8me'), W('\u4e45','\u4e45','ji\u01d4'), W('\u7684','\u7684','de'), W('\u6642\u9593','\u65f6\u95f4','sh\u00edji\u0101n'), '\uff1f'],\n        exEn: 'Why does it need to be such a long time?' },\n      { t: '\u5148', s: '\u5148', p: 'xi\u0101n', meaning: 'first',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u5148','\u5148','xi\u0101n'), W('\u5728','\u5728','z\u00e0i'), W('\u8a9e\u8a00\u4e2d\u5fc3','\u8bed\u8a00\u4e2d\u5fc3','y\u01d4y\u00e1n zh\u014dngx\u012bn'), W('\u5ff5','\u5ff5','ni\u00e0n'), W('\u4e00','\u4e00','y\u00ec'), W('\u5e74','\u5e74','ni\u00e1n'), '\uff0c', W('\u518d','\u518d','z\u00e0i'), W('\u5ff5','\u5ff5','ni\u00e0n'), W('\u56db','\u56db','s\u00ec'), W('\u5e74','\u5e74','ni\u00e1n'), W('\u5927\u5b78','\u5927\u5b66','d\u00e0xu\u00e9'), '\u3002'],\n        exEn: \"I'll first study a year at the language center, then study four years at university.\" },\n      { t: '\u5ff5', s: '\u5ff5', p: 'ni\u00e0n', meaning: 'to study',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u5148','\u5148','xi\u0101n'), W('\u5728','\u5728','z\u00e0i'), W('\u8a9e\u8a00\u4e2d\u5fc3','\u8bed\u8a00\u4e2d\u5fc3','y\u01d4y\u00e1n zh\u014dngx\u012bn'), W('\u5ff5','\u5ff5','ni\u00e0n'), W('\u4e00','\u4e00','y\u00ec'), W('\u5e74','\u5e74','ni\u00e1n'), '\uff0c', W('\u518d','\u518d','z\u00e0i'), W('\u5ff5','\u5ff5','ni\u00e0n'), W('\u56db','\u56db','s\u00ec'), W('\u5e74','\u5e74','ni\u00e1n'), W('\u5927\u5b78','\u5927\u5b66','d\u00e0xu\u00e9'), '\u3002'],\n        exEn: \"I'll first study a year at the language center, then study four years at university.\" },\n      { t: '\u5927\u5b78', s: '\u5927\u5b66', p: 'd\u00e0xu\u00e9', meaning: 'university',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u5148','\u5148','xi\u0101n'), W('\u5728','\u5728','z\u00e0i'), W('\u8a9e\u8a00\u4e2d\u5fc3','\u8bed\u8a00\u4e2d\u5fc3','y\u01d4y\u00e1n zh\u014dngx\u012bn'), W('\u5ff5','\u5ff5','ni\u00e0n'), W('\u4e00','\u4e00','y\u00ec'), W('\u5e74','\u5e74','ni\u00e1n'), '\uff0c', W('\u518d','\u518d','z\u00e0i'), W('\u5ff5','\u5ff5','ni\u00e0n'), W('\u56db','\u56db','s\u00ec'), W('\u5e74','\u5e74','ni\u00e1n'), W('\u5927\u5b78','\u5927\u5b66','d\u00e0xu\u00e9'), '\u3002'],\n        exEn: \"I'll first study a year at the language center, then study four years at university.\" },\n      { t: '\u8a9e\u8a00\u4e2d\u5fc3', s: '\u8bed\u8a00\u4e2d\u5fc3', p: 'y\u01d4y\u00e1n zh\u014dngx\u012bn', meaning: 'language center',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u5148','\u5148','xi\u0101n'), W('\u5728','\u5728','z\u00e0i'), W('\u8a9e\u8a00\u4e2d\u5fc3','\u8bed\u8a00\u4e2d\u5fc3','y\u01d4y\u00e1n zh\u014dngx\u012bn'), W('\u5ff5','\u5ff5','ni\u00e0n'), W('\u4e00','\u4e00','y\u00ec'), W('\u5e74','\u5e74','ni\u00e1n'), '\uff0c', W('\u518d','\u518d','z\u00e0i'), W('\u5ff5','\u5ff5','ni\u00e0n'), W('\u56db','\u56db','s\u00ec'), W('\u5e74','\u5e74','ni\u00e1n'), W('\u5927\u5b78','\u5927\u5b66','d\u00e0xu\u00e9'), '\u3002'],\n        exEn: \"I'll first study a year at the language center, then study four years at university.\" }\n    ],\n    \/\/ \u751f\u8a5e\u4e00 p.248 \u2014 money & grades\n    'db12-word-list-2': [\n      { t: '\u9700\u8981', s: '\u9700\u8981', p: 'x\u016by\u00e0o', meaning: 'to need',\n        ex: [W('\u6240\u4ee5','\u6240\u4ee5','Su\u01d2y\u01d0'), W('\u6211','\u6211','w\u01d2'), W('\u9700\u8981','\u9700\u8981','x\u016by\u00e0o'), W('\u4e94','\u4e94','w\u01d4'), W('\u5e74','\u5e74','ni\u00e1n'), '\u3002'],\n        exEn: 'So I need five years.' },\n      { t: '\u82b1', s: '\u82b1', p: 'hu\u0101', meaning: 'to spend (time or money)',\n        ex: [W('\u9019','\u8fd9','Zh\u00e8'), W('\u5f97','\u5f97','d\u011bi'), W('\u82b1','\u82b1','hu\u0101'), W('\u4e0d\u5c11','\u4e0d\u5c11','b\u00f9sh\u01ceo'), W('\u9322','\u94b1','qi\u00e1n'), '\uff01'],\n        exEn: 'This will cost quite a lot of money!' },\n      { t: '\u734e\u5b78\u91d1', s: '\u5956\u5b66\u91d1', p: 'ji\u01cengxu\u00e9j\u012bn', meaning: 'scholarship',\n        ex: [W('\u4e0d\u904e','\u4e0d\u8fc7','B\u00fagu\u00f2'), W('\u6211','\u6211','w\u01d2'), W('\u6709','\u6709','y\u01d2u'), W('\u734e\u5b78\u91d1','\u5956\u5b66\u91d1','ji\u01cengxu\u00e9j\u012bn'), '\u3002'],\n        exEn: 'But I have a scholarship.' },\n      { t: '\u6210\u7e3e', s: '\u6210\u7ee9', p: 'ch\u00e9ngj\u012b', meaning: 'grades',\n        ex: [W('\u8981\u662f','\u8981\u662f','Y\u00e0osh\u00ec'), W('\u6210\u7e3e','\u6210\u7ee9','ch\u00e9ngj\u012b'), W('\u4e0d','\u4e0d','b\u00f9'), W('\u597d','\u597d','h\u01ceo'), '\uff0c', W('\u5c31','\u5c31','ji\u00f9'), W('\u6c92','\u6ca1','m\u00e9i'), W('\u734e\u5b78\u91d1','\u5956\u5b66\u91d1','ji\u01cengxu\u00e9j\u012bn'), W('\u4e86','\u4e86','le'), '\u3002'],\n        exEn: \"If my grades aren't good, I'll lose the scholarship.\" },\n      { t: '\u5b78\u8cbb', s: '\u5b66\u8d39', p: 'xu\u00e9f\u00e8i', meaning: 'tuition',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u7684','\u7684','de'), W('\u5b78\u8cbb','\u5b66\u8d39','xu\u00e9f\u00e8i'), W('\u662f','\u662f','sh\u00ec'), W('\u516c\u53f8','\u516c\u53f8','g\u014dngs\u012b'), W('\u66ff','\u66ff','t\u00ec'), W('\u6211','\u6211','w\u01d2'), W('\u4ed8','\u4ed8','f\u00f9'), W('\u7684','\u7684','de'), '\u3002'],\n        exEn: 'My tuition is paid by my company for me.' },\n      { t: '\u516c\u53f8', s: '\u516c\u53f8', p: 'g\u014dngs\u012b', meaning: 'company',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u7684','\u7684','de'), W('\u5b78\u8cbb','\u5b66\u8d39','xu\u00e9f\u00e8i'), W('\u662f','\u662f','sh\u00ec'), W('\u516c\u53f8','\u516c\u53f8','g\u014dngs\u012b'), W('\u66ff','\u66ff','t\u00ec'), W('\u6211','\u6211','w\u01d2'), W('\u4ed8','\u4ed8','f\u00f9'), W('\u7684','\u7684','de'), '\u3002'],\n        exEn: 'My tuition is paid by my company for me.' },\n      { t: '\u66ff', s: '\u66ff', p: 't\u00ec', meaning: 'for, on behalf of',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u7684','\u7684','de'), W('\u5b78\u8cbb','\u5b66\u8d39','xu\u00e9f\u00e8i'), W('\u662f','\u662f','sh\u00ec'), W('\u516c\u53f8','\u516c\u53f8','g\u014dngs\u012b'), W('\u66ff','\u66ff','t\u00ec'), W('\u6211','\u6211','w\u01d2'), W('\u4ed8','\u4ed8','f\u00f9'), W('\u7684','\u7684','de'), '\u3002'],\n        exEn: 'My tuition is paid by my company for me.' }\n    ],\n    \/\/ \u751f\u8a5e\u4e00 p.248 \u2014 hopes & the future\n    'db12-word-list-3': [\n      { t: '\u5e0c\u671b', s: '\u5e0c\u671b', p: 'x\u012bw\u00e0ng', meaning: 'to hope',\n        ex: [W('\u5e0c\u671b','\u5e0c\u671b','X\u012bw\u00e0ng'), W('\u6211','\u6211','w\u01d2'), W('\u4ee5\u5f8c','\u4ee5\u540e','y\u01d0h\u00f2u'), W('\u4e5f','\u4e5f','y\u011b'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u5230','\u5230','d\u00e0o'), W('\u9019\u9ebc','\u8fd9\u4e48','zh\u00e8me'), W('\u597d','\u597d','h\u01ceo'), W('\u7684','\u7684','de'), W('\u516c\u53f8','\u516c\u53f8','g\u014dngs\u012b'), W('\u4e0a\u73ed','\u4e0a\u73ed','sh\u00e0ngb\u0101n'), '\u3002'],\n        exEn: 'I hope I can also work at such a good company in the future.' },\n      { t: '\u4ee5\u5f8c', s: '\u4ee5\u540e', p: 'y\u01d0h\u00f2u', meaning: 'in the future, afterward',\n        ex: [W('\u5e0c\u671b','\u5e0c\u671b','X\u012bw\u00e0ng'), W('\u6211','\u6211','w\u01d2'), W('\u4ee5\u5f8c','\u4ee5\u540e','y\u01d0h\u00f2u'), W('\u4e5f','\u4e5f','y\u011b'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u5230','\u5230','d\u00e0o'), W('\u9019\u9ebc','\u8fd9\u4e48','zh\u00e8me'), W('\u597d','\u597d','h\u01ceo'), W('\u7684','\u7684','de'), W('\u516c\u53f8','\u516c\u53f8','g\u014dngs\u012b'), W('\u4e0a\u73ed','\u4e0a\u73ed','sh\u00e0ngb\u0101n'), '\u3002'],\n        exEn: 'I hope I can also work at such a good company in the future.' },\n      { t: '\u5230', s: '\u5230', p: 'd\u00e0o', meaning: 'to go\/come to',\n        ex: [W('\u5e0c\u671b','\u5e0c\u671b','X\u012bw\u00e0ng'), W('\u6211','\u6211','w\u01d2'), W('\u4ee5\u5f8c','\u4ee5\u540e','y\u01d0h\u00f2u'), W('\u4e5f','\u4e5f','y\u011b'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u5230','\u5230','d\u00e0o'), W('\u9019\u9ebc','\u8fd9\u4e48','zh\u00e8me'), W('\u597d','\u597d','h\u01ceo'), W('\u7684','\u7684','de'), W('\u516c\u53f8','\u516c\u53f8','g\u014dngs\u012b'), W('\u4e0a\u73ed','\u4e0a\u73ed','sh\u00e0ngb\u0101n'), '\u3002'],\n        exEn: 'I hope I can also work at such a good company in the future.' },\n      { t: '\u4e0a\u73ed', s: '\u4e0a\u73ed', p: 'sh\u00e0ngb\u0101n', meaning: 'to go to work',\n        ex: [W('\u5e0c\u671b','\u5e0c\u671b','X\u012bw\u00e0ng'), W('\u6211','\u6211','w\u01d2'), W('\u4ee5\u5f8c','\u4ee5\u540e','y\u01d0h\u00f2u'), W('\u4e5f','\u4e5f','y\u011b'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u5230','\u5230','d\u00e0o'), W('\u9019\u9ebc','\u8fd9\u4e48','zh\u00e8me'), W('\u597d','\u597d','h\u01ceo'), W('\u7684','\u7684','de'), W('\u516c\u53f8','\u516c\u53f8','g\u014dngs\u012b'), W('\u4e0a\u73ed','\u4e0a\u73ed','sh\u00e0ngb\u0101n'), '\u3002'],\n        exEn: 'I hope I can also work at such a good company in the future.' },\n      { t: '\u5ff5\u66f8', s: '\u5ff5\u4e66', p: 'ni\u00e0nsh\u016b', meaning: 'to study',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u53c8','\u53c8','y\u00f2u'), W('\u8981','\u8981','y\u00e0o'), W('\u4e0a\u73ed','\u4e0a\u73ed','sh\u00e0ngb\u0101n'), '\uff0c', W('\u53c8','\u53c8','y\u00f2u'), W('\u8981','\u8981','y\u00e0o'), W('\u5ff5\u66f8','\u5ff5\u4e66','ni\u00e0nsh\u016b'), '\uff0c', W('\u771f\u7684','\u771f\u7684','zh\u0113nde'), W('\u5f88','\u5f88','h\u011bn'), W('\u7d2f','\u7d2f','l\u00e8i'), '\u3002'],\n        exEn: \"I have to both work and study, it's really tiring.\" },\n      { t: '\u7d2f', s: '\u7d2f', p: 'l\u00e8i', meaning: 'tired',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u53c8','\u53c8','y\u00f2u'), W('\u8981','\u8981','y\u00e0o'), W('\u4e0a\u73ed','\u4e0a\u73ed','sh\u00e0ngb\u0101n'), '\uff0c', W('\u53c8','\u53c8','y\u00f2u'), W('\u8981','\u8981','y\u00e0o'), W('\u5ff5\u66f8','\u5ff5\u4e66','ni\u00e0nsh\u016b'), '\uff0c', W('\u771f\u7684','\u771f\u7684','zh\u0113nde'), W('\u5f88','\u5f88','h\u011bn'), W('\u7d2f','\u7d2f','l\u00e8i'), '\u3002'],\n        exEn: \"I have to both work and study, it's really tiring.\" },\n      { t: '\u52a0\u6cb9', s: '\u52a0\u6cb9', p: 'ji\u0101y\u00f3u', meaning: 'keep up the good work',\n        ex: [W('\u6211\u5011','\u6211\u4eec','W\u01d2men'), W('\u4e00\u8d77','\u4e00\u8d77','y\u00ecq\u01d0'), W('\u52a0\u6cb9','\u52a0\u6cb9','ji\u0101y\u00f3u'), W('\u5427','\u5427','ba'), '\uff01'],\n        exEn: \"Let's work hard together!\" }\n    ],\n    \/\/ \u751f\u8a5e\u4e8c p.251 \u2014 work & business\n    'db12-word-list-4': [\n      { t: '\u5de5\u4f5c', s: '\u5de5\u4f5c', p: 'g\u014dngzu\u00f2', meaning: 'to work; job, work',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u662f','\u662f','sh\u00ec'), W('\u4ec0\u9ebc','\u4ec0\u4e48','sh\u00e9nme'), W('\u6642\u5019','\u65f6\u5019','sh\u00edh\u00f2u'), W('\u4f86','\u6765','l\u00e1i'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u5de5\u4f5c','\u5de5\u4f5c','g\u014dngzu\u00f2'), W('\u7684','\u7684','de'), '\uff1f'],\n        exEn: 'When did you come to Taiwan to work?' },\n      { t: '\u53bb\u5e74', s: '\u53bb\u5e74', p: 'q\u00f9ni\u00e1n', meaning: 'last year',\n        ex: [W('\u53bb\u5e74','\u53bb\u5e74','Q\u00f9ni\u00e1n'), '\uff0c', W('\u6211','\u6211','w\u01d2'), W('\u5df2\u7d93','\u5df2\u7ecf','y\u01d0j\u012bng'), W('\u5728','\u5728','z\u00e0i'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u5de5\u4f5c','\u5de5\u4f5c','g\u014dngzu\u00f2'), W('\u4e00','\u4e00','y\u00ec'), W('\u5e74','\u5e74','ni\u00e1n'), W('\u4e86','\u4e86','le'), '\u3002'],\n        exEn: \"Last year, I'd already been working in Taiwan for a year.\" },\n      { t: '\u505a', s: '\u505a', p: 'zu\u00f2', meaning: 'to do, to engage in',\n        ex: [W('\u6211\u5011','\u6211\u4eec','W\u01d2men'), W('\u516c\u53f8','\u516c\u53f8','g\u014dngs\u012b'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u4eba','\u4eba','r\u00e9n'), W('\u505a','\u505a','zu\u00f2'), W('\u751f\u610f','\u751f\u610f','sh\u0113ngy\u00ec'), '\u3002'],\n        exEn: 'Our company does business with Taiwanese people.' },\n      { t: '\u751f\u610f', s: '\u751f\u610f', p: 'sh\u0113ngy\u00ec', meaning: 'business',\n        ex: [W('\u6211\u5011','\u6211\u4eec','W\u01d2men'), W('\u516c\u53f8','\u516c\u53f8','g\u014dngs\u012b'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u4eba','\u4eba','r\u00e9n'), W('\u505a','\u505a','zu\u00f2'), W('\u751f\u610f','\u751f\u610f','sh\u0113ngy\u00ec'), '\u3002'],\n        exEn: 'Our company does business with Taiwanese people.' }\n    ],\n    \/\/ \u751f\u8a5e\u4e8c p.251 \u2014 looking ahead\n    'db12-word-list-5': [\n      { t: '\u597d', s: '\u597d', p: 'h\u01ceo', meaning: 'easy to',\n        ex: [W('\u9019\u6a23','\u8fd9\u6837','Zh\u00e8y\u00e0ng'), W('\u7684','\u7684','de'), W('\u5de5\u4f5c','\u5de5\u4f5c','g\u014dngzu\u00f2'), W('\u5728','\u5728','z\u00e0i'), W('\u4f60\u5011','\u4f60\u4eec','n\u01d0men'), W('\u570b\u5bb6','\u56fd\u5bb6','gu\u00f3ji\u0101'), W('\u597d','\u597d','h\u01ceo'), W('\u627e','\u627e','zh\u01ceo'), W('\u55ce','\u5417','ma'), '\uff1f'],\n        exEn: 'Is this kind of job easy to find in your country?' },\n      { t: '\u627e', s: '\u627e', p: 'zh\u01ceo', meaning: 'to look for',\n        ex: [W('\u9019\u6a23','\u8fd9\u6837','Zh\u00e8y\u00e0ng'), W('\u7684','\u7684','de'), W('\u5de5\u4f5c','\u5de5\u4f5c','g\u014dngzu\u00f2'), W('\u5728','\u5728','z\u00e0i'), W('\u4f60\u5011','\u4f60\u4eec','n\u01d0men'), W('\u570b\u5bb6','\u56fd\u5bb6','gu\u00f3ji\u0101'), W('\u597d','\u597d','h\u01ceo'), W('\u627e','\u627e','zh\u01ceo'), W('\u55ce','\u5417','ma'), '\uff1f'],\n        exEn: 'Is this kind of job easy to find in your country?' },\n      { t: '\u9019\u6a23', s: '\u8fd9\u6837', p: 'zh\u00e8y\u00e0ng', meaning: 'this kind (of)',\n        ex: [W('\u9019\u6a23','\u8fd9\u6837','Zh\u00e8y\u00e0ng'), W('\u7684','\u7684','de'), W('\u5de5\u4f5c','\u5de5\u4f5c','g\u014dngzu\u00f2'), W('\u5728','\u5728','z\u00e0i'), W('\u4f60\u5011','\u4f60\u4eec','n\u01d0men'), W('\u570b\u5bb6','\u56fd\u5bb6','gu\u00f3ji\u0101'), W('\u597d','\u597d','h\u01ceo'), W('\u627e','\u627e','zh\u01ceo'), W('\u55ce','\u5417','ma'), '\uff1f'],\n        exEn: 'Is this kind of job easy to find in your country?' },\n      { t: '\u570b\u5bb6', s: '\u56fd\u5bb6', p: 'gu\u00f3ji\u0101', meaning: 'country',\n        ex: [W('\u9019\u6a23','\u8fd9\u6837','Zh\u00e8y\u00e0ng'), W('\u7684','\u7684','de'), W('\u5de5\u4f5c','\u5de5\u4f5c','g\u014dngzu\u00f2'), W('\u5728','\u5728','z\u00e0i'), W('\u4f60\u5011','\u4f60\u4eec','n\u01d0men'), W('\u570b\u5bb6','\u56fd\u5bb6','gu\u00f3ji\u0101'), W('\u597d','\u597d','h\u01ceo'), W('\u627e','\u627e','zh\u01ceo'), W('\u55ce','\u5417','ma'), '\uff1f'],\n        exEn: 'Is this kind of job easy to find in your country?' },\n      { t: '\u8a66', s: '\u8bd5', p: 'sh\u00ec', meaning: 'to try',\n        ex: [W('\u4e0d','\u4e0d','B\u00f9'), W('\u77e5\u9053','\u77e5\u9053','zh\u012bd\u00e0o'), W('\u597d','\u597d','h\u01ceo'), W('\u4e0d','\u4e0d','b\u00f9'), W('\u597d','\u597d','h\u01ceo'), W('\u627e','\u627e','zh\u01ceo'), '\uff0c', W('\u6211','\u6211','w\u01d2'), W('\u8a66\u8a66\u770b','\u8bd5\u8bd5\u770b','sh\u00ecsh\u00eck\u00e0n'), '\u3002'],\n        exEn: \"I don't know if it's easy to find, I'll give it a try.\" },\n      { t: '\u96e3', s: '\u96be', p: 'n\u00e1n', meaning: 'hard to, difficult to',\n        ex: [W('\u8981\u662f','\u8981\u662f','Y\u00e0osh\u00ec'), W('\u96e3','\u96be','n\u00e1n'), W('\u627e','\u627e','zh\u01ceo'), W('\u5462','\u5462','ne'), '\uff1f'],\n        exEn: \"What if it's hard to find?\" },\n      { t: '\u90a3\u9ebc', s: '\u90a3\u4e48', p: 'n\u00e0me', meaning: 'then',\n        ex: [W('\u90a3\u9ebc','\u90a3\u4e48','N\u00e0me'), W('\u6211','\u6211','w\u01d2'), W('\u518d','\u518d','z\u00e0i'), W('\u4f86','\u6765','l\u00e1i'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u5b78','\u5b66','xu\u00e9'), W('\u4e2d\u6587','\u4e2d\u6587','Zh\u014dngw\u00e9n'), '\u3002'],\n        exEn: \"Then I'll come back to Taiwan to study Chinese.\" },\n      { t: '\u518d', s: '\u518d', p: 'z\u00e0i', meaning: 'again',\n        ex: [W('\u90a3\u9ebc','\u90a3\u4e48','N\u00e0me'), W('\u6211','\u6211','w\u01d2'), W('\u518d','\u518d','z\u00e0i'), W('\u4f86','\u6765','l\u00e1i'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u5b78','\u5b66','xu\u00e9'), W('\u4e2d\u6587','\u4e2d\u6587','Zh\u014dngw\u00e9n'), '\u3002'],\n        exEn: \"Then I'll come back to Taiwan to study Chinese.\" },\n      { t: '\u8a66\u8a66\u770b', s: '\u8bd5\u8bd5\u770b', p: 'sh\u00ecsh\u00eck\u00e0n', meaning: 'to give it a try, to try and see what happens',\n        ex: [W('\u4e0d','\u4e0d','B\u00f9'), W('\u77e5\u9053','\u77e5\u9053','zh\u012bd\u00e0o'), W('\u597d','\u597d','h\u01ceo'), W('\u4e0d','\u4e0d','b\u00f9'), W('\u597d','\u597d','h\u01ceo'), W('\u627e','\u627e','zh\u01ceo'), '\uff0c', W('\u6211','\u6211','w\u01d2'), W('\u8a66\u8a66\u770b','\u8bd5\u8bd5\u770b','sh\u00ecsh\u00eck\u00e0n'), '\u3002'],\n        exEn: \"I don't know if it's easy to find, I'll give it a try.\" }\n    ]\n  };\n\n  var DIALOGUE = [\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u4f60','\u4f60','N\u01d0'), W('\u8a08\u756b','\u8ba1\u5212','j\u00echu\u00e0'), W('\u5728','\u5728','z\u00e0i'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u5b78','\u5b66','xu\u00e9'), W('\u591a','\u591a','du\u014d'), W('\u4e45','\u4e45','ji\u01d4'), W('\u7684','\u7684','de'), W('\u4e2d\u6587','\u4e2d\u6587','Zh\u014dngw\u00e9n'), '\uff1f'],\n      en: 'How long do you plan to study Chinese in Taiwan?' },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u4e94','\u4e94','W\u01d4'), W('\u5e74','\u5e74','ni\u00e1n'), '\u3002'],\n      en: 'Five years.' },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u70ba\u4ec0\u9ebc','\u4e3a\u4ec0\u4e48','W\u00e8ish\u00e9nme'), W('\u8981','\u8981','y\u00e0o'), W('\u9019\u9ebc','\u8fd9\u4e48','zh\u00e8me'), W('\u4e45','\u4e45','ji\u01d4'), W('\u7684','\u7684','de'), W('\u6642\u9593','\u65f6\u95f4','sh\u00edji\u0101n'), '\uff1f'],\n      en: 'Why does it need to be such a long time?' },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u6211','\u6211','W\u01d2'), W('\u5148','\u5148','xi\u0101n'), W('\u5728','\u5728','z\u00e0i'), W('\u8a9e\u8a00\u4e2d\u5fc3','\u8bed\u8a00\u4e2d\u5fc3','y\u01d4y\u00e1n zh\u014dngx\u012bn'), W('\u5ff5','\u5ff5','ni\u00e0n'), W('\u4e00','\u4e00','y\u00ec'), W('\u5e74','\u5e74','ni\u00e1n'), '\uff0c', W('\u518d','\u518d','z\u00e0i'), W('\u5ff5','\u5ff5','ni\u00e0n'), W('\u56db','\u56db','s\u00ec'), W('\u5e74','\u5e74','ni\u00e1n'), W('\u5927\u5b78','\u5927\u5b66','d\u00e0xu\u00e9'), '\uff0c', W('\u6240\u4ee5','\u6240\u4ee5','su\u01d2y\u01d0'), W('\u9700\u8981','\u9700\u8981','x\u016by\u00e0o'), W('\u4e94','\u4e94','w\u01d4'), W('\u5e74','\u5e74','ni\u00e1n'), '\u3002'],\n      en: \"I'll first study a year at the language center, then study four years at university, so I need five years.\" },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u9019','\u8fd9','Zh\u00e8'), W('\u5f97','\u5f97','d\u011bi'), W('\u82b1','\u82b1','hu\u0101'), W('\u4e0d\u5c11','\u4e0d\u5c11','b\u00f9sh\u01ceo'), W('\u9322','\u94b1','qi\u00e1n'), '\uff01'],\n      en: 'This will cost quite a lot of money!' },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u5c0d','\u5bf9','Du\u00ec'), '\uff0c', W('\u4e0d\u904e','\u4e0d\u8fc7','b\u00fagu\u00f2'), W('\u6211','\u6211','w\u01d2'), W('\u6709','\u6709','y\u01d2u'), W('\u734e\u5b78\u91d1','\u5956\u5b66\u91d1','ji\u01cengxu\u00e9j\u012bn'), '\uff0c', W('\u8981\u662f','\u8981\u662f','y\u00e0osh\u00ec'), W('\u6210\u7e3e','\u6210\u7ee9','ch\u00e9ngj\u012b'), W('\u4e0d','\u4e0d','b\u00f9'), W('\u597d','\u597d','h\u01ceo'), '\uff0c', W('\u5c31','\u5c31','ji\u00f9'), W('\u6c92','\u6ca1','m\u00e9i'), W('\u734e\u5b78\u91d1','\u5956\u5b66\u91d1','ji\u01cengxu\u00e9j\u012bn'), W('\u4e86','\u4e86','le'), '\u3002', W('\u4f60','\u4f60','N\u01d0'), W('\u5462','\u5462','ne'), '\uff1f'],\n      en: \"Right, but I have a scholarship \u2014 if my grades aren't good, I'll lose it. How about you?\" },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u6211','\u6211','W\u01d2'), W('\u7684','\u7684','de'), W('\u5b78\u8cbb','\u5b66\u8d39','xu\u00e9f\u00e8i'), W('\u662f','\u662f','sh\u00ec'), W('\u516c\u53f8','\u516c\u53f8','g\u014dngs\u012b'), W('\u66ff','\u66ff','t\u00ec'), W('\u6211','\u6211','w\u01d2'), W('\u4ed8','\u4ed8','f\u00f9'), W('\u7684','\u7684','de'), '\uff0c', W('\u6211','\u6211','w\u01d2'), W('\u53bb\u5e74','\u53bb\u5e74','q\u00f9ni\u00e1n'), W('\u5c31','\u5c31','ji\u00f9'), W('\u958b\u59cb','\u5f00\u59cb','k\u0101ish\u01d0'), W('\u5728','\u5728','z\u00e0i'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u5de5\u4f5c','\u5de5\u4f5c','g\u014dngzu\u00f2'), W('\u4e86','\u4e86','le'), '\u3002'],\n      en: 'My tuition is paid by my company for me, I started working in Taiwan last year already.' },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u70ba\u4ec0\u9ebc','\u4e3a\u4ec0\u4e48','W\u00e8ish\u00e9nme'), W('\u4f60\u5011','\u4f60\u4eec','n\u01d0men'), W('\u516c\u53f8','\u516c\u53f8','g\u014dngs\u012b'), W('\u8981','\u8981','y\u00e0o'), W('\u66ff','\u66ff','t\u00ec'), W('\u4f60','\u4f60','n\u01d0'), W('\u4ed8','\u4ed8','f\u00f9'), W('\u5b78\u8cbb','\u5b66\u8d39','xu\u00e9f\u00e8i'), '\uff1f'],\n      en: 'Why does your company pay your tuition for you?' },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u56e0\u70ba','\u56e0\u4e3a','Y\u012bnw\u00e8i'), W('\u6211\u5011','\u6211\u4eec','w\u01d2men'), W('\u516c\u53f8','\u516c\u53f8','g\u014dngs\u012b'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u4eba','\u4eba','r\u00e9n'), W('\u505a','\u505a','zu\u00f2'), W('\u751f\u610f','\u751f\u610f','sh\u0113ngy\u00ec'), '\uff0c', W('\u8001\u95c6','\u8001\u677f','l\u01ceob\u01cen'), W('\u5e0c\u671b','\u5e0c\u671b','x\u012bw\u00e0ng'), W('\u6211\u5011','\u6211\u4eec','w\u01d2men'), W('\u90fd','\u90fd','d\u014du'), W('\u6703','\u4f1a','hu\u00ec'), W('\u8aaa','\u8bf4','shu\u014d'), W('\u4e2d\u6587','\u4e2d\u6587','Zh\u014dngw\u00e9n'), '\u3002'],\n      en: 'Because our company does business with Taiwanese people, and the boss wants us all to speak Chinese.' },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u5e0c\u671b','\u5e0c\u671b','X\u012bw\u00e0ng'), W('\u6211','\u6211','w\u01d2'), W('\u4ee5\u5f8c','\u4ee5\u540e','y\u01d0h\u00f2u'), W('\u4e5f','\u4e5f','y\u011b'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u5230','\u5230','d\u00e0o'), W('\u9019\u9ebc','\u8fd9\u4e48','zh\u00e8me'), W('\u597d','\u597d','h\u01ceo'), W('\u7684','\u7684','de'), W('\u516c\u53f8','\u516c\u53f8','g\u014dngs\u012b'), W('\u4e0a\u73ed','\u4e0a\u73ed','sh\u00e0ngb\u0101n'), '\u3002'],\n      en: 'I hope I can also work at such a good company in the future.' },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u6211','\u6211','W\u01d2'), W('\u53c8','\u53c8','y\u00f2u'), W('\u8981','\u8981','y\u00e0o'), W('\u4e0a\u73ed','\u4e0a\u73ed','sh\u00e0ngb\u0101n'), '\uff0c', W('\u53c8','\u53c8','y\u00f2u'), W('\u8981','\u8981','y\u00e0o'), W('\u5ff5\u66f8','\u5ff5\u4e66','ni\u00e0nsh\u016b'), '\uff0c', W('\u771f\u7684','\u771f\u7684','zh\u0113nde'), W('\u5f88','\u5f88','h\u011bn'), W('\u7d2f','\u7d2f','l\u00e8i'), '\u3002'],\n      en: \"I have to both work and study, it's really tiring.\" },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u90a3','\u90a3','N\u00e0'), W('\u4f60','\u4f60','n\u01d0'), W('\u56de\u570b','\u56de\u56fd','hu\u00edgu\u00f3'), W('\u4ee5\u5f8c','\u4ee5\u540e','y\u01d0h\u00f2u'), '\uff0c', W('\u6253\u7b97','\u6253\u7b97','d\u01cesu\u00e0n'), W('\u505a','\u505a','zu\u00f2'), W('\u4ec0\u9ebc','\u4ec0\u4e48','sh\u00e9nme'), '\uff1f'],\n      en: 'So what do you plan to do after you go back to your country?' },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u6211','\u6211','W\u01d2'), W('\u60f3','\u60f3','xi\u01ceng'), W('\u627e','\u627e','zh\u01ceo'), W('\u500b','\u4e2a','ge'), W('\u6709','\u6709','y\u01d2u'), W('\u6a5f\u6703','\u673a\u4f1a','j\u012bhu\u00ec'), W('\u8aaa','\u8bf4','shu\u014d'), W('\u4e2d\u6587','\u4e2d\u6587','Zh\u014dngw\u00e9n'), W('\u7684','\u7684','de'), W('\u5de5\u4f5c','\u5de5\u4f5c','g\u014dngzu\u00f2'), '\uff0c', W('\u4e0d','\u4e0d','b\u00f9'), W('\u77e5\u9053','\u77e5\u9053','zh\u012bd\u00e0o'), W('\u597d','\u597d','h\u01ceo'), W('\u4e0d','\u4e0d','b\u00f9'), W('\u597d','\u597d','h\u01ceo'), W('\u627e','\u627e','zh\u01ceo'), '\uff0c', W('\u6211','\u6211','w\u01d2'), W('\u8a66\u8a66\u770b','\u8bd5\u8bd5\u770b','sh\u00ecsh\u00eck\u00e0n'), '\u3002'],\n      en: \"I want to find a job with opportunities to speak Chinese, I don't know if it's easy to find, but I'll give it a try.\" },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u8981\u662f','\u8981\u662f','Y\u00e0osh\u00ec'), W('\u96e3','\u96be','n\u00e1n'), W('\u627e','\u627e','zh\u01ceo'), W('\u5462','\u5462','ne'), '\uff1f'],\n      en: \"What if it's hard to find?\" },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u90a3\u9ebc','\u90a3\u4e48','N\u00e0me'), W('\u6211','\u6211','w\u01d2'), W('\u518d','\u518d','z\u00e0i'), W('\u4f86','\u6765','l\u00e1i'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u5b78','\u5b66','xu\u00e9'), W('\u4e2d\u6587','\u4e2d\u6587','Zh\u014dngw\u00e9n'), '\u3002'],\n      en: \"Then I'll come back to Taiwan to study Chinese.\" },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u592a','\u592a','T\u00e0i'), W('\u597d','\u597d','h\u01ceo'), W('\u4e86','\u4e86','le'), '\uff01', W('\u6211\u5011','\u6211\u4eec','W\u01d2men'), W('\u4e00\u8d77','\u4e00\u8d77','y\u00ecq\u01d0'), W('\u52a0\u6cb9','\u52a0\u6cb9','ji\u0101y\u00f3u'), W('\u5427','\u5427','ba'), '\uff01'],\n      en: \"Great! Let's work hard together!\" }\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=\"db12-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=\"db12-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=\"db12-word-card\">' +\n        '<div class=\"db12-word-top\">' +\n          '<span class=\"db12-num\">' + num + '<\/span>' +\n          '<span class=\"db12-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>' +\n          '<span class=\"db12-meaning\">' + w.meaning + '<\/span>' +\n          '<button class=\"db12-speaker\" data-trad=\"' + w.t + '\" data-simp=\"' + w.s + '\" aria-label=\"Play pronunciation\">' + SPEAKER_SVG + '<\/button>' +\n        '<\/div>' +\n        '<div class=\"db12-example\">' +\n          renderTokens(w.ex) +\n          '<span class=\"db12-en\">' + w.exEn + '<\/span>' +\n        '<\/div>' +\n      '<\/div>';\n    });\n    container.innerHTML = html;\n  });\n\n  var dialogueEl = root.querySelector('#db12-dialogue');\n  if (dialogueEl) {\n    var dHtml = '';\n    DIALOGUE.forEach(function (line) {\n      dHtml += '<div class=\"db12-line\">' +\n        '<span class=\"db12-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=\"db12-line-body\">' +\n          renderTokens(line.tokens) +\n          '<span class=\"db12-line-en\">' + line.en + '<\/span>' +\n        '<\/span>' +\n      '<\/div>';\n    });\n    dialogueEl.innerHTML = dHtml;\n  }\n\n  \/\/ ---- Flashcards ----\n  var fcCard = root.querySelector('#db12-flashcard');\n  var fcFront = root.querySelector('#db12-fc-front');\n  var fcBack = root.querySelector('#db12-fc-back');\n  var fcProgress = root.querySelector('#db12-fc-progress');\n  var fcPrevBtn = root.querySelector('#db12-fc-prev');\n  var fcNextBtn = root.querySelector('#db12-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=\"db12-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>';\n    fcBack.innerHTML = '<span class=\"db12-meaning\">' + w.meaning + '<\/span>';\n    if (fcProgress) fcProgress.textContent = (fcIndex + 1) + ' \/ ' + ALL_WORDS.length;\n    if (fcCard) fcCard.classList.remove('db12-flipped');\n    fcFlipped = false;\n  }\n\n  if (fcCard) {\n    fcCard.addEventListener('click', function () {\n      fcFlipped = !fcFlipped;\n      fcCard.classList.toggle('db12-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('#db12-game-col-zh');\n  var gameColEn = root.querySelector('#db12-game-col-en');\n  var gameStatus = root.querySelector('#db12-game-status');\n  var gameWin = root.querySelector('#db12-game-win');\n  var gameNewBtn = root.querySelector('#db12-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('db12-show');\n\n    var zhOrder = shuffle(gameRound);\n    var enOrder = shuffle(gameRound);\n\n    gameColZh.innerHTML = zhOrder.map(function (w) {\n      return '<button class=\"db12-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=\"db12-tile-py\">' + (w.pt || w.p) + '<\/span>' +\n      '<\/button>';\n    }).join('');\n\n    gameColEn.innerHTML = enOrder.map(function (w) {\n      return '<button class=\"db12-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('db12-matched')) return;\n    var side = tile.getAttribute('data-side');\n\n    if (side === 'zh') {\n      if (gameSelectedZh) gameSelectedZh.classList.remove('db12-selected');\n      gameSelectedZh = tile;\n      tile.classList.add('db12-selected');\n    } else {\n      if (gameSelectedEn) gameSelectedEn.classList.remove('db12-selected');\n      gameSelectedEn = tile;\n      tile.classList.add('db12-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('db12-selected');\n          gameSelectedEn.classList.remove('db12-selected');\n          gameSelectedZh.classList.add('db12-matched');\n          gameSelectedEn.classList.add('db12-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('db12-show');\n            }\n          }\n        } else {\n          gameBusy = true;\n          var z = gameSelectedZh, en = gameSelectedEn;\n          z.classList.add('db12-wrong');\n          en.classList.add('db12-wrong');\n          setTimeout(function () {\n            z.classList.remove('db12-selected', 'db12-wrong');\n            en.classList.remove('db12-selected', 'db12-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('.db12-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\">\u8a08\u756b<\/span><span class=\"lang-zh-CN\">\u8ba1\u5212<\/span> means...', options: ['to plan to', 'to hope', 'to need', 'to try'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for \u9700\u8981.', accept: ['xuyao'] },\n    { type: 'mc', prompt: '<span class=\"lang-zh-TW\">\u734e\u5b78\u91d1<\/span><span class=\"lang-zh-CN\">\u5956\u5b66\u91d1<\/span> means...', options: ['scholarship', 'tuition', 'salary', 'rent'], answer: 0 },\n    { type: 'type', prompt: 'Type the English word for <span class=\"lang-zh-TW\">\u6210\u7e3e<\/span><span class=\"lang-zh-CN\">\u6210\u7ee9<\/span>.', accept: ['grades', 'grade'] },\n    { type: 'mc', prompt: 'Which word means \"for, on behalf of\"?', options: ['\u66ff', '\u82b1', '\u5e0c\u671b', '\u9700\u8981'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for <span class=\"lang-zh-TW\">\u5b78\u8cbb<\/span><span class=\"lang-zh-CN\">\u5b66\u8d39<\/span>.', accept: ['xuefei'] },\n    { type: 'mc', prompt: '<span class=\"lang-zh-TW\">\u8a9e\u8a00\u4e2d\u5fc3<\/span><span class=\"lang-zh-CN\">\u8bed\u8a00\u4e2d\u5fc3<\/span> means...', options: ['language center', 'university', 'company', 'scholarship'], answer: 0 },\n    { type: 'type', prompt: 'Type the English word for \u7d2f.', accept: ['tired'] },\n    { type: 'mc', prompt: 'In \"\u5148\u2026\u518d\u2026\", which word means \"first\"?', options: ['\u5148', '\u518d', '\u5c31', '\u5230'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for \u751f\u610f.', accept: ['shengyi'] },\n    { type: 'mc', prompt: '\u9019\u6a23 means...', options: ['this kind (of)', 'that kind (of)', 'every kind', 'no kind'], answer: 0 },\n    { type: 'type', prompt: 'Type the English word for <span class=\"lang-zh-TW\">\u570b\u5bb6<\/span><span class=\"lang-zh-CN\">\u56fd\u5bb6<\/span>.', accept: ['country'] },\n    { type: 'mc', prompt: '\u96e3 means...', options: ['hard to, difficult to', 'easy to', 'fast', 'slow'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for <span class=\"lang-zh-TW\">\u8a66\u8a66\u770b<\/span><span class=\"lang-zh-CN\">\u8bd5\u8bd5\u770b<\/span>.', accept: ['shishikan'] },\n    { type: 'mc', prompt: '\u52a0\u6cb9 means...', options: ['keep up the good work', 'goodbye', 'no problem', 'by the way'], answer: 0 }\n  ];\n\n  var quizRoot = root.querySelector('#db12-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=\"db12-quiz-progress\">Question ' + (quizCurrent + 1) + ' of ' + QUIZ_DATA.length + '<\/p>';\n      html += '<p class=\"db12-quiz-prompt\">' + q.prompt + '<\/p>';\n      if (q.type === 'mc') {\n        html += '<div class=\"db12-quiz-options\">';\n        for (var i = 0; i < q.options.length; i++) {\n          html += '<button type=\"button\" class=\"db12-quiz-opt\" data-i=\"' + i + '\">' + q.options[i] + '<\/button>';\n        }\n        html += '<\/div>';\n      } else {\n        html += '<div class=\"db12-quiz-input-row\">';\n        html += '<input type=\"text\" class=\"db12-quiz-input\" placeholder=\"Type your answer\">';\n        html += '<button type=\"button\" class=\"db12-quiz-submit\">Submit<\/button>';\n        html += '<\/div>';\n      }\n      html += '<p class=\"db12-quiz-feedback\"><\/p>';\n      html += '<button type=\"button\" class=\"db12-quiz-next\" style=\"display:none;\">Next<\/button>';\n      quizRoot.innerHTML = html;\n\n      if (q.type === 'mc') {\n        var quizOpts = quizRoot.querySelectorAll('.db12-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('.db12-quiz-input');\n        var quizSubmitBtn = quizRoot.querySelector('.db12-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('.db12-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 = 'db12-quiz-feedback ' + (correct ? 'correct' : 'incorrect');\n        var quizNextBtn = quizRoot.querySelector('.db12-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=\"db12-quiz-score\">' +\n        '<span class=\"db12-quiz-score-num\">' + quizScore + ' \/ ' + QUIZ_DATA.length + '<\/span>' +\n        '<p>Nice work! Want to try again?<\/p>' +\n        '<button type=\"button\" class=\"db12-quiz-retake\">Retake Quiz<\/button>' +\n        '<\/div>';\n      quizRoot.querySelector('.db12-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('.db12-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\n<div style=\"height:6px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/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>","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-12988","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 L12 Vocabulary and Practice - OneDotDot Chinese<\/title>\n<meta name=\"description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u5341\u4e8c\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 12\" \/>\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\/29\/contemporary-chinese-vocabulary-practice-b1l12\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"B1 L12 Vocabulary and Practice - OneDotDot Chinese\" \/>\n<meta property=\"og:description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u5341\u4e8c\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 12\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/29\/contemporary-chinese-vocabulary-practice-b1l12\/\" \/>\n<meta property=\"og:site_name\" content=\"OneDotDot Chinese\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-29T15:58:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-08T08:26:24+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\\\/29\\\/contemporary-chinese-vocabulary-practice-b1l12\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/29\\\/contemporary-chinese-vocabulary-practice-b1l12\\\/\"},\"author\":{\"name\":\"tiffany\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"headline\":\"B1 L12 Vocabulary and Practice\",\"datePublished\":\"2025-07-29T15:58:14+00:00\",\"dateModified\":\"2026-09-08T08:26:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/29\\\/contemporary-chinese-vocabulary-practice-b1l12\\\/\"},\"wordCount\":9,\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/29\\\/contemporary-chinese-vocabulary-practice-b1l12\\\/#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\\\/29\\\/contemporary-chinese-vocabulary-practice-b1l12\\\/\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/29\\\/contemporary-chinese-vocabulary-practice-b1l12\\\/\",\"name\":\"B1 L12 Vocabulary and Practice - OneDotDot Chinese\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/29\\\/contemporary-chinese-vocabulary-practice-b1l12\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/29\\\/contemporary-chinese-vocabulary-practice-b1l12\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/\u7576\u4ee3\u4e2d\u6587.jpg\",\"datePublished\":\"2025-07-29T15:58:14+00:00\",\"dateModified\":\"2026-09-08T08:26:24+00:00\",\"description\":\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u5341\u4e8c\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 12\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/29\\\/contemporary-chinese-vocabulary-practice-b1l12\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/29\\\/contemporary-chinese-vocabulary-practice-b1l12\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/29\\\/contemporary-chinese-vocabulary-practice-b1l12\\\/#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\\\/29\\\/contemporary-chinese-vocabulary-practice-b1l12\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"B1 L12 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 L12 Vocabulary and Practice - OneDotDot Chinese","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u5341\u4e8c\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 12","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\/29\/contemporary-chinese-vocabulary-practice-b1l12\/","og_locale":"en_US","og_type":"article","og_title":"B1 L12 Vocabulary and Practice - OneDotDot Chinese","og_description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u5341\u4e8c\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 12","og_url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/29\/contemporary-chinese-vocabulary-practice-b1l12\/","og_site_name":"OneDotDot Chinese","article_published_time":"2025-07-29T15:58:14+00:00","article_modified_time":"2026-09-08T08:26:24+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\/29\/contemporary-chinese-vocabulary-practice-b1l12\/#article","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/29\/contemporary-chinese-vocabulary-practice-b1l12\/"},"author":{"name":"tiffany","@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"headline":"B1 L12 Vocabulary and Practice","datePublished":"2025-07-29T15:58:14+00:00","dateModified":"2026-09-08T08:26:24+00:00","mainEntityOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/29\/contemporary-chinese-vocabulary-practice-b1l12\/"},"wordCount":9,"publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/29\/contemporary-chinese-vocabulary-practice-b1l12\/#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\/29\/contemporary-chinese-vocabulary-practice-b1l12\/","url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/29\/contemporary-chinese-vocabulary-practice-b1l12\/","name":"B1 L12 Vocabulary and Practice - OneDotDot Chinese","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/29\/contemporary-chinese-vocabulary-practice-b1l12\/#primaryimage"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/29\/contemporary-chinese-vocabulary-practice-b1l12\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","datePublished":"2025-07-29T15:58:14+00:00","dateModified":"2026-09-08T08:26:24+00:00","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u5341\u4e8c\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 12","breadcrumb":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/29\/contemporary-chinese-vocabulary-practice-b1l12\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/29\/contemporary-chinese-vocabulary-practice-b1l12\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/29\/contemporary-chinese-vocabulary-practice-b1l12\/#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\/29\/contemporary-chinese-vocabulary-practice-b1l12\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/tiffanysmandarin.com\/"},{"@type":"ListItem","position":2,"name":"B1 L12 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\/12988","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=12988"}],"version-history":[{"count":2,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/12988\/revisions"}],"predecessor-version":[{"id":16747,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/12988\/revisions\/16747"}],"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=12988"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/categories?post=12988"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/tags?post=12988"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}