{"id":13209,"date":"2025-10-15T22:31:17","date_gmt":"2025-10-15T14:31:17","guid":{"rendered":"https:\/\/tiffanysmandarin.com\/?p=13209"},"modified":"2026-10-09T22:55:25","modified_gmt":"2026-10-09T14:55:25","slug":"contemporary-chinese-vocabulary-practice-b2l5","status":"publish","type":"post","link":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/15\/contemporary-chinese-vocabulary-practice-b2l5\/","title":{"rendered":"B2 L5 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 5 \u300c\u5403\u559c\u9152\u300d Attending a Wedding Reception \u2014 Vocabulary Embed\n  Same technical pattern as the Book 1 embeds (scoped CSS --d25-*, id #dangdai-b2l5-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 d25-py-hidden \/ d25-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-b2l5-vocab-embed\" id=\"dangdai-b2l5-vocab-embed-1\">\n<style>\n.dangdai-b2l5-vocab-embed {\n  --d25-oxblood: #7b2d26;\n  --d25-oxblood-dark: #5e211c;\n  --d25-mustard: #c9922b;\n  --d25-sage: #7c8b6f;\n  --d25-bone: #f7f1e6;\n  --d25-ink: #2c2620;\n  --d25-line: #e4d9c4;\n  font-family: 'Work Sans', -apple-system, sans-serif;\n  color: var(--d25-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-b2l5-vocab-embed * { box-sizing: border-box; }\n.dangdai-b2l5-vocab-embed h1,\n.dangdai-b2l5-vocab-embed h2,\n.dangdai-b2l5-vocab-embed h3 {\n  font-family: 'Bitter', Georgia, serif;\n  color: var(--d25-oxblood-dark);\n  margin: 0 0 8px;\n}\n.dangdai-b2l5-vocab-embed .d25-support-note {\n  font-size: 0.85rem;\n  color: var(--d25-sage);\n  border-bottom: 1px solid var(--d25-line);\n  padding-bottom: 12px;\n  margin: 0 0 16px;\n}\n.dangdai-b2l5-vocab-embed .d25-lede {\n  margin: 0 0 24px;\n  padding: 14px 16px;\n  background: var(--d25-bone);\n  border-left: 4px solid var(--d25-mustard);\n  border-radius: 4px;\n  font-size: 0.98rem;\n}\n.dangdai-b2l5-vocab-embed .d25-lede b { color: var(--d25-oxblood-dark); }\n.dangdai-b2l5-vocab-embed .d25-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(--d25-oxblood);\n  padding: 3px 9px;\n  border-radius: 3px;\n  margin: 32px 0 10px;\n}\n.dangdai-b2l5-vocab-embed .d25-word-card {\n  border: 1px solid var(--d25-line);\n  border-radius: 8px;\n  padding: 12px 14px;\n  margin-bottom: 10px;\n  background: #fff;\n}\n.dangdai-b2l5-vocab-embed .d25-word-top {\n  display: flex;\n  align-items: baseline;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n.dangdai-b2l5-vocab-embed .d25-num {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.75rem;\n  color: var(--d25-mustard);\n  min-width: 22px;\n}\n.dangdai-b2l5-vocab-embed .d25-hanzi { font-size: 1.35rem; font-weight: 600; }\n.dangdai-b2l5-vocab-embed .d25-pos {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: #fff;\n  background: var(--d25-sage);\n  padding: 2px 7px;\n  border-radius: 10px;\n}\n.dangdai-b2l5-vocab-embed ruby {\n  ruby-position: over;\n  margin-right: 2px;\n  color: var(--d25-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b2l5-vocab-embed .rb {\n  color: var(--d25-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b2l5-vocab-embed rt {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.6rem !important;\n  color: var(--d25-sage) !important;\n  font-weight: 400;\n}\n.dangdai-b2l5-vocab-embed rt.hidden { display: none; }\n.dangdai-b2l5-vocab-embed rt.mouseover { opacity: 0; }\n.dangdai-b2l5-vocab-embed rt.mouseover:hover { opacity: 1; }\n.dangdai-b2l5-vocab-embed .d25-meaning { font-style: italic; color: #6b5f52; font-size: 0.92rem; }\n.dangdai-b2l5-vocab-embed .d25-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(--d25-bone);\n  color: var(--d25-oxblood);\n  border-radius: 50%;\n  cursor: pointer;\n  margin-left: auto;\n}\n.dangdai-b2l5-vocab-embed .d25-speaker:hover { background: var(--d25-mustard); color: #fff; }\n.dangdai-b2l5-vocab-embed .d25-example {\n  margin-top: 8px;\n  padding-top: 8px;\n  border-top: 1px dashed var(--d25-line);\n  font-size: 0.95rem;\n}\n.dangdai-b2l5-vocab-embed .d25-example .d25-sent-word { display: inline-flex; }\n.dangdai-b2l5-vocab-embed .d25-example .d25-punct { margin-right: 2px; }\n.dangdai-b2l5-vocab-embed .d25-example .d25-en {\n  display: block;\n  color: #6b5f52;\n  font-size: 0.85rem;\n  margin-top: 4px;\n}\n.dangdai-b2l5-vocab-embed .d25-dialogue-note { font-size: 0.85rem; color: #6b5f52; margin: 0 0 10px; }\n.dangdai-b2l5-vocab-embed .d25-dialogue {\n  background: var(--d25-bone);\n  border-radius: 8px;\n  padding: 16px 18px;\n  margin-top: 8px;\n}\n.dangdai-b2l5-vocab-embed .d25-line {\n  display: flex;\n  gap: 8px;\n  margin-bottom: 12px;\n  align-items: flex-start;\n  flex-wrap: wrap;\n}\n.dangdai-b2l5-vocab-embed .d25-speaker-tag {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.72rem;\n  color: var(--d25-oxblood);\n  min-width: 46px;\n  padding-top: 3px;\n}\n.dangdai-b2l5-vocab-embed .d25-line-body { flex: 1; min-width: 200px; }\n.dangdai-b2l5-vocab-embed .d25-line-en { display: block; color: #6b5f52; font-size: 0.82rem; margin-top: 2px; }\n\n.dangdai-b2l5-vocab-embed .d25-fc-hint { font-size: 0.85rem; color: #6b5f52; margin: 0 0 12px; text-align: center; }\n.dangdai-b2l5-vocab-embed .d25-flashcard-wrap { max-width: 320px; margin: 0 auto 14px; perspective: 1200px; }\n.dangdai-b2l5-vocab-embed .d25-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-b2l5-vocab-embed .d25-flashcard.d25-flipped { transform: rotateY(180deg); }\n.dangdai-b2l5-vocab-embed .d25-fc-face {\n  position: absolute;\n  inset: 0;\n  backface-visibility: hidden;\n  border: 1px solid var(--d25-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-b2l5-vocab-embed .d25-fc-back { transform: rotateY(180deg); background: var(--d25-bone); }\n.dangdai-b2l5-vocab-embed .d25-fc-front .d25-hanzi { font-size: 4rem !important; }\n.dangdai-b2l5-vocab-embed .d25-flashcard-wrap rt { font-size: 1.2rem !important; }\n.dangdai-b2l5-vocab-embed .d25-fc-back .d25-meaning { font-style: italic; color: var(--d25-oxblood-dark); font-size: 1.725rem; }\n.dangdai-b2l5-vocab-embed .d25-fc-back .d25-pos { margin-top: 8px; }\n.dangdai-b2l5-vocab-embed .d25-flashcard-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 28px; }\n.dangdai-b2l5-vocab-embed .d25-game-btn {\n  font-family: 'Work Sans', sans-serif;\n  font-size: 0.85rem;\n  border: 1px solid var(--d25-oxblood);\n  color: var(--d25-oxblood);\n  background: #fff;\n  padding: 6px 14px;\n  border-radius: 20px;\n  cursor: pointer;\n}\n.dangdai-b2l5-vocab-embed .d25-game-btn:hover { background: var(--d25-oxblood); color: #fff; }\n.dangdai-b2l5-vocab-embed .d25-game-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }\n.dangdai-b2l5-vocab-embed .d25-game-status { font-family: 'IBM Plex Mono', monospace; font-size: 0.82rem; color: var(--d25-sage); }\n.dangdai-b2l5-vocab-embed .d25-game-board { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }\n.dangdai-b2l5-vocab-embed .d25-game-col { display: flex; flex-direction: column; gap: 8px; }\n.dangdai-b2l5-vocab-embed .d25-tile {\n  font-family: 'Work Sans', sans-serif;\n  text-align: left;\n  border: 1px solid var(--d25-line);\n  background: #fff;\n  border-radius: 6px;\n  padding: 10px 12px;\n  cursor: pointer;\n  font-size: 0.95rem;\n  color: var(--d25-ink);\n  transition: background 0.15s, border-color 0.15s, transform 0.1s;\n}\n.dangdai-b2l5-vocab-embed .d25-tile .d25-tile-py {\n  display: block;\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: var(--d25-sage);\n  margin-top: 2px;\n}\n\/* Match It tile pinyin follows the site's Pinyin Display toggle *\/\n.dangdai-b2l5-vocab-embed.d25-py-hidden .d25-tile .d25-tile-py { display: none; }\n.dangdai-b2l5-vocab-embed.d25-py-mouseover .d25-tile .d25-tile-py { opacity: 0; }\n.dangdai-b2l5-vocab-embed.d25-py-mouseover .d25-tile:hover .d25-tile-py { opacity: 1; }\n.dangdai-b2l5-vocab-embed .d25-tile:hover:not(.d25-matched):not(.d25-selected) { border-color: var(--d25-mustard); }\n.dangdai-b2l5-vocab-embed .d25-tile.d25-selected { border-color: var(--d25-oxblood); background: var(--d25-bone); }\n.dangdai-b2l5-vocab-embed .d25-tile.d25-matched { border-color: var(--d25-sage); background: #eef2e9; color: var(--d25-sage); cursor: default; }\n.dangdai-b2l5-vocab-embed .d25-tile.d25-wrong { border-color: #b5453d; background: #fbeceb; animation: d25-shake 0.3s; }\n@keyframes d25-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }\n.dangdai-b2l5-vocab-embed .d25-game-win { text-align: center; padding: 14px; font-family: 'Bitter', serif; color: var(--d25-oxblood-dark); display: none; }\n.dangdai-b2l5-vocab-embed .d25-game-win.d25-show { display: block; }\n@media (max-width: 480px) { .dangdai-b2l5-vocab-embed .d25-game-board { grid-template-columns: 1fr; } }\n.dangdai-b2l5-vocab-embed .d25-quiz { background: #fff; border: 1px solid var(--d25-line); border-radius: 12px; padding: 20px 22px; margin-top: 8px; }\n.dangdai-b2l5-vocab-embed .d25-quiz-progress { font-size: 0.82rem; color: var(--d25-sage); margin: 0 0 10px; font-family: 'IBM Plex Mono', monospace; }\n.dangdai-b2l5-vocab-embed .d25-quiz-prompt { font-size: 1.1rem; margin: 0 0 14px; }\n.dangdai-b2l5-vocab-embed .d25-quiz-options { display: flex; flex-direction: column; gap: 8px; margin: 0 0 10px; }\n.dangdai-b2l5-vocab-embed .d25-quiz-opt { text-align: left; border: 1px solid var(--d25-line); background: var(--d25-bone); border-radius: 8px; padding: 10px 14px; cursor: pointer; font-size: 0.98rem; color: var(--d25-ink); }\n.dangdai-b2l5-vocab-embed .d25-quiz-opt:hover { background: #f0e6d2; }\n.dangdai-b2l5-vocab-embed .d25-quiz-opt.correct { background: #e3efdd; border-color: #7fae6d; color: #3d5c34; }\n.dangdai-b2l5-vocab-embed .d25-quiz-opt.incorrect { background: #f5e0dc; border-color: var(--d25-oxblood); color: var(--d25-oxblood-dark); }\n.dangdai-b2l5-vocab-embed .d25-quiz-opt[disabled] { cursor: default; }\n.dangdai-b2l5-vocab-embed .d25-quiz-input-row { display: flex; gap: 8px; margin: 0 0 10px; flex-wrap: wrap; }\n.dangdai-b2l5-vocab-embed .d25-quiz-input { flex: 1 1 200px; border: 1px solid var(--d25-line); border-radius: 8px; padding: 9px 12px; font-size: 0.98rem; }\n.dangdai-b2l5-vocab-embed .d25-quiz-submit, .dangdai-b2l5-vocab-embed .d25-quiz-next, .dangdai-b2l5-vocab-embed .d25-quiz-retake { border: none; background: var(--d25-oxblood); color: #fff; border-radius: 20px; padding: 8px 18px; font-size: 0.9rem; cursor: pointer; }\n.dangdai-b2l5-vocab-embed .d25-quiz-submit:hover, .dangdai-b2l5-vocab-embed .d25-quiz-next:hover, .dangdai-b2l5-vocab-embed .d25-quiz-retake:hover { background: var(--d25-oxblood-dark); }\n.dangdai-b2l5-vocab-embed .d25-quiz-feedback { font-size: 0.95rem; margin: 0 0 10px; min-height: 1.4em; }\n.dangdai-b2l5-vocab-embed .d25-quiz-feedback.correct { color: #3d5c34; }\n.dangdai-b2l5-vocab-embed .d25-quiz-feedback.incorrect { color: var(--d25-oxblood-dark); }\n.dangdai-b2l5-vocab-embed .d25-quiz-score { text-align: center; }\n.dangdai-b2l5-vocab-embed .d25-quiz-score .d25-quiz-score-num { font-size: 2.2rem; font-weight: 700; color: var(--d25-oxblood-dark); display: block; margin-bottom: 8px; font-family: 'Bitter', serif; }\n<\/style>\n\n<p class=\"d25-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=\"d25-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 5\u300c<span class=\"lang-zh-TW\">\u5403\u559c\u9152<\/span><span class=\"lang-zh-CN\">\u5403\u559c\u9152<\/span>\u300dAttending a Wedding Reception<\/b> \u2014 every word from \u751f\u8a5e\u4e00 and \u751f\u8a5e\u4e8c (Vocabulary I &amp; II), including the Names and Phrases sections, transcribed from the textbook, with pinyin, part of speech, meaning, and an original example sentence for every word, segmented word by word.\n<\/p>\n\n<div class=\"d25-sec-eyebrow\">01 \u2014 VOCABULARY I \u751f\u8a5e\u4e00<\/div>\n<div id=\"d25-word-list-1\"><\/div>\n\n<div class=\"d25-sec-eyebrow\">02 \u2014 VOCABULARY II &amp; PHRASES \u751f\u8a5e\u4e8c\u3001\u8a5e\u7d44<\/div>\n<div id=\"d25-word-list-2\"><\/div>\n\n<div class=\"d25-sec-eyebrow\">03 \u2014 PUT IT TOGETHER \u5c0d\u8a71\u7df4\u7fd2<\/div>\n<p class=\"d25-dialogue-note\"><em>Note: this lesson&#8217;s own dialogue and reading passage are copyrighted, so I wrote a short original conversation below between \u7f8e\u73b2 and \u660e\u83ef at a wedding reception, using vocabulary from this lesson and earlier lessons, so you can see the words used together. For the real Lesson 5 dialogue and reading passage, please use your own copy of the textbook.<\/em><\/p>\n<div class=\"d25-dialogue\" id=\"d25-dialogue\"><\/div>\n\n<div class=\"d25-sec-eyebrow\">04 \u2014 FLASHCARDS<\/div>\n<p class=\"d25-fc-hint\">Tap the card to flip it, then use the arrows to move through the deck.<\/p>\n<div class=\"d25-flashcard-wrap\">\n  <div class=\"d25-flashcard\" id=\"d25-flashcard\">\n    <div class=\"d25-fc-face d25-fc-front\" id=\"d25-fc-front\"><\/div>\n    <div class=\"d25-fc-face d25-fc-back\" id=\"d25-fc-back\"><\/div>\n  <\/div>\n<\/div>\n<div class=\"d25-flashcard-controls\">\n  <button class=\"d25-game-btn\" id=\"d25-fc-prev\">\u2039 Prev<\/button>\n  <span class=\"d25-game-status\" id=\"d25-fc-progress\">1 \/ 42<\/span>\n  <button class=\"d25-game-btn\" id=\"d25-fc-next\">Next \u203a<\/button>\n<\/div>\n\n<div class=\"d25-sec-eyebrow\">05 \u2014 MATCH IT<\/div>\n<p style=\"font-size:0.9rem;color:#6b5f52;margin:0 0 10px;\">Tap a Chinese word, then tap the English meaning that matches it. Get all 8 pairs to finish the round.<\/p>\n<div class=\"d25-game-bar\">\n  <button class=\"d25-game-btn\" id=\"d25-game-new\">New Round<\/button>\n  <span class=\"d25-game-status\" id=\"d25-game-status\">0 \/ 8 matched<\/span>\n<\/div>\n<div class=\"d25-game-board\">\n  <div class=\"d25-game-col\" id=\"d25-game-col-zh\"><\/div>\n  <div class=\"d25-game-col\" id=\"d25-game-col-en\"><\/div>\n<\/div>\n<div class=\"d25-game-win\" id=\"d25-game-win\">\ud83c\udf89 All matched! Nice work.<\/div>\n\n<div class=\"d25-sec-eyebrow\">06 \u2014 VOCABULARY QUIZ<\/div>\n<p style=\"font-size:0.9rem;color:#6b5f52;margin:0 0 10px;\">15 questions covering this lesson&#8217;s vocabulary \u2014 a mix of multiple choice and type-the-answer.<\/p>\n<div class=\"d25-quiz\" id=\"d25-quiz\"><\/div>\n\n<script>\n(function () {\n  var root = document.getElementById('dangdai-b2l5-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    'd25-word-list-1': [\n      { t: \"\u559c\u9152\", s: \"\u559c\u9152\", p: \"x\u01d0ji\u01d4\", pos: \"N\", meaning: \"wedding banquet, wedding reception\",\n        ex: [W(\"\u6211\u5011\",\"\u6211\u4eec\",\"W\u01d2men\"), W(\"\u7b2c\u4e00\",\"\u7b2c\u4e00\",\"d\u00ec y\u012b\"), W(\"\u6b21\",\"\u6b21\",\"c\u00ec\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u5403\",\"\u5403\",\"ch\u012b\"), W(\"\u559c\u9152\",\"\u559c\u9152\",\"x\u01d0ji\u01d4\"), \"\u3002\"],\n        exEn: \"This is our first time attending a wedding banquet.\" },\n      { t: \"\u606d\u559c\", s: \"\u606d\u559c\", p: \"g\u014dngx\u01d0\", pos: \"V\", meaning: \"to congratulate\",\n        ex: [W(\"\u606d\u559c\",\"\u606d\u559c\",\"G\u014dngx\u01d0\"), W(\"\u606d\u559c\",\"\u606d\u559c\",\"g\u014dngx\u01d0\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u7d50\u5a5a\",\"\u7ed3\u5a5a\",\"ji\u00e9h\u016bn\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff01\"],\n        exEn: \"Congratulations, you're getting married!\" },\n      { t: \"\u65b0\u5a18\", s: \"\u65b0\u5a18\", p: \"x\u012bnni\u00e1ng\", pos: \"N\", meaning: \"bride\",\n        ex: [W(\"\u65b0\u5a18\",\"\u65b0\u5a18\",\"X\u012bnni\u00e1ng\"), W(\"\u4eca\u5929\",\"\u4eca\u5929\",\"j\u012bnti\u0101n\"), W(\"\u7a7f\",\"\u7a7f\",\"chu\u0101n\"), W(\"\u767d\u8272\",\"\u767d\u8272\",\"b\u00e1is\u00e8\"), W(\"\u79ae\u670d\",\"\u793c\u670d\",\"l\u01d0f\u00fa\"), \"\u3002\"],\n        exEn: \"The bride is wearing a white gown today.\" },\n      { t: \"\u53c3\u52a0\", s: \"\u53c2\u52a0\", p: \"c\u0101nji\u0101\", pos: \"V\", meaning: \"to attend\",\n        ex: [W(\"\u6211\u5011\",\"\u6211\u4eec\",\"W\u01d2men\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u53c3\u52a0\",\"\u53c2\u52a0\",\"c\u0101nji\u0101\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u5a5a\u79ae\",\"\u5a5a\u793c\",\"h\u016bnl\u01d0\"), \"\u3002\"],\n        exEn: \"We are going to attend a wedding.\" },\n      { t: \"\u5a5a\u79ae\", s: \"\u5a5a\u793c\", p: \"h\u016bnl\u01d0\", pos: \"N\", meaning: \"wedding ceremony\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u59b9\u59b9\",\"\u59b9\u59b9\",\"m\u00e8imei\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5a5a\u79ae\",\"\u5a5a\u793c\",\"h\u016bnl\u01d0\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u71b1\u9b27\",\"\u70ed\u95f9\",\"r\u00e8n\u00e0o\"), \"\u3002\"],\n        exEn: \"His younger sister's wedding is very lively.\" },\n      { t: \"\u897f\u88dd\", s: \"\u897f\u88c5\", p: \"x\u012bzhu\u0101ng\", pos: \"N\", meaning: \"a (western) suit\",\n        ex: [W(\"\u65b0\u90ce\",\"\u65b0\u90ce\",\"X\u012bnl\u00e1ng\"), W(\"\u7a7f\",\"\u7a7f\",\"chu\u0101n\"), W(\"\u6b63\u5f0f\",\"\u6b63\u5f0f\",\"zh\u00e8ngsh\u00ec\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u897f\u88dd\",\"\u897f\u88c5\",\"x\u012bzhu\u0101ng\"), \"\u3002\"],\n        exEn: \"The groom is wearing a formal suit.\" },\n      { t: \"\u6b63\u5f0f\", s: \"\u6b63\u5f0f\", p: \"zh\u00e8ngsh\u00ec\", pos: \"Vs\", meaning: \"formal\",\n        ex: [W(\"\u4eca\u5929\",\"\u4eca\u5929\",\"J\u012bnti\u0101n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5a5a\u79ae\",\"\u5a5a\u793c\",\"h\u016bnl\u01d0\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u6b63\u5f0f\",\"\u6b63\u5f0f\",\"zh\u00e8ngsh\u00ec\"), \"\u3002\"],\n        exEn: \"Today's wedding is very formal.\" },\n      { t: \"\u5ba2\u4eba\", s: \"\u5ba2\u4eba\", p: \"k\u00e8r\u00e9n\", pos: \"N\", meaning: \"guest\",\n        ex: [W(\"\u5ba2\u4eba\",\"\u5ba2\u4eba\",\"K\u00e8r\u00e9n\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u5230\",\"\u5230\",\"d\u00e0o\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff0c\", W(\"\u559c\u5bb4\",\"\u559c\u5bb4\",\"x\u01d0y\u00e0n\"), W(\"\u5c31\",\"\u5c31\",\"ji\u00f9\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u958b\u59cb\",\"\u5f00\u59cb\",\"k\u0101ish\u01d0\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"The guests have all arrived, and the banquet is about to begin.\" },\n      { t: \"\u624b\", s: \"\u624b\", p: \"sh\u01d2u\", pos: \"N\", meaning: \"hand\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u624b\",\"\u624b\",\"sh\u01d2u\"), W(\"\u88e1\",\"\u91cc\",\"l\u01d0\"), W(\"\u62ff\",\"\u62ff\",\"n\u00e1\"), W(\"\u8457\",\"\u7740\",\"zhe\"), W(\"\u82b1\",\"\u82b1\",\"hu\u0101\"), \"\u3002\"],\n        exEn: \"He is holding flowers in his hand.\" },\n      { t: \"\u7167\u76f8\u6a5f\", s: \"\u7167\u76f8\u673a\", p: \"zh\u00e0oxi\u00e0ngj\u012b\", pos: \"N\", meaning: \"camera\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u5e36\",\"\u5e26\",\"d\u00e0i\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u7167\u76f8\u6a5f\",\"\u7167\u76f8\u673a\",\"zh\u00e0oxi\u00e0ngj\u012b\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), W(\"\u62cd\",\"\u62cd\",\"p\u0101i\"), W(\"\u7167\",\"\u7167\",\"zh\u00e0o\"), \"\u3002\"],\n        exEn: \"I brought a camera to take pictures.\" },\n      { t: \"\u65b0\u90ce\", s: \"\u65b0\u90ce\", p: \"x\u012bnl\u00e1ng\", pos: \"N\", meaning: \"bridegroom\",\n        ex: [W(\"\u65b0\u90ce\",\"\u65b0\u90ce\",\"X\u012bnl\u00e1ng\"), W(\"\u7ad9\",\"\u7ad9\",\"zh\u00e0n\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u65b0\u5a18\",\"\u65b0\u5a18\",\"x\u012bnni\u00e1ng\"), W(\"\u65c1\u908a\",\"\u65c1\u8fb9\",\"p\u00e1ngbi\u0101n\"), \"\u3002\"],\n        exEn: \"The groom is standing next to the bride.\" },\n      { t: \"\u7ad9\", s: \"\u7ad9\", p: \"zh\u00e0n\", pos: \"Vi\", meaning: \"to stand\",\n        ex: [W(\"\u4ed6\u5011\",\"\u4ed6\u4eec\",\"T\u0101men\"), W(\"\u7ad9\",\"\u7ad9\",\"zh\u00e0n\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u9580\u53e3\",\"\u95e8\u53e3\",\"m\u00e9nk\u01d2u\"), W(\"\u9001\",\"\u9001\",\"s\u00f2ng\"), W(\"\u5ba2\u4eba\",\"\u5ba2\u4eba\",\"k\u00e8r\u00e9n\"), \"\u3002\"],\n        exEn: \"They are standing at the doorway seeing off the guests.\" },\n      { t: \"\u767d\", s: \"\u767d\", p: \"b\u00e1i\", pos: \"Vs\", meaning: \"white\",\n        ex: [W(\"\u65b0\u5a18\",\"\u65b0\u5a18\",\"X\u012bnni\u00e1ng\"), W(\"\u7a7f\",\"\u7a7f\",\"chu\u0101n\"), W(\"\u8457\",\"\u7740\",\"zhe\"), W(\"\u767d\",\"\u767d\",\"b\u00e1i\"), W(\"\u8272\",\"\u8272\",\"s\u00e8\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u79ae\u670d\",\"\u793c\u670d\",\"l\u01d0f\u00fa\"), \"\u3002\"],\n        exEn: \"The bride is wearing a white gown.\" },\n      { t: \"\u5e25\", s: \"\u5e05\", p: \"shu\u00e0i\", pos: \"Vs\", meaning: \"handsome, good looking (of men)\",\n        ex: [W(\"\u65b0\u90ce\",\"\u65b0\u90ce\",\"X\u012bnl\u00e1ng\"), W(\"\u4eca\u5929\",\"\u4eca\u5929\",\"j\u012bnti\u0101n\"), W(\"\u770b\u8d77\u4f86\",\"\u770b\u8d77\u6765\",\"k\u00e0nq\u01d0l\u00e1i\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u5e25\",\"\u5e05\",\"shu\u00e0i\"), \"\u3002\"],\n        exEn: \"The groom looks very handsome today.\" },\n      { t: \"\u79ae\u670d\", s: \"\u793c\u670d\", p: \"l\u01d0f\u00fa\", pos: \"N\", meaning: \"formal attire\",\n        ex: [W(\"\u65b0\u5a18\",\"\u65b0\u5a18\",\"X\u012bnni\u00e1ng\"), W(\"\u6703\",\"\u4f1a\",\"hu\u00ec\"), W(\"\u63db\",\"\u6362\",\"hu\u00e0n\"), W(\"\u53e6\u5916\",\"\u53e6\u5916\",\"l\u00ecngw\u00e0i\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u4ef6\",\"\u4ef6\",\"ji\u00e0n\"), W(\"\u79ae\u670d\",\"\u793c\u670d\",\"l\u01d0f\u00fa\"), \"\u3002\"],\n        exEn: \"The bride will change into another gown.\" },\n      { t: \"\u5ea7\u4f4d\", s: \"\u5ea7\u4f4d\", p: \"zu\u00f2w\u00e8i\", pos: \"N\", meaning: \"seat\",\n        ex: [W(\"\u6211\u5011\",\"\u6211\u4eec\",\"W\u01d2men\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5ea7\u4f4d\",\"\u5ea7\u4f4d\",\"zu\u00f2w\u00e8i\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u90a3\",\"\u90a3\",\"n\u00e0\"), W(\"\u5f35\",\"\u5f20\",\"zh\u0101ng\"), W(\"\u684c\u5b50\",\"\u684c\u5b50\",\"zhu\u014dzi\"), \"\u3002\"],\n        exEn: \"Our seats are at that table.\" },\n      { t: \"\u770b\u8d77\u4f86\", s: \"\u770b\u8d77\u6765\", p: \"k\u00e0nq\u01d0l\u00e1i\", pos: \"Phrase\", meaning: \"to look, it appears to me...\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u4eca\u5929\",\"\u4eca\u5929\",\"j\u012bnti\u0101n\"), W(\"\u770b\u8d77\u4f86\",\"\u770b\u8d77\u6765\",\"k\u00e0nq\u01d0l\u00e1i\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u6f02\u4eae\",\"\u6f02\u4eae\",\"pi\u00e0oliang\"), \"\u3002\"],\n        exEn: \"She looks very pretty today.\" }\n    ],\n    'd25-word-list-2': [\n      { t: \"\u7d50\u5a5a\", s: \"\u7ed3\u5a5a\", p: \"ji\u00e9h\u016bn\", pos: \"V-sep\", meaning: \"to get married to\",\n        ex: [W(\"\u4ed6\u5011\",\"\u4ed6\u4eec\",\"T\u0101men\"), W(\"\u4e0b\",\"\u4e0b\",\"xi\u00e0\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u6708\",\"\u6708\",\"yu\u00e8\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u7d50\u5a5a\",\"\u7ed3\u5a5a\",\"ji\u00e9h\u016bn\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"They are getting married next month.\" },\n      { t: \"\u65e5\u5b50\", s: \"\u65e5\u5b50\", p: \"r\u00eczi\", pos: \"N\", meaning: \"day\",\n        ex: [W(\"\u4ed6\u5011\",\"\u4ed6\u4eec\",\"T\u0101men\"), W(\"\u627e\",\"\u627e\",\"zh\u01ceo\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), W(\"\u65e5\u5b50\",\"\u65e5\u5b50\",\"r\u00eczi\"), W(\"\u7d50\u5a5a\",\"\u7ed3\u5a5a\",\"ji\u00e9h\u016bn\"), \"\u3002\"],\n        exEn: \"They picked a good day to get married.\" },\n      { t: \"\u89aa\u621a\", s: \"\u4eb2\u621a\", p: \"q\u012bnq\u012b\", pos: \"N\", meaning: \"relatives\",\n        ex: [W(\"\u89aa\u621a\",\"\u4eb2\u621a\",\"Q\u012bnq\u012b\"), W(\"\u670b\u53cb\",\"\u670b\u53cb\",\"p\u00e9ngy\u01d2u\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), W(\"\u53c3\u52a0\",\"\u53c2\u52a0\",\"c\u0101nji\u0101\"), W(\"\u5a5a\u79ae\",\"\u5a5a\u793c\",\"h\u016bnl\u01d0\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"Relatives and friends all came to the wedding.\" },\n      { t: \"\u71b1\u9b27\", s: \"\u70ed\u95f9\", p: \"r\u00e8n\u00e0o\", pos: \"Vs\", meaning: \"to be boisterous, lively\",\n        ex: [W(\"\u559c\u5bb4\",\"\u559c\u5bb4\",\"X\u01d0y\u00e0n\"), W(\"\u4e0a\",\"\u4e0a\",\"sh\u00e0ng\"), W(\"\u5927\u5bb6\",\"\u5927\u5bb6\",\"d\u00e0ji\u0101\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u71b1\u9b27\",\"\u70ed\u95f9\",\"r\u00e8n\u00e0o\"), \"\u3002\"],\n        exEn: \"Everyone at the banquet was very lively.\" },\n      { t: \"\u6176\u795d\", s: \"\u5e86\u795d\", p: \"q\u00ecngzh\u00f9\", pos: \"V\", meaning: \"to celebrate\",\n        ex: [W(\"\u5927\u5bb6\",\"\u5927\u5bb6\",\"D\u00e0ji\u0101\"), W(\"\u4e00\u8d77\",\"\u4e00\u8d77\",\"y\u00ecq\u01d0\"), W(\"\u6176\u795d\",\"\u5e86\u795d\",\"q\u00ecngzh\u00f9\"), W(\"\u9019\",\"\u8fd9\",\"zh\u00e8\"), W(\"\u4ef6\",\"\u4ef6\",\"ji\u00e0n\"), W(\"\u559c\u4e8b\",\"\u559c\u4e8b\",\"x\u01d0sh\u00ec\"), \"\u3002\"],\n        exEn: \"Everyone celebrated this happy occasion together.\" },\n      { t: \"\u4ef6\", s: \"\u4ef6\", p: \"ji\u00e0n\", pos: \"M\", meaning: \"measure word for clothing\",\n        ex: [W(\"\u65b0\u5a18\",\"\u65b0\u5a18\",\"X\u012bnni\u00e1ng\"), W(\"\u63db\",\"\u6362\",\"hu\u00e0n\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u53e6\u5916\",\"\u53e6\u5916\",\"l\u00ecngw\u00e0i\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u4ef6\",\"\u4ef6\",\"ji\u00e0n\"), W(\"\u79ae\u670d\",\"\u793c\u670d\",\"l\u01d0f\u00fa\"), \"\u3002\"],\n        exEn: \"The bride changed into another gown.\" },\n      { t: \"\u559c\u4e8b\", s: \"\u559c\u4e8b\", p: \"x\u01d0sh\u00ec\", pos: \"N\", meaning: \"an auspicious occasion, such as a wedding\",\n        ex: [W(\"\u7d50\u5a5a\",\"\u7ed3\u5a5a\",\"Ji\u00e9h\u016bn\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u4ef6\",\"\u4ef6\",\"ji\u00e0n\"), W(\"\u559c\u4e8b\",\"\u559c\u4e8b\",\"x\u01d0sh\u00ec\"), \"\u3002\"],\n        exEn: \"Getting married is a happy occasion.\" },\n      { t: \"\u8acb\u5ba2\", s: \"\u8bf7\u5ba2\", p: \"q\u01d0ngk\u00e8\", pos: \"V-sep\", meaning: \"to host a banquet, treat somebody to a meal\",\n        ex: [W(\"\u8b1d\u8b1d\",\"\u8c22\u8c22\",\"Xi\u00e8xie\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u8acb\u5ba2\",\"\u8bf7\u5ba2\",\"q\u01d0ngk\u00e8\"), \"\u3002\"],\n        exEn: \"Thank you for treating us to the meal.\" },\n      { t: \"\u7d05\u5305\", s: \"\u7ea2\u5305\", p: \"h\u00f3ngb\u0101o\", pos: \"N\", meaning: \"red envelope with cash gift\",\n        ex: [W(\"\u5ba2\u4eba\",\"\u5ba2\u4eba\",\"K\u00e8r\u00e9n\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u6703\",\"\u4f1a\",\"hu\u00ec\"), W(\"\u6e96\u5099\",\"\u51c6\u5907\",\"zh\u01d4nb\u00e8i\"), W(\"\u7d05\u5305\",\"\u7ea2\u5305\",\"h\u00f3ngb\u0101o\"), W(\"\u9001\",\"\u9001\",\"s\u00f2ng\"), W(\"\u65b0\u4eba\",\"\u65b0\u4eba\",\"x\u012bnr\u00e9n\"), \"\u3002\"],\n        exEn: \"Guests all prepare a red envelope for the newlyweds.\" },\n      { t: \"\u9001\", s: \"\u9001\", p: \"s\u00f2ng\", pos: \"V\", meaning: \"to give a gift, to send off, to see off\",\n        ex: [W(\"\u5ba2\u4eba\",\"\u5ba2\u4eba\",\"K\u00e8r\u00e9n\"), W(\"\u6703\",\"\u4f1a\",\"hu\u00ec\"), W(\"\u9001\",\"\u9001\",\"s\u00f2ng\"), W(\"\u7d05\u5305\",\"\u7ea2\u5305\",\"h\u00f3ngb\u0101o\"), W(\"\u7d66\",\"\u7ed9\",\"g\u011bi\"), W(\"\u65b0\u4eba\",\"\u65b0\u4eba\",\"x\u012bnr\u00e9n\"), \"\u3002\"],\n        exEn: \"Guests give red envelopes to the newlyweds.\" },\n      { t: \"\u65b0\u4eba\", s: \"\u65b0\u4eba\", p: \"x\u012bnr\u00e9n\", pos: \"N\", meaning: \"newlyweds (used only at a wedding)\",\n        ex: [W(\"\u5927\u5bb6\",\"\u5927\u5bb6\",\"D\u00e0ji\u0101\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u795d\u798f\",\"\u795d\u798f\",\"zh\u00f9f\u00fa\"), W(\"\u65b0\u4eba\",\"\u65b0\u4eba\",\"x\u012bnr\u00e9n\"), \"\u3002\"],\n        exEn: \"Everyone gives blessings to the newlyweds.\" },\n      { t: \"\u559c\u5bb4\", s: \"\u559c\u5bb4\", p: \"x\u01d0y\u00e0n\", pos: \"N\", meaning: \"wedding banquet, wedding reception\",\n        ex: [W(\"\u559c\u5bb4\",\"\u559c\u5bb4\",\"X\u01d0y\u00e0n\"), W(\"\u5c31\",\"\u5c31\",\"ji\u00f9\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u958b\u59cb\",\"\u5f00\u59cb\",\"k\u0101ish\u01d0\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"The wedding banquet is about to begin.\" },\n      { t: \"\u656c\u9152\", s: \"\u656c\u9152\", p: \"j\u00ecngji\u01d4\", pos: \"V-sep\", meaning: \"to make a toast (alcoholic drinks)\",\n        ex: [W(\"\u65b0\u90ce\",\"\u65b0\u90ce\",\"X\u012bnl\u00e1ng\"), W(\"\u65b0\u5a18\",\"\u65b0\u5a18\",\"x\u012bnni\u00e1ng\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u5ba2\u4eba\",\"\u5ba2\u4eba\",\"k\u00e8r\u00e9n\"), W(\"\u656c\u9152\",\"\u656c\u9152\",\"j\u00ecngji\u01d4\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"The bride and groom came to make a toast with the guests.\" },\n      { t: \"\u5927\u4eba\", s: \"\u5927\u4eba\", p: \"d\u00e0r\u00e9n\", pos: \"N\", meaning: \"adult\",\n        ex: [W(\"\u5927\u4eba\",\"\u5927\u4eba\",\"D\u00e0r\u00e9n\"), \"\u3001\", W(\"\u5c0f\u5b69\",\"\u5c0f\u5b69\",\"xi\u01ceoh\u00e1i\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u958b\u5fc3\",\"\u5f00\u5fc3\",\"k\u0101ix\u012bn\"), \"\u3002\"],\n        exEn: \"Both adults and children are very happy.\" },\n      { t: \"\u5c0f\u5b69\", s: \"\u5c0f\u5b69\", p: \"xi\u01ceoh\u00e1i\", pos: \"N\", meaning: \"child, children\",\n        ex: [W(\"\u5c0f\u5b69\",\"\u5c0f\u5b69\",\"Xi\u01ceoh\u00e1i\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u559c\u5bb4\",\"\u559c\u5bb4\",\"x\u01d0y\u00e0n\"), W(\"\u4e0a\",\"\u4e0a\",\"sh\u00e0ng\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u5403\",\"\u5403\",\"ch\u012b\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u559d\",\"\u559d\",\"h\u0113\"), \"\u3002\"],\n        exEn: \"The children had plenty to eat and drink at the banquet.\" },\n      { t: \"\u4e0d\u5f97\u4e86\", s: \"\u4e0d\u5f97\u4e86\", p: \"b\u00f9d\u00e9li\u01ceo\", pos: \"Vs\", meaning: \"very; extremely; indicates severity\",\n        ex: [W(\"\u4eca\u5929\",\"\u4eca\u5929\",\"J\u012bnti\u0101n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u559c\u5bb4\",\"\u559c\u5bb4\",\"x\u01d0y\u00e0n\"), W(\"\u71b1\u9b27\",\"\u70ed\u95f9\",\"r\u00e8n\u00e0o\"), W(\"\u5f97\",\"\u5f97\",\"de\"), W(\"\u4e0d\u5f97\u4e86\",\"\u4e0d\u5f97\u4e86\",\"b\u00f9d\u00e9li\u01ceo\"), \"\u3002\"],\n        exEn: \"Today's banquet is extremely lively.\" },\n      { t: \"\u53e6\u5916\", s: \"\u53e6\u5916\", p: \"l\u00ecngw\u00e0i\", pos: \"Det\", meaning: \"another\",\n        ex: [W(\"\u65b0\u5a18\",\"\u65b0\u5a18\",\"X\u012bnni\u00e1ng\"), W(\"\u6703\",\"\u4f1a\",\"hu\u00ec\"), W(\"\u63db\",\"\u6362\",\"hu\u00e0n\"), W(\"\u53e6\u5916\",\"\u53e6\u5916\",\"l\u00ecngw\u00e0i\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u4ef6\",\"\u4ef6\",\"ji\u00e0n\"), W(\"\u79ae\u670d\",\"\u793c\u670d\",\"l\u01d0f\u00fa\"), \"\u3002\"],\n        exEn: \"The bride will change into another gown.\" },\n      { t: \"\u7cd6\", s: \"\u7cd6\", p: \"t\u00e1ng\", pos: \"N\", meaning: \"candies\",\n        ex: [W(\"\u65b0\u5a18\",\"\u65b0\u5a18\",\"X\u012bnni\u00e1ng\"), W(\"\u62ff\",\"\u62ff\",\"n\u00e1\"), W(\"\u8457\",\"\u7740\",\"zhe\"), W(\"\u7cd6\",\"\u7cd6\",\"t\u00e1ng\"), W(\"\u9001\",\"\u9001\",\"s\u00f2ng\"), W(\"\u5ba2\u4eba\",\"\u5ba2\u4eba\",\"k\u00e8r\u00e9n\"), W(\"\u96e2\u958b\",\"\u79bb\u5f00\",\"l\u00edk\u0101i\"), \"\u3002\"],\n        exEn: \"The bride holds candy while seeing the guests off.\" },\n      { t: \"\u96e2\u958b\", s: \"\u79bb\u5f00\", p: \"l\u00edk\u0101i\", pos: \"Vp\", meaning: \"to depart, to leave\",\n        ex: [W(\"\u5ba2\u4eba\",\"\u5ba2\u4eba\",\"K\u00e8r\u00e9n\"), W(\"\u5403\",\"\u5403\",\"ch\u012b\"), W(\"\u5b8c\",\"\u5b8c\",\"w\u00e1n\"), W(\"\u559c\u9152\",\"\u559c\u9152\",\"x\u01d0ji\u01d4\"), W(\"\u5c31\",\"\u5c31\",\"ji\u00f9\"), W(\"\u96e2\u958b\",\"\u79bb\u5f00\",\"l\u00edk\u0101i\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"After the wedding banquet, the guests left.\" },\n      { t: \"\u53e5\", s: \"\u53e5\", p: \"j\u00f9\", pos: \"M\", meaning: \"measure word for utterances\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u5e7e\",\"\u51e0\",\"j\u01d0\"), W(\"\u53e5\",\"\u53e5\",\"j\u00f9\"), W(\"\u795d\u798f\",\"\u795d\u798f\",\"zh\u00f9f\u00fa\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u8a71\",\"\u8bdd\",\"hu\u00e0\"), \"\u3002\"],\n        exEn: \"He said a few words of blessing.\" },\n      { t: \"\u795d\u798f\", s: \"\u795d\u798f\", p: \"zh\u00f9f\u00fa\", pos: \"V\", meaning: \"to give blessings to\",\n        ex: [W(\"\u5927\u5bb6\",\"\u5927\u5bb6\",\"D\u00e0ji\u0101\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u795d\u798f\",\"\u795d\u798f\",\"zh\u00f9f\u00fa\"), W(\"\u65b0\u4eba\",\"\u65b0\u4eba\",\"x\u012bnr\u00e9n\"), \"\u3002\"],\n        exEn: \"Everyone gives blessings to the newlyweds.\" },\n      { t: \"\u8a71\", s: \"\u8bdd\", p: \"hu\u00e0\", pos: \"N\", meaning: \"utterance, word\",\n        ex: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u8a71\",\"\u8bdd\",\"hu\u00e0\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u611f\u52d5\",\"\u611f\u52a8\",\"g\u01cend\u00f2ng\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), \"\u3002\"],\n        exEn: \"What he said was very touching.\" },\n      { t: \"\u4e00\u6703\u5152\", s: \"\u4e00\u4f1a\u513f\", p: \"y\u00echu\u01d0r\", pos: \"Phrase\", meaning: \"in a moment\",\n        ex: [W(\"\u6211\u5011\",\"\u6211\u4eec\",\"W\u01d2men\"), W(\"\u4e00\u6703\u5152\",\"\u4e00\u4f1a\u513f\",\"y\u00echu\u01d0r\"), W(\"\u518d\",\"\u518d\",\"z\u00e0i\"), W(\"\u904e\u53bb\",\"\u8fc7\u53bb\",\"gu\u00f2q\u00f9\"), \"\u3002\"],\n        exEn: \"We'll go over in a moment.\" },\n      { t: \"\u6709\u8aaa\u6709\u7b11\", s: \"\u6709\u8bf4\u6709\u7b11\", p: \"y\u01d2ushu\u014d y\u01d2uxi\u00e0o\", pos: \"Phrase\", meaning: \"laughing and joking\",\n        ex: [W(\"\u5927\u4eba\",\"\u5927\u4eba\",\"D\u00e0r\u00e9n\"), W(\"\u5011\",\"\u4eec\",\"men\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u4e00\u8d77\",\"\u4e00\u8d77\",\"y\u00ecq\u01d0\"), W(\"\u6709\u8aaa\u6709\u7b11\",\"\u6709\u8bf4\u6709\u7b11\",\"y\u01d2ushu\u014d y\u01d2uxi\u00e0o\"), W(\"\u7684\",\"\u7684\",\"de\"), \"\u3002\"],\n        exEn: \"The adults were together laughing and joking.\" },\n      { t: \"\u6709\u5403\u6709\u559d\", s: \"\u6709\u5403\u6709\u559d\", p: \"y\u01d2uch\u012b y\u01d2uh\u0113\", pos: \"Phrase\", meaning: \"an availability of food and drink\",\n        ex: [W(\"\u5c0f\u5b69\",\"\u5c0f\u5b69\",\"Xi\u01ceoh\u00e1i\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u559c\u5bb4\",\"\u559c\u5bb4\",\"x\u01d0y\u00e0n\"), W(\"\u4e0a\",\"\u4e0a\",\"sh\u00e0ng\"), W(\"\u6709\u5403\u6709\u559d\",\"\u6709\u5403\u6709\u559d\",\"y\u01d2uch\u012b y\u01d2uh\u0113\"), W(\"\u7684\",\"\u7684\",\"de\"), \"\u3002\"],\n        exEn: \"The children had plenty to eat and drink at the banquet.\" }\n    ]\n  };\n\n  var DIALOGUE = [\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u660e\u83ef\",\"\u660e\u534e\",\"M\u00ednghu\u00e1\"), \"\uff0c\", W(\"\u606d\u559c\",\"\u606d\u559c\",\"g\u014dngx\u01d0\"), W(\"\u606d\u559c\",\"\u606d\u559c\",\"g\u014dngx\u01d0\"), \"\uff01\", W(\"\u4eca\u5929\",\"\u4eca\u5929\",\"j\u012bnti\u0101n\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u59b9\u59b9\",\"\u59b9\u59b9\",\"m\u00e8imei\"), W(\"\u7d50\u5a5a\",\"\u7ed3\u5a5a\",\"ji\u00e9h\u016bn\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), W(\"\u65e5\u5b50\",\"\u65e5\u5b50\",\"r\u00eczi\"), \"\u3002\"],\n      en: \"Minghua, congratulations! Today is the happy day your sister is getting married.\" },\n    { speakerT: \"\u660e\u83ef\", speakerS: \"\u660e\u534e\",\n      tokens: [W(\"\u8b1d\u8b1d\",\"\u8c22\u8c22\",\"Xi\u00e8xie\"), \"\uff0c\", W(\"\u6b61\u8fce\",\"\u6b22\u8fce\",\"hu\u0101ny\u00edng\"), W(\"\u4f60\u5011\",\"\u4f60\u4eec\",\"n\u01d0men\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), W(\"\u53c3\u52a0\",\"\u53c2\u52a0\",\"c\u0101nji\u0101\"), W(\"\u5a5a\u79ae\",\"\u5a5a\u793c\",\"h\u016bnl\u01d0\"), \"\uff0c\", W(\"\u9019\",\"\u8fd9\",\"zh\u00e8\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u6211\u5011\",\"\u6211\u4eec\",\"w\u01d2men\"), W(\"\u5bb6\",\"\u5bb6\",\"ji\u0101\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u559c\u4e8b\",\"\u559c\u4e8b\",\"x\u01d0sh\u00ec\"), \"\u3002\"],\n      en: \"Thanks, welcome to the wedding \u2014 this is a happy occasion for our family.\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u6211\u5011\",\"\u6211\u4eec\",\"w\u01d2men\"), W(\"\u7b2c\u4e00\",\"\u7b2c\u4e00\",\"d\u00ec y\u012b\"), W(\"\u6b21\",\"\u6b21\",\"c\u00ec\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), W(\"\u5403\",\"\u5403\",\"ch\u012b\"), W(\"\u559c\u9152\",\"\u559c\u9152\",\"x\u01d0ji\u01d4\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u59b9\u59b9\",\"\u59b9\u59b9\",\"m\u00e8imei\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5a5a\u79ae\",\"\u5a5a\u793c\",\"h\u016bnl\u01d0\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), W(\"\u71b1\u9b27\",\"\u70ed\u95f9\",\"r\u00e8n\u00e0o\"), \"\uff01\"],\n      en: \"This is our first time attending a wedding banquet \u2014 your sister's wedding is so lively!\" },\n    { speakerT: \"\u660e\u83ef\", speakerS: \"\u660e\u534e\",\n      tokens: [W(\"\u5c0d\",\"\u5bf9\",\"Du\u00ec\"), W(\"\u554a\",\"\u554a\",\"a\"), \"\uff0c\", W(\"\u6211\u5011\",\"\u6211\u4eec\",\"w\u01d2men\"), W(\"\u5bb6\",\"\u5bb6\",\"ji\u0101\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u89aa\u621a\",\"\u4eb2\u621a\",\"q\u012bnq\u012b\"), W(\"\u670b\u53cb\",\"\u670b\u53cb\",\"p\u00e9ngy\u01d2u\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff0c\", W(\"\u5927\u5bb6\",\"\u5927\u5bb6\",\"d\u00e0ji\u0101\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u958b\u5fc3\",\"\u5f00\u5fc3\",\"k\u0101ix\u012bn\"), \"\u3002\"],\n      en: \"Yeah, all our relatives and friends came, everyone is very happy.\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u770b\",\"\u770b\",\"k\u00e0n\"), \"\uff0c\", W(\"\u90a3\u908a\",\"\u90a3\u8fb9\",\"n\u00e0bi\u0101n\"), W(\"\u7ad9\",\"\u7ad9\",\"zh\u00e0n\"), W(\"\u8457\",\"\u7740\",\"zhe\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), \"\uff0c\", W(\"\u7a7f\",\"\u7a7f\",\"chu\u0101n\"), W(\"\u8457\",\"\u7740\",\"zhe\"), W(\"\u767d\",\"\u767d\",\"b\u00e1i\"), W(\"\u8272\",\"\u8272\",\"s\u00e8\"), W(\"\u79ae\u670d\",\"\u793c\u670d\",\"l\u01d0f\u00fa\"), \"\uff0c\", W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u65b0\u5a18\",\"\u65b0\u5a18\",\"x\u012bnni\u00e1ng\"), W(\"\u55ce\",\"\u5417\",\"ma\"), \"\uff1f\"],\n      en: \"Look, is that person standing over there, wearing a white gown, the bride?\" },\n    { speakerT: \"\u660e\u83ef\", speakerS: \"\u660e\u534e\",\n      tokens: [W(\"\u5c0d\",\"\u5bf9\",\"Du\u00ec\"), \"\uff0c\", W(\"\u90a3\",\"\u90a3\",\"n\u00e0\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u59b9\u59b9\",\"\u59b9\u59b9\",\"m\u00e8imei\"), \"\uff0c\", W(\"\u5979\",\"\u5979\",\"t\u0101\"), W(\"\u4eca\u5929\",\"\u4eca\u5929\",\"j\u012bnti\u0101n\"), W(\"\u770b\u8d77\u4f86\",\"\u770b\u8d77\u6765\",\"k\u00e0nq\u01d0l\u00e1i\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u6f02\u4eae\",\"\u6f02\u4eae\",\"pi\u00e0oliang\"), \"\u3002\"],\n      en: \"Right, that's my sister \u2014 she looks very pretty today.\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u65b0\u90ce\",\"\u65b0\u90ce\",\"X\u012bnl\u00e1ng\"), W(\"\u5462\",\"\u5462\",\"ne\"), \"\uff1f\", W(\"\u4ed6\",\"\u4ed6\",\"t\u0101\"), W(\"\u7a7f\",\"\u7a7f\",\"chu\u0101n\"), W(\"\u897f\u88dd\",\"\u897f\u88c5\",\"x\u012bzhu\u0101ng\"), W(\"\u55ce\",\"\u5417\",\"ma\"), \"\uff1f\"],\n      en: \"What about the groom? Is he wearing a suit?\" },\n    { speakerT: \"\u660e\u83ef\", speakerS: \"\u660e\u534e\",\n      tokens: [W(\"\u65b0\u90ce\",\"\u65b0\u90ce\",\"X\u012bnl\u00e1ng\"), W(\"\u7a7f\",\"\u7a7f\",\"chu\u0101n\"), W(\"\u6b63\u5f0f\",\"\u6b63\u5f0f\",\"zh\u00e8ngsh\u00ec\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u897f\u88dd\",\"\u897f\u88c5\",\"x\u012bzhu\u0101ng\"), \"\uff0c\", W(\"\u7ad9\",\"\u7ad9\",\"zh\u00e0n\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u65b0\u5a18\",\"\u65b0\u5a18\",\"x\u012bnni\u00e1ng\"), W(\"\u65c1\u908a\",\"\u65c1\u8fb9\",\"p\u00e1ngbi\u0101n\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u770b\",\"\u770b\",\"k\u00e0n\"), \"\uff0c\", W(\"\u4ed6\",\"\u4ed6\",\"t\u0101\"), W(\"\u624b\",\"\u624b\",\"sh\u01d2u\"), W(\"\u88e1\",\"\u91cc\",\"l\u01d0\"), W(\"\u9084\",\"\u8fd8\",\"h\u00e1i\"), W(\"\u62ff\",\"\u62ff\",\"n\u00e1\"), W(\"\u8457\",\"\u7740\",\"zhe\"), W(\"\u82b1\",\"\u82b1\",\"hu\u0101\"), \"\u3002\"],\n      en: \"The groom is wearing a formal suit, standing next to the bride \u2014 look, he's even holding flowers.\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u4ed6\",\"\u4ed6\",\"T\u0101\"), W(\"\u9577\",\"\u957f\",\"zh\u01ceng\"), W(\"\u5f97\",\"\u5f97\",\"de\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u5e25\",\"\u5e05\",\"shu\u00e0i\"), \"\uff01\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u5e36\",\"\u5e26\",\"d\u00e0i\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u7167\u76f8\u6a5f\",\"\u7167\u76f8\u673a\",\"zh\u00e0oxi\u00e0ngj\u012b\"), \"\uff0c\", W(\"\u53ef\u4ee5\",\"\u53ef\u4ee5\",\"k\u011by\u01d0\"), W(\"\u5e6b\",\"\u5e2e\",\"b\u0101ng\"), W(\"\u4f60\u5011\",\"\u4f60\u4eec\",\"n\u01d0men\"), W(\"\u62cd\",\"\u62cd\",\"p\u0101i\"), W(\"\u5e7e\",\"\u51e0\",\"j\u01d0\"), W(\"\u5f35\",\"\u5f20\",\"zh\u0101ng\"), W(\"\u7167\u7247\",\"\u7167\u7247\",\"zh\u00e0opi\u00e0n\"), \"\u3002\"],\n      en: \"He's very handsome! I brought a camera, I can take some photos for you all.\" },\n    { speakerT: \"\u660e\u83ef\", speakerS: \"\u660e\u534e\",\n      tokens: [W(\"\u592a\",\"\u592a\",\"T\u00e0i\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff0c\", W(\"\u8b1d\u8b1d\",\"\u8c22\u8c22\",\"xi\u00e8xie\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), \"\u3002\", W(\"\u5c0d\",\"\u5bf9\",\"du\u00ec\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff0c\", W(\"\u4f60\u5011\",\"\u4f60\u4eec\",\"n\u01d0men\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5ea7\u4f4d\",\"\u5ea7\u4f4d\",\"zu\u00f2w\u00e8i\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u90a3\",\"\u90a3\",\"n\u00e0\"), W(\"\u5f35\",\"\u5f20\",\"zh\u0101ng\"), W(\"\u684c\u5b50\",\"\u684c\u5b50\",\"zhu\u014dzi\"), \"\uff0c\", W(\"\u5ba2\u4eba\",\"\u5ba2\u4eba\",\"k\u00e8r\u00e9n\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u5230\",\"\u5230\",\"d\u00e0o\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff0c\", W(\"\u559c\u5bb4\",\"\u559c\u5bb4\",\"x\u01d0y\u00e0n\"), W(\"\u5c31\",\"\u5c31\",\"ji\u00f9\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u958b\u59cb\",\"\u5f00\u59cb\",\"k\u0101ish\u01d0\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n      en: \"Great, thank you. Oh, your seats are at that table \u2014 the guests have all arrived, the banquet is about to start.\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u597d\",\"\u597d\",\"H\u01ceo\"), \"\uff0c\", W(\"\u6211\u5011\",\"\u6211\u4eec\",\"w\u01d2men\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u4e0d\u662f\",\"\u4e0d\u662f\",\"b\u00fash\u00ec\"), W(\"\u8981\",\"\u8981\",\"y\u00e0o\"), W(\"\u6e96\u5099\",\"\u51c6\u5907\",\"zh\u01d4nb\u00e8i\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u7d05\u5305\",\"\u7ea2\u5305\",\"h\u00f3ngb\u0101o\"), W(\"\u9001\",\"\u9001\",\"s\u00f2ng\"), W(\"\u65b0\u4eba\",\"\u65b0\u4eba\",\"x\u012bnr\u00e9n\"), \"\uff1f\"],\n      en: \"OK, shouldn't we prepare a red envelope for the newlyweds?\" },\n    { speakerT: \"\u660e\u83ef\", speakerS: \"\u660e\u534e\",\n      tokens: [W(\"\u5c0d\",\"\u5bf9\",\"Du\u00ec\"), \"\uff0c\", W(\"\u9019\",\"\u8fd9\",\"zh\u00e8\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u6211\u5011\",\"\u6211\u4eec\",\"w\u01d2men\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u7fd2\u6163\",\"\u4e60\u60ef\",\"x\u00edgu\u00e0n\"), \"\uff0c\", W(\"\u5ba2\u4eba\",\"\u5ba2\u4eba\",\"k\u00e8r\u00e9n\"), W(\"\u53c3\u52a0\",\"\u53c2\u52a0\",\"c\u0101nji\u0101\"), W(\"\u559c\u5bb4\",\"\u559c\u5bb4\",\"x\u01d0y\u00e0n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u6642\u5019\",\"\u65f6\u5019\",\"sh\u00edh\u00f2u\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u6703\",\"\u4f1a\",\"hu\u00ec\"), W(\"\u9001\",\"\u9001\",\"s\u00f2ng\"), W(\"\u7d05\u5305\",\"\u7ea2\u5305\",\"h\u00f3ngb\u0101o\"), \"\u3002\"],\n      en: \"Right, it's our custom \u2014 guests always give a red envelope when attending the banquet.\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u7b49\",\"\u7b49\",\"D\u011bng\"), W(\"\u4e00\u4e0b\",\"\u4e00\u4e0b\",\"y\u00edxi\u00e0\"), W(\"\u6211\u5011\",\"\u6211\u4eec\",\"w\u01d2men\"), W(\"\u53ef\u4ee5\",\"\u53ef\u4ee5\",\"k\u011by\u01d0\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u65b0\u90ce\",\"\u65b0\u90ce\",\"x\u012bnl\u00e1ng\"), \"\u3001\", W(\"\u65b0\u5a18\",\"\u65b0\u5a18\",\"x\u012bnni\u00e1ng\"), W(\"\u7167\u76f8\",\"\u7167\u76f8\",\"zh\u00e0oxi\u00e0ng\"), W(\"\u55ce\",\"\u5417\",\"ma\"), \"\uff1f\"],\n      en: \"Can we take a photo with the bride and groom later?\" },\n    { speakerT: \"\u660e\u83ef\", speakerS: \"\u660e\u534e\",\n      tokens: [W(\"\u53ef\u4ee5\",\"\u53ef\u4ee5\",\"K\u011by\u01d0\"), \"\uff0c\", W(\"\u7b49\",\"\u7b49\",\"d\u011bng\"), W(\"\u4ed6\u5011\",\"\u4ed6\u4eec\",\"t\u0101men\"), W(\"\u656c\u9152\",\"\u656c\u9152\",\"j\u00ecngji\u01d4\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u6642\u5019\",\"\u65f6\u5019\",\"sh\u00edh\u00f2u\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u53ef\u4ee5\",\"\u53ef\u4ee5\",\"k\u011by\u01d0\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u4ed6\u5011\",\"\u4ed6\u4eec\",\"t\u0101men\"), W(\"\u7167\u76f8\",\"\u7167\u76f8\",\"zh\u00e0oxi\u00e0ng\"), \"\uff0c\", W(\"\u518d\",\"\u518d\",\"z\u00e0i\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u5e7e\",\"\u51e0\",\"j\u01d0\"), W(\"\u53e5\",\"\u53e5\",\"j\u00f9\"), W(\"\u795d\u798f\",\"\u795d\u798f\",\"zh\u00f9f\u00fa\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u8a71\",\"\u8bdd\",\"hu\u00e0\"), \"\u3002\"],\n      en: \"Sure \u2014 when they come to make a toast, you can take a photo with them and say a few words of blessing.\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u597d\",\"\u597d\",\"H\u01ceo\"), \"\u3002\", WD(\"\u9019\u88e1\",\"\u8fd9\u91cc\",\"zh\u00e8l\u01d0\",\"zh\u00e8li\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5c0f\u5b69\",\"\u5c0f\u5b69\",\"xi\u01ceoh\u00e1i\"), W(\"\u770b\u8d77\u4f86\",\"\u770b\u8d77\u6765\",\"k\u00e0nq\u01d0l\u00e1i\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u958b\u5fc3\",\"\u5f00\u5fc3\",\"k\u0101ix\u012bn\"), \"\uff0c\", W(\"\u6709\u5403\u6709\u559d\",\"\u6709\u5403\u6709\u559d\",\"y\u01d2uch\u012b y\u01d2uh\u0113\"), W(\"\u7684\",\"\u7684\",\"de\"), \"\u3002\"],\n      en: \"OK. The children here all look very happy, with plenty to eat and drink.\" },\n    { speakerT: \"\u660e\u83ef\", speakerS: \"\u660e\u534e\",\n      tokens: [W(\"\u5c0d\",\"\u5bf9\",\"Du\u00ec\"), W(\"\u554a\",\"\u554a\",\"a\"), \"\uff0c\", W(\"\u5927\u4eba\",\"\u5927\u4eba\",\"d\u00e0r\u00e9n\"), W(\"\u5c0f\u5b69\",\"\u5c0f\u5b69\",\"xi\u01ceoh\u00e1i\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u71b1\u9b27\",\"\u70ed\u95f9\",\"r\u00e8n\u00e0o\"), \"\uff0c\", W(\"\u6709\u8aaa\u6709\u7b11\",\"\u6709\u8bf4\u6709\u7b11\",\"y\u01d2ushu\u014d y\u01d2uxi\u00e0o\"), W(\"\u7684\",\"\u7684\",\"de\"), \"\u3002\"],\n      en: \"Yeah, adults and children alike are lively, laughing and joking.\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u65b0\u5a18\",\"\u65b0\u5a18\",\"X\u012bnni\u00e1ng\"), W(\"\u4ec0\u9ebc\",\"\u4ec0\u4e48\",\"sh\u00e9nme\"), W(\"\u6642\u5019\",\"\u65f6\u5019\",\"sh\u00edh\u00f2u\"), W(\"\u6703\",\"\u4f1a\",\"hu\u00ec\"), W(\"\u63db\",\"\u6362\",\"hu\u00e0n\"), W(\"\u53e6\u5916\",\"\u53e6\u5916\",\"l\u00ecngw\u00e0i\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u4ef6\",\"\u4ef6\",\"ji\u00e0n\"), W(\"\u79ae\u670d\",\"\u793c\u670d\",\"l\u01d0f\u00fa\"), \"\uff1f\"],\n      en: \"When will the bride change into another gown?\" },\n    { speakerT: \"\u660e\u83ef\", speakerS: \"\u660e\u534e\",\n      tokens: [W(\"\u559c\u9152\",\"\u559c\u9152\",\"X\u01d0ji\u01d4\"), W(\"\u5403\",\"\u5403\",\"ch\u012b\"), W(\"\u5f97\",\"\u5f97\",\"de\"), W(\"\u5dee\u4e0d\u591a\",\"\u5dee\u4e0d\u591a\",\"ch\u00e0b\u00f9du\u014d\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u6642\u5019\",\"\u65f6\u5019\",\"sh\u00edh\u00f2u\"), \"\uff0c\", W(\"\u5979\",\"\u5979\",\"t\u0101\"), W(\"\u6703\",\"\u4f1a\",\"hu\u00ec\"), W(\"\u63db\",\"\u6362\",\"hu\u00e0n\"), W(\"\u53e6\u5916\",\"\u53e6\u5916\",\"l\u00ecngw\u00e0i\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u4ef6\",\"\u4ef6\",\"ji\u00e0n\"), W(\"\u79ae\u670d\",\"\u793c\u670d\",\"l\u01d0f\u00fa\"), \"\uff0c\", W(\"\u62ff\",\"\u62ff\",\"n\u00e1\"), W(\"\u8457\",\"\u7740\",\"zhe\"), W(\"\u7cd6\",\"\u7cd6\",\"t\u00e1ng\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u65b0\u90ce\",\"\u65b0\u90ce\",\"x\u012bnl\u00e1ng\"), W(\"\u4e00\u8d77\",\"\u4e00\u8d77\",\"y\u00ecq\u01d0\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u9580\u53e3\",\"\u95e8\u53e3\",\"m\u00e9nk\u01d2u\"), W(\"\u9001\",\"\u9001\",\"s\u00f2ng\"), W(\"\u5ba2\u4eba\",\"\u5ba2\u4eba\",\"k\u00e8r\u00e9n\"), W(\"\u96e2\u958b\",\"\u79bb\u5f00\",\"l\u00edk\u0101i\"), \"\u3002\"],\n      en: \"When the banquet is almost over, she'll change into another gown and, holding candy, see the guests off at the door together with the groom.\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u9019\u6a23\",\"\u8fd9\u6837\",\"Zh\u00e8y\u00e0ng\"), W(\"\u554a\",\"\u554a\",\"a\"), \"\uff0c\", W(\"\u8b1d\u8b1d\",\"\u8c22\u8c22\",\"xi\u00e8xie\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u544a\u8a34\",\"\u544a\u8bc9\",\"g\u00e0os\u00f9\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), \"\uff0c\", W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u8b1d\u8b1d\",\"\u8c22\u8c22\",\"xi\u00e8xie\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u9080\u8acb\",\"\u9080\u8bf7\",\"y\u0101oq\u01d0ng\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), \"\u3002\"],\n      en: \"I see, thanks for telling me, and thanks for inviting me here too.\" },\n    { speakerT: \"\u660e\u83ef\", speakerS: \"\u660e\u534e\",\n      tokens: [W(\"\u4e0d\u5ba2\u6c23\",\"\u4e0d\u5ba2\u6c14\",\"B\u00fak\u00e8qi\"), \"\uff0c\", W(\"\u8b1d\u8b1d\",\"\u8c22\u8c22\",\"xi\u00e8xie\"), W(\"\u4f60\u5011\",\"\u4f60\u4eec\",\"n\u01d0men\"), W(\"\u4f86\",\"\u6765\",\"l\u00e1i\"), W(\"\u53c3\u52a0\",\"\u53c2\u52a0\",\"c\u0101nji\u0101\"), \"\uff01\"],\n      en: \"You're welcome, thanks for coming!\" }\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=\"d25-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=\"d25-punct\">' + tok + '<\/span>';\n      } else {\n        html += rubyWord(tok);\n      }\n    });\n    return html;\n  }\n\n  function headwordRuby(t, s, pt, ps) {\n    return '<ruby class=\"lang-zh-TW\"><span class=\"rb\">' + t + '<\/span><rt>' + pt + '<\/rt><\/ruby>' +\n           '<ruby class=\"lang-zh-CN\"><span class=\"rb\">' + s + '<\/span><rt>' + ps + '<\/rt><\/ruby>';\n  }\n\n  var counter = 0;\n  Object.keys(GROUPS).forEach(function (containerId) {\n    var container = root.querySelector('#' + containerId);\n    if (!container) return;\n    var html = '';\n    GROUPS[containerId].forEach(function (w) {\n      counter++;\n      var num = (counter < 10 ? '0' : '') + counter;\n      html += '<div class=\"d25-word-card\">' +\n        '<div class=\"d25-word-top\">' +\n          '<span class=\"d25-num\">' + num + '<\/span>' +\n          '<span class=\"d25-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>' +\n          '<span class=\"d25-pos\">' + w.pos + '<\/span>' +\n          '<span class=\"d25-meaning\">' + w.meaning + '<\/span>' +\n          '<button class=\"d25-speaker\" data-trad=\"' + w.t + '\" data-simp=\"' + w.s + '\" aria-label=\"Play pronunciation\">' + SPEAKER_SVG + '<\/button>' +\n        '<\/div>' +\n        '<div class=\"d25-example\">' +\n          renderTokens(w.ex) +\n          '<span class=\"d25-en\">' + w.exEn + '<\/span>' +\n        '<\/div>' +\n      '<\/div>';\n    });\n    container.innerHTML = html;\n  });\n\n  var dialogueEl = root.querySelector('#d25-dialogue');\n  if (dialogueEl) {\n    var dHtml = '';\n    DIALOGUE.forEach(function (line) {\n      dHtml += '<div class=\"d25-line\">' +\n        '<span class=\"d25-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=\"d25-line-body\">' +\n          renderTokens(line.tokens) +\n          '<span class=\"d25-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('#d25-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('.d25-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('d25-py-hidden', isHidden);\n    root.classList.toggle('d25-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('#d25-flashcard');\n  var fcFront = root.querySelector('#d25-fc-front');\n  var fcBack = root.querySelector('#d25-fc-back');\n  var fcProgress = root.querySelector('#d25-fc-progress');\n  var fcPrevBtn = root.querySelector('#d25-fc-prev');\n  var fcNextBtn = root.querySelector('#d25-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=\"d25-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>';\n    fcBack.innerHTML = '<span class=\"d25-meaning\">' + w.meaning + '<\/span><span class=\"d25-pos\">' + w.pos + '<\/span>';\n    if (fcProgress) fcProgress.textContent = (fcIndex + 1) + ' \/ ' + ALL_WORDS.length;\n    if (fcCard) fcCard.classList.remove('d25-flipped');\n    fcFlipped = false;\n    syncPinyin();\n  }\n\n  if (fcCard) {\n    fcCard.addEventListener('click', function () {\n      fcFlipped = !fcFlipped;\n      fcCard.classList.toggle('d25-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('#d25-game-col-zh');\n  var gameColEn = root.querySelector('#d25-game-col-en');\n  var gameStatus = root.querySelector('#d25-game-status');\n  var gameWin = root.querySelector('#d25-game-win');\n  var gameNewBtn = root.querySelector('#d25-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('d25-show');\n\n    var zhOrder = shuffle(gameRound);\n    var enOrder = shuffle(gameRound);\n\n    gameColZh.innerHTML = zhOrder.map(function (w) {\n      return '<button class=\"d25-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=\"d25-tile-py\">' + (w.pt || w.p) + '<\/span>' +\n      '<\/button>';\n    }).join('');\n\n    gameColEn.innerHTML = enOrder.map(function (w) {\n      return '<button class=\"d25-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('d25-matched')) return;\n    var side = tile.getAttribute('data-side');\n\n    if (side === 'zh') {\n      if (gameSelectedZh) gameSelectedZh.classList.remove('d25-selected');\n      gameSelectedZh = tile;\n      tile.classList.add('d25-selected');\n    } else {\n      if (gameSelectedEn) gameSelectedEn.classList.remove('d25-selected');\n      gameSelectedEn = tile;\n      tile.classList.add('d25-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('d25-selected');\n          gameSelectedEn.classList.remove('d25-selected');\n          gameSelectedZh.classList.add('d25-matched');\n          gameSelectedEn.classList.add('d25-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('d25-show');\n            }\n          }\n        } else {\n          gameBusy = true;\n          var z = gameSelectedZh, en = gameSelectedEn;\n          z.classList.add('d25-wrong');\n          en.classList.add('d25-wrong');\n          setTimeout(function () {\n            z.classList.remove('d25-selected', 'd25-wrong');\n            en.classList.remove('d25-selected', 'd25-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('.d25-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\\\">\u559c\u9152<\/span><span class=\\\"lang-zh-CN\\\">\u559c\u9152<\/span> means...\", options: [\"wedding banquet\", \"red envelope\", \"wedding ceremony\", \"bride\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u606d\u559c<\/span><span class=\\\"lang-zh-CN\\\">\u606d\u559c<\/span>.\", accept: [\"gongxi\"] },\n    { type: 'mc', prompt: \"Which word means \\\"bridegroom\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u65b0\u90ce<\/span><span class=\\\"lang-zh-CN\\\">\u65b0\u90ce<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u65b0\u5a18<\/span><span class=\\\"lang-zh-CN\\\">\u65b0\u5a18<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u65b0\u4eba<\/span><span class=\\\"lang-zh-CN\\\">\u65b0\u4eba<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u5ba2\u4eba<\/span><span class=\\\"lang-zh-CN\\\">\u5ba2\u4eba<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u6b63\u5f0f<\/span><span class=\\\"lang-zh-CN\\\">\u6b63\u5f0f<\/span>.\", accept: [\"formal\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u5ea7\u4f4d<\/span><span class=\\\"lang-zh-CN\\\">\u5ea7\u4f4d<\/span> means...\", options: [\"seat\", \"camera\", \"suit\", \"formal attire\"], answer: 0 },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u770b\u8d77\u4f86<\/span><span class=\\\"lang-zh-CN\\\">\u770b\u8d77\u6765<\/span> means...\", options: [\"to look, it appears to me...\", \"to attend\", \"to celebrate\", \"to leave\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u7d50\u5a5a<\/span><span class=\\\"lang-zh-CN\\\">\u7ed3\u5a5a<\/span>.\", accept: [\"jiehun\"] },\n    { type: 'mc', prompt: \"Which word means \\\"relatives\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u89aa\u621a<\/span><span class=\\\"lang-zh-CN\\\">\u4eb2\u621a<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u5927\u4eba<\/span><span class=\\\"lang-zh-CN\\\">\u5927\u4eba<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u65b0\u4eba<\/span><span class=\\\"lang-zh-CN\\\">\u65b0\u4eba<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u5ba2\u4eba<\/span><span class=\\\"lang-zh-CN\\\">\u5ba2\u4eba<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u71b1\u9b27<\/span><span class=\\\"lang-zh-CN\\\">\u70ed\u95f9<\/span>.\", accept: [\"lively\", \"boisterous, lively\", \"to be lively\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u7d05\u5305<\/span><span class=\\\"lang-zh-CN\\\">\u7ea2\u5305<\/span> means...\", options: [\"red envelope with cash gift\", \"wedding banquet\", \"formal attire\", \"candies\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u656c\u9152<\/span><span class=\\\"lang-zh-CN\\\">\u656c\u9152<\/span>.\", accept: [\"jingjiu\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u4e0d\u5f97\u4e86<\/span><span class=\\\"lang-zh-CN\\\">\u4e0d\u5f97\u4e86<\/span> means...\", options: [\"very, extremely\", \"another\", \"to depart\", \"to celebrate\"], answer: 0 },\n    { type: 'mc', prompt: \"Which word means \\\"to give blessings to\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u795d\u798f<\/span><span class=\\\"lang-zh-CN\\\">\u795d\u798f<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u6176\u795d<\/span><span class=\\\"lang-zh-CN\\\">\u5e86\u795d<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u8acb\u5ba2<\/span><span class=\\\"lang-zh-CN\\\">\u8bf7\u5ba2<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u96e2\u958b<\/span><span class=\\\"lang-zh-CN\\\">\u79bb\u5f00<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u7cd6<\/span><span class=\\\"lang-zh-CN\\\">\u7cd6<\/span>.\", accept: [\"candy\", \"candies\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u4e00\u6703\u5152<\/span><span class=\\\"lang-zh-CN\\\">\u4e00\u4f1a\u513f<\/span> means...\", options: [\"in a moment\", \"another\", \"a wedding banquet\", \"an auspicious occasion\"], 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('#d25-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=\"d25-quiz-progress\">Question ' + (current + 1) + ' of ' + QUIZ_DATA.length + '<\/p>';\n      html += '<p class=\"d25-quiz-prompt\">' + q.prompt + '<\/p>';\n      if (q.type === 'mc') {\n        html += '<div class=\"d25-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=\"d25-quiz-opt\" data-i=\"' + i + '\">' + q.options[i] + '<\/button>';\n        }\n        html += '<\/div>';\n      } else {\n        html += '<div class=\"d25-quiz-input-row\">';\n        html += '<input type=\"text\" class=\"d25-quiz-input\" placeholder=\"Type your answer\">';\n        html += '<button type=\"button\" class=\"d25-quiz-submit\">Submit<\/button>';\n        html += '<\/div>';\n      }\n      html += '<p class=\"d25-quiz-feedback\"><\/p>';\n      html += '<button type=\"button\" class=\"d25-quiz-next\" style=\"display:none;\">Next<\/button>';\n      qRoot.innerHTML = html;\n\n      if (q.type === 'mc') {\n        var opts = qRoot.querySelectorAll('.d25-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('.d25-quiz-input');\n        var submitBtn = qRoot.querySelector('.d25-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('.d25-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 = 'd25-quiz-feedback ' + (correct ? 'correct' : 'incorrect');\n        var nextBtn = qRoot.querySelector('.d25-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=\"d25-quiz-score\">' +\n        '<span class=\"d25-quiz-score-num\">' + score + ' \/ ' + QUIZ_DATA.length + '<\/span>' +\n        '<p>Nice work! Want to try again?<\/p>' +\n        '<button type=\"button\" class=\"d25-quiz-retake\">Retake Quiz<\/button>' +\n        '<\/div>';\n      qRoot.querySelector('.d25-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('.d25-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('.d25-lede .lang-zh-CN');\n    var refTW = root.querySelector('.d25-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('.d25-quiz, .d25-game-board, .d25-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 5\u300c\u5403\u559c\u9152\u5403\u559c\u9152\u300dAttending a Wedding Reception \u2014 every word from \u751f\u8a5e\u4e00 and \u751f\u8a5e\u4e8c (Vocabulary I &amp;&#8230;<\/p>\n","protected":false},"author":2,"featured_media":11596,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_wp_convertkit_post_meta":{"form":"-1","landing_page":"0","tag":"0","restrict_content":"0"},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1089],"tags":[],"class_list":["post-13209","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 L5 Vocabulary and Practice - OneDotDot Chinese<\/title>\n<meta name=\"description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e94\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 5\" \/>\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\/15\/contemporary-chinese-vocabulary-practice-b2l5\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"B2 L5 Vocabulary and Practice - OneDotDot Chinese\" \/>\n<meta property=\"og:description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e94\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 5\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/15\/contemporary-chinese-vocabulary-practice-b2l5\/\" \/>\n<meta property=\"og:site_name\" content=\"OneDotDot Chinese\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-15T14:31:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-09T14:55:25+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\\\/15\\\/contemporary-chinese-vocabulary-practice-b2l5\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/15\\\/contemporary-chinese-vocabulary-practice-b2l5\\\/\"},\"author\":{\"name\":\"tiffany\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"headline\":\"B2 L5 Vocabulary and Practice\",\"datePublished\":\"2025-10-15T14:31:17+00:00\",\"dateModified\":\"2026-10-09T14:55:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/15\\\/contemporary-chinese-vocabulary-practice-b2l5\\\/\"},\"wordCount\":214,\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/15\\\/contemporary-chinese-vocabulary-practice-b2l5\\\/#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\\\/15\\\/contemporary-chinese-vocabulary-practice-b2l5\\\/\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/15\\\/contemporary-chinese-vocabulary-practice-b2l5\\\/\",\"name\":\"B2 L5 Vocabulary and Practice - OneDotDot Chinese\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/15\\\/contemporary-chinese-vocabulary-practice-b2l5\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/15\\\/contemporary-chinese-vocabulary-practice-b2l5\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/\u7576\u4ee3\u4e2d\u65872.jpg\",\"datePublished\":\"2025-10-15T14:31:17+00:00\",\"dateModified\":\"2026-10-09T14:55:25+00:00\",\"description\":\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e94\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 5\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/15\\\/contemporary-chinese-vocabulary-practice-b2l5\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/15\\\/contemporary-chinese-vocabulary-practice-b2l5\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/10\\\/15\\\/contemporary-chinese-vocabulary-practice-b2l5\\\/#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\\\/15\\\/contemporary-chinese-vocabulary-practice-b2l5\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"B2 L5 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 L5 Vocabulary and Practice - OneDotDot Chinese","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e94\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 5","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\/15\/contemporary-chinese-vocabulary-practice-b2l5\/","og_locale":"en_US","og_type":"article","og_title":"B2 L5 Vocabulary and Practice - OneDotDot Chinese","og_description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e94\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 5","og_url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/15\/contemporary-chinese-vocabulary-practice-b2l5\/","og_site_name":"OneDotDot Chinese","article_published_time":"2025-10-15T14:31:17+00:00","article_modified_time":"2026-10-09T14:55:25+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\/15\/contemporary-chinese-vocabulary-practice-b2l5\/#article","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/15\/contemporary-chinese-vocabulary-practice-b2l5\/"},"author":{"name":"tiffany","@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"headline":"B2 L5 Vocabulary and Practice","datePublished":"2025-10-15T14:31:17+00:00","dateModified":"2026-10-09T14:55:25+00:00","mainEntityOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/15\/contemporary-chinese-vocabulary-practice-b2l5\/"},"wordCount":214,"publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/15\/contemporary-chinese-vocabulary-practice-b2l5\/#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\/15\/contemporary-chinese-vocabulary-practice-b2l5\/","url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/15\/contemporary-chinese-vocabulary-practice-b2l5\/","name":"B2 L5 Vocabulary and Practice - OneDotDot Chinese","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/15\/contemporary-chinese-vocabulary-practice-b2l5\/#primaryimage"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/15\/contemporary-chinese-vocabulary-practice-b2l5\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/11\/\u7576\u4ee3\u4e2d\u65872.jpg","datePublished":"2025-10-15T14:31:17+00:00","dateModified":"2026-10-09T14:55:25+00:00","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e94\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 5","breadcrumb":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/15\/contemporary-chinese-vocabulary-practice-b2l5\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/15\/contemporary-chinese-vocabulary-practice-b2l5\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/10\/15\/contemporary-chinese-vocabulary-practice-b2l5\/#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\/15\/contemporary-chinese-vocabulary-practice-b2l5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/tiffanysmandarin.com\/"},{"@type":"ListItem","position":2,"name":"B2 L5 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\/13209","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=13209"}],"version-history":[{"count":3,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/13209\/revisions"}],"predecessor-version":[{"id":18110,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/13209\/revisions\/18110"}],"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=13209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/categories?post=13209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/tags?post=13209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}