{"id":13159,"date":"2025-09-05T13:33:22","date_gmt":"2025-09-05T05:33:22","guid":{"rendered":"https:\/\/tiffanysmandarin.com\/?p=13159"},"modified":"2026-10-09T22:54:59","modified_gmt":"2026-10-09T14:54:59","slug":"contemporary-chinese-vocabulary-practice-b2l2","status":"publish","type":"post","link":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/","title":{"rendered":"B2 L2 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 2 \u00b7 Lesson 2 \u300c\u9084\u662f\u5750\u6377\u904b\u5427\uff01\u300d Take the MRT Instead! \u2014 Vocabulary Embed\n  Same technical pattern as the Book 1 embeds (scoped CSS --d22-*, id #dangdai-b2l2-vocab-embed-1, lang-zh-TW\/lang-zh-CN ruby\n  word-by-word, no literal double-ampersand in script, nested ifs). Vocabulary I & II transcribed from the textbook's own \u751f\u8a5e\u4e00 \/ \u751f\u8a5e\u4e8c\n  pages (Names and Phrases included) with the book's part-of-speech tags. The dialogue is an ORIGINAL conversation, not from the textbook.\n\n  PINYIN SYNC FIX: the site's Pinyin Display toggle only adds the\n  \"hidden\" \/ \"mouseover\" class to <rt> elements that exist at the moment\n  it's clicked. The flashcard (re-rendered on every Prev\/Next) and the\n  Match It tiles (re-rendered every New Round, and using a plain span\n  rather than <rt>) were therefore ignoring it. Now a MutationObserver\n  watches a reference <rt> in the static word list, and syncPinyin()\n  copies its current mode onto the flashcard's <rt>s and onto the tiles\n  (via d22-py-hidden \/ d22-py-mouseover classes on the root) after every\n  re-render and every toggle change. rt.hidden \/ rt.mouseover rules are\n  also defined here so hiding works even without the site's own CSS.\n-->\n<div class=\"dangdai-b2l2-vocab-embed\" id=\"dangdai-b2l2-vocab-embed-1\">\n<style>\n.dangdai-b2l2-vocab-embed {\n  --d22-oxblood: #7b2d26;\n  --d22-oxblood-dark: #5e211c;\n  --d22-mustard: #c9922b;\n  --d22-sage: #7c8b6f;\n  --d22-bone: #f7f1e6;\n  --d22-ink: #2c2620;\n  --d22-line: #e4d9c4;\n  font-family: 'Work Sans', -apple-system, sans-serif;\n  color: var(--d22-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-b2l2-vocab-embed * { box-sizing: border-box; }\n.dangdai-b2l2-vocab-embed h1,\n.dangdai-b2l2-vocab-embed h2,\n.dangdai-b2l2-vocab-embed h3 {\n  font-family: 'Bitter', Georgia, serif;\n  color: var(--d22-oxblood-dark);\n  margin: 0 0 8px;\n}\n.dangdai-b2l2-vocab-embed .d22-support-note {\n  font-size: 0.85rem;\n  color: var(--d22-sage);\n  border-bottom: 1px solid var(--d22-line);\n  padding-bottom: 12px;\n  margin: 0 0 16px;\n}\n.dangdai-b2l2-vocab-embed .d22-lede {\n  margin: 0 0 24px;\n  padding: 14px 16px;\n  background: var(--d22-bone);\n  border-left: 4px solid var(--d22-mustard);\n  border-radius: 4px;\n  font-size: 0.98rem;\n}\n.dangdai-b2l2-vocab-embed .d22-lede b { color: var(--d22-oxblood-dark); }\n.dangdai-b2l2-vocab-embed .d22-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(--d22-oxblood);\n  padding: 3px 9px;\n  border-radius: 3px;\n  margin: 32px 0 10px;\n}\n.dangdai-b2l2-vocab-embed .d22-word-card {\n  border: 1px solid var(--d22-line);\n  border-radius: 8px;\n  padding: 12px 14px;\n  margin-bottom: 10px;\n  background: #fff;\n}\n.dangdai-b2l2-vocab-embed .d22-word-top {\n  display: flex;\n  align-items: baseline;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n.dangdai-b2l2-vocab-embed .d22-num {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.75rem;\n  color: var(--d22-mustard);\n  min-width: 22px;\n}\n.dangdai-b2l2-vocab-embed .d22-hanzi { font-size: 1.35rem; font-weight: 600; }\n.dangdai-b2l2-vocab-embed .d22-pos {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: #fff;\n  background: var(--d22-sage);\n  padding: 2px 7px;\n  border-radius: 10px;\n}\n.dangdai-b2l2-vocab-embed ruby {\n  ruby-position: over;\n  margin-right: 2px;\n  color: var(--d22-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b2l2-vocab-embed .rb {\n  color: var(--d22-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b2l2-vocab-embed rt {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.6rem !important;\n  color: var(--d22-sage) !important;\n  font-weight: 400;\n}\n.dangdai-b2l2-vocab-embed rt.hidden { display: none; }\n.dangdai-b2l2-vocab-embed rt.mouseover { opacity: 0; }\n.dangdai-b2l2-vocab-embed rt.mouseover:hover { opacity: 1; }\n.dangdai-b2l2-vocab-embed .d22-meaning { font-style: italic; color: #6b5f52; font-size: 0.92rem; }\n.dangdai-b2l2-vocab-embed .d22-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(--d22-bone);\n  color: var(--d22-oxblood);\n  border-radius: 50%;\n  cursor: pointer;\n  margin-left: auto;\n}\n.dangdai-b2l2-vocab-embed .d22-speaker:hover { background: var(--d22-mustard); color: #fff; }\n.dangdai-b2l2-vocab-embed .d22-example {\n  margin-top: 8px;\n  padding-top: 8px;\n  border-top: 1px dashed var(--d22-line);\n  font-size: 0.95rem;\n}\n.dangdai-b2l2-vocab-embed .d22-example .d22-sent-word { display: inline-flex; }\n.dangdai-b2l2-vocab-embed .d22-example .d22-punct { margin-right: 2px; }\n.dangdai-b2l2-vocab-embed .d22-example .d22-en {\n  display: block;\n  color: #6b5f52;\n  font-size: 0.85rem;\n  margin-top: 4px;\n}\n.dangdai-b2l2-vocab-embed .d22-dialogue-note { font-size: 0.85rem; color: #6b5f52; margin: 0 0 10px; }\n.dangdai-b2l2-vocab-embed .d22-dialogue {\n  background: var(--d22-bone);\n  border-radius: 8px;\n  padding: 16px 18px;\n  margin-top: 8px;\n}\n.dangdai-b2l2-vocab-embed .d22-line {\n  display: flex;\n  gap: 8px;\n  margin-bottom: 12px;\n  align-items: flex-start;\n  flex-wrap: wrap;\n}\n.dangdai-b2l2-vocab-embed .d22-speaker-tag {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.72rem;\n  color: var(--d22-oxblood);\n  min-width: 46px;\n  padding-top: 3px;\n}\n.dangdai-b2l2-vocab-embed .d22-line-body { flex: 1; min-width: 200px; }\n.dangdai-b2l2-vocab-embed .d22-line-en { display: block; color: #6b5f52; font-size: 0.82rem; margin-top: 2px; }\n\n.dangdai-b2l2-vocab-embed .d22-fc-hint { font-size: 0.85rem; color: #6b5f52; margin: 0 0 12px; text-align: center; }\n.dangdai-b2l2-vocab-embed .d22-flashcard-wrap { max-width: 320px; margin: 0 auto 14px; perspective: 1200px; }\n.dangdai-b2l2-vocab-embed .d22-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-b2l2-vocab-embed .d22-flashcard.d22-flipped { transform: rotateY(180deg); }\n.dangdai-b2l2-vocab-embed .d22-fc-face {\n  position: absolute;\n  inset: 0;\n  backface-visibility: hidden;\n  border: 1px solid var(--d22-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-b2l2-vocab-embed .d22-fc-back { transform: rotateY(180deg); background: var(--d22-bone); }\n.dangdai-b2l2-vocab-embed .d22-fc-front .d22-hanzi { font-size: 4rem !important; }\n.dangdai-b2l2-vocab-embed .d22-flashcard-wrap rt { font-size: 1.2rem !important; }\n.dangdai-b2l2-vocab-embed .d22-fc-back .d22-meaning { font-style: italic; color: var(--d22-oxblood-dark); font-size: 1.725rem; }\n.dangdai-b2l2-vocab-embed .d22-fc-back .d22-pos { margin-top: 8px; }\n.dangdai-b2l2-vocab-embed .d22-flashcard-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 28px; }\n.dangdai-b2l2-vocab-embed .d22-game-btn {\n  font-family: 'Work Sans', sans-serif;\n  font-size: 0.85rem;\n  border: 1px solid var(--d22-oxblood);\n  color: var(--d22-oxblood);\n  background: #fff;\n  padding: 6px 14px;\n  border-radius: 20px;\n  cursor: pointer;\n}\n.dangdai-b2l2-vocab-embed .d22-game-btn:hover { background: var(--d22-oxblood); color: #fff; }\n.dangdai-b2l2-vocab-embed .d22-game-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }\n.dangdai-b2l2-vocab-embed .d22-game-status { font-family: 'IBM Plex Mono', monospace; font-size: 0.82rem; color: var(--d22-sage); }\n.dangdai-b2l2-vocab-embed .d22-game-board { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }\n.dangdai-b2l2-vocab-embed .d22-game-col { display: flex; flex-direction: column; gap: 8px; }\n.dangdai-b2l2-vocab-embed .d22-tile {\n  font-family: 'Work Sans', sans-serif;\n  text-align: left;\n  border: 1px solid var(--d22-line);\n  background: #fff;\n  border-radius: 6px;\n  padding: 10px 12px;\n  cursor: pointer;\n  font-size: 0.95rem;\n  color: var(--d22-ink);\n  transition: background 0.15s, border-color 0.15s, transform 0.1s;\n}\n.dangdai-b2l2-vocab-embed .d22-tile .d22-tile-py {\n  display: block;\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: var(--d22-sage);\n  margin-top: 2px;\n}\n\/* Match It tile pinyin follows the site's Pinyin Display toggle *\/\n.dangdai-b2l2-vocab-embed.d22-py-hidden .d22-tile .d22-tile-py { display: none; }\n.dangdai-b2l2-vocab-embed.d22-py-mouseover .d22-tile .d22-tile-py { opacity: 0; }\n.dangdai-b2l2-vocab-embed.d22-py-mouseover .d22-tile:hover .d22-tile-py { opacity: 1; }\n.dangdai-b2l2-vocab-embed .d22-tile:hover:not(.d22-matched):not(.d22-selected) { border-color: var(--d22-mustard); }\n.dangdai-b2l2-vocab-embed .d22-tile.d22-selected { border-color: var(--d22-oxblood); background: var(--d22-bone); }\n.dangdai-b2l2-vocab-embed .d22-tile.d22-matched { border-color: var(--d22-sage); background: #eef2e9; color: var(--d22-sage); cursor: default; }\n.dangdai-b2l2-vocab-embed .d22-tile.d22-wrong { border-color: #b5453d; background: #fbeceb; animation: d22-shake 0.3s; }\n@keyframes d22-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }\n.dangdai-b2l2-vocab-embed .d22-game-win { text-align: center; padding: 14px; font-family: 'Bitter', serif; color: var(--d22-oxblood-dark); display: none; }\n.dangdai-b2l2-vocab-embed .d22-game-win.d22-show { display: block; }\n@media (max-width: 480px) { .dangdai-b2l2-vocab-embed .d22-game-board { grid-template-columns: 1fr; } }\n.dangdai-b2l2-vocab-embed .d22-quiz { background: #fff; border: 1px solid var(--d22-line); border-radius: 12px; padding: 20px 22px; margin-top: 8px; }\n.dangdai-b2l2-vocab-embed .d22-quiz-progress { font-size: 0.82rem; color: var(--d22-sage); margin: 0 0 10px; font-family: 'IBM Plex Mono', monospace; }\n.dangdai-b2l2-vocab-embed .d22-quiz-prompt { font-size: 1.1rem; margin: 0 0 14px; }\n.dangdai-b2l2-vocab-embed .d22-quiz-options { display: flex; flex-direction: column; gap: 8px; margin: 0 0 10px; }\n.dangdai-b2l2-vocab-embed .d22-quiz-opt { text-align: left; border: 1px solid var(--d22-line); background: var(--d22-bone); border-radius: 8px; padding: 10px 14px; cursor: pointer; font-size: 0.98rem; color: var(--d22-ink); }\n.dangdai-b2l2-vocab-embed .d22-quiz-opt:hover { background: #f0e6d2; }\n.dangdai-b2l2-vocab-embed .d22-quiz-opt.correct { background: #e3efdd; border-color: #7fae6d; color: #3d5c34; }\n.dangdai-b2l2-vocab-embed .d22-quiz-opt.incorrect { background: #f5e0dc; border-color: var(--d22-oxblood); color: var(--d22-oxblood-dark); }\n.dangdai-b2l2-vocab-embed .d22-quiz-opt[disabled] { cursor: default; }\n.dangdai-b2l2-vocab-embed .d22-quiz-input-row { display: flex; gap: 8px; margin: 0 0 10px; flex-wrap: wrap; }\n.dangdai-b2l2-vocab-embed .d22-quiz-input { flex: 1 1 200px; border: 1px solid var(--d22-line); border-radius: 8px; padding: 9px 12px; font-size: 0.98rem; }\n.dangdai-b2l2-vocab-embed .d22-quiz-submit, .dangdai-b2l2-vocab-embed .d22-quiz-next, .dangdai-b2l2-vocab-embed .d22-quiz-retake { border: none; background: var(--d22-oxblood); color: #fff; border-radius: 20px; padding: 8px 18px; font-size: 0.9rem; cursor: pointer; }\n.dangdai-b2l2-vocab-embed .d22-quiz-submit:hover, .dangdai-b2l2-vocab-embed .d22-quiz-next:hover, .dangdai-b2l2-vocab-embed .d22-quiz-retake:hover { background: var(--d22-oxblood-dark); }\n.dangdai-b2l2-vocab-embed .d22-quiz-feedback { font-size: 0.95rem; margin: 0 0 10px; min-height: 1.4em; }\n.dangdai-b2l2-vocab-embed .d22-quiz-feedback.correct { color: #3d5c34; }\n.dangdai-b2l2-vocab-embed .d22-quiz-feedback.incorrect { color: var(--d22-oxblood-dark); }\n.dangdai-b2l2-vocab-embed .d22-quiz-score { text-align: center; }\n.dangdai-b2l2-vocab-embed .d22-quiz-score .d22-quiz-score-num { font-size: 2.2rem; font-weight: 700; color: var(--d22-oxblood-dark); display: block; margin-bottom: 8px; font-family: 'Bitter', serif; }\n<\/style>\n\n<p class=\"d22-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=\"d22-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 2 \u00b7 Lesson 2\u300c<span class=\"lang-zh-TW\">\u9084\u662f\u5750\u6377\u904b\u5427\uff01<\/span><span class=\"lang-zh-CN\">\u8fd8\u662f\u5750\u6377\u8fd0\u5427\uff01<\/span>\u300dTake the MRT Instead!<\/b> \u2014 every word from \u751f\u8a5e\u4e00 and \u751f\u8a5e\u4e8c (Vocabulary I &amp; II), including the Names and Phrases sections, transcribed from the textbook, with pinyin, part of speech, meaning, and an original example sentence for every word, segmented word by word.\n<\/p>\n\n<div class=\"d22-sec-eyebrow\">01 \u2014 VOCABULARY I \u751f\u8a5e\u4e00<\/div>\n<div id=\"d22-word-list-1\"><\/div>\n\n<div class=\"d22-sec-eyebrow\">02 \u2014 NAMES &amp; PHRASES I \u5c08\u6709\u540d\u8a5e\u3001\u8a5e\u7d44<\/div>\n<div id=\"d22-word-list-2\"><\/div>\n\n<div class=\"d22-sec-eyebrow\">03 \u2014 VOCABULARY II \u751f\u8a5e\u4e8c<\/div>\n<div id=\"d22-word-list-3\"><\/div>\n\n<div class=\"d22-sec-eyebrow\">04 \u2014 NAMES &amp; PHRASES II \u5c08\u6709\u540d\u8a5e\u3001\u8a5e\u7d44<\/div>\n<div id=\"d22-word-list-4\"><\/div>\n\n<div class=\"d22-sec-eyebrow\">05 \u2014 PUT IT TOGETHER \u5c0d\u8a71\u7df4\u7fd2<\/div>\n<p class=\"d22-dialogue-note\"><em>Note: this dialogue is NOT from the textbook \u2014 the textbook&#8217;s own dialogues are copyrighted, so I wrote a short original conversation below using vocabulary from this lesson and earlier lessons, so you can see the words used together. For the real Lesson 2 dialogue and narrative, please use your own copy of the textbook.<\/em><\/p>\n<div class=\"d22-dialogue\" id=\"d22-dialogue\"><\/div>\n\n<div class=\"d22-sec-eyebrow\">06 \u2014 FLASHCARDS<\/div>\n<p class=\"d22-fc-hint\">Tap the card to flip it, then use the arrows to move through the deck.<\/p>\n<div class=\"d22-flashcard-wrap\">\n  <div class=\"d22-flashcard\" id=\"d22-flashcard\">\n    <div class=\"d22-fc-face d22-fc-front\" id=\"d22-fc-front\"><\/div>\n    <div class=\"d22-fc-face d22-fc-back\" id=\"d22-fc-back\"><\/div>\n  <\/div>\n<\/div>\n<div class=\"d22-flashcard-controls\">\n  <button class=\"d22-game-btn\" id=\"d22-fc-prev\">\u2039 Prev<\/button>\n  <span class=\"d22-game-status\" id=\"d22-fc-progress\">1 \/ 46<\/span>\n  <button class=\"d22-game-btn\" id=\"d22-fc-next\">Next \u203a<\/button>\n<\/div>\n\n<div class=\"d22-sec-eyebrow\">07 \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=\"d22-game-bar\">\n  <button class=\"d22-game-btn\" id=\"d22-game-new\">New Round<\/button>\n  <span class=\"d22-game-status\" id=\"d22-game-status\">0 \/ 8 matched<\/span>\n<\/div>\n<div class=\"d22-game-board\">\n  <div class=\"d22-game-col\" id=\"d22-game-col-zh\"><\/div>\n  <div class=\"d22-game-col\" id=\"d22-game-col-en\"><\/div>\n<\/div>\n<div class=\"d22-game-win\" id=\"d22-game-win\">\ud83c\udf89 All matched! Nice work.<\/div>\n\n<div class=\"d22-sec-eyebrow\">08 \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=\"d22-quiz\" id=\"d22-quiz\"><\/div>\n\n<script>\n(function () {\n  var root = document.getElementById('dangdai-b2l2-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\n  function WD(t, s, pt, ps) { return { t: t, s: s, pt: pt, ps: ps }; }\n\n  var GROUPS = {\n    'd22-word-list-1': [\n      { t: \"\u9084\u662f\", s: \"\u8fd8\u662f\", p: \"h\u00e1ish\u00ec\", pos: \"Adv\", meaning: \"should probably, alternatively, had better\",\n        ex: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u9084\u662f\",\"\u8fd8\u662f\",\"h\u00e1ish\u00ec\"), W(\"\u642d\",\"\u642d\",\"d\u0101\"), WD(\"\u6377\u904b\",\"\u5730\u94c1\",\"ji\u00e9y\u00f9n\",\"d\u00ecti\u011b\"), W(\"\u5427\",\"\u5427\",\"ba\"), \"\u3002\"],\n        exEn: \"You had better take the MRT.\" },\n      { t: \"\u65e9\", s: \"\u65e9\", p: \"z\u01ceo\", pos: \"Vs\", meaning: \"Good morning.\",\n        ex: [W(\"\u65e9\",\"\u65e9\",\"Z\u01ceo\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), WD(\"\u54ea\u88e1\",\"\u54ea\u91cc\",\"n\u01cel\u01d0\",\"n\u01celi\"), \"\uff1f\"],\n        exEn: \"Good morning. Where are you going?\" },\n      { t: \"\u7d04\", s: \"\u7ea6\", p: \"yu\u0113\", pos: \"V\", meaning: \"to invite someone to do something at a specific time\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u7d04\",\"\u7ea6\",\"yu\u0113\"), W(\"\u4e86\",\"\u4e86\",\"le\"), WD(\"\u670b\u53cb\",\"\u670b\u53cb\",\"p\u00e9ngy\u01d2u\",\"p\u00e9ngyou\"), W(\"\u770b\",\"\u770b\",\"k\u00e0n\"), W(\"\u96fb\u5f71\",\"\u7535\u5f71\",\"di\u00e0ny\u01d0ng\"), \"\u3002\"],\n        exEn: \"I invited a friend to see a movie.\" },\n      { t: \"\u5c0d\u9762\", s: \"\u5bf9\u9762\", p: \"du\u00ecmi\u00e0n\", pos: \"N\", meaning: \"on the other side of (something), opposite\",\n        ex: [W(\"\u8eca\u7ad9\",\"\u8f66\u7ad9\",\"Ch\u0113zh\u00e0n\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u5b78\u6821\",\"\u5b66\u6821\",\"xu\u00e9xi\u00e0o\"), W(\"\u5c0d\u9762\",\"\u5bf9\u9762\",\"du\u00ecmi\u00e0n\"), \"\u3002\"],\n        exEn: \"The station is across from the school.\" },\n      { t: \"\u76f4\u63a5\", s: \"\u76f4\u63a5\", p: \"zh\u00edji\u0113\", pos: \"Adv\", meaning: \"directly\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u5df4\u58eb\",\"\u5df4\u58eb\",\"b\u0101sh\u00ec\"), W(\"\u76f4\u63a5\",\"\u76f4\u63a5\",\"zh\u00edji\u0113\"), W(\"\u5230\",\"\u5230\",\"d\u00e0o\"), W(\"\u6a5f\u5834\",\"\u673a\u573a\",\"j\u012bch\u01ceng\"), \"\u3002\"],\n        exEn: \"This bus goes directly to the airport.\" },\n      { t: \"\u4e0d\u5fc5\", s: \"\u4e0d\u5fc5\", p: \"b\u00fab\u00ec\", pos: \"Vaux\", meaning: \"no need to, not necessary to\",\n        ex: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u4e0d\u5fc5\",\"\u4e0d\u5fc5\",\"b\u00fab\u00ec\"), W(\"\u63db\",\"\u6362\",\"hu\u00e0n\"), W(\"\u8eca\",\"\u8f66\",\"ch\u0113\"), \"\u3002\"],\n        exEn: \"You do not need to change vehicles.\" },\n      { t: \"\u63db\", s: \"\u6362\", p: \"hu\u00e0n\", pos: \"V\", meaning: \"to transfer (transportation)\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u8eca\u7ad9\",\"\u8f66\u7ad9\",\"ch\u0113zh\u00e0n\"), W(\"\u63db\",\"\u6362\",\"hu\u00e0n\"), W(\"\u8eca\",\"\u8f66\",\"ch\u0113\"), \"\u3002\"],\n        exEn: \"I need to transfer at Taipei Station.\" },\n      { t: \"\u8eca\u7ad9\", s: \"\u8f66\u7ad9\", p: \"ch\u0113zh\u00e0n\", pos: \"N\", meaning: \"bus station, train station\",\n        ex: [W(\"\u8eca\u7ad9\",\"\u8f66\u7ad9\",\"Ch\u0113zh\u00e0n\"), W(\"\u96e2\",\"\u79bb\",\"l\u00ed\"), WD(\"\u9019\u88e1\",\"\u8fd9\u91cc\",\"zh\u00e8l\u01d0\",\"zh\u00e8li\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u9060\",\"\u8fdc\",\"yu\u01cen\"), \"\u3002\"],\n        exEn: \"The station is not far from here.\" },\n      { t: \"\u9ebb\u7169\", s: \"\u9ebb\u70e6\", pt: \"m\u00e1f\u00e1n\", ps: \"m\u00e1fan\", pos: \"Vs\", meaning: \"troublesome\",\n        ex: [W(\"\u63db\",\"\u6362\",\"Hu\u00e0n\"), W(\"\u8eca\",\"\u8f66\",\"ch\u0113\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), WD(\"\u9ebb\u7169\",\"\u9ebb\u70e6\",\"m\u00e1f\u00e1n\",\"m\u00e1fan\"), \"\u3002\"],\n        exEn: \"Transferring is troublesome.\" },\n      { t: \"\u8d95\u5feb\", s: \"\u8d76\u5feb\", p: \"g\u01cenku\u00e0i\", pos: \"Adv\", meaning: \"right away; quickly (indicating urgency)\",\n        ex: [W(\"\u8d95\u5feb\",\"\u8d76\u5feb\",\"G\u01cenku\u00e0i\"), W(\"\u8d70\",\"\u8d70\",\"z\u01d2u\"), W(\"\u5427\",\"\u5427\",\"ba\"), \"\uff0c\", W(\"\u5df4\u58eb\",\"\u5df4\u58eb\",\"b\u0101sh\u00ec\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"Hurry up and go, the bus is coming.\" },\n      { t: \"\u8d70\", s: \"\u8d70\", p: \"z\u01d2u\", pos: \"Vp\", meaning: \"to leave, to bid farewell\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u8d70\",\"\u8d70\",\"z\u01d2u\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff0c\", W(\"\u518d\u898b\",\"\u518d\u89c1\",\"z\u00e0iji\u00e0n\"), \"\u3002\"],\n        exEn: \"I have to go now. Goodbye.\" },\n      { t: \"\u73ed\u6b21\", s: \"\u73ed\u6b21\", p: \"b\u0101nc\u00ec\", pos: \"N\", meaning: \"number of scheduled runs (of trains, flights, boats, buses)\",\n        ex: [WD(\"\u6377\u904b\",\"\u5730\u94c1\",\"Ji\u00e9y\u00f9n\",\"D\u00ecti\u011b\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u73ed\u6b21\",\"\u73ed\u6b21\",\"b\u0101nc\u00ec\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), \"\u3002\"],\n        exEn: \"The MRT has many scheduled runs.\" },\n      { t: \"\u79ae\u62dc\", s: \"\u793c\u62dc\", p: \"l\u01d0b\u00e0i\", pos: \"N\", meaning: \"week\",\n        ex: [W(\"\u4e0b\",\"\u4e0b\",\"Xi\u00e0\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u79ae\u62dc\",\"\u793c\u62dc\",\"l\u01d0b\u00e0i\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), \"\u3002\"],\n        exEn: \"Next week I am going to Taipei.\" },\n      { t: \"\u898b\", s: \"\u89c1\", p: \"ji\u00e0n\", pos: \"V\", meaning: \"to see\",\n        ex: [W(\"\u4e0b\",\"\u4e0b\",\"Xi\u00e0\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u79ae\u62dc\",\"\u793c\u62dc\",\"l\u01d0b\u00e0i\"), W(\"\u898b\",\"\u89c1\",\"ji\u00e0n\"), \"\u3002\"],\n        exEn: \"See you next week.\" }\n    ],\n    'd22-word-list-2': [\n      { t: \"\u96fb\u8166\u5c55\", s: \"\u7535\u8111\u5c55\", p: \"di\u00e0nn\u01ceo zh\u01cen\", pos: \"Names\", meaning: \"computer show\",\n        ex: [W(\"\u6211\u5011\",\"\u6211\u4eec\",\"W\u01d2men\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u96fb\u8166\u5c55\",\"\u7535\u8111\u5c55\",\"di\u00e0nn\u01ceo zh\u01cen\"), \"\u3002\"],\n        exEn: \"We are going to the computer show.\" },\n      { t: \"\u4e16\u8cbf\u5c55\u89bd\u9928\", s: \"\u4e16\u8d38\u5c55\u89c8\u9986\", p: \"Sh\u00ecm\u00e0o Zh\u01cenl\u01cen Gu\u01cen\", pos: \"Names\", meaning: \"World Trade Center Exhibition Hall\",\n        ex: [W(\"\u4e16\u8cbf\u5c55\u89bd\u9928\",\"\u4e16\u8d38\u5c55\u89c8\u9986\",\"Sh\u00ecm\u00e0o Zh\u01cenl\u01cen Gu\u01cen\"), W(\"\u96e2\",\"\u79bb\",\"l\u00ed\"), W(\"\u53f0\u5317101\",\"\u53f0\u5317101\",\"T\u00e1ib\u011bi 101\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u9060\",\"\u8fdc\",\"yu\u01cen\"), \"\u3002\"],\n        exEn: \"The World Trade Center Exhibition Hall is not far from Taipei 101.\" },\n      { t: \"\u5c55\u89bd\u9928\", s: \"\u5c55\u89c8\u9986\", p: \"zh\u01cenl\u01cen gu\u01cen\", pos: \"Names\", meaning: \"exhibition hall\",\n        ex: [W(\"\u5c55\u89bd\u9928\",\"\u5c55\u89c8\u9986\",\"Zh\u01cenl\u01cen gu\u01cen\"), W(\"\u5c0d\u9762\",\"\u5bf9\u9762\",\"du\u00ecmi\u00e0n\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u8eca\u7ad9\",\"\u8f66\u7ad9\",\"ch\u0113zh\u00e0n\"), \"\u3002\"],\n        exEn: \"There is a station across from the exhibition hall.\" },\n      { t: \"\u53f0\u5317101\", s: \"\u53f0\u5317101\", p: \"T\u00e1ib\u011bi 101\", pos: \"Names\", meaning: \"Taipei 101, the tallest building in Taiwan\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u5bb6\",\"\u5bb6\",\"ji\u0101\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u53f0\u5317101\",\"\u53f0\u5317101\",\"T\u00e1ib\u011bi 101\"), W(\"\u5c0d\u9762\",\"\u5bf9\u9762\",\"du\u00ecmi\u00e0n\"), \"\u3002\"],\n        exEn: \"His home is across from Taipei 101.\" },\n      { t: \"\u53f0\u5317\", s: \"\u53f0\u5317\", p: \"T\u00e1ib\u011bi\", pos: \"Names\", meaning: \"Taipei\",\n        ex: [W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4ea4\u901a\",\"\u4ea4\u901a\",\"ji\u0101ot\u014dng\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u4fbf\u5229\",\"\u4fbf\u5229\",\"bi\u00e0nl\u00ec\"), \"\u3002\"],\n        exEn: \"Transportation in Taipei is very convenient.\" },\n      { t: \"2\u865f\u7dda\", s: \"2\u53f7\u7ebf\", p: \"\u00e8r h\u00e0o xi\u00e0n\", pos: \"Phrase\", meaning: \"Line 2 (of the Taipei MRT)\",\n        ex: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u642d\",\"\u642d\",\"d\u0101\"), W(\"2\u865f\u7dda\",\"2\u53f7\u7ebf\",\"\u00e8r h\u00e0o xi\u00e0n\"), W(\"\u5230\",\"\u5230\",\"d\u00e0o\"), W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u8eca\u7ad9\",\"\u8f66\u7ad9\",\"ch\u0113zh\u00e0n\"), \"\u3002\"],\n        exEn: \"Take Line 2 to Taipei Station.\" },\n      { t: \"\u5225\u6025\", s: \"\u522b\u6025\", p: \"bi\u00e9 j\u00ed\", pos: \"Phrase\", meaning: \"No need to hurry. Take your time.\",\n        ex: [W(\"\u5225\u6025\",\"\u522b\u6025\",\"Bi\u00e9 j\u00ed\"), \"\uff0c\", WD(\"\u6377\u904b\",\"\u5730\u94c1\",\"ji\u00e9y\u00f9n\",\"d\u00ecti\u011b\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u73ed\u6b21\",\"\u73ed\u6b21\",\"b\u0101nc\u00ec\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), \"\u3002\"],\n        exEn: \"No need to hurry, the MRT runs often.\" }\n    ],\n    'd22-word-list-3': [\n      { t: \"\u98db\u6a5f\", s: \"\u98de\u673a\", p: \"f\u0113ij\u012b\", pos: \"N\", meaning: \"airplane\",\n        ex: [W(\"\u98db\u6a5f\",\"\u98de\u673a\",\"F\u0113ij\u012b\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u5feb\",\"\u5feb\",\"ku\u00e0i\"), \"\u3002\"],\n        exEn: \"Airplanes are faster.\" },\n      { t: \"\u8f49\u6a5f\", s: \"\u8f6c\u673a\", p: \"zhu\u01cen j\u012b\", pos: \"V-sep\", meaning: \"to transfer (flights)\",\n        ex: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u8d8a\u5357\",\"\u8d8a\u5357\",\"Yu\u00e8n\u00e1n\"), W(\"\u8f49\u6a5f\",\"\u8f6c\u673a\",\"zhu\u01cen j\u012b\"), \"\u3002\"],\n        exEn: \"You need to transfer flights in Vietnam.\" },\n      { t: \"\u6a5f\u5834\", s: \"\u673a\u573a\", p: \"j\u012bch\u01ceng\", pos: \"N\", meaning: \"airport\",\n        ex: [W(\"\u6a5f\u5834\",\"\u673a\u573a\",\"J\u012bch\u01ceng\"), W(\"\u96e2\",\"\u79bb\",\"l\u00ed\"), W(\"\u5e02\u5340\",\"\u5e02\u533a\",\"sh\u00ecq\u016b\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u9060\",\"\u8fdc\",\"yu\u01cen\"), \"\u3002\"],\n        exEn: \"The airport is very far from downtown.\" },\n      { t: \"\u5df4\u58eb\", s: \"\u5df4\u58eb\", p: \"b\u0101sh\u00ec\", pos: \"N\", meaning: \"bus\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u5df4\u58eb\",\"\u5df4\u58eb\",\"b\u0101sh\u00ec\"), W(\"\u76f4\u63a5\",\"\u76f4\u63a5\",\"zh\u00edji\u0113\"), W(\"\u5230\",\"\u5230\",\"d\u00e0o\"), W(\"\u5e02\u5340\",\"\u5e02\u533a\",\"sh\u00ecq\u016b\"), \"\u3002\"],\n        exEn: \"This bus goes directly downtown.\" },\n      { t: \"\u5e02\u5340\", s: \"\u5e02\u533a\", p: \"sh\u00ecq\u016b\", pos: \"N\", meaning: \"downtown\",\n        ex: [W(\"\u5e02\u5340\",\"\u5e02\u533a\",\"Sh\u00ecq\u016b\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u9eb5\u5e97\",\"\u9762\u5e97\",\"mi\u00e0ndi\u00e0n\"), \"\u3002\"],\n        exEn: \"There are many noodle shops downtown.\" },\n      { t: \"\u4e0b\", s: \"\u4e0b\", p: \"xi\u00e0\", pos: \"V\", meaning: \"to get off, alight, disembark\",\n        ex: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u8eca\u7ad9\",\"\u8f66\u7ad9\",\"ch\u0113zh\u00e0n\"), W(\"\u4e0b\",\"\u4e0b\",\"xi\u00e0\"), W(\"\u8eca\",\"\u8f66\",\"ch\u0113\"), \"\u3002\"],\n        exEn: \"You need to get off at the station.\" },\n      { t: \"\u4ea4\u901a\", s: \"\u4ea4\u901a\", p: \"ji\u0101ot\u014dng\", pos: \"N\", meaning: \"transportation\",\n        ex: [W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4ea4\u901a\",\"\u4ea4\u901a\",\"ji\u0101ot\u014dng\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u65b9\u4fbf\",\"\u65b9\u4fbf\",\"f\u0101ngbi\u00e0n\"), \"\u3002\"],\n        exEn: \"Transportation in Taipei is very convenient.\" },\n      { t: \"\u4fbf\u5229\", s: \"\u4fbf\u5229\", p: \"bi\u00e0nl\u00ec\", pos: \"Vs\", meaning: \"convenient, handy\",\n        ex: [W(\"\u8d85\u5546\",\"\u8d85\u5546\",\"Ch\u0101osh\u0101ng\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u4fbf\u5229\",\"\u4fbf\u5229\",\"bi\u00e0nl\u00ec\"), \"\u3002\"],\n        exEn: \"Convenience stores are very handy.\" },\n      { t: \"\u5230\u8655\", s: \"\u5230\u5904\", p: \"d\u00e0och\u00f9\", pos: \"Adv\", meaning: \"everywhere\",\n        ex: [W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u5230\u8655\",\"\u5230\u5904\",\"d\u00e0och\u00f9\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u8d85\u5546\",\"\u8d85\u5546\",\"ch\u0101osh\u0101ng\"), \"\u3002\"],\n        exEn: \"There are convenience stores everywhere in Taipei.\" },\n      { t: \"\u8def\u7dda\", s: \"\u8def\u7ebf\", p: \"l\u00f9xi\u00e0n\", pos: \"N\", meaning: \"route\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u8def\u7dda\",\"\u8def\u7ebf\",\"l\u00f9xi\u00e0n\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u9060\",\"\u8fdc\",\"yu\u01cen\"), \"\u3002\"],\n        exEn: \"This route is not far.\" },\n      { t: \"\u8907\u96dc\", s: \"\u590d\u6742\", p: \"f\u00f9z\u00e1\", pos: \"Vs\", meaning: \"complicated\",\n        ex: [W(\"\u5df4\u58eb\",\"\u5df4\u58eb\",\"B\u0101sh\u00ec\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u8def\u7dda\",\"\u8def\u7ebf\",\"l\u00f9xi\u00e0n\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u8907\u96dc\",\"\u590d\u6742\",\"f\u00f9z\u00e1\"), \"\u3002\"],\n        exEn: \"The bus routes are very complicated.\" },\n      { t: \"\u8f15\u9b06\", s: \"\u8f7b\u677e\", p: \"q\u012bngs\u014dng\", pos: \"Vs\", meaning: \"with ease\",\n        ex: [W(\"\u642d\",\"\u642d\",\"D\u0101\"), WD(\"\u6377\u904b\",\"\u5730\u94c1\",\"ji\u00e9y\u00f9n\",\"d\u00ecti\u011b\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u8f15\u9b06\",\"\u8f7b\u677e\",\"q\u012bngs\u014dng\"), \"\u3002\"],\n        exEn: \"Taking the MRT is very easy.\" },\n      { t: \"\u6771\u90e8\", s: \"\u4e1c\u90e8\", p: \"d\u014dngb\u00f9\", pos: \"N\", meaning: \"eastern part\",\n        ex: [W(\"\u82b1\u84ee\",\"\u82b1\u83b2\",\"Hu\u0101li\u00e1n\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u6771\u90e8\",\"\u4e1c\u90e8\",\"d\u014dngb\u00f9\"), \"\u3002\"],\n        exEn: \"Hualien is in eastern Taiwan.\" },\n      { t: \"\u6d77\u908a\", s: \"\u6d77\u8fb9\", p: \"h\u01ceibi\u0101n\", pos: \"N\", meaning: \"seaside\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u60f3\",\"\u60f3\",\"xi\u01ceng\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u6d77\u908a\",\"\u6d77\u8fb9\",\"h\u01ceibi\u0101n\"), \"\u3002\"],\n        exEn: \"I want to go to the seaside.\" },\n      { t: \"\u5cf6\", s: \"\u5c9b\", p: \"d\u01ceo\", pos: \"N\", meaning: \"island\",\n        ex: [W(\"\u7da0\u5cf6\",\"\u7eff\u5c9b\",\"L\u01dcd\u01ceo\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u5c0f\",\"\u5c0f\",\"xi\u01ceo\"), W(\"\u5cf6\",\"\u5c9b\",\"d\u01ceo\"), \"\u3002\"],\n        exEn: \"Green Island is a small island.\" },\n      { t: \"\u642d\", s: \"\u642d\", p: \"d\u0101\", pos: \"V\", meaning: \"to take (bus, boat, plane, taxi, etc.)\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u60f3\",\"\u60f3\",\"xi\u01ceng\"), W(\"\u642d\",\"\u642d\",\"d\u0101\"), W(\"\u98db\u6a5f\",\"\u98de\u673a\",\"f\u0113ij\u012b\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u6cd5\u570b\",\"\u6cd5\u56fd\",\"F\u01cegu\u00f3\"), \"\u3002\"],\n        exEn: \"I want to take a plane to France.\" },\n      { t: \"\u8239\", s: \"\u8239\", p: \"chu\u00e1n\", pos: \"N\", meaning: \"boat, ship\",\n        ex: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u53ef\u4ee5\",\"\u53ef\u4ee5\",\"k\u011by\u01d0\"), W(\"\u642d\",\"\u642d\",\"d\u0101\"), W(\"\u8239\",\"\u8239\",\"chu\u00e1n\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u7da0\u5cf6\",\"\u7eff\u5c9b\",\"L\u01dcd\u01ceo\"), \"\u3002\"],\n        exEn: \"You can take a boat to Green Island.\" },\n      { t: \"\u5730\", s: \"\u5730\", p: \"de\", pos: \"Ptc\", meaning: \"adverbial particle\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u8f15\u9b06\",\"\u8f7b\u677e\",\"q\u012bngs\u014dng\"), W(\"\u5730\",\"\u5730\",\"de\"), W(\"\u8d70\",\"\u8d70\",\"z\u01d2u\"), W(\"\u5230\",\"\u5230\",\"d\u00e0o\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u8eca\u7ad9\",\"\u8f66\u7ad9\",\"ch\u0113zh\u00e0n\"), \"\u3002\"],\n        exEn: \"He walked to the station with ease.\" }\n    ],\n    'd22-word-list-4': [\n      { t: \"\u7f8e\u7f8e\", s: \"\u7f8e\u7f8e\", p: \"M\u011bim\u011bi\", pos: \"Names\", meaning: \"Meimei, name of a girl\",\n        ex: [W(\"\u7f8e\u7f8e\",\"\u7f8e\u7f8e\",\"M\u011bim\u011bi\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u5982\u7389\",\"\u5982\u7389\",\"R\u00fay\u00f9\"), W(\"\u7684\",\"\u7684\",\"de\"), WD(\"\u670b\u53cb\",\"\u670b\u53cb\",\"p\u00e9ngy\u01d2u\",\"p\u00e9ngyou\"), \"\u3002\"],\n        exEn: \"Meimei is Ruyu's friend.\" },\n      { t: \"\u6cd5\u570b\", s: \"\u6cd5\u56fd\", p: \"F\u01cegu\u00f3\", pos: \"Names\", meaning: \"France\",\n        ex: [W(\"\u7f8e\u7f8e\",\"\u7f8e\u7f8e\",\"M\u011bim\u011bi\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u6cd5\u570b\",\"\u6cd5\u56fd\",\"F\u01cegu\u00f3\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), \"\u3002\"],\n        exEn: \"Meimei is French.\" },\n      { t: \"\u6b50\u6d32\", s: \"\u6b27\u6d32\", p: \"\u014cuzh\u014du\", pos: \"Names\", meaning: \"Europe\",\n        ex: [W(\"\u6cd5\u570b\",\"\u6cd5\u56fd\",\"F\u01cegu\u00f3\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u6b50\u6d32\",\"\u6b27\u6d32\",\"\u014cuzh\u014du\"), \"\u3002\"],\n        exEn: \"France is in Europe.\" },\n      { t: \"\u60a0\u904a\u5361\", s: \"\u60a0\u6e38\u5361\", p: \"y\u014duy\u00f3uk\u01ce\", pos: \"Names\", meaning: \"EasyCard (MRT pass)\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ec\"), W(\"\u5f35\",\"\u5f20\",\"zh\u0101ng\"), W(\"\u60a0\u904a\u5361\",\"\u60a0\u6e38\u5361\",\"y\u014duy\u00f3uk\u01ce\"), \"\u3002\"],\n        exEn: \"I have an EasyCard.\" },\n      { t: \"\u7da0\u5cf6\", s: \"\u7eff\u5c9b\", p: \"L\u01dcd\u01ceo\", pos: \"Names\", meaning: \"Green Island, to the southeast of the main island\",\n        ex: [W(\"\u7da0\u5cf6\",\"\u7eff\u5c9b\",\"L\u01dcd\u01ceo\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u98a8\u666f\",\"\u98ce\u666f\",\"f\u0113ngj\u01d0ng\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u597d\u770b\",\"\u597d\u770b\",\"h\u01ceok\u00e0n\"), \"\u3002\"],\n        exEn: \"The scenery on Green Island is beautiful.\" },\n      { t: \"\u6771\u5357\u908a\", s: \"\u4e1c\u5357\u8fb9\", p: \"d\u014dngn\u00e1n bi\u0101n\", pos: \"Phrase\", meaning: \"the southeast side of\",\n        ex: [W(\"\u7da0\u5cf6\",\"\u7eff\u5c9b\",\"L\u01dcd\u01ceo\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u6771\u5357\u908a\",\"\u4e1c\u5357\u8fb9\",\"d\u014dngn\u00e1n bi\u0101n\"), \"\u3002\"],\n        exEn: \"Green Island is southeast of Taiwan.\" },\n      { t: \"\u597d\u597d\u5730\", s: \"\u597d\u597d\u5730\", p: \"h\u01ceoh\u01ceo de\", pos: \"Phrase\", meaning: \"to do something properly\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u597d\u597d\u5730\",\"\u597d\u597d\u5730\",\"h\u01ceoh\u01ceo de\"), W(\"\u73a9\",\"\u73a9\",\"w\u00e1n\"), \"\u3002\"],\n        exEn: \"I want to have a really good time.\" }\n    ]\n  };\n\n  var DIALOGUE = [\n    { speakerT: \"\u5982\u7389\", speakerS: \"\u5982\u7389\",\n      tokens: [W(\"\u65e9\",\"\u65e9\",\"Z\u01ceo\"), \"\uff0c\", W(\"\u7f8e\u7f8e\",\"\u7f8e\u7f8e\",\"M\u011bim\u011bi\"), \"\uff01\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), WD(\"\u54ea\u88e1\",\"\u54ea\u91cc\",\"n\u01cel\u01d0\",\"n\u01celi\"), \"\uff1f\"],\n      en: \"Good morning, Meimei! Where are you going?\" },\n    { speakerT: \"\u7f8e\u7f8e\", speakerS: \"\u7f8e\u7f8e\",\n      tokens: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u7b49\u4e00\u4e0b\",\"\u7b49\u4e00\u4e0b\",\"d\u011bng y\u00edxi\u00e0\"), W(\"\u7d04\",\"\u7ea6\",\"yu\u0113\"), W(\"\u4e86\",\"\u4e86\",\"le\"), WD(\"\u670b\u53cb\",\"\u670b\u53cb\",\"p\u00e9ngy\u01d2u\",\"p\u00e9ngyou\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u96fb\u8166\u5c55\",\"\u7535\u8111\u5c55\",\"di\u00e0nn\u01ceo zh\u01cen\"), \"\u3002\"],\n      en: \"I'm meeting a friend at the computer show in a bit.\" },\n    { speakerT: \"\u5982\u7389\", speakerS: \"\u5982\u7389\",\n      tokens: [W(\"\u96fb\u8166\u5c55\",\"\u7535\u8111\u5c55\",\"Di\u00e0nn\u01ceo zh\u01cen\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), WD(\"\u54ea\u88e1\",\"\u54ea\u91cc\",\"n\u01cel\u01d0\",\"n\u01celi\"), \"\uff1f\"],\n      en: \"Where is the computer show?\" },\n    { speakerT: \"\u7f8e\u7f8e\", speakerS: \"\u7f8e\u7f8e\",\n      tokens: [W(\"\u5728\",\"\u5728\",\"Z\u00e0i\"), W(\"\u4e16\u8cbf\u5c55\u89bd\u9928\",\"\u4e16\u8d38\u5c55\u89c8\u9986\",\"Sh\u00ecm\u00e0o Zh\u01cenl\u01cen Gu\u01cen\"), \"\uff0c\", W(\"\u5c31\",\"\u5c31\",\"ji\u00f9\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u53f0\u5317101\",\"\u53f0\u5317101\",\"T\u00e1ib\u011bi 101\"), W(\"\u5c0d\u9762\",\"\u5bf9\u9762\",\"du\u00ecmi\u00e0n\"), \"\u3002\"],\n      en: \"At the World Trade Center Exhibition Hall, right across from Taipei 101.\" },\n    { speakerT: \"\u5982\u7389\", speakerS: \"\u5982\u7389\",\n      tokens: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u642d\",\"\u642d\",\"d\u0101\"), W(\"\u5df4\u58eb\",\"\u5df4\u58eb\",\"b\u0101sh\u00ec\"), \"\uff0c\", W(\"\u9084\u662f\",\"\u8fd8\u662f\",\"h\u00e1ish\u00ec\"), W(\"\u642d\",\"\u642d\",\"d\u0101\"), WD(\"\u6377\u904b\",\"\u5730\u94c1\",\"ji\u00e9y\u00f9n\",\"d\u00ecti\u011b\"), \"\uff1f\"],\n      en: \"Are you taking the bus or the MRT?\" },\n    { speakerT: \"\u7f8e\u7f8e\", speakerS: \"\u7f8e\u7f8e\",\n      tokens: [W(\"\u5df4\u58eb\",\"\u5df4\u58eb\",\"B\u0101sh\u00ec\"), \"\uff0c\", W(\"40\u5206\u9418\",\"40\u5206\u949f\",\"s\u00ecsh\u00ed f\u0113nzh\u014dng\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ec\"), W(\"\u73ed\",\"\u73ed\",\"b\u0101n\"), \"\uff0c\", W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u4e45\",\"\u4e45\",\"ji\u01d4\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u5f97\",\"\u5f97\",\"d\u011bi\"), W(\"\u8d95\u5feb\",\"\u8d76\u5feb\",\"g\u01cenku\u00e0i\"), W(\"\u8d70\",\"\u8d70\",\"z\u01d2u\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n      en: \"The bus \u2014 one every 40 minutes, that's a long wait. I'd better hurry off.\" },\n    { speakerT: \"\u5982\u7389\", speakerS: \"\u5982\u7389\",\n      tokens: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u70ba\u4ec0\u9ebc\",\"\u4e3a\u4ec0\u4e48\",\"w\u00e8ish\u00e9nme\"), W(\"\u642d\",\"\u642d\",\"d\u0101\"), W(\"\u5df4\u58eb\",\"\u5df4\u58eb\",\"b\u0101sh\u00ec\"), \"\uff0c\", W(\"\u5df4\u58eb\",\"\u5df4\u58eb\",\"b\u0101sh\u00ec\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), WD(\"\u9ebb\u7169\",\"\u9ebb\u70e6\",\"m\u00e1f\u00e1n\",\"m\u00e1fan\"), \"\uff0c\", WD(\"\u6377\u904b\",\"\u5730\u94c1\",\"ji\u00e9y\u00f9n\",\"d\u00ecti\u011b\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u73ed\u6b21\",\"\u73ed\u6b21\",\"b\u0101nc\u00ec\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), \"\uff0c\", W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u4e0d\u5fc5\",\"\u4e0d\u5fc5\",\"b\u00fab\u00ec\"), W(\"\u63db\",\"\u6362\",\"hu\u00e0n\"), W(\"\u8eca\",\"\u8f66\",\"ch\u0113\"), \"\uff0c\", W(\"2\u865f\u7dda\",\"2\u53f7\u7ebf\",\"\u00e8r h\u00e0o xi\u00e0n\"), W(\"\u76f4\u63a5\",\"\u76f4\u63a5\",\"zh\u00edji\u0113\"), W(\"\u5230\",\"\u5230\",\"d\u00e0o\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u9084\u662f\",\"\u8fd8\u662f\",\"h\u00e1ish\u00ec\"), W(\"\u642d\",\"\u642d\",\"d\u0101\"), WD(\"\u6377\u904b\",\"\u5730\u94c1\",\"ji\u00e9y\u00f9n\",\"d\u00ecti\u011b\"), W(\"\u5427\",\"\u5427\",\"ba\"), \"\u3002\"],\n      en: \"Why are you taking the bus? The bus is such a hassle \u2014 the MRT runs more often and you don't need to transfer either. Line 2 goes straight there, you'd better take the MRT.\" },\n    { speakerT: \"\u7f8e\u7f8e\", speakerS: \"\u7f8e\u7f8e\",\n      tokens: [W(\"\u597d\",\"\u597d\",\"H\u01ceo\"), \"\uff0c\", W(\"\u8eca\u7ad9\",\"\u8f66\u7ad9\",\"ch\u0113zh\u00e0n\"), W(\"\u9060\",\"\u8fdc\",\"yu\u01cen\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u9060\",\"\u8fdc\",\"yu\u01cen\"), \"\uff1f\"],\n      en: \"OK. Is the station far?\" },\n    { speakerT: \"\u5982\u7389\", speakerS: \"\u5982\u7389\",\n      tokens: [W(\"\u4e0d\",\"\u4e0d\",\"B\u00f9\"), W(\"\u9060\",\"\u8fdc\",\"yu\u01cen\"), \"\uff0c\", W(\"\u5c31\",\"\u5c31\",\"ji\u00f9\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u524d\u9762\",\"\u524d\u9762\",\"qi\u00e1nmi\u00e0n\"), \"\uff0c\", W(\"\u8d70\u8def\",\"\u8d70\u8def\",\"z\u01d2ul\u00f9\"), W(\"5\",\"5\",\"w\u01d4\"), W(\"\u5206\u9418\",\"\u5206\u949f\",\"f\u0113nzh\u014dng\"), W(\"\u5427\",\"\u5427\",\"ba\"), \"\u3002\"],\n      en: \"Not far, just ahead \u2014 about a 5-minute walk.\" },\n    { speakerT: \"\u7f8e\u7f8e\", speakerS: \"\u7f8e\u7f8e\",\n      tokens: [W(\"\u597d\",\"\u597d\",\"H\u01ceo\"), \"\uff0c\", W(\"\u9019\u6a23\",\"\u8fd9\u6837\",\"zh\u00e8y\u00e0ng\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u5c31\",\"\u5c31\",\"ji\u00f9\"), W(\"\u4e0d\u7528\",\"\u4e0d\u7528\",\"b\u00fay\u00f2ng\"), W(\"\u90a3\u9ebc\",\"\u90a3\u4e48\",\"n\u00e0me\"), W(\"\u8d95\",\"\u8d76\",\"g\u01cen\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n      en: \"OK, that way I won't have to rush so much.\" },\n    { speakerT: \"\u5982\u7389\", speakerS: \"\u5982\u7389\",\n      tokens: [W(\"\u7f8e\u7f8e\",\"\u7f8e\u7f8e\",\"M\u011bim\u011bi\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u89ba\u5f97\",\"\u89c9\u5f97\",\"ju\u00e9de\"), W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4ea4\u901a\",\"\u4ea4\u901a\",\"ji\u0101ot\u014dng\"), W(\"\u600e\u9ebc\u6a23\",\"\u600e\u4e48\u6837\",\"z\u011bnmey\u00e0ng\"), \"\uff1f\"],\n      en: \"Meimei, what do you think of transportation in Taipei?\" },\n    { speakerT: \"\u7f8e\u7f8e\", speakerS: \"\u7f8e\u7f8e\",\n      tokens: [W(\"\u5f88\",\"\u5f88\",\"H\u011bn\"), W(\"\u4fbf\u5229\",\"\u4fbf\u5229\",\"bi\u00e0nl\u00ec\"), \"\uff0c\", W(\"\u5230\u8655\",\"\u5230\u5904\",\"d\u00e0och\u00f9\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u5df4\u58eb\",\"\u5df4\u58eb\",\"b\u0101sh\u00ec\"), W(\"\u548c\",\"\u548c\",\"h\u00e0n\"), WD(\"\u6377\u904b\",\"\u5730\u94c1\",\"ji\u00e9y\u00f9n\",\"d\u00ecti\u011b\"), \"\uff0c\", W(\"\u8def\u7dda\",\"\u8def\u7ebf\",\"l\u00f9xi\u00e0n\"), W(\"\u4e00\u9ede\",\"\u4e00\u70b9\",\"y\u00ec di\u01cen\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u8907\u96dc\",\"\u590d\u6742\",\"f\u00f9z\u00e1\"), \"\u3002\"],\n      en: \"Very convenient. There are buses and MRT everywhere, and the routes are not complicated at all.\" },\n    { speakerT: \"\u5982\u7389\", speakerS: \"\u5982\u7389\",\n      tokens: [W(\"\u51fa\u570b\",\"\u51fa\u56fd\",\"Ch\u016bgu\u00f3\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u65b9\u4fbf\",\"\u65b9\u4fbf\",\"f\u0101ngbi\u00e0n\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u6c92\",\"\u6ca1\",\"m\u00e9i\"), W(\"\u60f3\u5230\",\"\u60f3\u5230\",\"xi\u01cengd\u00e0o\"), W(\"\u9019\u9ebc\",\"\u8fd9\u4e48\",\"zh\u00e8me\"), W(\"\u5c0f\",\"\u5c0f\",\"xi\u01ceo\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u570b\u5bb6\",\"\u56fd\u5bb6\",\"gu\u00f3ji\u0101\"), \"\uff0c\", W(\"\u4f46\u662f\",\"\u4f46\u662f\",\"d\u00e0nsh\u00ec\"), W(\"\u5230\",\"\u5230\",\"d\u00e0o\"), W(\"\u5927\",\"\u5927\",\"d\u00e0\"), W(\"\u570b\",\"\u56fd\",\"gu\u00f3\"), W(\"\u98db\u6a5f\",\"\u98de\u673a\",\"f\u0113ij\u012b\"), W(\"\u5e7e\u4e4e\",\"\u51e0\u4e4e\",\"j\u012bh\u016b\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u76f4\u98db\",\"\u76f4\u98de\",\"zh\u00edf\u0113i\"), \"\uff0c\", W(\"\u4e0d\u7528\",\"\u4e0d\u7528\",\"b\u00fay\u00f2ng\"), W(\"\u8f49\u6a5f\",\"\u8f6c\u673a\",\"zhu\u01cen j\u012b\"), \"\u3002\"],\n      en: \"Going abroad is also very convenient \u2014 I didn't expect such a small country, but flights to major countries are almost all direct, no need to transfer.\" },\n    { speakerT: \"\u7f8e\u7f8e\", speakerS: \"\u7f8e\u7f8e\",\n      tokens: [W(\"\u5c0d\",\"\u5bf9\",\"Du\u00ec\"), \"\uff0c\", W(\"\u6a5f\u5834\",\"\u673a\u573a\",\"j\u012bch\u01ceng\"), WD(\"\u6377\u904b\",\"\u5730\u94c1\",\"ji\u00e9y\u00f9n\",\"d\u00ecti\u011b\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u65b9\u4fbf\",\"\u65b9\u4fbf\",\"f\u0101ngbi\u00e0n\"), \"\u3002\"],\n      en: \"Right, the Airport MRT is also very convenient.\" },\n    { speakerT: \"\u5982\u7389\", speakerS: \"\u5982\u7389\",\n      tokens: [W(\"\u5c0d\",\"\u5bf9\",\"Du\u00ec\"), W(\"\u5c0d\",\"\u5bf9\",\"du\u00ec\"), \"\uff0c\", W(\"\u6a5f\u6377\",\"\u673a\u6377\",\"j\u012bji\u00e9\"), W(\"\u8d85\",\"\u8d85\",\"ch\u0101o\"), W(\"\u65b9\u4fbf\",\"\u65b9\u4fbf\",\"f\u0101ngbi\u00e0n\"), \"\u3002\"],\n      en: \"Right, right \u2014 the Airport MRT is super convenient.\" },\n    { speakerT: \"\u7f8e\u7f8e\", speakerS: \"\u7f8e\u7f8e\",\n      tokens: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u90a3\u6642\u5019\",\"\u90a3\u65f6\u5019\",\"n\u00e0 sh\u00edhou\"), W(\"\u8cb7\",\"\u4e70\",\"m\u01cei\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u60a0\u904a\u5361\",\"\u60a0\u6e38\u5361\",\"y\u014duy\u00f3uk\u01ce\"), W(\"\u642d\",\"\u642d\",\"d\u0101\"), W(\"\u6a5f\u6377\",\"\u673a\u6377\",\"j\u012bji\u00e9\"), W(\"\u5230\",\"\u5230\",\"d\u00e0o\"), W(\"\u5e02\u5340\",\"\u5e02\u533a\",\"sh\u00ecq\u016b\"), \"\uff0c\", W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u8f15\u9b06\",\"\u8f7b\u677e\",\"q\u012bngs\u014dng\"), W(\"\u5c31\",\"\u5c31\",\"ji\u00f9\"), W(\"\u5230\",\"\u5230\",\"d\u00e0o\"), W(\"\u5e02\u5340\",\"\u5e02\u533a\",\"sh\u00ecq\u016b\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u98ef\u5e97\",\"\u996d\u5e97\",\"f\u00e0ndi\u00e0n\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n      en: \"I bought an EasyCard back then and took the Airport MRT downtown \u2014 I got to my hotel downtown really easily.\" },\n    { speakerT: \"\u5982\u7389\", speakerS: \"\u5982\u7389\",\n      tokens: [W(\"\u5c0d\u4e86\",\"\u5bf9\u4e86\",\"Du\u00ecle\"), \"\uff01\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u60f3\",\"\u60f3\",\"xi\u01ceng\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u7da0\u5cf6\",\"\u7eff\u5c9b\",\"L\u01dcd\u01ceo\"), W(\"\u55ce\",\"\u5417\",\"ma\"), \"\uff1f\", W(\"\u90a3\",\"\u90a3\",\"n\u00e0\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u6771\u5357\u908a\",\"\u4e1c\u5357\u8fb9\",\"d\u014dngn\u00e1n bi\u0101n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5c0f\",\"\u5c0f\",\"xi\u01ceo\"), W(\"\u5cf6\",\"\u5c9b\",\"d\u01ceo\"), \"\u3002\"],\n      en: \"Oh right! Do you want to go to Green Island? It's a small island in the southeast of Taiwan.\" },\n    { speakerT: \"\u7f8e\u7f8e\", speakerS: \"\u7f8e\u7f8e\",\n      tokens: [W(\"\u4f46\u662f\",\"\u4f46\u662f\",\"D\u00e0nsh\u00ec\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u6015\",\"\u6015\",\"p\u00e0\"), W(\"\u642d\",\"\u642d\",\"d\u0101\"), W(\"\u8239\",\"\u8239\",\"chu\u00e1n\"), \"\u3002\"],\n      en: \"But I'm scared of taking a boat.\" },\n    { speakerT: \"\u5982\u7389\", speakerS: \"\u5982\u7389\",\n      tokens: [W(\"\u554a\",\"\u554a\",\"A\"), \"\uff01\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u5f97\",\"\u5f97\",\"d\u011bi\"), W(\"\u8d70\",\"\u8d70\",\"z\u01d2u\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff01\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), WD(\"\u670b\u53cb\",\"\u670b\u53cb\",\"p\u00e9ngy\u01d2u\",\"p\u00e9ngyou\"), W(\"\u96fb\u8166\u5c55\",\"\u7535\u8111\u5c55\",\"di\u00e0nn\u01ceo zh\u01cen\"), W(\"\u597d\u597d\",\"\u597d\u597d\",\"h\u01ceoh\u01ceo\"), W(\"\u73a9\",\"\u73a9\",\"w\u00e1n\"), W(\"\u5427\",\"\u5427\",\"ba\"), \"\uff01\"],\n      en: \"Ah! I have to go! Have fun with your friend at the computer show!\" },\n    { speakerT: \"\u7f8e\u7f8e\", speakerS: \"\u7f8e\u7f8e\",\n      tokens: [W(\"\u597d\",\"\u597d\",\"H\u01ceo\"), \"\uff0c\", W(\"\u8b1d\u8b1d\",\"\u8c22\u8c22\",\"xi\u00e8xie\"), \"\uff01\"],\n      en: \"OK, thanks!\" }\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=\"d22-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=\"d22-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=\"d22-word-card\">' +\n        '<div class=\"d22-word-top\">' +\n          '<span class=\"d22-num\">' + num + '<\/span>' +\n          '<span class=\"d22-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>' +\n          '<span class=\"d22-pos\">' + w.pos + '<\/span>' +\n          '<span class=\"d22-meaning\">' + w.meaning + '<\/span>' +\n          '<button class=\"d22-speaker\" data-trad=\"' + w.t + '\" data-simp=\"' + w.s + '\" aria-label=\"Play pronunciation\">' + SPEAKER_SVG + '<\/button>' +\n        '<\/div>' +\n        '<div class=\"d22-example\">' +\n          renderTokens(w.ex) +\n          '<span class=\"d22-en\">' + w.exEn + '<\/span>' +\n        '<\/div>' +\n      '<\/div>';\n    });\n    container.innerHTML = html;\n  });\n\n  var dialogueEl = root.querySelector('#d22-dialogue');\n  if (dialogueEl) {\n    var dHtml = '';\n    DIALOGUE.forEach(function (line) {\n      dHtml += '<div class=\"d22-line\">' +\n        '<span class=\"d22-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=\"d22-line-body\">' +\n          renderTokens(line.tokens) +\n          '<span class=\"d22-line-en\">' + line.en + '<\/span>' +\n        '<\/span>' +\n      '<\/div>';\n    });\n    dialogueEl.innerHTML = dHtml;\n  }\n\n  \/\/ ---- Pinyin sync with the site's Pinyin Display toggle ----\n  \/\/ The site's toggle tags existing <rt> elements with \"hidden\" or \"mouseover\".\n  \/\/ Content we re-render later (flashcard, Match It tiles) wouldn't get those\n  \/\/ classes, so we read the current mode off a static reference <rt> in the\n  \/\/ word list and copy it over whenever we re-render or the mode changes.\n  var pyRefRt = root.querySelector('#d22-word-list-1 rt');\n\n  function getPinyinMode() {\n    if (!pyRefRt) return 'show';\n    if (pyRefRt.classList.contains('hidden')) return 'hidden';\n    if (pyRefRt.classList.contains('mouseover')) return 'mouseover';\n    return 'show';\n  }\n\n  function syncPinyin() {\n    var mode = getPinyinMode();\n    var isHidden = (mode === 'hidden');\n    var isMouse = (mode === 'mouseover');\n    var fcWrap = root.querySelector('.d22-flashcard-wrap');\n    if (fcWrap) {\n      fcWrap.querySelectorAll('rt').forEach(function (rt) {\n        rt.classList.toggle('hidden', isHidden);\n        rt.classList.toggle('mouseover', isMouse);\n      });\n    }\n    root.classList.toggle('d22-py-hidden', isHidden);\n    root.classList.toggle('d22-py-mouseover', isMouse);\n  }\n\n  if (pyRefRt) {\n    if ('MutationObserver' in window) {\n      new MutationObserver(syncPinyin).observe(pyRefRt, { attributes: true, attributeFilter: ['class'] });\n    }\n  }\n\n  \/\/ ---- Flashcards ----\n  var fcCard = root.querySelector('#d22-flashcard');\n  var fcFront = root.querySelector('#d22-fc-front');\n  var fcBack = root.querySelector('#d22-fc-back');\n  var fcProgress = root.querySelector('#d22-fc-progress');\n  var fcPrevBtn = root.querySelector('#d22-fc-prev');\n  var fcNextBtn = root.querySelector('#d22-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=\"d22-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>';\n    fcBack.innerHTML = '<span class=\"d22-meaning\">' + w.meaning + '<\/span><span class=\"d22-pos\">' + w.pos + '<\/span>';\n    if (fcProgress) fcProgress.textContent = (fcIndex + 1) + ' \/ ' + ALL_WORDS.length;\n    if (fcCard) fcCard.classList.remove('d22-flipped');\n    fcFlipped = false;\n    syncPinyin();\n  }\n\n  if (fcCard) {\n    fcCard.addEventListener('click', function () {\n      fcFlipped = !fcFlipped;\n      fcCard.classList.toggle('d22-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('#d22-game-col-zh');\n  var gameColEn = root.querySelector('#d22-game-col-en');\n  var gameStatus = root.querySelector('#d22-game-status');\n  var gameWin = root.querySelector('#d22-game-win');\n  var gameNewBtn = root.querySelector('#d22-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('d22-show');\n\n    var zhOrder = shuffle(gameRound);\n    var enOrder = shuffle(gameRound);\n\n    gameColZh.innerHTML = zhOrder.map(function (w) {\n      return '<button class=\"d22-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=\"d22-tile-py\">' + (w.pt || w.p) + '<\/span>' +\n      '<\/button>';\n    }).join('');\n\n    gameColEn.innerHTML = enOrder.map(function (w) {\n      return '<button class=\"d22-tile\" data-id=\"' + w.t + '\" data-side=\"en\">' + w.meaning + '<\/button>';\n    }).join('');\n\n    updateGameStatus();\n    syncPinyin();\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('d22-matched')) return;\n    var side = tile.getAttribute('data-side');\n\n    if (side === 'zh') {\n      if (gameSelectedZh) gameSelectedZh.classList.remove('d22-selected');\n      gameSelectedZh = tile;\n      tile.classList.add('d22-selected');\n    } else {\n      if (gameSelectedEn) gameSelectedEn.classList.remove('d22-selected');\n      gameSelectedEn = tile;\n      tile.classList.add('d22-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('d22-selected');\n          gameSelectedEn.classList.remove('d22-selected');\n          gameSelectedZh.classList.add('d22-matched');\n          gameSelectedEn.classList.add('d22-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('d22-show');\n            }\n          }\n        } else {\n          gameBusy = true;\n          var z = gameSelectedZh, en = gameSelectedEn;\n          z.classList.add('d22-wrong');\n          en.classList.add('d22-wrong');\n          setTimeout(function () {\n            z.classList.remove('d22-selected', 'd22-wrong');\n            en.classList.remove('d22-selected', 'd22-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('.d22-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\\\">\u7d04<\/span><span class=\\\"lang-zh-CN\\\">\u7ea6<\/span> means...\", options: [\"to invite someone to do something at a specific time\", \"to see\", \"to take (bus, boat, plane)\", \"to transfer\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u5c0d\u9762<\/span><span class=\\\"lang-zh-CN\\\">\u5bf9\u9762<\/span>.\", accept: [\"duimian\"] },\n    { type: 'mc', prompt: \"Which word means \\\"no need to, not necessary to\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u4e0d\u5fc5<\/span><span class=\\\"lang-zh-CN\\\">\u4e0d\u5fc5<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u8d95\u5feb<\/span><span class=\\\"lang-zh-CN\\\">\u8d76\u5feb<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u5225\u6025<\/span><span class=\\\"lang-zh-CN\\\">\u522b\u6025<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u9ebb\u7169<\/span><span class=\\\"lang-zh-CN\\\">\u9ebb\u70e6<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u63db<\/span><span class=\\\"lang-zh-CN\\\">\u6362<\/span> (transportation).\", accept: [\"transfer\", \"to transfer\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u9ebb\u7169<\/span><span class=\\\"lang-zh-CN\\\">\u9ebb\u70e6<\/span> means...\", options: [\"troublesome\", \"convenient\", \"complicated\", \"directly\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u8d95\u5feb<\/span><span class=\\\"lang-zh-CN\\\">\u8d76\u5feb<\/span>.\", accept: [\"gankuai\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u73ed\u6b21<\/span><span class=\\\"lang-zh-CN\\\">\u73ed\u6b21<\/span> means...\", options: [\"number of scheduled runs\", \"week\", \"airport\", \"route\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u79ae\u62dc<\/span><span class=\\\"lang-zh-CN\\\">\u793c\u62dc<\/span>.\", accept: [\"week\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u5225\u6025<\/span><span class=\\\"lang-zh-CN\\\">\u522b\u6025<\/span> means...\", options: [\"No need to hurry. Take your time.\", \"Good morning.\", \"to leave, to bid farewell\", \"to see\"], answer: 0 },\n    { type: 'mc', prompt: \"Which verb means \\\"to take (bus, boat, plane, taxi)\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u642d<\/span><span class=\\\"lang-zh-CN\\\">\u642d<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u63db<\/span><span class=\\\"lang-zh-CN\\\">\u6362<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u7d04<\/span><span class=\\\"lang-zh-CN\\\">\u7ea6<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u898b<\/span><span class=\\\"lang-zh-CN\\\">\u89c1<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u8f15\u9b06<\/span><span class=\\\"lang-zh-CN\\\">\u8f7b\u677e<\/span>.\", accept: [\"qingsong\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u8907\u96dc<\/span><span class=\\\"lang-zh-CN\\\">\u590d\u6742<\/span> means...\", options: [\"complicated\", \"convenient\", \"troublesome\", \"with ease\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u6a5f\u5834<\/span><span class=\\\"lang-zh-CN\\\">\u673a\u573a<\/span>.\", accept: [\"airport\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u7da0\u5cf6<\/span><span class=\\\"lang-zh-CN\\\">\u7eff\u5c9b<\/span> is...\", options: [\"Green Island\", \"Taipei 101\", \"EasyCard\", \"Europe\"], answer: 0 },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u597d\u597d\u5730<\/span><span class=\\\"lang-zh-CN\\\">\u597d\u597d\u5730<\/span> means...\", options: [\"to do something properly\", \"everywhere\", \"with ease\", \"directly\"], answer: 0 }\n  ];\n\n  function stripTones(s) {\n    return s.normalize('NFD').replace(\/[\\u0300-\\u036f]\/g, '').toLowerCase().replace(\/[^a-z0-9]\/g, '');\n  }\n\n  (function initQuiz() {\n    var qRoot = root.querySelector('#d22-quiz');\n    if (!qRoot) return;\n    var current = 0;\n    var score = 0;\n    var answered = false;\n\n    function render() {\n      if (current >= QUIZ_DATA.length) { renderScore(); return; }\n      var q = QUIZ_DATA[current];\n      answered = false;\n      var html = '<p class=\"d22-quiz-progress\">Question ' + (current + 1) + ' of ' + QUIZ_DATA.length + '<\/p>';\n      html += '<p class=\"d22-quiz-prompt\">' + q.prompt + '<\/p>';\n      if (q.type === 'mc') {\n        html += '<div class=\"d22-quiz-options\">';\n        var optOrder = shuffle(q.options.map(function (o, k) { return k; }));\n        for (var oi = 0; oi < optOrder.length; oi++) {\n          var i = optOrder[oi];\n          html += '<button type=\"button\" class=\"d22-quiz-opt\" data-i=\"' + i + '\">' + q.options[i] + '<\/button>';\n        }\n        html += '<\/div>';\n      } else {\n        html += '<div class=\"d22-quiz-input-row\">';\n        html += '<input type=\"text\" class=\"d22-quiz-input\" placeholder=\"Type your answer\">';\n        html += '<button type=\"button\" class=\"d22-quiz-submit\">Submit<\/button>';\n        html += '<\/div>';\n      }\n      html += '<p class=\"d22-quiz-feedback\"><\/p>';\n      html += '<button type=\"button\" class=\"d22-quiz-next\" style=\"display:none;\">Next<\/button>';\n      qRoot.innerHTML = html;\n\n      if (q.type === 'mc') {\n        var opts = qRoot.querySelectorAll('.d22-quiz-opt');\n        opts.forEach(function (btn) {\n          btn.addEventListener('click', function () {\n            if (answered) return;\n            answered = true;\n            var i = parseInt(this.getAttribute('data-i'), 10);\n            var correct = i === q.answer;\n            if (correct) score++;\n            opts.forEach(function (b) {\n              var bi = parseInt(b.getAttribute('data-i'), 10);\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            showFeedback(correct);\n          });\n        });\n      } else {\n        var input = qRoot.querySelector('.d22-quiz-input');\n        var submitBtn = qRoot.querySelector('.d22-quiz-submit');\n        function submit() {\n          if (answered) return;\n          answered = true;\n          var val = stripTones(input.value || '');\n          var correct = q.accept.indexOf(val) !== -1;\n          if (correct) score++;\n          input.setAttribute('disabled', 'disabled');\n          submitBtn.setAttribute('disabled', 'disabled');\n          showFeedback(correct, q.accept[0]);\n        }\n        submitBtn.addEventListener('click', submit);\n        input.addEventListener('keydown', function (e) { if (e.key === 'Enter') submit(); });\n      }\n\n      function showFeedback(correct, correctAnswer) {\n        var fb = qRoot.querySelector('.d22-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 = 'd22-quiz-feedback ' + (correct ? 'correct' : 'incorrect');\n        var nextBtn = qRoot.querySelector('.d22-quiz-next');\n        nextBtn.style.display = 'inline-block';\n        nextBtn.addEventListener('click', function () { current++; render(); });\n      }\n    }\n\n    function renderScore() {\n      qRoot.innerHTML =\n        '<div class=\"d22-quiz-score\">' +\n        '<span class=\"d22-quiz-score-num\">' + score + ' \/ ' + QUIZ_DATA.length + '<\/span>' +\n        '<p>Nice work! Want to try again?<\/p>' +\n        '<button type=\"button\" class=\"d22-quiz-retake\">Retake Quiz<\/button>' +\n        '<\/div>';\n      qRoot.querySelector('.d22-quiz-retake').addEventListener('click', function () {\n        current = 0; score = 0; render();\n      });\n    }\n\n    render();\n  })();\n\n  \/\/ Speaker buttons (event delegation, Web Speech API)\n  root.addEventListener('click', function (e) {\n    var btn = e.target.closest('.d22-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  \/\/ Keep dynamically re-rendered spans (quiz, match-it, flashcards) in step with the site's Text Display choice\n  function syncScript() {\n    var refCN = root.querySelector('.d22-lede .lang-zh-CN');\n    var refTW = root.querySelector('.d22-lede .lang-zh-TW');\n    if (!refCN) return;\n    if (!refTW) return;\n    var cnVis = refCN.offsetParent !== null;\n    var twVis = refTW.offsetParent !== null;\n    if (cnVis === twVis) return;\n    var scopes = root.querySelectorAll('.d22-quiz, .d22-game-board, .d22-flashcard');\n    scopes.forEach(function (sc) {\n      sc.querySelectorAll('.lang-zh-TW').forEach(function (el) { el.style.display = twVis ? '' : 'none'; });\n      sc.querySelectorAll('.lang-zh-CN').forEach(function (el) { el.style.display = cnVis ? '' : 'none'; });\n    });\n  }\n  root.addEventListener('click', function () { setTimeout(syncScript, 0); });\n  setInterval(syncScript, 400);\n  syncScript();\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-2\/\"><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":"<p>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. \u7576\u4ee3\u4e2d\u6587\u8ab2\u7a0b\u5f53\u4ee3\u4e2d\u6587\u8bfe\u7a0b Book 2 \u00b7 Lesson 2\u300c\u9084\u662f\u5750\u6377\u904b\u5427\uff01\u8fd8\u662f\u5750\u6377\u8fd0\u5427\uff01\u300dTake the MRT Instead! \u2014 every word from \u751f\u8a5e\u4e00 and \u751f\u8a5e\u4e8c (Vocabulary I &amp;&#8230;<\/p>\n","protected":false},"author":2,"featured_media":11596,"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":[1089],"tags":[],"class_list":["post-13159","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1089"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>B2 L2 Vocabulary and Practice - OneDotDot Chinese<\/title>\n<meta name=\"description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e8c\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 2\" \/>\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\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"B2 L2 Vocabulary and Practice - OneDotDot Chinese\" \/>\n<meta property=\"og:description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e8c\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 2\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/\" \/>\n<meta property=\"og:site_name\" content=\"OneDotDot Chinese\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-05T05:33:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-09T14:54:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/11\/\u7576\u4ee3\u4e2d\u65872.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\\\/09\\\/05\\\/contemporary-chinese-vocabulary-practice-b2l2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/05\\\/contemporary-chinese-vocabulary-practice-b2l2\\\/\"},\"author\":{\"name\":\"tiffany\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"headline\":\"B2 L2 Vocabulary and Practice\",\"datePublished\":\"2025-09-05T05:33:22+00:00\",\"dateModified\":\"2026-10-09T14:54:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/05\\\/contemporary-chinese-vocabulary-practice-b2l2\\\/\"},\"wordCount\":217,\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/05\\\/contemporary-chinese-vocabulary-practice-b2l2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/\u7576\u4ee3\u4e2d\u65872.jpg\",\"articleSection\":[\"\u7576\u4ee3\u4e2d\u6587 2\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/05\\\/contemporary-chinese-vocabulary-practice-b2l2\\\/\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/05\\\/contemporary-chinese-vocabulary-practice-b2l2\\\/\",\"name\":\"B2 L2 Vocabulary and Practice - OneDotDot Chinese\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/05\\\/contemporary-chinese-vocabulary-practice-b2l2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/05\\\/contemporary-chinese-vocabulary-practice-b2l2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/\u7576\u4ee3\u4e2d\u65872.jpg\",\"datePublished\":\"2025-09-05T05:33:22+00:00\",\"dateModified\":\"2026-10-09T14:54:59+00:00\",\"description\":\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e8c\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 2\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/05\\\/contemporary-chinese-vocabulary-practice-b2l2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/05\\\/contemporary-chinese-vocabulary-practice-b2l2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/05\\\/contemporary-chinese-vocabulary-practice-b2l2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/\u7576\u4ee3\u4e2d\u65872.jpg\",\"contentUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/\u7576\u4ee3\u4e2d\u65872.jpg\",\"width\":800,\"height\":300,\"caption\":\"Contemporary Chinese Book 2\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/05\\\/contemporary-chinese-vocabulary-practice-b2l2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"B2 L2 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":"B2 L2 Vocabulary and Practice - OneDotDot Chinese","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e8c\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 2","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\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/","og_locale":"en_US","og_type":"article","og_title":"B2 L2 Vocabulary and Practice - OneDotDot Chinese","og_description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e8c\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 2","og_url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/","og_site_name":"OneDotDot Chinese","article_published_time":"2025-09-05T05:33:22+00:00","article_modified_time":"2026-10-09T14:54:59+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/11\/\u7576\u4ee3\u4e2d\u65872.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\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/#article","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/"},"author":{"name":"tiffany","@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"headline":"B2 L2 Vocabulary and Practice","datePublished":"2025-09-05T05:33:22+00:00","dateModified":"2026-10-09T14:54:59+00:00","mainEntityOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/"},"wordCount":217,"publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/11\/\u7576\u4ee3\u4e2d\u65872.jpg","articleSection":["\u7576\u4ee3\u4e2d\u6587 2"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/","url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/","name":"B2 L2 Vocabulary and Practice - OneDotDot Chinese","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/#primaryimage"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/11\/\u7576\u4ee3\u4e2d\u65872.jpg","datePublished":"2025-09-05T05:33:22+00:00","dateModified":"2026-10-09T14:54:59+00:00","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e8c\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 2","breadcrumb":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/#primaryimage","url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/11\/\u7576\u4ee3\u4e2d\u65872.jpg","contentUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/11\/\u7576\u4ee3\u4e2d\u65872.jpg","width":800,"height":300,"caption":"Contemporary Chinese Book 2"},{"@type":"BreadcrumbList","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/05\/contemporary-chinese-vocabulary-practice-b2l2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/tiffanysmandarin.com\/"},{"@type":"ListItem","position":2,"name":"B2 L2 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\/11\/\u7576\u4ee3\u4e2d\u65872.jpg","_links":{"self":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/13159","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=13159"}],"version-history":[{"count":4,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/13159\/revisions"}],"predecessor-version":[{"id":18107,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/13159\/revisions\/18107"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/media\/11596"}],"wp:attachment":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/media?parent=13159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/categories?post=13159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/tags?post=13159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}