{"id":13196,"date":"2025-10-01T23:06:20","date_gmt":"2025-10-01T15:06:20","guid":{"rendered":"https:\/\/tiffanysmandarin.com\/?p=13196"},"modified":"2026-10-09T22:55:19","modified_gmt":"2026-10-09T14:55:19","slug":"contemporary-chinese-vocabulary-practice-b2l4","status":"publish","type":"post","link":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/","title":{"rendered":"B2 L4 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 4 \u300c\u6211\u6253\u5de5\uff0c\u6211\u6559\u6cd5\u6587\u300d I Work Part-time. I Teach French. \u2014 Vocabulary Embed\n  Same technical pattern as the Book 1 embeds (scoped CSS --d24-*, id #dangdai-b2l4-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 d24-py-hidden \/ d24-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-b2l4-vocab-embed\" id=\"dangdai-b2l4-vocab-embed-1\">\n<style>\n.dangdai-b2l4-vocab-embed {\n  --d24-oxblood: #7b2d26;\n  --d24-oxblood-dark: #5e211c;\n  --d24-mustard: #c9922b;\n  --d24-sage: #7c8b6f;\n  --d24-bone: #f7f1e6;\n  --d24-ink: #2c2620;\n  --d24-line: #e4d9c4;\n  font-family: 'Work Sans', -apple-system, sans-serif;\n  color: var(--d24-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-b2l4-vocab-embed * { box-sizing: border-box; }\n.dangdai-b2l4-vocab-embed .d24-people-card {\n  border: 1px solid var(--d24-line);\n  border-radius: 8px;\n  padding: 12px 14px;\n  margin-bottom: 10px;\n  background: var(--d24-bone);\n  display: flex;\n  align-items: baseline;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n.dangdai-b2l4-vocab-embed h1,\n.dangdai-b2l4-vocab-embed h2,\n.dangdai-b2l4-vocab-embed h3 {\n  font-family: 'Bitter', Georgia, serif;\n  color: var(--d24-oxblood-dark);\n  margin: 0 0 8px;\n}\n.dangdai-b2l4-vocab-embed .d24-support-note {\n  font-size: 0.85rem;\n  color: var(--d24-sage);\n  border-bottom: 1px solid var(--d24-line);\n  padding-bottom: 12px;\n  margin: 0 0 16px;\n}\n.dangdai-b2l4-vocab-embed .d24-lede {\n  margin: 0 0 24px;\n  padding: 14px 16px;\n  background: var(--d24-bone);\n  border-left: 4px solid var(--d24-mustard);\n  border-radius: 4px;\n  font-size: 0.98rem;\n}\n.dangdai-b2l4-vocab-embed .d24-lede b { color: var(--d24-oxblood-dark); }\n.dangdai-b2l4-vocab-embed .d24-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(--d24-oxblood);\n  padding: 3px 9px;\n  border-radius: 3px;\n  margin: 32px 0 10px;\n}\n.dangdai-b2l4-vocab-embed .d24-word-card {\n  border: 1px solid var(--d24-line);\n  border-radius: 8px;\n  padding: 12px 14px;\n  margin-bottom: 10px;\n  background: #fff;\n}\n.dangdai-b2l4-vocab-embed .d24-word-top {\n  display: flex;\n  align-items: baseline;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n.dangdai-b2l4-vocab-embed .d24-num {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.75rem;\n  color: var(--d24-mustard);\n  min-width: 22px;\n}\n.dangdai-b2l4-vocab-embed .d24-hanzi { font-size: 1.35rem; font-weight: 600; }\n.dangdai-b2l4-vocab-embed .d24-pos {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: #fff;\n  background: var(--d24-sage);\n  padding: 2px 7px;\n  border-radius: 10px;\n}\n.dangdai-b2l4-vocab-embed ruby {\n  ruby-position: over;\n  margin-right: 2px;\n  color: var(--d24-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b2l4-vocab-embed .rb {\n  color: var(--d24-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b2l4-vocab-embed rt {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.6rem !important;\n  color: var(--d24-sage) !important;\n  font-weight: 400;\n}\n.dangdai-b2l4-vocab-embed rt.hidden { display: none; }\n.dangdai-b2l4-vocab-embed rt.mouseover { opacity: 0; }\n.dangdai-b2l4-vocab-embed rt.mouseover:hover { opacity: 1; }\n.dangdai-b2l4-vocab-embed .d24-meaning { font-style: italic; color: #6b5f52; font-size: 0.92rem; }\n.dangdai-b2l4-vocab-embed .d24-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(--d24-bone);\n  color: var(--d24-oxblood);\n  border-radius: 50%;\n  cursor: pointer;\n  margin-left: auto;\n}\n.dangdai-b2l4-vocab-embed .d24-speaker:hover { background: var(--d24-mustard); color: #fff; }\n.dangdai-b2l4-vocab-embed .d24-example {\n  margin-top: 8px;\n  padding-top: 8px;\n  border-top: 1px dashed var(--d24-line);\n  font-size: 0.95rem;\n}\n.dangdai-b2l4-vocab-embed .d24-example .d24-sent-word { display: inline-flex; }\n.dangdai-b2l4-vocab-embed .d24-example .d24-punct { margin-right: 2px; }\n.dangdai-b2l4-vocab-embed .d24-example .d24-en {\n  display: block;\n  color: #6b5f52;\n  font-size: 0.85rem;\n  margin-top: 4px;\n}\n.dangdai-b2l4-vocab-embed .d24-dialogue-note { font-size: 0.85rem; color: #6b5f52; margin: 0 0 10px; }\n.dangdai-b2l4-vocab-embed .d24-dialogue {\n  background: var(--d24-bone);\n  border-radius: 8px;\n  padding: 16px 18px;\n  margin-top: 8px;\n}\n.dangdai-b2l4-vocab-embed .d24-line {\n  display: flex;\n  gap: 8px;\n  margin-bottom: 12px;\n  align-items: flex-start;\n  flex-wrap: wrap;\n}\n.dangdai-b2l4-vocab-embed .d24-speaker-tag {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.72rem;\n  color: var(--d24-oxblood);\n  min-width: 46px;\n  padding-top: 3px;\n}\n.dangdai-b2l4-vocab-embed .d24-line-body { flex: 1; min-width: 200px; }\n.dangdai-b2l4-vocab-embed .d24-line-en { display: block; color: #6b5f52; font-size: 0.82rem; margin-top: 2px; }\n\n.dangdai-b2l4-vocab-embed .d24-fc-hint { font-size: 0.85rem; color: #6b5f52; margin: 0 0 12px; text-align: center; }\n.dangdai-b2l4-vocab-embed .d24-flashcard-wrap { max-width: 320px; margin: 0 auto 14px; perspective: 1200px; }\n.dangdai-b2l4-vocab-embed .d24-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-b2l4-vocab-embed .d24-flashcard.d24-flipped { transform: rotateY(180deg); }\n.dangdai-b2l4-vocab-embed .d24-fc-face {\n  position: absolute;\n  inset: 0;\n  backface-visibility: hidden;\n  border: 1px solid var(--d24-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-b2l4-vocab-embed .d24-fc-back { transform: rotateY(180deg); background: var(--d24-bone); }\n.dangdai-b2l4-vocab-embed .d24-fc-front .d24-hanzi { font-size: 4rem !important; }\n.dangdai-b2l4-vocab-embed .d24-flashcard-wrap rt { font-size: 1.2rem !important; }\n.dangdai-b2l4-vocab-embed .d24-fc-back .d24-meaning { font-style: italic; color: var(--d24-oxblood-dark); font-size: 1.725rem; }\n.dangdai-b2l4-vocab-embed .d24-fc-back .d24-pos { margin-top: 8px; }\n.dangdai-b2l4-vocab-embed .d24-flashcard-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 28px; }\n.dangdai-b2l4-vocab-embed .d24-game-btn {\n  font-family: 'Work Sans', sans-serif;\n  font-size: 0.85rem;\n  border: 1px solid var(--d24-oxblood);\n  color: var(--d24-oxblood);\n  background: #fff;\n  padding: 6px 14px;\n  border-radius: 20px;\n  cursor: pointer;\n}\n.dangdai-b2l4-vocab-embed .d24-game-btn:hover { background: var(--d24-oxblood); color: #fff; }\n.dangdai-b2l4-vocab-embed .d24-game-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }\n.dangdai-b2l4-vocab-embed .d24-game-status { font-family: 'IBM Plex Mono', monospace; font-size: 0.82rem; color: var(--d24-sage); }\n.dangdai-b2l4-vocab-embed .d24-game-board { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }\n.dangdai-b2l4-vocab-embed .d24-game-col { display: flex; flex-direction: column; gap: 8px; }\n.dangdai-b2l4-vocab-embed .d24-tile {\n  font-family: 'Work Sans', sans-serif;\n  text-align: left;\n  border: 1px solid var(--d24-line);\n  background: #fff;\n  border-radius: 6px;\n  padding: 10px 12px;\n  cursor: pointer;\n  font-size: 0.95rem;\n  color: var(--d24-ink);\n  transition: background 0.15s, border-color 0.15s, transform 0.1s;\n}\n.dangdai-b2l4-vocab-embed .d24-tile .d24-tile-py {\n  display: block;\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: var(--d24-sage);\n  margin-top: 2px;\n}\n\/* Match It tile pinyin follows the site's Pinyin Display toggle *\/\n.dangdai-b2l4-vocab-embed.d24-py-hidden .d24-tile .d24-tile-py { display: none; }\n.dangdai-b2l4-vocab-embed.d24-py-mouseover .d24-tile .d24-tile-py { opacity: 0; }\n.dangdai-b2l4-vocab-embed.d24-py-mouseover .d24-tile:hover .d24-tile-py { opacity: 1; }\n.dangdai-b2l4-vocab-embed .d24-tile:hover:not(.d24-matched):not(.d24-selected) { border-color: var(--d24-mustard); }\n.dangdai-b2l4-vocab-embed .d24-tile.d24-selected { border-color: var(--d24-oxblood); background: var(--d24-bone); }\n.dangdai-b2l4-vocab-embed .d24-tile.d24-matched { border-color: var(--d24-sage); background: #eef2e9; color: var(--d24-sage); cursor: default; }\n.dangdai-b2l4-vocab-embed .d24-tile.d24-wrong { border-color: #b5453d; background: #fbeceb; animation: d24-shake 0.3s; }\n@keyframes d24-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }\n.dangdai-b2l4-vocab-embed .d24-game-win { text-align: center; padding: 14px; font-family: 'Bitter', serif; color: var(--d24-oxblood-dark); display: none; }\n.dangdai-b2l4-vocab-embed .d24-game-win.d24-show { display: block; }\n@media (max-width: 480px) { .dangdai-b2l4-vocab-embed .d24-game-board { grid-template-columns: 1fr; } }\n.dangdai-b2l4-vocab-embed .d24-quiz { background: #fff; border: 1px solid var(--d24-line); border-radius: 12px; padding: 20px 22px; margin-top: 8px; }\n.dangdai-b2l4-vocab-embed .d24-quiz-progress { font-size: 0.82rem; color: var(--d24-sage); margin: 0 0 10px; font-family: 'IBM Plex Mono', monospace; }\n.dangdai-b2l4-vocab-embed .d24-quiz-prompt { font-size: 1.1rem; margin: 0 0 14px; }\n.dangdai-b2l4-vocab-embed .d24-quiz-options { display: flex; flex-direction: column; gap: 8px; margin: 0 0 10px; }\n.dangdai-b2l4-vocab-embed .d24-quiz-opt { text-align: left; border: 1px solid var(--d24-line); background: var(--d24-bone); border-radius: 8px; padding: 10px 14px; cursor: pointer; font-size: 0.98rem; color: var(--d24-ink); }\n.dangdai-b2l4-vocab-embed .d24-quiz-opt:hover { background: #f0e6d2; }\n.dangdai-b2l4-vocab-embed .d24-quiz-opt.correct { background: #e3efdd; border-color: #7fae6d; color: #3d5c34; }\n.dangdai-b2l4-vocab-embed .d24-quiz-opt.incorrect { background: #f5e0dc; border-color: var(--d24-oxblood); color: var(--d24-oxblood-dark); }\n.dangdai-b2l4-vocab-embed .d24-quiz-opt[disabled] { cursor: default; }\n.dangdai-b2l4-vocab-embed .d24-quiz-input-row { display: flex; gap: 8px; margin: 0 0 10px; flex-wrap: wrap; }\n.dangdai-b2l4-vocab-embed .d24-quiz-input { flex: 1 1 200px; border: 1px solid var(--d24-line); border-radius: 8px; padding: 9px 12px; font-size: 0.98rem; }\n.dangdai-b2l4-vocab-embed .d24-quiz-submit, .dangdai-b2l4-vocab-embed .d24-quiz-next, .dangdai-b2l4-vocab-embed .d24-quiz-retake { border: none; background: var(--d24-oxblood); color: #fff; border-radius: 20px; padding: 8px 18px; font-size: 0.9rem; cursor: pointer; }\n.dangdai-b2l4-vocab-embed .d24-quiz-submit:hover, .dangdai-b2l4-vocab-embed .d24-quiz-next:hover, .dangdai-b2l4-vocab-embed .d24-quiz-retake:hover { background: var(--d24-oxblood-dark); }\n.dangdai-b2l4-vocab-embed .d24-quiz-feedback { font-size: 0.95rem; margin: 0 0 10px; min-height: 1.4em; }\n.dangdai-b2l4-vocab-embed .d24-quiz-feedback.correct { color: #3d5c34; }\n.dangdai-b2l4-vocab-embed .d24-quiz-feedback.incorrect { color: var(--d24-oxblood-dark); }\n.dangdai-b2l4-vocab-embed .d24-quiz-score { text-align: center; }\n.dangdai-b2l4-vocab-embed .d24-quiz-score .d24-quiz-score-num { font-size: 2.2rem; font-weight: 700; color: var(--d24-oxblood-dark); display: block; margin-bottom: 8px; font-family: 'Bitter', serif; }\n<\/style>\n\n<p class=\"d24-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=\"d24-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 4\u300c<span class=\"lang-zh-TW\">\u6211\u6253\u5de5\uff0c\u6211\u6559\u6cd5\u6587<\/span><span class=\"lang-zh-CN\">\u6211\u6253\u5de5\uff0c\u6211\u6559\u6cd5\u6587<\/span>\u300dI Work Part-time. I Teach French.<\/b> \u2014 every word from \u751f\u8a5e\u4e00 and \u751f\u8a5e\u4e8c (Vocabulary I &amp; II), including the person and names\/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=\"d24-sec-eyebrow\">00 \u2014 PEOPLE IN THE DIALOGUE \u4eba\u7269<\/div>\n<div id=\"d24-people-list\"><\/div>\n\n<div class=\"d24-sec-eyebrow\">01 \u2014 VOCABULARY I \u751f\u8a5e\u4e00<\/div>\n<div id=\"d24-word-list-1\"><\/div>\n\n<div class=\"d24-sec-eyebrow\">02 \u2014 NAMES &amp; PHRASES I \u5c08\u6709\u540d\u8a5e\u3001\u8a5e\u7d44<\/div>\n<div id=\"d24-word-list-2\"><\/div>\n\n<div class=\"d24-sec-eyebrow\">03 \u2014 VOCABULARY II \u751f\u8a5e\u4e8c<\/div>\n<div id=\"d24-word-list-3\"><\/div>\n\n<div class=\"d24-sec-eyebrow\">04 \u2014 NAMES &amp; PHRASES II \u5c08\u6709\u540d\u8a5e\u3001\u8a5e\u7d44<\/div>\n<div id=\"d24-word-list-4\"><\/div>\n\n<div class=\"d24-sec-eyebrow\">05 \u2014 PUT IT TOGETHER \u5c0d\u8a71\u7df4\u7fd2<\/div>\n<p class=\"d24-dialogue-note\"><em>Note: this lesson&#8217;s main text in the textbook is actually a reading passage (\u77ed\u6587), not a two-person dialogue \u2014 and that passage is copyrighted, so I wrote an original job-interview conversation below between \u9ad8\u7f8e\u73b2 and \u9ec3\u4e3b\u4efb, using vocabulary from this lesson and earlier lessons, so you can see the words used together. For the real Lesson 4 reading passage, please use your own copy of the textbook.<\/em><\/p>\n<div class=\"d24-dialogue\" id=\"d24-dialogue\"><\/div>\n\n<div class=\"d24-sec-eyebrow\">06 \u2014 FLASHCARDS<\/div>\n<p class=\"d24-fc-hint\">Tap the card to flip it, then use the arrows to move through the deck.<\/p>\n<div class=\"d24-flashcard-wrap\">\n  <div class=\"d24-flashcard\" id=\"d24-flashcard\">\n    <div class=\"d24-fc-face d24-fc-front\" id=\"d24-fc-front\"><\/div>\n    <div class=\"d24-fc-face d24-fc-back\" id=\"d24-fc-back\"><\/div>\n  <\/div>\n<\/div>\n<div class=\"d24-flashcard-controls\">\n  <button class=\"d24-game-btn\" id=\"d24-fc-prev\">\u2039 Prev<\/button>\n  <span class=\"d24-game-status\" id=\"d24-fc-progress\">1 \/ 44<\/span>\n  <button class=\"d24-game-btn\" id=\"d24-fc-next\">Next \u203a<\/button>\n<\/div>\n\n<div class=\"d24-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=\"d24-game-bar\">\n  <button class=\"d24-game-btn\" id=\"d24-game-new\">New Round<\/button>\n  <span class=\"d24-game-status\" id=\"d24-game-status\">0 \/ 8 matched<\/span>\n<\/div>\n<div class=\"d24-game-board\">\n  <div class=\"d24-game-col\" id=\"d24-game-col-zh\"><\/div>\n  <div class=\"d24-game-col\" id=\"d24-game-col-en\"><\/div>\n<\/div>\n<div class=\"d24-game-win\" id=\"d24-game-win\">\ud83c\udf89 All matched! Nice work.<\/div>\n\n<div class=\"d24-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=\"d24-quiz\" id=\"d24-quiz\"><\/div>\n\n<script>\n(function () {\n  var root = document.getElementById('dangdai-b2l4-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    'd24-word-list-1': [\n      { t: \"\u6253\u5de5\", s: \"\u6253\u5de5\", p: \"d\u01ceg\u014dng\", pos: \"V-sep\", meaning: \"to work part-time\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u5927\u5b78\",\"\u5927\u5b66\",\"d\u00e0xu\u00e9\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u6642\u5019\",\"\u65f6\u5019\",\"sh\u00edh\u00f2u\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u6253\",\"\u6253\",\"d\u01ce\"), W(\"\u904e\",\"\u8fc7\",\"gu\u00f2\"), W(\"\u5de5\",\"\u5de5\",\"g\u014dng\"), \"\u3002\"],\n        exEn: \"I also worked part-time in college.\" },\n      { t: \"\u4e3b\u4efb\", s: \"\u4e3b\u4efb\", p: \"zh\u01d4r\u00e8n\", pos: \"N\", meaning: \"director\",\n        ex: [W(\"\u8a9e\u8a00\",\"\u8bed\u8a00\",\"Y\u01d4y\u00e1n\"), W(\"\u4e2d\u5fc3\",\"\u4e2d\u5fc3\",\"zh\u014dngx\u012bn\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4e3b\u4efb\",\"\u4e3b\u4efb\",\"zh\u01d4r\u00e8n\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), \"\u3002\"],\n        exEn: \"The language center director is very nice.\" },\n      { t: \"\u4ecb\u7d39\", s: \"\u4ecb\u7ecd\", p: \"ji\u00e8sh\u00e0o\", pos: \"V\", meaning: \"to introduce\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u670b\u53cb\",\"\u670b\u53cb\",\"p\u00e9ngy\u01d2u\"), W(\"\u4ecb\u7d39\",\"\u4ecb\u7ecd\",\"ji\u00e8sh\u00e0o\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), W(\"\u9762\u8ac7\",\"\u9762\u8c08\",\"mi\u00e0nt\u00e1n\"), W(\"\u9019\",\"\u8fd9\",\"zh\u00e8\"), W(\"\u4efd\",\"\u4efd\",\"f\u00e8n\"), W(\"\u5de5\u4f5c\",\"\u5de5\u4f5c\",\"g\u014dngzu\u00f2\"), \"\u3002\"],\n        exEn: \"My friend recommended me for an interview for this job.\" },\n      { t: \"\u6b72\", s: \"\u5c81\", p: \"su\u00ec\", pos: \"M\", meaning: \"years of age\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u4eca\u5e74\",\"\u4eca\u5e74\",\"j\u012bnni\u00e1n\"), W(\"\u4e8c\u5341\u516b\",\"\u4e8c\u5341\u516b\",\"\u00e8rsh\u00edb\u0101\"), W(\"\u6b72\",\"\u5c81\",\"su\u00ec\"), \"\u3002\"],\n        exEn: \"She is twenty-eight years old this year.\" },\n      { t: \"\u8a9e\u8a00\u5b78\", s: \"\u8bed\u8a00\u5b66\", p: \"y\u01d4y\u00e1nxu\u00e9\", pos: \"N\", meaning: \"linguistics\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u5927\u5b78\",\"\u5927\u5b66\",\"d\u00e0xu\u00e9\"), W(\"\u6559\",\"\u6559\",\"ji\u0101o\"), W(\"\u8a9e\u8a00\u5b78\",\"\u8bed\u8a00\u5b66\",\"y\u01d4y\u00e1nxu\u00e9\"), \"\u3002\"],\n        exEn: \"He teaches linguistics at the university.\" },\n      { t: \"\u7d93\u9a57\", s: \"\u7ecf\u9a8c\", p: \"j\u012bngy\u00e0n\", pos: \"N\", meaning: \"experience\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u6559\",\"\u6559\",\"ji\u0101o\"), W(\"\u6cd5\u6587\",\"\u6cd5\u6587\",\"F\u01cew\u00e9n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u7d93\u9a57\",\"\u7ecf\u9a8c\",\"j\u012bngy\u00e0n\"), \"\u3002\"],\n        exEn: \"I have experience teaching French.\" },\n      { t: \"\u8ac7\", s: \"\u8c08\", p: \"t\u00e1n\", pos: \"V\", meaning: \"to talk over, to talk about, to discuss\",\n        ex: [W(\"\u6211\u5011\",\"\u6211\u4eec\",\"W\u01d2men\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), W(\"\u8ac7\",\"\u8c08\",\"t\u00e1n\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ec\"), W(\"\u8ac7\",\"\u8c08\",\"t\u00e1n\"), W(\"\u5de5\u4f5c\",\"\u5de5\u4f5c\",\"g\u014dngzu\u00f2\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4e8b\",\"\u4e8b\",\"sh\u00ec\"), \"\u3002\"],\n        exEn: \"Let's talk about the job.\" },\n      { t: \"\u7576\", s: \"\u5f53\", p: \"d\u0101ng\", pos: \"V\", meaning: \"to serve as\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u8a9e\u8a00\",\"\u8bed\u8a00\",\"y\u01d4y\u00e1n\"), W(\"\u4e2d\u5fc3\",\"\u4e2d\u5fc3\",\"zh\u014dngx\u012bn\"), W(\"\u7576\",\"\u5f53\",\"d\u0101ng\"), W(\"\u904e\",\"\u8fc7\",\"gu\u00f2\"), W(\"\u52a9\u6559\",\"\u52a9\u6559\",\"zh\u00f9ji\u00e0o\"), \"\u3002\"],\n        exEn: \"She has served as a teaching assistant at the language center.\" },\n      { t: \"\u52a9\u6559\", s: \"\u52a9\u6559\", p: \"zh\u00f9ji\u00e0o\", pos: \"N\", meaning: \"teaching assistant\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u60f3\",\"\u60f3\",\"xi\u01ceng\"), W(\"\u8acb\u6559\",\"\u8bf7\u6559\",\"q\u01d0ngji\u00e0o\"), W(\"\u52a9\u6559\",\"\u52a9\u6559\",\"zh\u00f9ji\u00e0o\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u554f\u984c\",\"\u95ee\u9898\",\"w\u00e8nt\u00ed\"), \"\u3002\"],\n        exEn: \"I want to ask the teaching assistant a question.\" },\n      { t: \"\u4e0a\u5348\", s: \"\u4e0a\u5348\", p: \"sh\u00e0ngw\u01d4\", pos: \"N\", meaning: \"morning\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u9580\",\"\u95e8\",\"m\u00e9n\"), W(\"\u8ab2\",\"\u8bfe\",\"k\u00e8\"), W(\"\u4e0a\u5348\",\"\u4e0a\u5348\",\"sh\u00e0ngw\u01d4\"), W(\"\u4e0a\",\"\u4e0a\",\"sh\u00e0ng\"), \"\u3002\"],\n        exEn: \"This class meets in the morning.\" },\n      { t: \"\u9664\u4e86\", s: \"\u9664\u4e86\", p: \"ch\u00fale\", pos: \"Prep\", meaning: \"except for, other than\",\n        ex: [W(\"\u9664\u4e86\",\"\u9664\u4e86\",\"Ch\u00fale\"), W(\"\u5b78\",\"\u5b66\",\"xu\u00e9\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), \"\uff0c\", W(\"\u5979\",\"\u5979\",\"t\u0101\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u6253\u5de5\",\"\u6253\u5de5\",\"d\u01ceg\u014dng\"), \"\u3002\"],\n        exEn: \"Besides studying Chinese, she also works part-time.\" },\n      { t: \"\u5e74\u7d1a\", s: \"\u5e74\u7ea7\", p: \"ni\u00e1nj\u00ed\", pos: \"N\", meaning: \"grade (year in school)\",\n        ex: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u6559\",\"\u6559\",\"ji\u0101o\"), W(\"\u904e\",\"\u8fc7\",\"gu\u00f2\"), W(\"\u5e7e\",\"\u51e0\",\"j\u01d0\"), W(\"\u5e74\u7d1a\",\"\u5e74\u7ea7\",\"ni\u00e1nj\u00ed\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5b78\u751f\",\"\u5b66\u751f\",\"xu\u00e9sh\u0113ng\"), \"\uff1f\"],\n        exEn: \"What grade level have you taught?\" },\n      { t: \"\u6691\u5047\", s: \"\u6691\u5047\", p: \"sh\u01d4ji\u00e0\", pos: \"N\", meaning: \"summer vacation\",\n        ex: [W(\"\u6691\u5047\",\"\u6691\u5047\",\"Sh\u01d4ji\u00e0\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u6642\u5019\",\"\u65f6\u5019\",\"sh\u00edh\u00f2u\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u6253\u5de5\",\"\u6253\u5de5\",\"d\u01ceg\u014dng\"), \"\u3002\"],\n        exEn: \"During summer vacation I want to work part-time.\" },\n      { t: \"\u8acb\u6559\", s: \"\u8bf7\u6559\", p: \"q\u01d0ngji\u00e0o\", pos: \"V\", meaning: \"to ask, to inquire (polite form)\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u53ef\u4ee5\",\"\u53ef\u4ee5\",\"k\u011by\u01d0\"), W(\"\u8acb\u6559\",\"\u8bf7\u6559\",\"q\u01d0ngji\u00e0o\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u554f\u984c\",\"\u95ee\u9898\",\"w\u00e8nt\u00ed\"), W(\"\u55ce\",\"\u5417\",\"ma\"), \"\uff1f\"],\n        exEn: \"May I ask you a question?\" },\n      { t: \"\u8cb4\", s: \"\u8d35\", p: \"gu\u00ec\", pos: \"Vs-attr\", meaning: \"your (honorable)\",\n        ex: [W(\"\u8acb\u554f\",\"\u8bf7\u95ee\",\"Q\u01d0ngw\u00e8n\"), W(\"\u8cb4\",\"\u8d35\",\"gu\u00ec\"), W(\"\u59d3\",\"\u59d3\",\"x\u00ecng\"), W(\"\u5927\u540d\",\"\u5927\u540d\",\"d\u00e0m\u00edng\"), \"\uff1f\"],\n        exEn: \"May I ask your (honorable) name?\" },\n      { t: \"\u85aa\u6c34\", s: \"\u85aa\u6c34\", p: \"x\u012bnshu\u01d0\", pos: \"N\", meaning: \"pay\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u4efd\",\"\u4efd\",\"f\u00e8n\"), W(\"\u5de5\u4f5c\",\"\u5de5\u4f5c\",\"g\u014dngzu\u00f2\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u85aa\u6c34\",\"\u85aa\u6c34\",\"x\u012bnshu\u01d0\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u932f\",\"\u9519\",\"cu\u00f2\"), \"\u3002\"],\n        exEn: \"The pay for this job is not bad.\" },\n      { t: \"\u7b97\", s: \"\u7b97\", p: \"su\u00e0n\", pos: \"V\", meaning: \"to calculate\",\n        ex: [W(\"\u85aa\u6c34\",\"\u85aa\u6c34\",\"X\u012bnshu\u01d0\"), W(\"\u6309\u7167\",\"\u6309\u7167\",\"\u00e0nzh\u00e0o\"), W(\"\u6642\u9593\",\"\u65f6\u95f4\",\"sh\u00edji\u0101n\"), W(\"\u7b97\",\"\u7b97\",\"su\u00e0n\"), \"\u3002\"],\n        exEn: \"Pay is calculated by the hour.\" },\n      { t: \"\u6309\u7167\", s: \"\u6309\u7167\", p: \"\u00e0nzh\u00e0o\", pos: \"Prep\", meaning: \"based on, in accordance with\",\n        ex: [W(\"\u6309\u7167\",\"\u6309\u7167\",\"\u00c0nzh\u00e0o\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u6cd5\u5f8b\",\"\u6cd5\u5f8b\",\"f\u01cel\u01dc\"), \"\uff0c\", W(\"\u5979\",\"\u5979\",\"t\u0101\"), W(\"\u53ef\u4ee5\",\"\u53ef\u4ee5\",\"k\u011by\u01d0\"), W(\"\u6253\u5de5\",\"\u6253\u5de5\",\"d\u01ceg\u014dng\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"According to Taiwan's law, she can now work part-time.\" },\n      { t: \"\u6559\u6388\", s: \"\u6559\u6388\", p: \"ji\u00e0osh\u00f2u\", pos: \"N\", meaning: \"professor\",\n        ex: [W(\"\u90a3\",\"\u90a3\",\"N\u00e0\"), W(\"\u4f4d\",\"\u4f4d\",\"w\u00e8i\"), W(\"\u8a9e\u8a00\u5b78\",\"\u8bed\u8a00\u5b66\",\"y\u01d4y\u00e1nxu\u00e9\"), W(\"\u6559\u6388\",\"\u6559\u6388\",\"ji\u00e0osh\u00f2u\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u7d93\u9a57\",\"\u7ecf\u9a8c\",\"j\u012bngy\u00e0n\"), \"\u3002\"],\n        exEn: \"That linguistics professor is very experienced.\" },\n      { t: \"\u9418\u9ede\u8cbb\", s: \"\u949f\u70b9\u8d39\", p: \"zh\u014dngdi\u01cenf\u00e8i\", pos: \"N\", meaning: \"hourly pay\",\n        ex: [W(\"\u9418\u9ede\u8cbb\",\"\u949f\u70b9\u8d39\",\"Zh\u014dngdi\u01cenf\u00e8i\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ec\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u6708\",\"\u6708\",\"yu\u00e8\"), W(\"\u767c\",\"\u53d1\",\"f\u0101\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u6b21\",\"\u6b21\",\"c\u00ec\"), \"\u3002\"],\n        exEn: \"Hourly pay is issued once a month.\" },\n      { t: \"\u4efd\", s: \"\u4efd\", p: \"f\u00e8n\", pos: \"M\", meaning: \"measure word for job\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u4efd\",\"\u4efd\",\"f\u00e8n\"), W(\"\u5de5\u4f5c\",\"\u5de5\u4f5c\",\"g\u014dngzu\u00f2\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u9069\u5408\",\"\u9002\u5408\",\"sh\u00ech\u00e9\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), \"\u3002\"],\n        exEn: \"This job suits you very well.\" }\n    ],\n    'd24-word-list-2': [\n      { t: \"\u6cd5\u6587\", s: \"\u6cd5\u6587\", p: \"F\u01cew\u00e9n\", pos: \"Names\", meaning: \"French language\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u6559\",\"\u6559\",\"ji\u0101o\"), W(\"\u6cd5\u6587\",\"\u6cd5\u6587\",\"F\u01cew\u00e9n\"), \"\u3002\"],\n        exEn: \"She teaches French.\" },\n      { t: \"\u4e9e\u6d32\", s: \"\u4e9a\u6d32\", p: \"Y\u00e0zh\u014du\", pos: \"Names\", meaning: \"Asia\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u60f3\",\"\u60f3\",\"xi\u01ceng\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), W(\"\u4e9e\u6d32\",\"\u4e9a\u6d32\",\"Y\u00e0zh\u014du\"), W(\"\u6559\u66f8\",\"\u6559\u4e66\",\"ji\u0101osh\u016b\"), \"\u3002\"],\n        exEn: \"She wants to come teach in Asia.\" },\n      { t: \"\u897f\u73ed\u7259\u8a9e\", s: \"\u897f\u73ed\u7259\u8bed\", p: \"X\u012bb\u0101ny\u00e1 y\u01d4\", pos: \"Names\", meaning: \"Spanish language\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u6703\",\"\u4f1a\",\"hu\u00ec\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u897f\u73ed\u7259\u8a9e\",\"\u897f\u73ed\u7259\u8bed\",\"X\u012bb\u0101ny\u00e1 y\u01d4\"), \"\u3002\"],\n        exEn: \"He can speak Spanish.\" },\n      { t: \"\u82f1\u6587\", s: \"\u82f1\u6587\", p: \"Y\u012bngw\u00e9n\", pos: \"Names\", meaning: \"English language\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u9664\u4e86\",\"\u9664\u4e86\",\"ch\u00fale\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), \"\uff0c\", W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u6559\",\"\u6559\",\"ji\u0101o\"), W(\"\u82f1\u6587\",\"\u82f1\u6587\",\"Y\u012bngw\u00e9n\"), \"\u3002\"],\n        exEn: \"Besides Chinese, I also teach English.\" },\n      { t: \"\u4e09\u5e74\u7d1a\", s: \"\u4e09\u5e74\u7ea7\", p: \"s\u0101n ni\u00e1nj\u00ed\", pos: \"Phrase\", meaning: \"grade three (school or university)\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u73ed\",\"\u73ed\",\"b\u0101n\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u4e09\u5e74\u7d1a\",\"\u4e09\u5e74\u7ea7\",\"s\u0101n ni\u00e1nj\u00ed\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5b78\u751f\",\"\u5b66\u751f\",\"xu\u00e9sh\u0113ng\"), \"\u3002\"],\n        exEn: \"This class is for third-year students.\" }\n    ],\n    'd24-word-list-3': [\n      { t: \"\u6cd5\u5f8b\", s: \"\u6cd5\u5f8b\", p: \"f\u01cel\u01dc\", pos: \"N\", meaning: \"law\",\n        ex: [W(\"\u6309\u7167\",\"\u6309\u7167\",\"\u00c0nzh\u00e0o\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u6cd5\u5f8b\",\"\u6cd5\u5f8b\",\"f\u01cel\u01dc\"), \"\uff0c\", W(\"\u5979\",\"\u5979\",\"t\u0101\"), W(\"\u5df2\u7d93\",\"\u5df2\u7ecf\",\"y\u01d0j\u012bng\"), W(\"\u53ef\u4ee5\",\"\u53ef\u4ee5\",\"k\u011by\u01d0\"), W(\"\u6253\u5de5\",\"\u6253\u5de5\",\"d\u01ceg\u014dng\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"According to Taiwan's law, she can already work part-time.\" },\n      { t: \"\u5920\", s: \"\u591f\", p: \"g\u00f2u\", pos: \"Vs-pred\", meaning: \"enough\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u7d93\u9a57\",\"\u7ecf\u9a8c\",\"j\u012bngy\u00e0n\"), W(\"\u5920\",\"\u591f\",\"g\u00f2u\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u5920\",\"\u591f\",\"g\u00f2u\"), \"\uff1f\"],\n        exEn: \"Is my experience enough?\" },\n      { t: \"\u5c65\u6b77\u8868\", s: \"\u5c65\u5386\u8868\", p: \"l\u01dal\u00ecbi\u01ceo\", pos: \"N\", meaning: \"resume\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u5e36\",\"\u5e26\",\"d\u00e0i\"), W(\"\u8457\",\"\u7740\",\"zhe\"), W(\"\u5c65\u6b77\u8868\",\"\u5c65\u5386\u8868\",\"l\u01dal\u00ecbi\u01ceo\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u9762\u8ac7\",\"\u9762\u8c08\",\"mi\u00e0nt\u00e1n\"), \"\u3002\"],\n        exEn: \"She brought her resume to the interview.\" },\n      { t: \"\u9762\u8ac7\", s: \"\u9762\u8c08\", p: \"mi\u00e0nt\u00e1n\", pos: \"Vi, N\", meaning: \"to have an interview, interview\",\n        ex: [W(\"\u4e3b\u4efb\",\"\u4e3b\u4efb\",\"Zh\u01d4r\u00e8n\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u5979\",\"\u5979\",\"t\u0101\"), W(\"\u9762\u8ac7\",\"\u9762\u8c08\",\"mi\u00e0nt\u00e1n\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u534a\",\"\u534a\",\"b\u00e0n\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u5c0f\u6642\",\"\u5c0f\u65f6\",\"xi\u01ceosh\u00ed\"), \"\u3002\"],\n        exEn: \"The director interviewed her for half an hour.\" },\n      { t: \"\u83ef\u50d1\", s: \"\u534e\u4fa8\", p: \"Hu\u00e1qi\u00e1o\", pos: \"N\", meaning: \"overseas Chinese\",\n        ex: [W(\"\u9ec3\",\"\u9ec4\",\"Hu\u00e1ng\"), W(\"\u4e3b\u4efb\",\"\u4e3b\u4efb\",\"zh\u01d4r\u00e8n\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u6cd5\u570b\",\"\u6cd5\u56fd\",\"F\u01cegu\u00f3\"), W(\"\u83ef\u50d1\",\"\u534e\u4fa8\",\"Hu\u00e1qi\u00e1o\"), \"\u3002\"],\n        exEn: \"Director Huang is an overseas Chinese from France.\" },\n      { t: \"\u8fa6\u516c\u5ba4\", s: \"\u529e\u516c\u5ba4\", p: \"b\u00e0ng\u014dngsh\u00ec\", pos: \"N\", meaning: \"office\",\n        ex: [W(\"\u6211\u5011\",\"\u6211\u4eec\",\"W\u01d2men\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u8fa6\u516c\u5ba4\",\"\u529e\u516c\u5ba4\",\"b\u00e0ng\u014dngsh\u00ec\"), W(\"\u8ac7\u8a71\",\"\u8c08\u8bdd\",\"t\u00e1nhu\u00e0\"), \"\u3002\"],\n        exEn: \"We talked in the office.\" },\n      { t: \"\u8ac7\u8a71\", s: \"\u8c08\u8bdd\", p: \"t\u00e1nhu\u00e0\", pos: \"V-sep\", meaning: \"to talk\",\n        ex: [W(\"\u4ed6\u5011\",\"\u4ed6\u4eec\",\"T\u0101men\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u8fa6\u516c\u5ba4\",\"\u529e\u516c\u5ba4\",\"b\u00e0ng\u014dngsh\u00ec\"), W(\"\u8ac7\u8a71\",\"\u8c08\u8bdd\",\"t\u00e1nhu\u00e0\"), \"\u3002\"],\n        exEn: \"They talked in the office.\" },\n      { t: \"\u60c5\u5f62\", s: \"\u60c5\u5f62\", p: \"q\u00edngx\u00edng\", pos: \"N\", meaning: \"situation\",\n        ex: [W(\"\u8acb\",\"\u8bf7\",\"Q\u01d0ng\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u751f\u6d3b\",\"\u751f\u6d3b\",\"sh\u0113nghu\u00f3\"), W(\"\u60c5\u5f62\",\"\u60c5\u5f62\",\"q\u00edngx\u00edng\"), \"\u3002\"],\n        exEn: \"Please tell me about your life situation in Taiwan.\" },\n      { t: \"\u9069\u5408\", s: \"\u9002\u5408\", p: \"sh\u00ech\u00e9\", pos: \"Vst\", meaning: \"suitable for\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u4efd\",\"\u4efd\",\"f\u00e8n\"), W(\"\u5de5\u4f5c\",\"\u5de5\u4f5c\",\"g\u014dngzu\u00f2\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u9069\u5408\",\"\u9002\u5408\",\"sh\u00ech\u00e9\"), W(\"\u5979\",\"\u5979\",\"t\u0101\"), \"\u3002\"],\n        exEn: \"This job suits her well.\" },\n      { t: \"\u8aaa\u660e\", s: \"\u8bf4\u660e\", p: \"shu\u014dm\u00edng\", pos: \"V\", meaning: \"to explain\",\n        ex: [W(\"\u4e3b\u4efb\",\"\u4e3b\u4efb\",\"Zh\u01d4r\u00e8n\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u5979\",\"\u5979\",\"t\u0101\"), W(\"\u8aaa\u660e\",\"\u8bf4\u660e\",\"shu\u014dm\u00edng\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u5de5\u4f5c\",\"\u5de5\u4f5c\",\"g\u014dngzu\u00f2\"), W(\"\u74b0\u5883\",\"\u73af\u5883\",\"hu\u00e1nj\u00ecng\"), \"\u3002\"],\n        exEn: \"The director explained the work environment to her.\" },\n      { t: \"\u7136\u5f8c\", s: \"\u7136\u540e\", p: \"r\u00e1nh\u00f2u\", pos: \"Adv\", meaning: \"afterwards, and then\",\n        ex: [W(\"\u9762\u8ac7\",\"\u9762\u8c08\",\"Mi\u00e0nt\u00e1n\"), W(\"\u5b8c\",\"\u5b8c\",\"w\u00e1n\"), \"\uff0c\", W(\"\u7136\u5f8c\",\"\u7136\u540e\",\"r\u00e1nh\u00f2u\"), W(\"\u4e3b\u4efb\",\"\u4e3b\u4efb\",\"zh\u01d4r\u00e8n\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u5979\",\"\u5979\",\"t\u0101\"), W(\"\u8aaa\u660e\",\"\u8bf4\u660e\",\"shu\u014dm\u00edng\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u5de5\u4f5c\",\"\u5de5\u4f5c\",\"g\u014dngzu\u00f2\"), \"\u3002\"],\n        exEn: \"After the interview, the director explained the job to her.\" },\n      { t: \"\u6708\u5e95\", s: \"\u6708\u5e95\", p: \"yu\u00e8d\u01d0\", pos: \"N\", meaning: \"the end of a month\",\n        ex: [W(\"\u85aa\u6c34\",\"\u85aa\u6c34\",\"X\u012bnshu\u01d0\"), W(\"\u6708\u5e95\",\"\u6708\u5e95\",\"yu\u00e8d\u01d0\"), W(\"\u767c\",\"\u53d1\",\"f\u0101\"), \"\u3002\"],\n        exEn: \"Pay is issued at the end of the month.\" },\n      { t: \"\u767c\", s: \"\u53d1\", p: \"f\u0101\", pos: \"V\", meaning: \"to pay (wages)\",\n        ex: [W(\"\u516c\u53f8\",\"\u516c\u53f8\",\"G\u014dngs\u012b\"), W(\"\u6708\u5e95\",\"\u6708\u5e95\",\"yu\u00e8d\u01d0\"), W(\"\u767c\",\"\u53d1\",\"f\u0101\"), W(\"\u85aa\u6c34\",\"\u85aa\u6c34\",\"x\u012bnshu\u01d0\"), \"\u3002\"],\n        exEn: \"The company pays wages at the end of the month.\" },\n      { t: \"\u99ac\u4e0a\", s: \"\u9a6c\u4e0a\", p: \"m\u01cesh\u00e0ng\", pos: \"Adv\", meaning: \"immediately\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u99ac\u4e0a\",\"\u9a6c\u4e0a\",\"m\u01cesh\u00e0ng\"), W(\"\u5c31\",\"\u5c31\",\"ji\u00f9\"), W(\"\u7b54\u61c9\",\"\u7b54\u5e94\",\"d\u0101y\u00ecng\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"She agreed immediately.\" },\n      { t: \"\u7b54\u61c9\", s: \"\u7b54\u5e94\", p: \"d\u0101y\u00ecng\", pos: \"V\", meaning: \"to accept\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u99ac\u4e0a\",\"\u9a6c\u4e0a\",\"m\u01cesh\u00e0ng\"), W(\"\u7b54\u61c9\",\"\u7b54\u5e94\",\"d\u0101y\u00ecng\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u9019\",\"\u8fd9\",\"zh\u00e8\"), W(\"\u4efd\",\"\u4efd\",\"f\u00e8n\"), W(\"\u5de5\u4f5c\",\"\u5de5\u4f5c\",\"g\u014dngzu\u00f2\"), \"\u3002\"],\n        exEn: \"She immediately accepted the job.\" },\n      { t: \"\u9806\u5229\", s: \"\u987a\u5229\", p: \"sh\u00f9nl\u00ec\", pos: \"Vs\", meaning: \"to go, to proceed, smoothly\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u6b21\",\"\u6b21\",\"c\u00ec\"), W(\"\u9762\u8ac7\",\"\u9762\u8c08\",\"mi\u00e0nt\u00e1n\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u9806\u5229\",\"\u987a\u5229\",\"sh\u00f9nl\u00ec\"), \"\u3002\"],\n        exEn: \"This interview went very smoothly.\" }\n    ],\n    'd24-word-list-4': [\n      { t: \"\u9ec3\", s: \"\u9ec4\", p: \"Hu\u00e1ng\", pos: \"Names\", meaning: \"a common Chinese family name, literally \\\"yellow\\\"\",\n        ex: [W(\"\u90a3\",\"\u90a3\",\"N\u00e0\"), W(\"\u4f4d\",\"\u4f4d\",\"w\u00e8i\"), W(\"\u4e3b\u4efb\",\"\u4e3b\u4efb\",\"zh\u01d4r\u00e8n\"), W(\"\u59d3\",\"\u59d3\",\"x\u00ecng\"), W(\"\u9ec3\",\"\u9ec4\",\"Hu\u00e1ng\"), \"\u3002\"],\n        exEn: \"That director's surname is Huang.\" },\n      { t: \"\u6c92\u60f3\u5230\", s: \"\u6ca1\u60f3\u5230\", p: \"m\u00e9i xi\u01cengd\u00e0o\", pos: \"Phrase\", meaning: \"unexpectedly, didn't expect\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u6c92\u60f3\u5230\",\"\u6ca1\u60f3\u5230\",\"m\u00e9i xi\u01cengd\u00e0o\"), W(\"\u9762\u8ac7\",\"\u9762\u8c08\",\"mi\u00e0nt\u00e1n\"), W(\"\u9019\u9ebc\",\"\u8fd9\u4e48\",\"zh\u00e8me\"), W(\"\u9806\u5229\",\"\u987a\u5229\",\"sh\u00f9nl\u00ec\"), \"\u3002\"],\n        exEn: \"She didn't expect the interview to go so smoothly.\" }\n    ]\n  };\n\n  var DIALOGUE = [\n    { speakerT: \"\u9ec3\u4e3b\u4efb\", speakerS: \"\u9ec4\u4e3b\u4efb\",\n      tokens: [W(\"\u9ad8\u7f8e\u73b2\",\"\u9ad8\u7f8e\u73b2\",\"G\u0101o M\u011bil\u00edng\"), W(\"\u5c0f\u59d0\",\"\u5c0f\u59d0\",\"xi\u01ceoji\u011b\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), WD(\"\u9019\u88e1\",\"\u8fd9\u91cc\",\"zh\u00e8l\u01d0\",\"zh\u00e8li\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4e3b\u4efb\",\"\u4e3b\u4efb\",\"zh\u01d4r\u00e8n\"), \"\u3002\"],\n      en: \"Miss Gao Meiling, hello, I'm the director here.\" },\n    { speakerT: \"\u9ad8\u7f8e\u73b2\", speakerS: \"\u9ad8\u7f8e\u73b2\",\n      tokens: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), \"\uff0c\", W(\"\u8acb\u554f\",\"\u8bf7\u95ee\",\"q\u01d0ngw\u00e8n\"), W(\"\u600e\u9ebc\",\"\u600e\u4e48\",\"z\u011bnme\"), W(\"\u7a31\u547c\",\"\u79f0\u547c\",\"ch\u0113nghu\"), W(\"\u60a8\",\"\u60a8\",\"n\u00edn\"), \"\uff1f\"],\n      en: \"Hello, how should I address you?\" },\n    { speakerT: \"\u9ec3\u4e3b\u4efb\", speakerS: \"\u9ec4\u4e3b\u4efb\",\n      tokens: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u59d3\",\"\u59d3\",\"x\u00ecng\"), W(\"\u9ec3\",\"\u9ec4\",\"Hu\u00e1ng\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u53eb\",\"\u53eb\",\"ji\u00e0o\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u9ec3\",\"\u9ec4\",\"Hu\u00e1ng\"), W(\"\u4e3b\u4efb\",\"\u4e3b\u4efb\",\"zh\u01d4r\u00e8n\"), W(\"\u5c31\",\"\u5c31\",\"ji\u00f9\"), W(\"\u53ef\u4ee5\",\"\u53ef\u4ee5\",\"k\u011by\u01d0\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\", W(\"\u4eca\u5e74\",\"\u4eca\u5e74\",\"j\u012bnni\u00e1n\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u5927\",\"\u5927\",\"d\u00e0\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff1f\", W(\"\u5927\u5b78\",\"\u5927\u5b66\",\"d\u00e0xu\u00e9\"), W(\"\u5b78\",\"\u5b66\",\"xu\u00e9\"), W(\"\u4ec0\u9ebc\",\"\u4ec0\u4e48\",\"sh\u00e9nme\"), \"\uff1f\"],\n      en: \"My surname is Huang, you can just call me Director Huang. How old are you this year? What did you study in college?\" },\n    { speakerT: \"\u9ad8\u7f8e\u73b2\", speakerS: \"\u9ad8\u7f8e\u73b2\",\n      tokens: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u4eca\u5e74\",\"\u4eca\u5e74\",\"j\u012bnni\u00e1n\"), W(\"\u4e8c\u5341\u516b\",\"\u4e8c\u5341\u516b\",\"\u00e8rsh\u00edb\u0101\"), W(\"\u6b72\",\"\u5c81\",\"su\u00ec\"), \"\u3002\", W(\"\u5927\u5b78\",\"\u5927\u5b66\",\"d\u00e0xu\u00e9\"), W(\"\u5b78\",\"\u5b66\",\"xu\u00e9\"), W(\"\u6cd5\u5f8b\",\"\u6cd5\u5f8b\",\"f\u01cel\u01dc\"), \"\u3002\"],\n      en: \"I am twenty-eight years old this year. I studied law in college.\" },\n    { speakerT: \"\u9ec3\u4e3b\u4efb\", speakerS: \"\u9ec4\u4e3b\u4efb\",\n      tokens: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u6cd5\u570b\",\"\u6cd5\u56fd\",\"F\u01cegu\u00f3\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), \"\uff0c\", W(\"\u600e\u9ebc\",\"\u600e\u4e48\",\"z\u011bnme\"), W(\"\u6703\",\"\u4f1a\",\"hu\u00ec\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), \"\uff1f\"],\n      en: \"You're French, how do you speak Chinese?\" },\n    { speakerT: \"\u9ad8\u7f8e\u73b2\", speakerS: \"\u9ad8\u7f8e\u73b2\",\n      tokens: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u83ef\u50d1\",\"\u534e\u4fa8\",\"Hu\u00e1qi\u00e1o\"), \"\uff0c\", W(\"\u5abd\u5abd\",\"\u5988\u5988\",\"m\u0101ma\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ec\"), W(\"\u5e74\",\"\u5e74\",\"ni\u00e1n\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n      en: \"I'm an overseas Chinese, my mother is Taiwanese, and I've been in Taiwan for over a year.\" },\n    { speakerT: \"\u9ec3\u4e3b\u4efb\", speakerS: \"\u9ec4\u4e3b\u4efb\",\n      tokens: [W(\"\u597d\",\"\u597d\",\"H\u01ceo\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u770b\",\"\u770b\",\"k\u00e0n\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5c65\u6b77\u8868\",\"\u5c65\u5386\u8868\",\"l\u01dal\u00ecbi\u01ceo\"), \"\uff0c\", W(\"\u60f3\",\"\u60f3\",\"xi\u01ceng\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u8ac7\",\"\u8c08\",\"t\u00e1n\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ec\"), W(\"\u8ac7\",\"\u8c08\",\"t\u00e1n\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5de5\u4f5c\",\"\u5de5\u4f5c\",\"g\u014dngzu\u00f2\"), W(\"\u7d93\u9a57\",\"\u7ecf\u9a8c\",\"j\u012bngy\u00e0n\"), \"\u3002\"],\n      en: \"OK, I've looked at your resume, and I want to talk with you about your work experience.\" },\n    { speakerT: \"\u9ad8\u7f8e\u73b2\", speakerS: \"\u9ad8\u7f8e\u73b2\",\n      tokens: [W(\"\u597d\",\"\u597d\",\"H\u01ceo\"), W(\"\u7684\",\"\u7684\",\"de\"), \"\uff0c\", W(\"\u6c92\",\"\u6ca1\",\"m\u00e9i\"), W(\"\u554f\u984c\",\"\u95ee\u9898\",\"w\u00e8nt\u00ed\"), \"\u3002\"],\n      en: \"OK, no problem.\" },\n    { speakerT: \"\u9ec3\u4e3b\u4efb\", speakerS: \"\u9ec4\u4e3b\u4efb\",\n      tokens: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u6cd5\u570b\",\"\u6cd5\u56fd\",\"F\u01cegu\u00f3\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u6559\u66f8\",\"\u6559\u4e66\",\"ji\u0101osh\u016b\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u7d93\u9a57\",\"\u7ecf\u9a8c\",\"j\u012bngy\u00e0n\"), W(\"\u55ce\",\"\u5417\",\"ma\"), \"\uff1f\"],\n      en: \"Do you have teaching experience in France?\" },\n    { speakerT: \"\u9ad8\u7f8e\u73b2\", speakerS: \"\u9ad8\u7f8e\u73b2\",\n      tokens: [W(\"\u6709\",\"\u6709\",\"Y\u01d2u\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u6cd5\u570b\",\"\u6cd5\u56fd\",\"F\u01cegu\u00f3\"), W(\"\u7576\",\"\u5f53\",\"d\u0101ng\"), W(\"\u904e\",\"\u8fc7\",\"gu\u00f2\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u4f4d\",\"\u4f4d\",\"w\u00e8i\"), W(\"\u8a9e\u8a00\u5b78\",\"\u8bed\u8a00\u5b66\",\"y\u01d4y\u00e1nxu\u00e9\"), W(\"\u6559\u6388\",\"\u6559\u6388\",\"ji\u00e0osh\u00f2u\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u52a9\u6559\",\"\u52a9\u6559\",\"zh\u00f9ji\u00e0o\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u6642\u5e38\",\"\u65f6\u5e38\",\"sh\u00edch\u00e1ng\"), W(\"\u5411\",\"\u5411\",\"xi\u00e0ng\"), W(\"\u4ed6\",\"\u4ed6\",\"t\u0101\"), W(\"\u8acb\u6559\",\"\u8bf7\u6559\",\"q\u01d0ngji\u00e0o\"), W(\"\u6559\u5b78\",\"\u6559\u5b66\",\"ji\u00e0oxu\u00e9\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4e8b\",\"\u4e8b\",\"sh\u00ec\"), \"\uff0c\", W(\"\u4ed6\",\"\u4ed6\",\"t\u0101\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u9f13\u52f5\",\"\u9f13\u52b1\",\"g\u01d4l\u00ec\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), W(\"\u4e9e\u6d32\",\"\u4e9a\u6d32\",\"Y\u00e0zh\u014du\"), W(\"\u6559\u66f8\",\"\u6559\u4e66\",\"ji\u0101osh\u016b\"), \"\u3002\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u6253\",\"\u6253\",\"d\u01ce\"), W(\"\u904e\",\"\u8fc7\",\"gu\u00f2\"), W(\"\u5de5\",\"\u5de5\",\"g\u014dng\"), \"\uff0c\", W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u8fa6\u516c\u5ba4\",\"\u529e\u516c\u5ba4\",\"b\u00e0ng\u014dngsh\u00ec\"), W(\"\u7576\",\"\u5f53\",\"d\u0101ng\"), W(\"\u904e\",\"\u8fc7\",\"gu\u00f2\"), W(\"\u52a9\u7406\",\"\u52a9\u7406\",\"zh\u00f9l\u01d0\"), \"\uff0c\", W(\"\u90a3\",\"\u90a3\",\"n\u00e0\"), W(\"\u6642\",\"\u65f6\",\"sh\u00ed\"), W(\"\u5e38\u5e38\",\"\u5e38\u5e38\",\"ch\u00e1ngch\u00e1ng\"), W(\"\u9700\u8981\",\"\u9700\u8981\",\"x\u016by\u00e0o\"), W(\"\u548c\",\"\u548c\",\"h\u00e0n\"), W(\"\u5b78\u751f\",\"\u5b66\u751f\",\"xu\u00e9sh\u0113ng\"), W(\"\u5bb6\u9577\",\"\u5bb6\u957f\",\"ji\u0101zh\u01ceng\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u8fa6\u516c\u5ba4\",\"\u529e\u516c\u5ba4\",\"b\u00e0ng\u014dngsh\u00ec\"), W(\"\u9762\u8ac7\",\"\u9762\u8c08\",\"mi\u00e0nt\u00e1n\"), \"\u3002\"],\n      en: \"Yes, I was a teaching assistant for a linguistics professor in France, and I often asked him for advice on teaching. He really encouraged me to come teach in Asia. I also worked part-time as an office assistant, where I often had to meet with students' parents in the office.\" },\n    { speakerT: \"\u9ec3\u4e3b\u4efb\", speakerS: \"\u9ec4\u4e3b\u4efb\",\n      tokens: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u751f\u6d3b\",\"\u751f\u6d3b\",\"sh\u0113nghu\u00f3\"), W(\"\u60c5\u5f62\",\"\u60c5\u5f62\",\"q\u00edngx\u00edng\"), W(\"\u600e\u9ebc\u6a23\",\"\u600e\u4e48\u6837\",\"z\u011bnmey\u00e0ng\"), \"\uff1f\", W(\"\u9664\u4e86\",\"\u9664\u4e86\",\"ch\u00fale\"), W(\"\u5b78\",\"\u5b66\",\"xu\u00e9\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u9084\",\"\u8fd8\",\"h\u00e1i\"), W(\"\u505a\",\"\u505a\",\"zu\u00f2\"), W(\"\u4ec0\u9ebc\",\"\u4ec0\u4e48\",\"sh\u00e9nme\"), \"\uff1f\"],\n      en: \"How is your life in Taiwan? Besides studying Chinese, what else do you do?\" },\n    { speakerT: \"\u9ad8\u7f8e\u73b2\", speakerS: \"\u9ad8\u7f8e\u73b2\",\n      tokens: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u9664\u4e86\",\"\u9664\u4e86\",\"ch\u00fale\"), W(\"\u5b78\",\"\u5b66\",\"xu\u00e9\"), W(\"\u4e2d\u6587\",\"\u4e2d\u6587\",\"zh\u014dngw\u00e9n\"), \"\uff0c\", W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u6559\",\"\u6559\",\"ji\u0101o\"), W(\"\u897f\u73ed\u7259\u8a9e\",\"\u897f\u73ed\u7259\u8bed\",\"X\u012bb\u0101ny\u00e1 y\u01d4\"), \"\u3002\"],\n      en: \"Besides studying Chinese, I also teach Spanish.\" },\n    { speakerT: \"\u9ec3\u4e3b\u4efb\", speakerS: \"\u9ec4\u4e3b\u4efb\",\n      tokens: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u89ba\u5f97\",\"\u89c9\u5f97\",\"ju\u00e9de\"), W(\"\u81ea\u5df1\",\"\u81ea\u5df1\",\"z\u00ecj\u01d0\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u7d93\u9a57\",\"\u7ecf\u9a8c\",\"j\u012bngy\u00e0n\"), W(\"\u5920\",\"\u591f\",\"g\u00f2u\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u5920\",\"\u591f\",\"g\u00f2u\"), W(\"\u6559\",\"\u6559\",\"ji\u0101o\"), W(\"\u9019\",\"\u8fd9\",\"zh\u00e8\"), W(\"\u9580\",\"\u95e8\",\"m\u00e9n\"), W(\"\u8ab2\",\"\u8bfe\",\"k\u00e8\"), \"\uff1f\"],\n      en: \"Do you think your experience is enough to teach this class?\" },\n    { speakerT: \"\u9ad8\u7f8e\u73b2\", speakerS: \"\u9ad8\u7f8e\u73b2\",\n      tokens: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u89ba\u5f97\",\"\u89c9\u5f97\",\"ju\u00e9de\"), W(\"\u5920\",\"\u591f\",\"g\u00f2u\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u559c\u6b61\",\"\u559c\u6b22\",\"x\u01d0hu\u0101n\"), W(\"\u6559\",\"\u6559\",\"ji\u0101o\"), W(\"\u8a9e\u8a00\",\"\u8bed\u8a00\",\"y\u01d4y\u00e1n\"), \"\uff0c\", W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u559c\u6b61\",\"\u559c\u6b22\",\"x\u01d0hu\u0101n\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u5b78\u751f\",\"\u5b66\u751f\",\"xu\u00e9sh\u0113ng\"), W(\"\u8aaa\u660e\",\"\u8bf4\u660e\",\"shu\u014dm\u00edng\"), W(\"\u6587\u6cd5\",\"\u6587\u6cd5\",\"w\u00e9nf\u01ce\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u554f\u984c\",\"\u95ee\u9898\",\"w\u00e8nt\u00ed\"), \"\u3002\"],\n      en: \"I think it's enough. I really like teaching languages, and I also like explaining grammar questions to students.\" },\n    { speakerT: \"\u9ec3\u4e3b\u4efb\", speakerS: \"\u9ec4\u4e3b\u4efb\",\n      tokens: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u4efd\",\"\u4efd\",\"f\u00e8n\"), W(\"\u5de5\u4f5c\",\"\u5de5\u4f5c\",\"g\u014dngzu\u00f2\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u6691\u5047\",\"\u6691\u5047\",\"sh\u01d4ji\u00e0\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u6cd5\u6587\",\"\u6cd5\u6587\",\"F\u01cew\u00e9n\"), W(\"\u73ed\",\"\u73ed\",\"b\u0101n\"), \"\uff0c\", W(\"\u4e0a\u5348\",\"\u4e0a\u5348\",\"sh\u00e0ngw\u01d4\"), W(\"\u4e0a\",\"\u4e0a\",\"sh\u00e0ng\"), W(\"\u8ab2\",\"\u8bfe\",\"k\u00e8\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u65b9\u4fbf\",\"\u65b9\u4fbf\",\"f\u0101ngbi\u00e0n\"), W(\"\u4e0b\",\"\u4e0b\",\"xi\u00e0\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u6708\",\"\u6708\",\"yu\u00e8\"), W(\"\u99ac\u4e0a\",\"\u9a6c\u4e0a\",\"m\u01cesh\u00e0ng\"), W(\"\u958b\u59cb\",\"\u5f00\u59cb\",\"k\u0101ish\u01d0\"), W(\"\u55ce\",\"\u5417\",\"ma\"), \"\uff1f\"],\n      en: \"This job is for a summer French class, held in the mornings \u2014 is that convenient, and can you start right away next month?\" },\n    { speakerT: \"\u9ad8\u7f8e\u73b2\", speakerS: \"\u9ad8\u7f8e\u73b2\",\n      tokens: [W(\"\u53ef\u4ee5\",\"\u53ef\u4ee5\",\"K\u011by\u01d0\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u4e0a\u5348\",\"\u4e0a\u5348\",\"sh\u00e0ngw\u01d4\"), W(\"\u6c92\u6709\",\"\u6ca1\u6709\",\"m\u00e9iy\u01d2u\"), W(\"\u8ab2\",\"\u8bfe\",\"k\u00e8\"), \"\u3002\"],\n      en: \"Sure, I don't have classes in the morning.\" },\n    { speakerT: \"\u9ec3\u4e3b\u4efb\", speakerS: \"\u9ec4\u4e3b\u4efb\",\n      tokens: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u73ed\",\"\u73ed\",\"b\u0101n\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u7d66\",\"\u7ed9\",\"g\u011bi\"), W(\"\u4e09\u5e74\u7d1a\",\"\u4e09\u5e74\u7ea7\",\"s\u0101n ni\u00e1nj\u00ed\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5b78\u751f\",\"\u5b66\u751f\",\"xu\u00e9sh\u0113ng\"), W(\"\u4e0a\",\"\u4e0a\",\"sh\u00e0ng\"), W(\"\u7684\",\"\u7684\",\"de\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u89ba\u5f97\",\"\u89c9\u5f97\",\"ju\u00e9de\"), W(\"\u81ea\u5df1\",\"\u81ea\u5df1\",\"z\u00ecj\u01d0\"), W(\"\u9069\u5408\",\"\u9002\u5408\",\"sh\u00ech\u00e9\"), W(\"\u55ce\",\"\u5417\",\"ma\"), \"\uff1f\"],\n      en: \"This class is for third-year students \u2014 do you think you're a good fit?\" },\n    { speakerT: \"\u9ad8\u7f8e\u73b2\", speakerS: \"\u9ad8\u7f8e\u73b2\",\n      tokens: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u89ba\u5f97\",\"\u89c9\u5f97\",\"ju\u00e9de\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u9069\u5408\",\"\u9002\u5408\",\"sh\u00ech\u00e9\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u4ee5\u524d\",\"\u4ee5\u524d\",\"y\u01d0qi\u00e1n\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u6559\",\"\u6559\",\"ji\u0101o\"), W(\"\u904e\",\"\u8fc7\",\"gu\u00f2\"), W(\"\u5dee\u4e0d\u591a\",\"\u5dee\u4e0d\u591a\",\"ch\u00e0b\u00f9du\u014d\"), W(\"\u5e74\u7d1a\",\"\u5e74\u7ea7\",\"ni\u00e1nj\u00ed\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5b78\u751f\",\"\u5b66\u751f\",\"xu\u00e9sh\u0113ng\"), \"\u3002\"],\n      en: \"I think I'm a very good fit \u2014 I've taught students around this grade level before.\" },\n    { speakerT: \"\u9ec3\u4e3b\u4efb\", speakerS: \"\u9ec4\u4e3b\u4efb\",\n      tokens: [W(\"\u85aa\u6c34\",\"\u85aa\u6c34\",\"X\u012bnshu\u01d0\"), W(\"\u6309\u7167\",\"\u6309\u7167\",\"\u00e0nzh\u00e0o\"), W(\"\u9418\u9ede\u8cbb\",\"\u949f\u70b9\u8d39\",\"zh\u014dngdi\u01cenf\u00e8i\"), W(\"\u7b97\",\"\u7b97\",\"su\u00e0n\"), \"\uff0c\", W(\"\u7136\u5f8c\",\"\u7136\u540e\",\"r\u00e1nh\u00f2u\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u6708\",\"\u6708\",\"yu\u00e8\"), W(\"\u767c\",\"\u53d1\",\"f\u0101\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u6b21\",\"\u6b21\",\"c\u00ec\"), \"\uff0c\", W(\"\u6708\u5e95\",\"\u6708\u5e95\",\"yu\u00e8d\u01d0\"), W(\"\u767c\",\"\u53d1\",\"f\u0101\"), W(\"\u85aa\u6c34\",\"\u85aa\u6c34\",\"x\u012bnshu\u01d0\"), \"\u3002\"],\n      en: \"Pay is calculated by the hour, and it's issued once a month, at the end of the month.\" },\n    { speakerT: \"\u9ad8\u7f8e\u73b2\", speakerS: \"\u9ad8\u7f8e\u73b2\",\n      tokens: [W(\"\u597d\",\"\u597d\",\"H\u01ceo\"), W(\"\u7684\",\"\u7684\",\"de\"), \"\u3002\"],\n      en: \"OK.\" },\n    { speakerT: \"\u9ec3\u4e3b\u4efb\", speakerS: \"\u9ec4\u4e3b\u4efb\",\n      tokens: [W(\"\u90a3\",\"\u90a3\",\"N\u00e0\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u5c31\",\"\u5c31\",\"ji\u00f9\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u6211\u5011\",\"\u6211\u4eec\",\"w\u01d2men\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u6cd5\u6587\",\"\u6cd5\u6587\",\"F\u01cew\u00e9n\"), W(\"\u8001\u5e2b\",\"\u8001\u5e08\",\"l\u01ceosh\u012b\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff0c\", W(\"\u4e0b\",\"\u4e0b\",\"xi\u00e0\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u6708\",\"\u6708\",\"yu\u00e8\"), W(\"\u4e00\",\"\u4e00\",\"y\u012b\"), W(\"\u865f\",\"\u53f7\",\"h\u00e0o\"), W(\"\u958b\u59cb\",\"\u5f00\u59cb\",\"k\u0101ish\u01d0\"), W(\"\u4e0a\u73ed\",\"\u4e0a\u73ed\",\"sh\u00e0ngb\u0101n\"), \"\u3002\"],\n      en: \"Then you're our French teacher \u2014 you'll start on the first of next month.\" },\n    { speakerT: \"\u9ad8\u7f8e\u73b2\", speakerS: \"\u9ad8\u7f8e\u73b2\",\n      tokens: [W(\"\u6c92\u60f3\u5230\",\"\u6ca1\u60f3\u5230\",\"M\u00e9i xi\u01cengd\u00e0o\"), W(\"\u9019\",\"\u8fd9\",\"zh\u00e8\"), W(\"\u6b21\",\"\u6b21\",\"c\u00ec\"), W(\"\u9762\u8ac7\",\"\u9762\u8c08\",\"mi\u00e0nt\u00e1n\"), W(\"\u9019\u9ebc\",\"\u8fd9\u4e48\",\"zh\u00e8me\"), W(\"\u9806\u5229\",\"\u987a\u5229\",\"sh\u00f9nl\u00ec\"), \"\uff0c\", W(\"\u8b1d\u8b1d\",\"\u8c22\u8c22\",\"xi\u00e8xie\"), W(\"\u4e3b\u4efb\",\"\u4e3b\u4efb\",\"zh\u01d4r\u00e8n\"), \"\uff01\"],\n      en: \"I didn't expect this interview to go so smoothly \u2014 thank you, Director!\" }\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=\"d24-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=\"d24-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 PEOPLE = [\n    { t: '\u9ad8\u7f8e\u73b2', s: '\u9ad8\u7f8e\u73b2', p: 'G\u0101o M\u011bl\u00edng', meaning: 'Gao Meiling, a woman from France' }\n  ];\n\n  var peopleEl = root.querySelector('#d24-people-list');\n  if (peopleEl) {\n    var pHtml = '';\n    PEOPLE.forEach(function (p) {\n      pHtml += '<div class=\"d24-people-card\">' +\n        '<span class=\"d24-hanzi\">' + headwordRuby(p.t, p.s, p.p, p.p) + '<\/span>' +\n        '<span class=\"d24-meaning\">' + p.meaning + '<\/span>' +\n      '<\/div>';\n    });\n    peopleEl.innerHTML = pHtml;\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=\"d24-word-card\">' +\n        '<div class=\"d24-word-top\">' +\n          '<span class=\"d24-num\">' + num + '<\/span>' +\n          '<span class=\"d24-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>' +\n          '<span class=\"d24-pos\">' + w.pos + '<\/span>' +\n          '<span class=\"d24-meaning\">' + w.meaning + '<\/span>' +\n          '<button class=\"d24-speaker\" data-trad=\"' + w.t + '\" data-simp=\"' + w.s + '\" aria-label=\"Play pronunciation\">' + SPEAKER_SVG + '<\/button>' +\n        '<\/div>' +\n        '<div class=\"d24-example\">' +\n          renderTokens(w.ex) +\n          '<span class=\"d24-en\">' + w.exEn + '<\/span>' +\n        '<\/div>' +\n      '<\/div>';\n    });\n    container.innerHTML = html;\n  });\n\n  var dialogueEl = root.querySelector('#d24-dialogue');\n  if (dialogueEl) {\n    var dHtml = '';\n    DIALOGUE.forEach(function (line) {\n      dHtml += '<div class=\"d24-line\">' +\n        '<span class=\"d24-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=\"d24-line-body\">' +\n          renderTokens(line.tokens) +\n          '<span class=\"d24-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('#d24-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('.d24-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('d24-py-hidden', isHidden);\n    root.classList.toggle('d24-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('#d24-flashcard');\n  var fcFront = root.querySelector('#d24-fc-front');\n  var fcBack = root.querySelector('#d24-fc-back');\n  var fcProgress = root.querySelector('#d24-fc-progress');\n  var fcPrevBtn = root.querySelector('#d24-fc-prev');\n  var fcNextBtn = root.querySelector('#d24-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=\"d24-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>';\n    fcBack.innerHTML = '<span class=\"d24-meaning\">' + w.meaning + '<\/span><span class=\"d24-pos\">' + w.pos + '<\/span>';\n    if (fcProgress) fcProgress.textContent = (fcIndex + 1) + ' \/ ' + ALL_WORDS.length;\n    if (fcCard) fcCard.classList.remove('d24-flipped');\n    fcFlipped = false;\n    syncPinyin();\n  }\n\n  if (fcCard) {\n    fcCard.addEventListener('click', function () {\n      fcFlipped = !fcFlipped;\n      fcCard.classList.toggle('d24-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('#d24-game-col-zh');\n  var gameColEn = root.querySelector('#d24-game-col-en');\n  var gameStatus = root.querySelector('#d24-game-status');\n  var gameWin = root.querySelector('#d24-game-win');\n  var gameNewBtn = root.querySelector('#d24-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('d24-show');\n\n    var zhOrder = shuffle(gameRound);\n    var enOrder = shuffle(gameRound);\n\n    gameColZh.innerHTML = zhOrder.map(function (w) {\n      return '<button class=\"d24-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=\"d24-tile-py\">' + (w.pt || w.p) + '<\/span>' +\n      '<\/button>';\n    }).join('');\n\n    gameColEn.innerHTML = enOrder.map(function (w) {\n      return '<button class=\"d24-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('d24-matched')) return;\n    var side = tile.getAttribute('data-side');\n\n    if (side === 'zh') {\n      if (gameSelectedZh) gameSelectedZh.classList.remove('d24-selected');\n      gameSelectedZh = tile;\n      tile.classList.add('d24-selected');\n    } else {\n      if (gameSelectedEn) gameSelectedEn.classList.remove('d24-selected');\n      gameSelectedEn = tile;\n      tile.classList.add('d24-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('d24-selected');\n          gameSelectedEn.classList.remove('d24-selected');\n          gameSelectedZh.classList.add('d24-matched');\n          gameSelectedEn.classList.add('d24-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('d24-show');\n            }\n          }\n        } else {\n          gameBusy = true;\n          var z = gameSelectedZh, en = gameSelectedEn;\n          z.classList.add('d24-wrong');\n          en.classList.add('d24-wrong');\n          setTimeout(function () {\n            z.classList.remove('d24-selected', 'd24-wrong');\n            en.classList.remove('d24-selected', 'd24-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('.d24-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\\\">\u6253\u5de5<\/span><span class=\\\"lang-zh-CN\\\">\u6253\u5de5<\/span> means...\", options: [\"to work part-time\", \"to introduce\", \"to talk over\", \"to serve as\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u4e3b\u4efb<\/span><span class=\\\"lang-zh-CN\\\">\u4e3b\u4efb<\/span>.\", accept: [\"zhuren\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u7d93\u9a57<\/span><span class=\\\"lang-zh-CN\\\">\u7ecf\u9a8c<\/span> means...\", options: [\"experience\", \"pay\", \"law\", \"situation\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u8a9e\u8a00\u5b78<\/span><span class=\\\"lang-zh-CN\\\">\u8bed\u8a00\u5b66<\/span>.\", accept: [\"linguistics\"] },\n    { type: 'mc', prompt: \"Which word means \\\"teaching assistant\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u52a9\u6559<\/span><span class=\\\"lang-zh-CN\\\">\u52a9\u6559<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u6559\u6388<\/span><span class=\\\"lang-zh-CN\\\">\u6559\u6388<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u4e3b\u4efb<\/span><span class=\\\"lang-zh-CN\\\">\u4e3b\u4efb<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u83ef\u50d1<\/span><span class=\\\"lang-zh-CN\\\">\u534e\u4fa8<\/span>\"], answer: 0 },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u6691\u5047<\/span><span class=\\\"lang-zh-CN\\\">\u6691\u5047<\/span> means...\", options: [\"summer vacation\", \"morning\", \"grade\", \"job (measure word)\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u8acb\u6559<\/span><span class=\\\"lang-zh-CN\\\">\u8bf7\u6559<\/span>.\", accept: [\"qingjiao\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u6309\u7167<\/span><span class=\\\"lang-zh-CN\\\">\u6309\u7167<\/span> means...\", options: [\"based on, in accordance with\", \"to calculate\", \"to explain\", \"to accept\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u9418\u9ede\u8cbb<\/span><span class=\\\"lang-zh-CN\\\">\u949f\u70b9\u8d39<\/span>.\", accept: [\"hourly pay\"] },\n    { type: 'mc', prompt: \"Which word means \\\"resume\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u5c65\u6b77\u8868<\/span><span class=\\\"lang-zh-CN\\\">\u5c65\u5386\u8868<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u9762\u8ac7<\/span><span class=\\\"lang-zh-CN\\\">\u9762\u8c08<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u8fa6\u516c\u5ba4<\/span><span class=\\\"lang-zh-CN\\\">\u529e\u516c\u5ba4<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u60c5\u5f62<\/span><span class=\\\"lang-zh-CN\\\">\u60c5\u5f62<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u9762\u8ac7<\/span><span class=\\\"lang-zh-CN\\\">\u9762\u8c08<\/span>.\", accept: [\"miantan\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u9069\u5408<\/span><span class=\\\"lang-zh-CN\\\">\u9002\u5408<\/span> means...\", options: [\"suitable for\", \"to explain\", \"enough\", \"to accept\"], answer: 0 },\n    { type: 'mc', prompt: \"Which word means \\\"immediately\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u99ac\u4e0a<\/span><span class=\\\"lang-zh-CN\\\">\u9a6c\u4e0a<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u7136\u5f8c<\/span><span class=\\\"lang-zh-CN\\\">\u7136\u540e<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u6708\u5e95<\/span><span class=\\\"lang-zh-CN\\\">\u6708\u5e95<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u9806\u5229<\/span><span class=\\\"lang-zh-CN\\\">\u987a\u5229<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u7b54\u61c9<\/span><span class=\\\"lang-zh-CN\\\">\u7b54\u5e94<\/span>.\", accept: [\"accept\", \"to accept\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u6c92\u60f3\u5230<\/span><span class=\\\"lang-zh-CN\\\">\u6ca1\u60f3\u5230<\/span> means...\", options: [\"unexpectedly, did not expect\", \"suitable for\", \"experience\", \"smoothly\"], 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('#d24-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=\"d24-quiz-progress\">Question ' + (current + 1) + ' of ' + QUIZ_DATA.length + '<\/p>';\n      html += '<p class=\"d24-quiz-prompt\">' + q.prompt + '<\/p>';\n      if (q.type === 'mc') {\n        html += '<div class=\"d24-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=\"d24-quiz-opt\" data-i=\"' + i + '\">' + q.options[i] + '<\/button>';\n        }\n        html += '<\/div>';\n      } else {\n        html += '<div class=\"d24-quiz-input-row\">';\n        html += '<input type=\"text\" class=\"d24-quiz-input\" placeholder=\"Type your answer\">';\n        html += '<button type=\"button\" class=\"d24-quiz-submit\">Submit<\/button>';\n        html += '<\/div>';\n      }\n      html += '<p class=\"d24-quiz-feedback\"><\/p>';\n      html += '<button type=\"button\" class=\"d24-quiz-next\" style=\"display:none;\">Next<\/button>';\n      qRoot.innerHTML = html;\n\n      if (q.type === 'mc') {\n        var opts = qRoot.querySelectorAll('.d24-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('.d24-quiz-input');\n        var submitBtn = qRoot.querySelector('.d24-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('.d24-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 = 'd24-quiz-feedback ' + (correct ? 'correct' : 'incorrect');\n        var nextBtn = qRoot.querySelector('.d24-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=\"d24-quiz-score\">' +\n        '<span class=\"d24-quiz-score-num\">' + score + ' \/ ' + QUIZ_DATA.length + '<\/span>' +\n        '<p>Nice work! Want to try again?<\/p>' +\n        '<button type=\"button\" class=\"d24-quiz-retake\">Retake Quiz<\/button>' +\n        '<\/div>';\n      qRoot.querySelector('.d24-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('.d24-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('.d24-lede .lang-zh-CN');\n    var refTW = root.querySelector('.d24-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('.d24-quiz, .d24-game-board, .d24-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 4\u300c\u6211\u6253\u5de5\uff0c\u6211\u6559\u6cd5\u6587\u6211\u6253\u5de5\uff0c\u6211\u6559\u6cd5\u6587\u300dI Work Part-time. I Teach French. \u2014 every word from \u751f\u8a5e\u4e00 and \u751f\u8a5e\u4e8c (Vocabulary&#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-13196","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 L4 Vocabulary and Practice - OneDotDot Chinese<\/title>\n<meta name=\"description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u56db\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 4\" \/>\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\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"B2 L4 Vocabulary and Practice - OneDotDot Chinese\" \/>\n<meta property=\"og:description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u56db\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 4\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/\" \/>\n<meta property=\"og:site_name\" content=\"OneDotDot Chinese\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-01T15:06:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-09T14:55:19+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\\\/10\\\/01\\\/contemporary-chinese-vocabulary-practice-b2l4\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/01\\\/contemporary-chinese-vocabulary-practice-b2l4\\\/\"},\"author\":{\"name\":\"tiffany\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"headline\":\"B2 L4 Vocabulary and Practice\",\"datePublished\":\"2025-10-01T15:06:20+00:00\",\"dateModified\":\"2026-10-09T14:55:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/01\\\/contemporary-chinese-vocabulary-practice-b2l4\\\/\"},\"wordCount\":233,\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/01\\\/contemporary-chinese-vocabulary-practice-b2l4\\\/#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\\\/10\\\/01\\\/contemporary-chinese-vocabulary-practice-b2l4\\\/\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/01\\\/contemporary-chinese-vocabulary-practice-b2l4\\\/\",\"name\":\"B2 L4 Vocabulary and Practice - OneDotDot Chinese\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/01\\\/contemporary-chinese-vocabulary-practice-b2l4\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/01\\\/contemporary-chinese-vocabulary-practice-b2l4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/\u7576\u4ee3\u4e2d\u65872.jpg\",\"datePublished\":\"2025-10-01T15:06:20+00:00\",\"dateModified\":\"2026-10-09T14:55:19+00:00\",\"description\":\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u56db\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 4\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/01\\\/contemporary-chinese-vocabulary-practice-b2l4\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/01\\\/contemporary-chinese-vocabulary-practice-b2l4\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/01\\\/contemporary-chinese-vocabulary-practice-b2l4\\\/#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\\\/10\\\/01\\\/contemporary-chinese-vocabulary-practice-b2l4\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"B2 L4 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 L4 Vocabulary and Practice - OneDotDot Chinese","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u56db\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 4","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\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/","og_locale":"en_US","og_type":"article","og_title":"B2 L4 Vocabulary and Practice - OneDotDot Chinese","og_description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u56db\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 4","og_url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/","og_site_name":"OneDotDot Chinese","article_published_time":"2025-10-01T15:06:20+00:00","article_modified_time":"2026-10-09T14:55:19+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\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/#article","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/"},"author":{"name":"tiffany","@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"headline":"B2 L4 Vocabulary and Practice","datePublished":"2025-10-01T15:06:20+00:00","dateModified":"2026-10-09T14:55:19+00:00","mainEntityOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/"},"wordCount":233,"publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/#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\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/","url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/","name":"B2 L4 Vocabulary and Practice - OneDotDot Chinese","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/#primaryimage"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/11\/\u7576\u4ee3\u4e2d\u65872.jpg","datePublished":"2025-10-01T15:06:20+00:00","dateModified":"2026-10-09T14:55:19+00:00","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u56db\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 4","breadcrumb":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/#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\/10\/01\/contemporary-chinese-vocabulary-practice-b2l4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/tiffanysmandarin.com\/"},{"@type":"ListItem","position":2,"name":"B2 L4 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\/13196","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=13196"}],"version-history":[{"count":3,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/13196\/revisions"}],"predecessor-version":[{"id":18109,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/13196\/revisions\/18109"}],"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=13196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/categories?post=13196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/tags?post=13196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}