{"id":13192,"date":"2025-09-19T22:53:26","date_gmt":"2025-09-19T14:53:26","guid":{"rendered":"https:\/\/tiffanysmandarin.com\/?p=13192"},"modified":"2026-10-09T22:55:04","modified_gmt":"2026-10-09T14:55:04","slug":"contemporary-chinese-vocabulary-practice-b2l3","status":"publish","type":"post","link":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/19\/contemporary-chinese-vocabulary-practice-b2l3\/","title":{"rendered":"B2 L3 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 3 \u300c\u4f60\u7684\u4e2d\u6587\u9032\u6b65\u4e86\uff01\u300d Your Chinese Has Improved! \u2014 Vocabulary Embed\n  Same technical pattern as the Book 1 embeds (scoped CSS --d23-*, id #dangdai-b2l3-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 d23-py-hidden \/ d23-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-b2l3-vocab-embed\" id=\"dangdai-b2l3-vocab-embed-1\">\n<style>\n.dangdai-b2l3-vocab-embed {\n  --d23-oxblood: #7b2d26;\n  --d23-oxblood-dark: #5e211c;\n  --d23-mustard: #c9922b;\n  --d23-sage: #7c8b6f;\n  --d23-bone: #f7f1e6;\n  --d23-ink: #2c2620;\n  --d23-line: #e4d9c4;\n  font-family: 'Work Sans', -apple-system, sans-serif;\n  color: var(--d23-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-b2l3-vocab-embed * { box-sizing: border-box; }\n.dangdai-b2l3-vocab-embed h1,\n.dangdai-b2l3-vocab-embed h2,\n.dangdai-b2l3-vocab-embed h3 {\n  font-family: 'Bitter', Georgia, serif;\n  color: var(--d23-oxblood-dark);\n  margin: 0 0 8px;\n}\n.dangdai-b2l3-vocab-embed .d23-support-note {\n  font-size: 0.85rem;\n  color: var(--d23-sage);\n  border-bottom: 1px solid var(--d23-line);\n  padding-bottom: 12px;\n  margin: 0 0 16px;\n}\n.dangdai-b2l3-vocab-embed .d23-lede {\n  margin: 0 0 24px;\n  padding: 14px 16px;\n  background: var(--d23-bone);\n  border-left: 4px solid var(--d23-mustard);\n  border-radius: 4px;\n  font-size: 0.98rem;\n}\n.dangdai-b2l3-vocab-embed .d23-lede b { color: var(--d23-oxblood-dark); }\n.dangdai-b2l3-vocab-embed .d23-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(--d23-oxblood);\n  padding: 3px 9px;\n  border-radius: 3px;\n  margin: 32px 0 10px;\n}\n.dangdai-b2l3-vocab-embed .d23-word-card {\n  border: 1px solid var(--d23-line);\n  border-radius: 8px;\n  padding: 12px 14px;\n  margin-bottom: 10px;\n  background: #fff;\n}\n.dangdai-b2l3-vocab-embed .d23-word-top {\n  display: flex;\n  align-items: baseline;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n.dangdai-b2l3-vocab-embed .d23-num {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.75rem;\n  color: var(--d23-mustard);\n  min-width: 22px;\n}\n.dangdai-b2l3-vocab-embed .d23-hanzi { font-size: 1.35rem; font-weight: 600; }\n.dangdai-b2l3-vocab-embed .d23-pos {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: #fff;\n  background: var(--d23-sage);\n  padding: 2px 7px;\n  border-radius: 10px;\n}\n.dangdai-b2l3-vocab-embed ruby {\n  ruby-position: over;\n  margin-right: 2px;\n  color: var(--d23-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b2l3-vocab-embed .rb {\n  color: var(--d23-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b2l3-vocab-embed rt {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.6rem !important;\n  color: var(--d23-sage) !important;\n  font-weight: 400;\n}\n.dangdai-b2l3-vocab-embed rt.hidden { display: none; }\n.dangdai-b2l3-vocab-embed rt.mouseover { opacity: 0; }\n.dangdai-b2l3-vocab-embed rt.mouseover:hover { opacity: 1; }\n.dangdai-b2l3-vocab-embed .d23-meaning { font-style: italic; color: #6b5f52; font-size: 0.92rem; }\n.dangdai-b2l3-vocab-embed .d23-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(--d23-bone);\n  color: var(--d23-oxblood);\n  border-radius: 50%;\n  cursor: pointer;\n  margin-left: auto;\n}\n.dangdai-b2l3-vocab-embed .d23-speaker:hover { background: var(--d23-mustard); color: #fff; }\n.dangdai-b2l3-vocab-embed .d23-example {\n  margin-top: 8px;\n  padding-top: 8px;\n  border-top: 1px dashed var(--d23-line);\n  font-size: 0.95rem;\n}\n.dangdai-b2l3-vocab-embed .d23-example .d23-sent-word { display: inline-flex; }\n.dangdai-b2l3-vocab-embed .d23-example .d23-punct { margin-right: 2px; }\n.dangdai-b2l3-vocab-embed .d23-example .d23-en {\n  display: block;\n  color: #6b5f52;\n  font-size: 0.85rem;\n  margin-top: 4px;\n}\n.dangdai-b2l3-vocab-embed .d23-dialogue-note { font-size: 0.85rem; color: #6b5f52; margin: 0 0 10px; }\n.dangdai-b2l3-vocab-embed .d23-dialogue {\n  background: var(--d23-bone);\n  border-radius: 8px;\n  padding: 16px 18px;\n  margin-top: 8px;\n}\n.dangdai-b2l3-vocab-embed .d23-line {\n  display: flex;\n  gap: 8px;\n  margin-bottom: 12px;\n  align-items: flex-start;\n  flex-wrap: wrap;\n}\n.dangdai-b2l3-vocab-embed .d23-speaker-tag {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.72rem;\n  color: var(--d23-oxblood);\n  min-width: 46px;\n  padding-top: 3px;\n}\n.dangdai-b2l3-vocab-embed .d23-line-body { flex: 1; min-width: 200px; }\n.dangdai-b2l3-vocab-embed .d23-line-en { display: block; color: #6b5f52; font-size: 0.82rem; margin-top: 2px; }\n\n.dangdai-b2l3-vocab-embed .d23-fc-hint { font-size: 0.85rem; color: #6b5f52; margin: 0 0 12px; text-align: center; }\n.dangdai-b2l3-vocab-embed .d23-flashcard-wrap { max-width: 320px; margin: 0 auto 14px; perspective: 1200px; }\n.dangdai-b2l3-vocab-embed .d23-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-b2l3-vocab-embed .d23-flashcard.d23-flipped { transform: rotateY(180deg); }\n.dangdai-b2l3-vocab-embed .d23-fc-face {\n  position: absolute;\n  inset: 0;\n  backface-visibility: hidden;\n  border: 1px solid var(--d23-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-b2l3-vocab-embed .d23-fc-back { transform: rotateY(180deg); background: var(--d23-bone); }\n.dangdai-b2l3-vocab-embed .d23-fc-front .d23-hanzi { font-size: 4rem !important; }\n.dangdai-b2l3-vocab-embed .d23-flashcard-wrap rt { font-size: 1.2rem !important; }\n.dangdai-b2l3-vocab-embed .d23-fc-back .d23-meaning { font-style: italic; color: var(--d23-oxblood-dark); font-size: 1.725rem; }\n.dangdai-b2l3-vocab-embed .d23-fc-back .d23-pos { margin-top: 8px; }\n.dangdai-b2l3-vocab-embed .d23-flashcard-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 28px; }\n.dangdai-b2l3-vocab-embed .d23-game-btn {\n  font-family: 'Work Sans', sans-serif;\n  font-size: 0.85rem;\n  border: 1px solid var(--d23-oxblood);\n  color: var(--d23-oxblood);\n  background: #fff;\n  padding: 6px 14px;\n  border-radius: 20px;\n  cursor: pointer;\n}\n.dangdai-b2l3-vocab-embed .d23-game-btn:hover { background: var(--d23-oxblood); color: #fff; }\n.dangdai-b2l3-vocab-embed .d23-game-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }\n.dangdai-b2l3-vocab-embed .d23-game-status { font-family: 'IBM Plex Mono', monospace; font-size: 0.82rem; color: var(--d23-sage); }\n.dangdai-b2l3-vocab-embed .d23-game-board { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }\n.dangdai-b2l3-vocab-embed .d23-game-col { display: flex; flex-direction: column; gap: 8px; }\n.dangdai-b2l3-vocab-embed .d23-tile {\n  font-family: 'Work Sans', sans-serif;\n  text-align: left;\n  border: 1px solid var(--d23-line);\n  background: #fff;\n  border-radius: 6px;\n  padding: 10px 12px;\n  cursor: pointer;\n  font-size: 0.95rem;\n  color: var(--d23-ink);\n  transition: background 0.15s, border-color 0.15s, transform 0.1s;\n}\n.dangdai-b2l3-vocab-embed .d23-tile .d23-tile-py {\n  display: block;\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: var(--d23-sage);\n  margin-top: 2px;\n}\n\/* Match It tile pinyin follows the site's Pinyin Display toggle *\/\n.dangdai-b2l3-vocab-embed.d23-py-hidden .d23-tile .d23-tile-py { display: none; }\n.dangdai-b2l3-vocab-embed.d23-py-mouseover .d23-tile .d23-tile-py { opacity: 0; }\n.dangdai-b2l3-vocab-embed.d23-py-mouseover .d23-tile:hover .d23-tile-py { opacity: 1; }\n.dangdai-b2l3-vocab-embed .d23-tile:hover:not(.d23-matched):not(.d23-selected) { border-color: var(--d23-mustard); }\n.dangdai-b2l3-vocab-embed .d23-tile.d23-selected { border-color: var(--d23-oxblood); background: var(--d23-bone); }\n.dangdai-b2l3-vocab-embed .d23-tile.d23-matched { border-color: var(--d23-sage); background: #eef2e9; color: var(--d23-sage); cursor: default; }\n.dangdai-b2l3-vocab-embed .d23-tile.d23-wrong { border-color: #b5453d; background: #fbeceb; animation: d23-shake 0.3s; }\n@keyframes d23-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }\n.dangdai-b2l3-vocab-embed .d23-game-win { text-align: center; padding: 14px; font-family: 'Bitter', serif; color: var(--d23-oxblood-dark); display: none; }\n.dangdai-b2l3-vocab-embed .d23-game-win.d23-show { display: block; }\n@media (max-width: 480px) { .dangdai-b2l3-vocab-embed .d23-game-board { grid-template-columns: 1fr; } }\n.dangdai-b2l3-vocab-embed .d23-quiz { background: #fff; border: 1px solid var(--d23-line); border-radius: 12px; padding: 20px 22px; margin-top: 8px; }\n.dangdai-b2l3-vocab-embed .d23-quiz-progress { font-size: 0.82rem; color: var(--d23-sage); margin: 0 0 10px; font-family: 'IBM Plex Mono', monospace; }\n.dangdai-b2l3-vocab-embed .d23-quiz-prompt { font-size: 1.1rem; margin: 0 0 14px; }\n.dangdai-b2l3-vocab-embed .d23-quiz-options { display: flex; flex-direction: column; gap: 8px; margin: 0 0 10px; }\n.dangdai-b2l3-vocab-embed .d23-quiz-opt { text-align: left; border: 1px solid var(--d23-line); background: var(--d23-bone); border-radius: 8px; padding: 10px 14px; cursor: pointer; font-size: 0.98rem; color: var(--d23-ink); }\n.dangdai-b2l3-vocab-embed .d23-quiz-opt:hover { background: #f0e6d2; }\n.dangdai-b2l3-vocab-embed .d23-quiz-opt.correct { background: #e3efdd; border-color: #7fae6d; color: #3d5c34; }\n.dangdai-b2l3-vocab-embed .d23-quiz-opt.incorrect { background: #f5e0dc; border-color: var(--d23-oxblood); color: var(--d23-oxblood-dark); }\n.dangdai-b2l3-vocab-embed .d23-quiz-opt[disabled] { cursor: default; }\n.dangdai-b2l3-vocab-embed .d23-quiz-input-row { display: flex; gap: 8px; margin: 0 0 10px; flex-wrap: wrap; }\n.dangdai-b2l3-vocab-embed .d23-quiz-input { flex: 1 1 200px; border: 1px solid var(--d23-line); border-radius: 8px; padding: 9px 12px; font-size: 0.98rem; }\n.dangdai-b2l3-vocab-embed .d23-quiz-submit, .dangdai-b2l3-vocab-embed .d23-quiz-next, .dangdai-b2l3-vocab-embed .d23-quiz-retake { border: none; background: var(--d23-oxblood); color: #fff; border-radius: 20px; padding: 8px 18px; font-size: 0.9rem; cursor: pointer; }\n.dangdai-b2l3-vocab-embed .d23-quiz-submit:hover, .dangdai-b2l3-vocab-embed .d23-quiz-next:hover, .dangdai-b2l3-vocab-embed .d23-quiz-retake:hover { background: var(--d23-oxblood-dark); }\n.dangdai-b2l3-vocab-embed .d23-quiz-feedback { font-size: 0.95rem; margin: 0 0 10px; min-height: 1.4em; }\n.dangdai-b2l3-vocab-embed .d23-quiz-feedback.correct { color: #3d5c34; }\n.dangdai-b2l3-vocab-embed .d23-quiz-feedback.incorrect { color: var(--d23-oxblood-dark); }\n.dangdai-b2l3-vocab-embed .d23-quiz-score { text-align: center; }\n.dangdai-b2l3-vocab-embed .d23-quiz-score .d23-quiz-score-num { font-size: 2.2rem; font-weight: 700; color: var(--d23-oxblood-dark); display: block; margin-bottom: 8px; font-family: 'Bitter', serif; }\n<\/style>\n\n<p class=\"d23-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=\"d23-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 3\u300c<span class=\"lang-zh-TW\">\u4f60\u7684\u4e2d\u6587\u9032\u6b65\u4e86\uff01<\/span><span class=\"lang-zh-CN\">\u4f60\u7684\u4e2d\u6587\u8fdb\u6b65\u4e86\uff01<\/span>\u300dYour Chinese Has Improved!<\/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=\"d23-sec-eyebrow\">01 \u2014 VOCABULARY I \u751f\u8a5e\u4e00<\/div>\n<div id=\"d23-word-list-1\"><\/div>\n\n<div class=\"d23-sec-eyebrow\">02 \u2014 VOCABULARY II, NAMES &amp; PHRASES \u751f\u8a5e\u4e8c\u3001\u5c08\u6709\u540d\u8a5e\u3001\u8a5e\u7d44<\/div>\n<div id=\"d23-word-list-2\"><\/div>\n\n<div class=\"d23-sec-eyebrow\">03 \u2014 PUT IT TOGETHER \u5c0d\u8a71\u7df4\u7fd2<\/div>\n<p class=\"d23-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 3 dialogue and narrative, please use your own copy of the textbook.<\/em><\/p>\n<div class=\"d23-dialogue\" id=\"d23-dialogue\"><\/div>\n\n<div class=\"d23-sec-eyebrow\">04 \u2014 FLASHCARDS<\/div>\n<p class=\"d23-fc-hint\">Tap the card to flip it, then use the arrows to move through the deck.<\/p>\n<div class=\"d23-flashcard-wrap\">\n  <div class=\"d23-flashcard\" id=\"d23-flashcard\">\n    <div class=\"d23-fc-face d23-fc-front\" id=\"d23-fc-front\"><\/div>\n    <div class=\"d23-fc-face d23-fc-back\" id=\"d23-fc-back\"><\/div>\n  <\/div>\n<\/div>\n<div class=\"d23-flashcard-controls\">\n  <button class=\"d23-game-btn\" id=\"d23-fc-prev\">\u2039 Prev<\/button>\n  <span class=\"d23-game-status\" id=\"d23-fc-progress\">1 \/ 41<\/span>\n  <button class=\"d23-game-btn\" id=\"d23-fc-next\">Next \u203a<\/button>\n<\/div>\n\n<div class=\"d23-sec-eyebrow\">05 \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=\"d23-game-bar\">\n  <button class=\"d23-game-btn\" id=\"d23-game-new\">New Round<\/button>\n  <span class=\"d23-game-status\" id=\"d23-game-status\">0 \/ 8 matched<\/span>\n<\/div>\n<div class=\"d23-game-board\">\n  <div class=\"d23-game-col\" id=\"d23-game-col-zh\"><\/div>\n  <div class=\"d23-game-col\" id=\"d23-game-col-en\"><\/div>\n<\/div>\n<div class=\"d23-game-win\" id=\"d23-game-win\">\ud83c\udf89 All matched! Nice work.<\/div>\n\n<div class=\"d23-sec-eyebrow\">06 \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=\"d23-quiz\" id=\"d23-quiz\"><\/div>\n\n<script>\n(function () {\n  var root = document.getElementById('dangdai-b2l3-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    'd23-word-list-1': [\n      { t: \"\u9032\u6b65\", s: \"\u8fdb\u6b65\", p: \"j\u00ecnb\u00f9\", pos: \"Vp\", meaning: \"to make improvement, to progress\",\n        ex: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), W(\"\u9032\u6b65\",\"\u8fdb\u6b65\",\"j\u00ecnb\u00f9\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"Your Chinese has improved.\" },\n      { t: \"\u65e9\", s: \"\u65e9\", p: \"z\u01ceo\", pos: \"Vs\", meaning: \"early\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u4eca\u5929\",\"\u4eca\u5929\",\"j\u012bnti\u0101n\"), W(\"\u8d77\",\"\u8d77\",\"q\u01d0\"), W(\"\u5f97\",\"\u5f97\",\"de\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u65e9\",\"\u65e9\",\"z\u01ceo\"), \"\u3002\"],\n        exEn: \"I got up very early today.\" },\n      { t: \"\u8003\u8a66\", s: \"\u8003\u8bd5\", p: \"k\u01ceosh\u00ec\", pos: \"N\", meaning: \"a test, examination\",\n        ex: [W(\"\u660e\u5929\",\"\u660e\u5929\",\"M\u00edngti\u0101n\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u8003\u8a66\",\"\u8003\u8bd5\",\"k\u01ceosh\u00ec\"), \"\u3002\"],\n        exEn: \"There is a test tomorrow.\" },\n      { t: \"\u6e96\u5099\", s: \"\u51c6\u5907\", p: \"zh\u01d4nb\u00e8i\", pos: \"V\", meaning: \"to prepare, to get ready\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u6e96\u5099\",\"\u51c6\u5907\",\"zh\u01d4nb\u00e8i\"), W(\"\u8003\u8a66\",\"\u8003\u8bd5\",\"k\u01ceosh\u00ec\"), \"\u3002\"],\n        exEn: \"I am preparing for the test.\" },\n      { t: \"\u8003\", s: \"\u8003\", p: \"k\u01ceo\", pos: \"V\", meaning: \"to take a test\",\n        ex: [W(\"\u660e\u5929\",\"\u660e\u5929\",\"M\u00edngti\u0101n\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u8003\",\"\u8003\",\"k\u01ceo\"), W(\"\u6f22\u5b57\",\"\u6c49\u5b57\",\"h\u00e0nz\u00ec\"), \"\u3002\"],\n        exEn: \"Tomorrow there will be a test on Chinese characters.\" },\n      { t: \"\u807d\u5beb\", s: \"\u542c\u5199\", p: \"t\u012bngxi\u011b\", pos: \"N\", meaning: \"dictation\",\n        ex: [W(\"\u8001\u5e2b\",\"\u8001\u5e08\",\"L\u01ceosh\u012b\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u8003\",\"\u8003\",\"k\u01ceo\"), W(\"\u807d\u5beb\",\"\u542c\u5199\",\"t\u012bngxi\u011b\"), \"\u3002\"],\n        exEn: \"The teacher is going to give a dictation test.\" },\n      { t: \"\u5bb9\u6613\", s: \"\u5bb9\u6613\", p: \"r\u00f3ngy\u00ec\", pos: \"Vs\", meaning: \"easy\",\n        ex: [W(\"\u6f22\u5b57\",\"\u6c49\u5b57\",\"H\u00e0nz\u00ec\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u5bb9\u6613\",\"\u5bb9\u6613\",\"r\u00f3ngy\u00ec\"), \"\u3002\"],\n        exEn: \"Chinese characters are not easy.\" },\n      { t: \"\u5c0f\u5b78\", s: \"\u5c0f\u5b66\", p: \"xi\u01ceoxu\u00e9\", pos: \"N\", meaning: \"elementary school\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u5f1f\u5f1f\",\"\u5f1f\u5f1f\",\"d\u00ecdi\"), W(\"\u9084\",\"\u8fd8\",\"h\u00e1i\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u4e0a\",\"\u4e0a\",\"sh\u00e0ng\"), W(\"\u5c0f\u5b78\",\"\u5c0f\u5b66\",\"xi\u01ceoxu\u00e9\"), \"\u3002\"],\n        exEn: \"My younger brother is still in elementary school.\" },\n      { t: \"\u6f22\u5b57\", s: \"\u6c49\u5b57\", p: \"h\u00e0nz\u00ec\", pos: \"N\", meaning: \"Chinese characters\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u6bcf\u5929\",\"\u6bcf\u5929\",\"m\u011biti\u0101n\"), W(\"\u7df4\u7fd2\",\"\u7ec3\u4e60\",\"li\u00e0nx\u00ed\"), W(\"\u5beb\",\"\u5199\",\"xi\u011b\"), W(\"\u6f22\u5b57\",\"\u6c49\u5b57\",\"h\u00e0nz\u00ec\"), \"\u3002\"],\n        exEn: \"I practice writing Chinese characters every day.\" },\n      { t: \"\u9ad8\u4e2d\", s: \"\u9ad8\u4e2d\", p: \"g\u0101ozh\u014dng\", pos: \"N\", meaning: \"senior high school\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u9ad8\u4e2d\",\"\u9ad8\u4e2d\",\"g\u0101ozh\u014dng\"), W(\"\u5b78\",\"\u5b66\",\"xu\u00e9\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), \"\u3002\"],\n        exEn: \"He studies Chinese in senior high school.\" },\n      { t: \"\u904e\", s: \"\u8fc7\", p: \"gu\u00f2\", pos: \"Ptc\", meaning: \"a particle indicating experience\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u8003\",\"\u8003\",\"k\u01ceo\"), W(\"\u904e\",\"\u8fc7\",\"gu\u00f2\"), W(\"\u6f22\u5b57\",\"\u6c49\u5b57\",\"h\u00e0nz\u00ec\"), W(\"\u807d\u5beb\",\"\u542c\u5199\",\"t\u012bngxi\u011b\"), \"\u3002\"],\n        exEn: \"I have taken a Chinese-character dictation test before.\" },\n      { t: \"\u624d\", s: \"\u624d\", p: \"c\u00e1i\", pos: \"Adv\", meaning: \"just, only\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u624d\",\"\u624d\",\"c\u00e1i\"), W(\"\u5b78\",\"\u5b66\",\"xu\u00e9\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), W(\"\u4e09\",\"\u4e09\",\"s\u0101n\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u6708\",\"\u6708\",\"yu\u00e8\"), \"\u3002\"],\n        exEn: \"He has only been studying Chinese for three months.\" },\n      { t: \"\u8aaa\u8a71\", s: \"\u8bf4\u8bdd\", p: \"shu\u014dhu\u00e0\", pos: \"V-sep\", meaning: \"to speak\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u8aaa\u8a71\",\"\u8bf4\u8bdd\",\"shu\u014dhu\u00e0\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u5f97\",\"\u5f97\",\"de\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u6d41\u5229\",\"\u6d41\u5229\",\"li\u00fal\u00ec\"), \"\u3002\"],\n        exEn: \"He speaks very fluently.\" },\n      { t: \"\u4e0d\u5920\", s: \"\u4e0d\u591f\", p: \"b\u00fag\u00f2u\", pos: \"Adv\", meaning: \"not quite, not...enough\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), W(\"\u9084\",\"\u8fd8\",\"h\u00e1i\"), W(\"\u4e0d\u5920\",\"\u4e0d\u591f\",\"b\u00fag\u00f2u\"), W(\"\u6d41\u5229\",\"\u6d41\u5229\",\"li\u00fal\u00ec\"), \"\u3002\"],\n        exEn: \"My Chinese is not fluent enough yet.\" },\n      { t: \"\u6d41\u5229\", s: \"\u6d41\u5229\", p: \"li\u00fal\u00ec\", pos: \"Vs\", meaning: \"fluent\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u5f97\",\"\u5f97\",\"de\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u6d41\u5229\",\"\u6d41\u5229\",\"li\u00fal\u00ec\"), \"\u3002\"],\n        exEn: \"Her Chinese is very fluent.\" },\n      { t: \"\u96d6\u7136\", s: \"\u867d\u7136\", p: \"su\u012br\u00e1n\", pos: \"Conj\", meaning: \"although\",\n        ex: [W(\"\u96d6\u7136\",\"\u867d\u7136\",\"Su\u012br\u00e1n\"), W(\"\u6f22\u5b57\",\"\u6c49\u5b57\",\"h\u00e0nz\u00ec\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u5bb9\u6613\",\"\u5bb9\u6613\",\"r\u00f3ngy\u00ec\"), \"\uff0c\", W(\"\u53ef\u662f\",\"\u53ef\u662f\",\"k\u011bsh\u00ec\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u6bcf\u5929\",\"\u6bcf\u5929\",\"m\u011biti\u0101n\"), W(\"\u7df4\u7fd2\",\"\u7ec3\u4e60\",\"li\u00e0nx\u00ed\"), \"\u3002\"],\n        exEn: \"Although Chinese characters are not easy, I practice every day.\" },\n      { t: \"\u74b0\u5883\", s: \"\u73af\u5883\", p: \"hu\u00e1nj\u00ecng\", pos: \"N\", meaning: \"environment, surroundings\",\n        ex: [WD(\"\u9019\u88e1\",\"\u8fd9\u91cc\",\"Zh\u00e8l\u01d0\",\"Zh\u00e8li\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u74b0\u5883\",\"\u73af\u5883\",\"hu\u00e1nj\u00ecng\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), \"\u3002\"],\n        exEn: \"The environment here is very good.\" },\n      { t: \"\u540c\u610f\", s: \"\u540c\u610f\", p: \"t\u00f3ngy\u00ec\", pos: \"Vst\", meaning: \"to agree with\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u540c\u610f\",\"\u540c\u610f\",\"t\u00f3ngy\u00ec\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u8a71\",\"\u8bdd\",\"hu\u00e0\"), \"\u3002\"],\n        exEn: \"I agree with what you said.\" },\n      { t: \"\u5831\u7d19\", s: \"\u62a5\u7eb8\", p: \"b\u00e0ozh\u01d0\", pos: \"N\", meaning: \"newspapers\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u6bcf\u5929\",\"\u6bcf\u5929\",\"m\u011biti\u0101n\"), W(\"\u770b\",\"\u770b\",\"k\u00e0n\"), W(\"\u5831\u7d19\",\"\u62a5\u7eb8\",\"b\u00e0ozh\u01d0\"), \"\u3002\"],\n        exEn: \"He reads the newspaper every day.\" },\n      { t: \"\u9eb5\u5305\", s: \"\u9762\u5305\", p: \"mi\u00e0nb\u0101o\", pos: \"N\", meaning: \"bread\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u65e9\u4e0a\",\"\u65e9\u4e0a\",\"z\u01ceosh\u00e0ng\"), W(\"\u5403\",\"\u5403\",\"ch\u012b\"), W(\"\u9eb5\u5305\",\"\u9762\u5305\",\"mi\u00e0nb\u0101o\"), \"\u3002\"],\n        exEn: \"I eat bread in the morning.\" },\n      { t: \"\u6f14\u8b1b\", s: \"\u6f14\u8bb2\", p: \"y\u01cenji\u01ceng\", pos: \"N\", meaning: \"a speech, a public lecture\",\n        ex: [W(\"\u660e\u5929\",\"\u660e\u5929\",\"M\u00edngti\u0101n\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u6f14\u8b1b\",\"\u6f14\u8bb2\",\"y\u01cenji\u01ceng\"), \"\u3002\"],\n        exEn: \"There is a lecture tomorrow.\" },\n      { t: \"\u5662\", s: \"\u5662\", p: \"\u00f2u\", pos: \"Ptc\", meaning: \"Oh\",\n        ex: [W(\"\u5662\",\"\u5662\",\"\u00d2u\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u60f3\u8d77\u4f86\",\"\u60f3\u8d77\u6765\",\"xi\u01ceng q\u01d0l\u00e1i\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff01\"],\n        exEn: \"Oh, I remember now!\" },\n      { t: \"\u6d3b\u52d5\u4e2d\u5fc3\", s: \"\u6d3b\u52a8\u4e2d\u5fc3\", p: \"hu\u00f3d\u00f2ng zh\u014dngx\u012bn\", pos: \"Phrase\", meaning: \"activity center\",\n        ex: [W(\"\u6f14\u8b1b\",\"\u6f14\u8bb2\",\"Y\u01cenji\u01ceng\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u6d3b\u52d5\u4e2d\u5fc3\",\"\u6d3b\u52a8\u4e2d\u5fc3\",\"hu\u00f3d\u00f2ng zh\u014dngx\u012bn\"), \"\u3002\"],\n        exEn: \"The lecture is at the activity center.\" },\n      { t: \"\u60f3\u8d77\u4f86\", s: \"\u60f3\u8d77\u6765\", p: \"xi\u01ceng q\u01d0l\u00e1i\", pos: \"Phrase\", meaning: \"to have remembered\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u60f3\u8d77\u4f86\",\"\u60f3\u8d77\u6765\",\"xi\u01ceng q\u01d0l\u00e1i\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff0c\", W(\"\u660e\u5929\",\"\u660e\u5929\",\"m\u00edngti\u0101n\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u8003\u8a66\",\"\u8003\u8bd5\",\"k\u01ceosh\u00ec\"), \"\u3002\"],\n        exEn: \"I remembered \u2014 there is a test tomorrow.\" }\n    ],\n    'd23-word-list-2': [\n      { t: \"\u9078\", s: \"\u9009\", p: \"xu\u01cen\", pos: \"V\", meaning: \"to select\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u9078\",\"\u9009\",\"xu\u01cen\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), W(\"\u8ab2\",\"\u8bfe\",\"k\u00e8\"), \"\u3002\"],\n        exEn: \"I selected a Chinese class.\" },\n      { t: \"\u4f5c\u696d\", s: \"\u4f5c\u4e1a\", p: \"zu\u00f2y\u00e8\", pos: \"N\", meaning: \"homework, assignment\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u9084\",\"\u8fd8\",\"h\u00e1i\"), W(\"\u6c92\",\"\u6ca1\",\"m\u00e9i\"), W(\"\u5beb\",\"\u5199\",\"xi\u011b\"), W(\"\u4f5c\u696d\",\"\u4f5c\u4e1a\",\"zu\u00f2y\u00e8\"), \"\u3002\"],\n        exEn: \"I have not done my homework yet.\" },\n      { t: \"\u7df4\u7fd2\", s: \"\u7ec3\u4e60\", p: \"li\u00e0nx\u00ed\", pos: \"V\", meaning: \"to practice\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u6bcf\u5929\",\"\u6bcf\u5929\",\"m\u011biti\u0101n\"), W(\"\u7df4\u7fd2\",\"\u7ec3\u4e60\",\"li\u00e0nx\u00ed\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), \"\u3002\"],\n        exEn: \"I practice speaking Chinese every day.\" },\n      { t: \"\u534a\u591c\", s: \"\u534a\u591c\", p: \"b\u00e0ny\u00e8\", pos: \"N\", meaning: \"middle of the night, late at night\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u5e38\u5e38\",\"\u5e38\u5e38\",\"ch\u00e1ngch\u00e1ng\"), W(\"\u534a\u591c\",\"\u534a\u591c\",\"b\u00e0ny\u00e8\"), W(\"\u624d\",\"\u624d\",\"c\u00e1i\"), W(\"\u7761\",\"\u7761\",\"shu\u00ec\"), \"\u3002\"],\n        exEn: \"He often does not sleep until late at night.\" },\n      { t: \"\u9ad8\u8208\", s: \"\u9ad8\u5174\", p: \"g\u0101ox\u00ecng\", pos: \"Vs\", meaning: \"glad, pleased\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u9ad8\u8208\",\"\u9ad8\u5174\",\"g\u0101ox\u00ecng\"), W(\"\u8a8d\u8b58\",\"\u8ba4\u8bc6\",\"r\u00e8nsh\u00ec\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), \"\u3002\"],\n        exEn: \"I am glad to meet you.\" },\n      { t: \"\u5e73\u5e38\", s: \"\u5e73\u5e38\", p: \"p\u00edngch\u00e1ng\", pos: \"Adv\", meaning: \"usually\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u5e73\u5e38\",\"\u5e73\u5e38\",\"p\u00edngch\u00e1ng\"), W(\"\u9031\u672b\",\"\u5468\u672b\",\"zh\u014dum\u00f2\"), W(\"\u722c\u5c71\",\"\u722c\u5c71\",\"p\u00e1sh\u0101n\"), \"\u3002\"],\n        exEn: \"I usually go hiking on weekends.\" },\n      { t: \"\u722c\u5c71\", s: \"\u722c\u5c71\", p: \"p\u00e1sh\u0101n\", pos: \"V-sep\", meaning: \"to go hiking\",\n        ex: [W(\"\u6211\u5011\",\"\u6211\u4eec\",\"W\u01d2men\"), W(\"\u9031\u672b\",\"\u5468\u672b\",\"zh\u014dum\u00f2\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u722c\",\"\u722c\",\"p\u00e1\"), W(\"\u5c71\",\"\u5c71\",\"sh\u0101n\"), \"\u3002\"],\n        exEn: \"We go hiking on weekends.\" },\n      { t: \"\u8a8d\u8b58\", s: \"\u8ba4\u8bc6\", p: \"r\u00e8nsh\u00ec\", pos: \"Vpt\", meaning: \"to get to know someone\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u8a8d\u8b58\",\"\u8ba4\u8bc6\",\"r\u00e8nsh\u00ec\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u5916\u570b\u4eba\",\"\u5916\u56fd\u4eba\",\"w\u00e0igu\u00f3 r\u00e9n\"), \"\u3002\"],\n        exEn: \"I know a lot of foreigners.\" },\n      { t: \"\u804a\u5929\", s: \"\u804a\u5929\", p: \"li\u00e1oti\u0101nr\", pos: \"V-sep\", meaning: \"to have a chat\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u559c\u6b61\",\"\u559c\u6b22\",\"x\u01d0hu\u0101n\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u8a9e\u8a00\",\"\u8bed\u8a00\",\"y\u01d4y\u00e1n\"), W(\"\u4ea4\u63db\",\"\u4ea4\u6362\",\"ji\u0101ohu\u00e0n\"), W(\"\u804a\",\"\u804a\",\"li\u00e1o\"), W(\"\u5929\",\"\u5929\",\"ti\u0101nr\"), \"\u3002\"],\n        exEn: \"I like to chat with my language-exchange partner.\" },\n      { t: \"\u6587\u5316\", s: \"\u6587\u5316\", p: \"w\u00e9nhu\u00e0\", pos: \"N\", meaning: \"culture\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u4e00\u4e9b\",\"\u4e00\u4e9b\",\"y\u00ecxi\u0113\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u6587\u5316\",\"\u6587\u5316\",\"w\u00e9nhu\u00e0\"), \"\u3002\"],\n        exEn: \"He told me a little bit about Taiwanese culture.\" },\n      { t: \"\u5ee3\u544a\", s: \"\u5e7f\u544a\", p: \"gu\u01cengg\u00e0o\", pos: \"N\", meaning: \"advertisement, commercial\",\n        ex: [W(\"\u6377\u904b\",\"\u6377\u8fd0\",\"Ji\u00e9y\u00f9n\"), W(\"\u4e0a\",\"\u4e0a\",\"sh\u00e0ng\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u5ee3\u544a\",\"\u5e7f\u544a\",\"gu\u01cengg\u00e0o\"), \"\u3002\"],\n        exEn: \"There are many advertisements on the MRT.\" },\n      { t: \"\u4f4d\", s: \"\u4f4d\", p: \"w\u00e8i\", pos: \"M\", meaning: \"measure word for people (polite form)\",\n        ex: [W(\"\u90a3\",\"\u90a3\",\"N\u00e0\"), W(\"\u4f4d\",\"\u4f4d\",\"w\u00e8i\"), W(\"\u8001\u5e2b\",\"\u8001\u5e08\",\"l\u01ceosh\u012b\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), \"\u3002\"],\n        exEn: \"That teacher is very nice.\" },\n      { t: \"\u4e86\u89e3\", s: \"\u4e86\u89e3\", p: \"li\u01ceoji\u011b\", pos: \"Vst\", meaning: \"to understand\",\n        ex: [W(\"\u8d70\u8d70\",\"\u8d70\u8d70\",\"Z\u01d2uz\u01d2u\"), W(\"\u770b\u770b\",\"\u770b\u770b\",\"k\u00e0nkan\"), W(\"\u53ef\u4ee5\",\"\u53ef\u4ee5\",\"k\u011by\u01d0\"), W(\"\u8b93\",\"\u8ba9\",\"r\u00e0ng\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u66f4\",\"\u66f4\",\"g\u00e8ng\"), W(\"\u4e86\u89e3\",\"\u4e86\u89e3\",\"li\u01ceoji\u011b\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u751f\u6d3b\",\"\u751f\u6d3b\",\"sh\u0113nghu\u00f3\"), \"\u3002\"],\n        exEn: \"Walking around lets me understand Taiwanese people's lives better.\" },\n      { t: \"\u751f\u6d3b\", s: \"\u751f\u6d3b\", p: \"sh\u0113nghu\u00f3\", pos: \"N\", meaning: \"life\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u559c\u6b61\",\"\u559c\u6b22\",\"x\u01d0hu\u0101n\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u751f\u6d3b\",\"\u751f\u6d3b\",\"sh\u0113nghu\u00f3\"), \"\u3002\"],\n        exEn: \"I like life in Taiwan.\" },\n      { t: \"\u967d\u660e\u5c71\", s: \"\u9633\u660e\u5c71\", p: \"Y\u00e1ngm\u00edng Sh\u0101n\", pos: \"Names\", meaning: \"Yangming Mountain\",\n        ex: [W(\"\u9031\u672b\",\"\u5468\u672b\",\"Zh\u014dum\u00f2\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u967d\u660e\u5c71\",\"\u9633\u660e\u5c71\",\"Y\u00e1ngm\u00edng Sh\u0101n\"), W(\"\u722c\u5c71\",\"\u722c\u5c71\",\"p\u00e1sh\u0101n\"), \"\u3002\"],\n        exEn: \"This weekend I am going hiking at Yangming Mountain.\" },\n      { t: \"\u5916\u570b\u4eba\", s: \"\u5916\u56fd\u4eba\", p: \"w\u00e0igu\u00f3 r\u00e9n\", pos: \"Phrase\", meaning: \"foreigner\",\n        ex: [W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), W(\"\u5c0d\",\"\u5bf9\",\"du\u00ec\"), W(\"\u5916\u570b\u4eba\",\"\u5916\u56fd\u4eba\",\"w\u00e0igu\u00f3 r\u00e9n\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u53cb\u5584\",\"\u53cb\u5584\",\"y\u01d2ush\u00e0n\"), \"\u3002\"],\n        exEn: \"Taiwanese people are very friendly to foreigners.\" },\n      { t: \"\u4e00\u4e9b\", s: \"\u4e00\u4e9b\", p: \"y\u00ecxi\u0113\", pos: \"Phrase\", meaning: \"a little bit of, some, a fair amount of\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u544a\u8a34\",\"\u544a\u8bc9\",\"g\u00e0os\u00f9\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u4e00\u4e9b\",\"\u4e00\u4e9b\",\"y\u00ecxi\u0113\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u6587\u5316\",\"\u6587\u5316\",\"w\u00e9nhu\u00e0\"), \"\u3002\"],\n        exEn: \"He told me a little bit about Taiwanese culture.\" }\n    ]\n  };\n\n  var DIALOGUE = [\n    { speakerT: \"\u8001\u5e2b\", speakerS: \"\u8001\u5e08\",\n      tokens: [W(\"\u5b89\u540c\",\"\u5b89\u540c\",\"\u0100nt\u00f3ng\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u9084\",\"\u8fd8\",\"h\u00e1i\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), W(\"\u55ce\",\"\u5417\",\"ma\"), \"\uff1f\"],\n      en: \"Antong, are you OK?\" },\n    { speakerT: \"\u5b89\u540c\", speakerS: \"\u5b89\u540c\",\n      tokens: [W(\"\u8001\u5e2b\",\"\u8001\u5e08\",\"L\u01ceosh\u012b\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u6628\u5929\",\"\u6628\u5929\",\"zu\u00f3ti\u0101n\"), W(\"\u56e0\u70ba\",\"\u56e0\u4e3a\",\"y\u012bnw\u00e8i\"), W(\"\u6e96\u5099\",\"\u51c6\u5907\",\"zh\u01d4nb\u00e8i\"), W(\"\u8003\u8a66\",\"\u8003\u8bd5\",\"k\u01ceosh\u00ec\"), W(\"\u534a\u591c\",\"\u534a\u591c\",\"b\u00e0ny\u00e8\"), W(\"\u624d\",\"\u624d\",\"c\u00e1i\"), W(\"\u7761\",\"\u7761\",\"shu\u00ec\"), \"\uff0c\", W(\"\u7136\u5f8c\",\"\u7136\u540e\",\"r\u00e1nh\u00f2u\"), W(\"\u4eca\u5929\",\"\u4eca\u5929\",\"j\u012bnti\u0101n\"), W(\"\u8d77\",\"\u8d77\",\"q\u01d0\"), W(\"\u5f97\",\"\u5f97\",\"de\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u65e9\",\"\u65e9\",\"z\u01ceo\"), \"\uff0c\", W(\"\u6240\u4ee5\",\"\u6240\u4ee5\",\"su\u01d2y\u01d0\"), W(\"\u73fe\u5728\",\"\u73b0\u5728\",\"xi\u00e0nz\u00e0i\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u7d2f\",\"\u7d2f\",\"l\u00e8i\"), \"\u3002\"],\n      en: \"Teacher, I didn't fall asleep until the middle of the night because I was preparing for the test, and then I got up very early today, so I'm really tired now.\" },\n    { speakerT: \"\u8001\u5e2b\", speakerS: \"\u8001\u5e08\",\n      tokens: [W(\"\u5662\",\"\u5662\",\"\u00d2u\"), \"\uff0c\", W(\"\u90a3\",\"\u90a3\",\"n\u00e0\"), W(\"\u771f\u7684\",\"\u771f\u7684\",\"zh\u0113nde\"), W(\"\u6703\",\"\u4f1a\",\"hu\u00ec\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u7d2f\",\"\u7d2f\",\"l\u00e8i\"), \"\u3002\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u89ba\u5f97\",\"\u89c9\u5f97\",\"ju\u00e9de\"), W(\"\u4eca\u5929\",\"\u4eca\u5929\",\"j\u012bnti\u0101n\"), W(\"\u8003\",\"\u8003\",\"k\u01ceo\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u6f22\u5b57\",\"\u6c49\u5b57\",\"h\u00e0nz\u00ec\"), W(\"\u807d\u5beb\",\"\u542c\u5199\",\"t\u012bngxi\u011b\"), W(\"\u96e3\",\"\u96be\",\"n\u00e1n\"), W(\"\u55ce\",\"\u5417\",\"ma\"), \"\uff1f\"],\n      en: \"Oh, that really would make you tired. Do you think today's Chinese-character dictation test is hard?\" },\n    { speakerT: \"\u5b89\u540c\", speakerS: \"\u5b89\u540c\",\n      tokens: [W(\"\u6709\",\"\u6709\",\"Y\u01d2u\"), W(\"\u4e00\u9ede\",\"\u4e00\u70b9\",\"y\u00ec di\u01cen\"), W(\"\u96e3\",\"\u96be\",\"n\u00e1n\"), \"\uff0c\", W(\"\u6f22\u5b57\",\"\u6c49\u5b57\",\"h\u00e0nz\u00ec\"), W(\"\u96d6\u7136\",\"\u867d\u7136\",\"su\u012br\u00e1n\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u5bb9\u6613\",\"\u5bb9\u6613\",\"r\u00f3ngy\u00ec\"), \"\uff0c\", W(\"\u4f46\u662f\",\"\u4f46\u662f\",\"d\u00e0nsh\u00ec\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u6bcf\u5929\",\"\u6bcf\u5929\",\"m\u011biti\u0101n\"), W(\"\u7df4\u7fd2\",\"\u7ec3\u4e60\",\"li\u00e0nx\u00ed\"), W(\"\u95b1\u8b80\",\"\u9605\u8bfb\",\"yu\u00e8d\u00fa\"), \"\u3001\", W(\"\u5beb\",\"\u5199\",\"xi\u011b\"), W(\"\u4f5c\u696d\",\"\u4f5c\u4e1a\",\"zu\u00f2y\u00e8\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u89ba\u5f97\",\"\u89c9\u5f97\",\"ju\u00e9de\"), W(\"\u73fe\u5728\",\"\u73b0\u5728\",\"xi\u00e0nz\u00e0i\"), W(\"\u9084\",\"\u8fd8\",\"h\u00e1i\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n      en: \"A little hard. Chinese characters aren't easy, but I practice reading and do my homework every day, so I think I'm doing OK now.\" },\n    { speakerT: \"\u8001\u5e2b\", speakerS: \"\u8001\u5e08\",\n      tokens: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u624d\",\"\u624d\",\"c\u00e1i\"), W(\"\u5b78\",\"\u5b66\",\"xu\u00e9\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), W(\"\u534a\",\"\u534a\",\"b\u00e0n\"), W(\"\u5e74\",\"\u5e74\",\"ni\u00e1n\"), \"\uff0c\", W(\"\u8aaa\u8a71\",\"\u8bf4\u8bdd\",\"shu\u014dhu\u00e0\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u5f97\",\"\u5f97\",\"de\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u6d41\u5229\",\"\u6d41\u5229\",\"li\u00fal\u00ec\"), \"\uff0c\", W(\"\u9032\u6b65\",\"\u8fdb\u6b65\",\"j\u00ecnb\u00f9\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), \"\u3002\"],\n      en: \"You have only studied Chinese for half a year, and you speak very fluently. You have improved a lot.\" },\n    { speakerT: \"\u5b89\u540c\", speakerS: \"\u5b89\u540c\",\n      tokens: [W(\"\u8b1d\u8b1d\",\"\u8c22\u8c22\",\"Xi\u00e8xie\"), W(\"\u8001\u5e2b\",\"\u8001\u5e08\",\"l\u01ceosh\u012b\"), \"\uff0c\", W(\"\u4e0d\u904e\",\"\u4e0d\u8fc7\",\"b\u00fagu\u00f2\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u89ba\u5f97\",\"\u89c9\u5f97\",\"ju\u00e9de\"), W(\"\u81ea\u5df1\",\"\u81ea\u5df1\",\"z\u00ecj\u01d0\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u5f97\",\"\u5f97\",\"de\"), W(\"\u9084\",\"\u8fd8\",\"h\u00e1i\"), W(\"\u4e0d\u5920\",\"\u4e0d\u591f\",\"b\u00fag\u00f2u\"), W(\"\u6d41\u5229\",\"\u6d41\u5229\",\"li\u00fal\u00ec\"), \"\u3002\"],\n      en: \"Thank you, teacher, but I feel my Chinese still isn't fluent enough.\" },\n    { speakerT: \"\u8001\u5e2b\", speakerS: \"\u8001\u5e08\",\n      tokens: [W(\"\u5df2\u7d93\",\"\u5df2\u7ecf\",\"Y\u01d0j\u012bng\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff01\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u5f9e\",\"\u4ece\",\"c\u00f3ng\"), W(\"\u5c0f\u5b78\",\"\u5c0f\u5b66\",\"xi\u01ceoxu\u00e9\"), W(\"\u5230\",\"\u5230\",\"d\u00e0o\"), W(\"\u9ad8\u4e2d\",\"\u9ad8\u4e2d\",\"g\u0101ozh\u014dng\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u6c92\",\"\u6ca1\",\"m\u00e9i\"), W(\"\u5b78\",\"\u5b66\",\"xu\u00e9\"), W(\"\u904e\",\"\u8fc7\",\"gu\u00f2\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), \"\uff0c\", W(\"\u5e73\u5e38\",\"\u5e73\u5e38\",\"p\u00edngch\u00e1ng\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), W(\"\u7df4\u7fd2\",\"\u7ec3\u4e60\",\"li\u00e0nx\u00ed\"), \"\uff0c\", W(\"\u74b0\u5883\",\"\u73af\u5883\",\"hu\u00e1nj\u00ecng\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u91cd\u8981\",\"\u91cd\u8981\",\"zh\u00f2ngy\u00e0o\"), \"\u3002\"],\n      en: \"You're already doing really well! You never studied Chinese from elementary school all the way through high school, so it matters a lot that you regularly practice with Taiwanese people.\" },\n    { speakerT: \"\u5b89\u540c\", speakerS: \"\u5b89\u540c\",\n      tokens: [W(\"\u5c0d\",\"\u5bf9\",\"Du\u00ec\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u5e73\u5e38\",\"\u5e73\u5e38\",\"p\u00edngch\u00e1ng\"), W(\"\u559c\u6b61\",\"\u559c\u6b22\",\"x\u01d0hu\u0101n\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u967d\u660e\u5c71\",\"\u9633\u660e\u5c71\",\"Y\u00e1ngm\u00edng Sh\u0101n\"), W(\"\u722c\u5c71\",\"\u722c\u5c71\",\"p\u00e1sh\u0101n\"), \"\uff0c\", W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u5c71\",\"\u5c71\",\"sh\u0101n\"), W(\"\u4e0a\",\"\u4e0a\",\"sh\u00e0ng\"), W(\"\u8a8d\u8b58\",\"\u8ba4\u8bc6\",\"r\u00e8nsh\u00ec\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u4e00\u4e9b\",\"\u4e00\u4e9b\",\"y\u00ecxi\u0113\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), \"\u3002\"],\n      en: \"Right, I usually like to go hiking at Yangming Mountain, and I've gotten to know some Taiwanese people up there.\" },\n    { speakerT: \"\u8001\u5e2b\", speakerS: \"\u8001\u5e08\",\n      tokens: [W(\"\u90a3\",\"\u90a3\",\"N\u00e0\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u5e38\",\"\u5e38\",\"ch\u00e1ng\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u4ed6\u5011\",\"\u4ed6\u4eec\",\"t\u0101men\"), WD(\"\u804a\u5929\",\"\u804a\u5929\",\"li\u00e1oti\u0101n\",\"li\u00e1oti\u0101nr\"), W(\"\u55ce\",\"\u5417\",\"ma\"), \"\uff1f\"],\n      en: \"Do you often chat with them?\" },\n    { speakerT: \"\u5b89\u540c\", speakerS: \"\u5b89\u540c\",\n      tokens: [W(\"\u5c0d\",\"\u5bf9\",\"Du\u00ec\"), \"\uff0c\", W(\"\u4ed6\u5011\",\"\u4ed6\u4eec\",\"t\u0101men\"), W(\"\u6703\",\"\u4f1a\",\"hu\u00ec\"), W(\"\u544a\u8a34\",\"\u544a\u8bc9\",\"g\u00e0os\u00f9\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u4e00\u4e9b\",\"\u4e00\u4e9b\",\"y\u00ecxi\u0113\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u6587\u5316\",\"\u6587\u5316\",\"w\u00e9nhu\u00e0\"), \"\uff0c\", W(\"\u8b93\",\"\u8ba9\",\"r\u00e0ng\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u66f4\",\"\u66f4\",\"g\u00e8ng\"), W(\"\u4e86\u89e3\",\"\u4e86\u89e3\",\"li\u01ceoji\u011b\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u751f\u6d3b\",\"\u751f\u6d3b\",\"sh\u0113nghu\u00f3\"), \"\u3002\"],\n      en: \"Right. They tell me a little bit about Taiwanese culture, which helps me understand Taiwanese people's lives better.\" },\n    { speakerT: \"\u8001\u5e2b\", speakerS: \"\u8001\u5e08\",\n      tokens: [W(\"\u5c0d\",\"\u5bf9\",\"Du\u00ec\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff0c\", W(\"\u6d3b\u52d5\u4e2d\u5fc3\",\"\u6d3b\u52a8\u4e2d\u5fc3\",\"hu\u00f3d\u00f2ng zh\u014dngx\u012bn\"), W(\"\u660e\u5929\",\"\u660e\u5929\",\"m\u00edngti\u0101n\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u6f14\u8b1b\",\"\u6f14\u8bb2\",\"y\u01cenji\u01ceng\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u4e0d\u8981\",\"\u4e0d\u8981\",\"b\u00fay\u00e0o\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), \"\uff1f\"],\n      en: \"By the way, there is a lecture at the activity center tomorrow. Do you want to go?\" },\n    { speakerT: \"\u5b89\u540c\", speakerS: \"\u5b89\u540c\",\n      tokens: [W(\"\u5662\",\"\u5662\",\"\u00d2u\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u60f3\u8d77\u4f86\",\"\u60f3\u8d77\u6765\",\"xi\u01ceng q\u01d0l\u00e1i\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u6377\u904b\",\"\u6377\u8fd0\",\"ji\u00e9y\u00f9n\"), W(\"\u4e0a\",\"\u4e0a\",\"sh\u00e0ng\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5ee3\u544a\",\"\u5e7f\u544a\",\"gu\u01cengg\u00e0o\"), W(\"\u770b\",\"\u770b\",\"k\u00e0n\"), W(\"\u904e\",\"\u8fc7\",\"gu\u00f2\"), \"\u3002\"],\n      en: \"Oh, I remember now \u2014 I saw it in an advertisement on the MRT.\" },\n    { speakerT: \"\u8001\u5e2b\", speakerS: \"\u8001\u5e08\",\n      tokens: [W(\"\u90a3\",\"\u90a3\",\"N\u00e0\"), W(\"\u6f14\u8b1b\",\"\u6f14\u8bb2\",\"y\u01cenji\u01ceng\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u6709\u8da3\",\"\u6709\u8da3\",\"y\u01d2uq\u00f9\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), W(\"\u80fd\u529b\",\"\u80fd\u529b\",\"n\u00e9ngl\u00ec\"), W(\"\u6c92\",\"\u6ca1\",\"m\u00e9i\"), W(\"\u554f\u984c\",\"\u95ee\u9898\",\"w\u00e8nt\u00ed\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u5c31\",\"\u5c31\",\"ji\u00f9\"), W(\"\u9ad8\u9ad8\u8208\u8208\",\"\u9ad8\u9ad8\u5174\u5174\",\"g\u0101og\u0101ox\u00ecngx\u00ecng\"), W(\"\u5730\",\"\u5730\",\"de\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u807d\",\"\u542c\",\"t\u012bng\"), W(\"\u6f14\u8b1b\",\"\u6f14\u8bb2\",\"y\u01cenji\u01ceng\"), W(\"\u5c31\",\"\u5c31\",\"ji\u00f9\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), \"\u3002\"],\n      en: \"That lecture is really interesting, and your Chinese is good enough \u2014 just go listen to it happily.\" },\n    { speakerT: \"\u5b89\u540c\", speakerS: \"\u5b89\u540c\",\n      tokens: [W(\"\u597d\",\"\u597d\",\"H\u01ceo\"), \"\uff0c\", W(\"\u8b1d\u8b1d\",\"\u8c22\u8c22\",\"xi\u00e8xie\"), W(\"\u8001\u5e2b\",\"\u8001\u5e08\",\"l\u01ceosh\u012b\"), \"\uff01\", W(\"\u5c0d\",\"\u5bf9\",\"du\u00ec\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u4eca\u5929\",\"\u4eca\u5929\",\"j\u012bnti\u0101n\"), W(\"\u6c92\",\"\u6ca1\",\"m\u00e9i\"), W(\"\u6642\u9593\",\"\u65f6\u95f4\",\"sh\u00edji\u0101n\"), W(\"\u5403\",\"\u5403\",\"ch\u012b\"), W(\"\u65e9\u98ef\",\"\u65e9\u996d\",\"z\u01ceof\u00e0n\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u7b49\u4e00\u4e0b\",\"\u7b49\u4e00\u4e0b\",\"d\u011bng y\u00edxi\u00e0\"), W(\"\u5148\",\"\u5148\",\"xi\u0101n\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u8cb7\",\"\u4e70\",\"m\u01cei\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u9eb5\u5305\",\"\u9762\u5305\",\"mi\u00e0nb\u0101o\"), W(\"\u5403\",\"\u5403\",\"ch\u012b\"), \"\u3002\"],\n      en: \"OK, thank you, teacher! Oh, and I didn't have time to eat breakfast today, so I'll go buy some bread first.\" },\n    { speakerT: \"\u8001\u5e2b\", speakerS: \"\u8001\u5e08\",\n      tokens: [W(\"\u5feb\",\"\u5feb\",\"Ku\u00e0i\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u5427\",\"\u5427\",\"ba\"), \"\uff01\"],\n      en: \"Go on then!\" }\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=\"d23-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=\"d23-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=\"d23-word-card\">' +\n        '<div class=\"d23-word-top\">' +\n          '<span class=\"d23-num\">' + num + '<\/span>' +\n          '<span class=\"d23-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>' +\n          '<span class=\"d23-pos\">' + w.pos + '<\/span>' +\n          '<span class=\"d23-meaning\">' + w.meaning + '<\/span>' +\n          '<button class=\"d23-speaker\" data-trad=\"' + w.t + '\" data-simp=\"' + w.s + '\" aria-label=\"Play pronunciation\">' + SPEAKER_SVG + '<\/button>' +\n        '<\/div>' +\n        '<div class=\"d23-example\">' +\n          renderTokens(w.ex) +\n          '<span class=\"d23-en\">' + w.exEn + '<\/span>' +\n        '<\/div>' +\n      '<\/div>';\n    });\n    container.innerHTML = html;\n  });\n\n  var dialogueEl = root.querySelector('#d23-dialogue');\n  if (dialogueEl) {\n    var dHtml = '';\n    DIALOGUE.forEach(function (line) {\n      dHtml += '<div class=\"d23-line\">' +\n        '<span class=\"d23-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=\"d23-line-body\">' +\n          renderTokens(line.tokens) +\n          '<span class=\"d23-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('#d23-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('.d23-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('d23-py-hidden', isHidden);\n    root.classList.toggle('d23-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('#d23-flashcard');\n  var fcFront = root.querySelector('#d23-fc-front');\n  var fcBack = root.querySelector('#d23-fc-back');\n  var fcProgress = root.querySelector('#d23-fc-progress');\n  var fcPrevBtn = root.querySelector('#d23-fc-prev');\n  var fcNextBtn = root.querySelector('#d23-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=\"d23-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>';\n    fcBack.innerHTML = '<span class=\"d23-meaning\">' + w.meaning + '<\/span><span class=\"d23-pos\">' + w.pos + '<\/span>';\n    if (fcProgress) fcProgress.textContent = (fcIndex + 1) + ' \/ ' + ALL_WORDS.length;\n    if (fcCard) fcCard.classList.remove('d23-flipped');\n    fcFlipped = false;\n    syncPinyin();\n  }\n\n  if (fcCard) {\n    fcCard.addEventListener('click', function () {\n      fcFlipped = !fcFlipped;\n      fcCard.classList.toggle('d23-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('#d23-game-col-zh');\n  var gameColEn = root.querySelector('#d23-game-col-en');\n  var gameStatus = root.querySelector('#d23-game-status');\n  var gameWin = root.querySelector('#d23-game-win');\n  var gameNewBtn = root.querySelector('#d23-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('d23-show');\n\n    var zhOrder = shuffle(gameRound);\n    var enOrder = shuffle(gameRound);\n\n    gameColZh.innerHTML = zhOrder.map(function (w) {\n      return '<button class=\"d23-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=\"d23-tile-py\">' + (w.pt || w.p) + '<\/span>' +\n      '<\/button>';\n    }).join('');\n\n    gameColEn.innerHTML = enOrder.map(function (w) {\n      return '<button class=\"d23-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('d23-matched')) return;\n    var side = tile.getAttribute('data-side');\n\n    if (side === 'zh') {\n      if (gameSelectedZh) gameSelectedZh.classList.remove('d23-selected');\n      gameSelectedZh = tile;\n      tile.classList.add('d23-selected');\n    } else {\n      if (gameSelectedEn) gameSelectedEn.classList.remove('d23-selected');\n      gameSelectedEn = tile;\n      tile.classList.add('d23-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('d23-selected');\n          gameSelectedEn.classList.remove('d23-selected');\n          gameSelectedZh.classList.add('d23-matched');\n          gameSelectedEn.classList.add('d23-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('d23-show');\n            }\n          }\n        } else {\n          gameBusy = true;\n          var z = gameSelectedZh, en = gameSelectedEn;\n          z.classList.add('d23-wrong');\n          en.classList.add('d23-wrong');\n          setTimeout(function () {\n            z.classList.remove('d23-selected', 'd23-wrong');\n            en.classList.remove('d23-selected', 'd23-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('.d23-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\\\">\u9032\u6b65<\/span><span class=\\\"lang-zh-CN\\\">\u8fdb\u6b65<\/span> means...\", options: [\"to make improvement, to progress\", \"to prepare\", \"to take a test\", \"to select\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u8003\u8a66<\/span><span class=\\\"lang-zh-CN\\\">\u8003\u8bd5<\/span>.\", accept: [\"kaoshi\"] },\n    { type: 'mc', prompt: \"Which word means \\\"easy\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u5bb9\u6613<\/span><span class=\\\"lang-zh-CN\\\">\u5bb9\u6613<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u6d41\u5229<\/span><span class=\\\"lang-zh-CN\\\">\u6d41\u5229<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u8907\u96dc<\/span><span class=\\\"lang-zh-CN\\\">\u590d\u6742<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u4fbf\u5229<\/span><span class=\\\"lang-zh-CN\\\">\u4fbf\u5229<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u6f22\u5b57<\/span><span class=\\\"lang-zh-CN\\\">\u6c49\u5b57<\/span>.\", accept: [\"chinese characters\", \"characters\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u904e<\/span><span class=\\\"lang-zh-CN\\\">\u8fc7<\/span> as used here indicates...\", options: [\"past experience\", \"a location\", \"a time\", \"a reason\"], answer: 0 },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u624d<\/span><span class=\\\"lang-zh-CN\\\">\u624d<\/span> means...\", options: [\"just, only\", \"already\", \"again\", \"also\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u6d41\u5229<\/span><span class=\\\"lang-zh-CN\\\">\u6d41\u5229<\/span>.\", accept: [\"liuli\"] },\n    { type: 'mc', prompt: \"Which word means \\\"although\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u96d6\u7136<\/span><span class=\\\"lang-zh-CN\\\">\u867d\u7136<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u540c\u610f<\/span><span class=\\\"lang-zh-CN\\\">\u540c\u610f<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u74b0\u5883<\/span><span class=\\\"lang-zh-CN\\\">\u73af\u5883<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u4e0d\u5920<\/span><span class=\\\"lang-zh-CN\\\">\u4e0d\u591f<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u6f14\u8b1b<\/span><span class=\\\"lang-zh-CN\\\">\u6f14\u8bb2<\/span>.\", accept: [\"speech\", \"lecture\", \"a speech\", \"public lecture\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u60f3\u8d77\u4f86<\/span><span class=\\\"lang-zh-CN\\\">\u60f3\u8d77\u6765<\/span> means...\", options: [\"to have remembered\", \"to prepare\", \"to practice\", \"to agree with\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u4f5c\u696d<\/span><span class=\\\"lang-zh-CN\\\">\u4f5c\u4e1a<\/span>.\", accept: [\"zuoye\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u722c\u5c71<\/span><span class=\\\"lang-zh-CN\\\">\u722c\u5c71<\/span> means...\", options: [\"to go hiking\", \"to go swimming\", \"to go shopping\", \"to take a test\"], answer: 0 },\n    { type: 'mc', prompt: \"Which word means \\\"to get to know someone\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u8a8d\u8b58<\/span><span class=\\\"lang-zh-CN\\\">\u8ba4\u8bc6<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u4e86\u89e3<\/span><span class=\\\"lang-zh-CN\\\">\u4e86\u89e3<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u6e96\u5099<\/span><span class=\\\"lang-zh-CN\\\">\u51c6\u5907<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u804a\u5929<\/span><span class=\\\"lang-zh-CN\\\">\u804a\u5929<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u6587\u5316<\/span><span class=\\\"lang-zh-CN\\\">\u6587\u5316<\/span>.\", accept: [\"culture\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u5916\u570b\u4eba<\/span><span class=\\\"lang-zh-CN\\\">\u5916\u56fd\u4eba<\/span> means...\", options: [\"foreigner\", \"environment\", \"life\", \"advertisement\"], 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('#d23-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=\"d23-quiz-progress\">Question ' + (current + 1) + ' of ' + QUIZ_DATA.length + '<\/p>';\n      html += '<p class=\"d23-quiz-prompt\">' + q.prompt + '<\/p>';\n      if (q.type === 'mc') {\n        html += '<div class=\"d23-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=\"d23-quiz-opt\" data-i=\"' + i + '\">' + q.options[i] + '<\/button>';\n        }\n        html += '<\/div>';\n      } else {\n        html += '<div class=\"d23-quiz-input-row\">';\n        html += '<input type=\"text\" class=\"d23-quiz-input\" placeholder=\"Type your answer\">';\n        html += '<button type=\"button\" class=\"d23-quiz-submit\">Submit<\/button>';\n        html += '<\/div>';\n      }\n      html += '<p class=\"d23-quiz-feedback\"><\/p>';\n      html += '<button type=\"button\" class=\"d23-quiz-next\" style=\"display:none;\">Next<\/button>';\n      qRoot.innerHTML = html;\n\n      if (q.type === 'mc') {\n        var opts = qRoot.querySelectorAll('.d23-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('.d23-quiz-input');\n        var submitBtn = qRoot.querySelector('.d23-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('.d23-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 = 'd23-quiz-feedback ' + (correct ? 'correct' : 'incorrect');\n        var nextBtn = qRoot.querySelector('.d23-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=\"d23-quiz-score\">' +\n        '<span class=\"d23-quiz-score-num\">' + score + ' \/ ' + QUIZ_DATA.length + '<\/span>' +\n        '<p>Nice work! Want to try again?<\/p>' +\n        '<button type=\"button\" class=\"d23-quiz-retake\">Retake Quiz<\/button>' +\n        '<\/div>';\n      qRoot.querySelector('.d23-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('.d23-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('.d23-lede .lang-zh-CN');\n    var refTW = root.querySelector('.d23-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('.d23-quiz, .d23-game-board, .d23-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 3\u300c\u4f60\u7684\u4e2d\u6587\u9032\u6b65\u4e86\uff01\u4f60\u7684\u4e2d\u6587\u8fdb\u6b65\u4e86\uff01\u300dYour Chinese Has Improved! \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":[1],"tags":[],"class_list":["post-13192","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-no-category"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>B2 L3 Vocabulary and Practice - OneDotDot Chinese<\/title>\n<meta name=\"description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e09\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 3\" \/>\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\/19\/contemporary-chinese-vocabulary-practice-b2l3\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"B2 L3 Vocabulary and Practice - OneDotDot Chinese\" \/>\n<meta property=\"og:description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e09\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 3\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/19\/contemporary-chinese-vocabulary-practice-b2l3\/\" \/>\n<meta property=\"og:site_name\" content=\"OneDotDot Chinese\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-19T14:53:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-09T14:55:04+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\\\/19\\\/contemporary-chinese-vocabulary-practice-b2l3\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/19\\\/contemporary-chinese-vocabulary-practice-b2l3\\\/\"},\"author\":{\"name\":\"tiffany\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"headline\":\"B2 L3 Vocabulary and Practice\",\"datePublished\":\"2025-09-19T14:53:26+00:00\",\"dateModified\":\"2026-10-09T14:55:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/19\\\/contemporary-chinese-vocabulary-practice-b2l3\\\/\"},\"wordCount\":212,\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/19\\\/contemporary-chinese-vocabulary-practice-b2l3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/\u7576\u4ee3\u4e2d\u65872.jpg\",\"articleSection\":[\"No category\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/19\\\/contemporary-chinese-vocabulary-practice-b2l3\\\/\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/19\\\/contemporary-chinese-vocabulary-practice-b2l3\\\/\",\"name\":\"B2 L3 Vocabulary and Practice - OneDotDot Chinese\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/19\\\/contemporary-chinese-vocabulary-practice-b2l3\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/19\\\/contemporary-chinese-vocabulary-practice-b2l3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/\u7576\u4ee3\u4e2d\u65872.jpg\",\"datePublished\":\"2025-09-19T14:53:26+00:00\",\"dateModified\":\"2026-10-09T14:55:04+00:00\",\"description\":\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e09\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 3\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/19\\\/contemporary-chinese-vocabulary-practice-b2l3\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/19\\\/contemporary-chinese-vocabulary-practice-b2l3\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/09\\\/19\\\/contemporary-chinese-vocabulary-practice-b2l3\\\/#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\\\/19\\\/contemporary-chinese-vocabulary-practice-b2l3\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"B2 L3 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 L3 Vocabulary and Practice - OneDotDot Chinese","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e09\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 3","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\/19\/contemporary-chinese-vocabulary-practice-b2l3\/","og_locale":"en_US","og_type":"article","og_title":"B2 L3 Vocabulary and Practice - OneDotDot Chinese","og_description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e09\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 3","og_url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/19\/contemporary-chinese-vocabulary-practice-b2l3\/","og_site_name":"OneDotDot Chinese","article_published_time":"2025-09-19T14:53:26+00:00","article_modified_time":"2026-10-09T14:55:04+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\/19\/contemporary-chinese-vocabulary-practice-b2l3\/#article","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/19\/contemporary-chinese-vocabulary-practice-b2l3\/"},"author":{"name":"tiffany","@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"headline":"B2 L3 Vocabulary and Practice","datePublished":"2025-09-19T14:53:26+00:00","dateModified":"2026-10-09T14:55:04+00:00","mainEntityOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/19\/contemporary-chinese-vocabulary-practice-b2l3\/"},"wordCount":212,"publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/19\/contemporary-chinese-vocabulary-practice-b2l3\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/11\/\u7576\u4ee3\u4e2d\u65872.jpg","articleSection":["No category"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/19\/contemporary-chinese-vocabulary-practice-b2l3\/","url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/19\/contemporary-chinese-vocabulary-practice-b2l3\/","name":"B2 L3 Vocabulary and Practice - OneDotDot Chinese","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/19\/contemporary-chinese-vocabulary-practice-b2l3\/#primaryimage"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/19\/contemporary-chinese-vocabulary-practice-b2l3\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/11\/\u7576\u4ee3\u4e2d\u65872.jpg","datePublished":"2025-09-19T14:53:26+00:00","dateModified":"2026-10-09T14:55:04+00:00","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e09\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 3","breadcrumb":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/19\/contemporary-chinese-vocabulary-practice-b2l3\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/19\/contemporary-chinese-vocabulary-practice-b2l3\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/09\/19\/contemporary-chinese-vocabulary-practice-b2l3\/#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\/19\/contemporary-chinese-vocabulary-practice-b2l3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/tiffanysmandarin.com\/"},{"@type":"ListItem","position":2,"name":"B2 L3 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\/13192","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=13192"}],"version-history":[{"count":4,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/13192\/revisions"}],"predecessor-version":[{"id":18108,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/13192\/revisions\/18108"}],"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=13192"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/categories?post=13192"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/tags?post=13192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}