{"id":13468,"date":"2026-01-31T21:12:18","date_gmt":"2026-01-31T13:12:18","guid":{"rendered":"https:\/\/tiffanysmandarin.com\/?p=13468"},"modified":"2026-10-09T23:01:58","modified_gmt":"2026-10-09T15:01:58","slug":"contemporary-chinese-vocabulary-practice-b2l9","status":"publish","type":"post","link":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/","title":{"rendered":"B2 L9 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 9 \u300c\u90a3\u500b\u57ce\u5e02\u597d\u6f02\u4eae\u300d That City Is Really Beautiful \u2014 Vocabulary Embed\n  Same technical pattern as the Book 1 embeds (scoped CSS --d29-*, id #dangdai-b2l9-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 d29-py-hidden \/ d29-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-b2l9-vocab-embed\" id=\"dangdai-b2l9-vocab-embed-1\">\n<style>\n.dangdai-b2l9-vocab-embed {\n  --d29-oxblood: #7b2d26;\n  --d29-oxblood-dark: #5e211c;\n  --d29-mustard: #c9922b;\n  --d29-sage: #7c8b6f;\n  --d29-bone: #f7f1e6;\n  --d29-ink: #2c2620;\n  --d29-line: #e4d9c4;\n  font-family: 'Work Sans', -apple-system, sans-serif;\n  color: var(--d29-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-b2l9-vocab-embed * { box-sizing: border-box; }\n.dangdai-b2l9-vocab-embed h1,\n.dangdai-b2l9-vocab-embed h2,\n.dangdai-b2l9-vocab-embed h3 {\n  font-family: 'Bitter', Georgia, serif;\n  color: var(--d29-oxblood-dark);\n  margin: 0 0 8px;\n}\n.dangdai-b2l9-vocab-embed .d29-support-note {\n  font-size: 0.85rem;\n  color: var(--d29-sage);\n  border-bottom: 1px solid var(--d29-line);\n  padding-bottom: 12px;\n  margin: 0 0 16px;\n}\n.dangdai-b2l9-vocab-embed .d29-lede {\n  margin: 0 0 24px;\n  padding: 14px 16px;\n  background: var(--d29-bone);\n  border-left: 4px solid var(--d29-mustard);\n  border-radius: 4px;\n  font-size: 0.98rem;\n}\n.dangdai-b2l9-vocab-embed .d29-lede b { color: var(--d29-oxblood-dark); }\n.dangdai-b2l9-vocab-embed .d29-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(--d29-oxblood);\n  padding: 3px 9px;\n  border-radius: 3px;\n  margin: 32px 0 10px;\n}\n.dangdai-b2l9-vocab-embed .d29-word-card {\n  border: 1px solid var(--d29-line);\n  border-radius: 8px;\n  padding: 12px 14px;\n  margin-bottom: 10px;\n  background: #fff;\n}\n.dangdai-b2l9-vocab-embed .d29-word-top {\n  display: flex;\n  align-items: baseline;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n.dangdai-b2l9-vocab-embed .d29-num {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.75rem;\n  color: var(--d29-mustard);\n  min-width: 22px;\n}\n.dangdai-b2l9-vocab-embed .d29-hanzi { font-size: 1.35rem; font-weight: 600; }\n.dangdai-b2l9-vocab-embed .d29-pos {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: #fff;\n  background: var(--d29-sage);\n  padding: 2px 7px;\n  border-radius: 10px;\n}\n.dangdai-b2l9-vocab-embed ruby {\n  ruby-position: over;\n  margin-right: 2px;\n  color: var(--d29-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b2l9-vocab-embed .rb {\n  color: var(--d29-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b2l9-vocab-embed rt {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.6rem !important;\n  color: var(--d29-sage) !important;\n  font-weight: 400;\n}\n.dangdai-b2l9-vocab-embed rt.hidden { display: none; }\n.dangdai-b2l9-vocab-embed rt.mouseover { opacity: 0; }\n.dangdai-b2l9-vocab-embed rt.mouseover:hover { opacity: 1; }\n.dangdai-b2l9-vocab-embed .d29-meaning { font-style: italic; color: #6b5f52; font-size: 0.92rem; }\n.dangdai-b2l9-vocab-embed .d29-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(--d29-bone);\n  color: var(--d29-oxblood);\n  border-radius: 50%;\n  cursor: pointer;\n  margin-left: auto;\n}\n.dangdai-b2l9-vocab-embed .d29-speaker:hover { background: var(--d29-mustard); color: #fff; }\n.dangdai-b2l9-vocab-embed .d29-example {\n  margin-top: 8px;\n  padding-top: 8px;\n  border-top: 1px dashed var(--d29-line);\n  font-size: 0.95rem;\n}\n.dangdai-b2l9-vocab-embed .d29-example .d29-sent-word { display: inline-flex; }\n.dangdai-b2l9-vocab-embed .d29-example .d29-punct { margin-right: 2px; }\n.dangdai-b2l9-vocab-embed .d29-example .d29-en {\n  display: block;\n  color: #6b5f52;\n  font-size: 0.85rem;\n  margin-top: 4px;\n}\n.dangdai-b2l9-vocab-embed .d29-dialogue-note { font-size: 0.85rem; color: #6b5f52; margin: 0 0 10px; }\n.dangdai-b2l9-vocab-embed .d29-dialogue {\n  background: var(--d29-bone);\n  border-radius: 8px;\n  padding: 16px 18px;\n  margin-top: 8px;\n}\n.dangdai-b2l9-vocab-embed .d29-line {\n  display: flex;\n  gap: 8px;\n  margin-bottom: 12px;\n  align-items: flex-start;\n  flex-wrap: wrap;\n}\n.dangdai-b2l9-vocab-embed .d29-speaker-tag {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.72rem;\n  color: var(--d29-oxblood);\n  min-width: 46px;\n  padding-top: 3px;\n}\n.dangdai-b2l9-vocab-embed .d29-line-body { flex: 1; min-width: 200px; }\n.dangdai-b2l9-vocab-embed .d29-line-en { display: block; color: #6b5f52; font-size: 0.82rem; margin-top: 2px; }\n\n.dangdai-b2l9-vocab-embed .d29-fc-hint { font-size: 0.85rem; color: #6b5f52; margin: 0 0 12px; text-align: center; }\n.dangdai-b2l9-vocab-embed .d29-flashcard-wrap { max-width: 320px; margin: 0 auto 14px; perspective: 1200px; }\n.dangdai-b2l9-vocab-embed .d29-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-b2l9-vocab-embed .d29-flashcard.d29-flipped { transform: rotateY(180deg); }\n.dangdai-b2l9-vocab-embed .d29-fc-face {\n  position: absolute;\n  inset: 0;\n  backface-visibility: hidden;\n  border: 1px solid var(--d29-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-b2l9-vocab-embed .d29-fc-back { transform: rotateY(180deg); background: var(--d29-bone); }\n.dangdai-b2l9-vocab-embed .d29-fc-front .d29-hanzi { font-size: 4rem !important; }\n.dangdai-b2l9-vocab-embed .d29-flashcard-wrap rt { font-size: 1.2rem !important; }\n.dangdai-b2l9-vocab-embed .d29-fc-back .d29-meaning { font-style: italic; color: var(--d29-oxblood-dark); font-size: 1.725rem; }\n.dangdai-b2l9-vocab-embed .d29-fc-back .d29-pos { margin-top: 8px; }\n.dangdai-b2l9-vocab-embed .d29-flashcard-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 28px; }\n.dangdai-b2l9-vocab-embed .d29-game-btn {\n  font-family: 'Work Sans', sans-serif;\n  font-size: 0.85rem;\n  border: 1px solid var(--d29-oxblood);\n  color: var(--d29-oxblood);\n  background: #fff;\n  padding: 6px 14px;\n  border-radius: 20px;\n  cursor: pointer;\n}\n.dangdai-b2l9-vocab-embed .d29-game-btn:hover { background: var(--d29-oxblood); color: #fff; }\n.dangdai-b2l9-vocab-embed .d29-game-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }\n.dangdai-b2l9-vocab-embed .d29-game-status { font-family: 'IBM Plex Mono', monospace; font-size: 0.82rem; color: var(--d29-sage); }\n.dangdai-b2l9-vocab-embed .d29-game-board { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }\n.dangdai-b2l9-vocab-embed .d29-game-col { display: flex; flex-direction: column; gap: 8px; }\n.dangdai-b2l9-vocab-embed .d29-tile {\n  font-family: 'Work Sans', sans-serif;\n  text-align: left;\n  border: 1px solid var(--d29-line);\n  background: #fff;\n  border-radius: 6px;\n  padding: 10px 12px;\n  cursor: pointer;\n  font-size: 0.95rem;\n  color: var(--d29-ink);\n  transition: background 0.15s, border-color 0.15s, transform 0.1s;\n}\n.dangdai-b2l9-vocab-embed .d29-tile .d29-tile-py {\n  display: block;\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: var(--d29-sage);\n  margin-top: 2px;\n}\n\/* Match It tile pinyin follows the site's Pinyin Display toggle *\/\n.dangdai-b2l9-vocab-embed.d29-py-hidden .d29-tile .d29-tile-py { display: none; }\n.dangdai-b2l9-vocab-embed.d29-py-mouseover .d29-tile .d29-tile-py { opacity: 0; }\n.dangdai-b2l9-vocab-embed.d29-py-mouseover .d29-tile:hover .d29-tile-py { opacity: 1; }\n.dangdai-b2l9-vocab-embed .d29-tile:hover:not(.d29-matched):not(.d29-selected) { border-color: var(--d29-mustard); }\n.dangdai-b2l9-vocab-embed .d29-tile.d29-selected { border-color: var(--d29-oxblood); background: var(--d29-bone); }\n.dangdai-b2l9-vocab-embed .d29-tile.d29-matched { border-color: var(--d29-sage); background: #eef2e9; color: var(--d29-sage); cursor: default; }\n.dangdai-b2l9-vocab-embed .d29-tile.d29-wrong { border-color: #b5453d; background: #fbeceb; animation: d29-shake 0.3s; }\n@keyframes d29-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }\n.dangdai-b2l9-vocab-embed .d29-game-win { text-align: center; padding: 14px; font-family: 'Bitter', serif; color: var(--d29-oxblood-dark); display: none; }\n.dangdai-b2l9-vocab-embed .d29-game-win.d29-show { display: block; }\n@media (max-width: 480px) { .dangdai-b2l9-vocab-embed .d29-game-board { grid-template-columns: 1fr; } }\n.dangdai-b2l9-vocab-embed .d29-quiz { background: #fff; border: 1px solid var(--d29-line); border-radius: 12px; padding: 20px 22px; margin-top: 8px; }\n.dangdai-b2l9-vocab-embed .d29-quiz-progress { font-size: 0.82rem; color: var(--d29-sage); margin: 0 0 10px; font-family: 'IBM Plex Mono', monospace; }\n.dangdai-b2l9-vocab-embed .d29-quiz-prompt { font-size: 1.1rem; margin: 0 0 14px; }\n.dangdai-b2l9-vocab-embed .d29-quiz-options { display: flex; flex-direction: column; gap: 8px; margin: 0 0 10px; }\n.dangdai-b2l9-vocab-embed .d29-quiz-opt { text-align: left; border: 1px solid var(--d29-line); background: var(--d29-bone); border-radius: 8px; padding: 10px 14px; cursor: pointer; font-size: 0.98rem; color: var(--d29-ink); }\n.dangdai-b2l9-vocab-embed .d29-quiz-opt:hover { background: #f0e6d2; }\n.dangdai-b2l9-vocab-embed .d29-quiz-opt.correct { background: #e3efdd; border-color: #7fae6d; color: #3d5c34; }\n.dangdai-b2l9-vocab-embed .d29-quiz-opt.incorrect { background: #f5e0dc; border-color: var(--d29-oxblood); color: var(--d29-oxblood-dark); }\n.dangdai-b2l9-vocab-embed .d29-quiz-opt[disabled] { cursor: default; }\n.dangdai-b2l9-vocab-embed .d29-quiz-input-row { display: flex; gap: 8px; margin: 0 0 10px; flex-wrap: wrap; }\n.dangdai-b2l9-vocab-embed .d29-quiz-input { flex: 1 1 200px; border: 1px solid var(--d29-line); border-radius: 8px; padding: 9px 12px; font-size: 0.98rem; }\n.dangdai-b2l9-vocab-embed .d29-quiz-submit, .dangdai-b2l9-vocab-embed .d29-quiz-next, .dangdai-b2l9-vocab-embed .d29-quiz-retake { border: none; background: var(--d29-oxblood); color: #fff; border-radius: 20px; padding: 8px 18px; font-size: 0.9rem; cursor: pointer; }\n.dangdai-b2l9-vocab-embed .d29-quiz-submit:hover, .dangdai-b2l9-vocab-embed .d29-quiz-next:hover, .dangdai-b2l9-vocab-embed .d29-quiz-retake:hover { background: var(--d29-oxblood-dark); }\n.dangdai-b2l9-vocab-embed .d29-quiz-feedback { font-size: 0.95rem; margin: 0 0 10px; min-height: 1.4em; }\n.dangdai-b2l9-vocab-embed .d29-quiz-feedback.correct { color: #3d5c34; }\n.dangdai-b2l9-vocab-embed .d29-quiz-feedback.incorrect { color: var(--d29-oxblood-dark); }\n.dangdai-b2l9-vocab-embed .d29-quiz-score { text-align: center; }\n.dangdai-b2l9-vocab-embed .d29-quiz-score .d29-quiz-score-num { font-size: 2.2rem; font-weight: 700; color: var(--d29-oxblood-dark); display: block; margin-bottom: 8px; font-family: 'Bitter', serif; }\n<\/style>\n\n<p class=\"d29-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=\"d29-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 9\u300c<span class=\"lang-zh-TW\">\u90a3\u500b\u57ce\u5e02\u597d\u6f02\u4eae<\/span><span class=\"lang-zh-CN\">\u90a3\u4e2a\u57ce\u5e02\u597d\u6f02\u4eae<\/span>\u300dThat City Is Really Beautiful<\/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=\"d29-sec-eyebrow\">01 \u2014 VOCABULARY I \u751f\u8a5e\u4e00<\/div>\n<div id=\"d29-word-list-1\"><\/div>\n\n<div class=\"d29-sec-eyebrow\">02 \u2014 VOCABULARY II &amp; PHRASES \u751f\u8a5e\u4e8c\u3001\u8a5e\u7d44<\/div>\n<div id=\"d29-word-list-2\"><\/div>\n\n<div class=\"d29-sec-eyebrow\">03 \u2014 PUT IT TOGETHER \u5c0d\u8a71\u7df4\u7fd2<\/div>\n<p class=\"d29-dialogue-note\"><em>Note: this lesson&#8217;s own intro dialogue (English-only in this copy) and reading passage are both copyrighted, so I wrote a short original conversation below between \u6771\u5065 and \u7f8e\u73b2 about her spring-break trip to Thailand and her thoughts on north vs. south Taiwan, using vocabulary from this lesson and earlier lessons, so you can see the words used together. For the real Lesson 9 dialogue and reading passage, please use your own copy of the textbook.<\/em><\/p>\n<div class=\"d29-dialogue\" id=\"d29-dialogue\"><\/div>\n\n<div class=\"d29-sec-eyebrow\">04 \u2014 FLASHCARDS<\/div>\n<p class=\"d29-fc-hint\">Tap the card to flip it, then use the arrows to move through the deck.<\/p>\n<div class=\"d29-flashcard-wrap\">\n  <div class=\"d29-flashcard\" id=\"d29-flashcard\">\n    <div class=\"d29-fc-face d29-fc-front\" id=\"d29-fc-front\"><\/div>\n    <div class=\"d29-fc-face d29-fc-back\" id=\"d29-fc-back\"><\/div>\n  <\/div>\n<\/div>\n<div class=\"d29-flashcard-controls\">\n  <button class=\"d29-game-btn\" id=\"d29-fc-prev\">\u2039 Prev<\/button>\n  <span class=\"d29-game-status\" id=\"d29-fc-progress\">1 \/ 42<\/span>\n  <button class=\"d29-game-btn\" id=\"d29-fc-next\">Next \u203a<\/button>\n<\/div>\n\n<div class=\"d29-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=\"d29-game-bar\">\n  <button class=\"d29-game-btn\" id=\"d29-game-new\">New Round<\/button>\n  <span class=\"d29-game-status\" id=\"d29-game-status\">0 \/ 8 matched<\/span>\n<\/div>\n<div class=\"d29-game-board\">\n  <div class=\"d29-game-col\" id=\"d29-game-col-zh\"><\/div>\n  <div class=\"d29-game-col\" id=\"d29-game-col-en\"><\/div>\n<\/div>\n<div class=\"d29-game-win\" id=\"d29-game-win\">\ud83c\udf89 All matched! Nice work.<\/div>\n\n<div class=\"d29-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=\"d29-quiz\" id=\"d29-quiz\"><\/div>\n\n<script>\n(function () {\n  var root = document.getElementById('dangdai-b2l9-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    'd29-word-list-1': [\n      { t: \"\u6625\u5047\", s: \"\u6625\u5047\", p: \"ch\u016bnji\u00e0\", pos: \"N\", meaning: \"spring break\",\n        ex: [W(\"\u6625\u5047\",\"\u6625\u5047\",\"Ch\u016bnji\u00e0\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u6642\u5019\",\"\u65f6\u5019\",\"sh\u00edh\u00f2u\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u6cf0\u570b\",\"\u6cf0\u56fd\",\"T\u00e0igu\u00f3\"), \"\u3002\"],\n        exEn: \"I went to Thailand during spring break.\" },\n      { t: \"\u597d\", s: \"\u597d\", p: \"h\u01ceo\", pos: \"Ptc\", meaning: \"As a resultative particle, it indicates a proper completion of an action.\",\n        ex: [W(\"\u884c\u674e\",\"\u884c\u674e\",\"X\u00edngl\u01d0\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u5df2\u7d93\",\"\u5df2\u7ecf\",\"y\u01d0j\u012bng\"), W(\"\u6e96\u5099\",\"\u51c6\u5907\",\"zh\u01d4nb\u00e8i\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"I have already packed my luggage.\" },\n      { t: \"\u5230\", s: \"\u5230\", p: \"d\u00e0o\", pos: \"Ptc\", meaning: \"As a resultative particle, it indicates a successful completion of an action.\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u8cb7\",\"\u4e70\",\"m\u01cei\"), W(\"\u5230\",\"\u5230\",\"d\u00e0o\"), W(\"\u6a5f\u7968\",\"\u673a\u7968\",\"j\u012bpi\u00e0o\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"I managed to buy the plane ticket.\" },\n      { t: \"\u7279\u8272\", s: \"\u7279\u8272\", p: \"t\u00e8s\u00e8\", pos: \"N\", meaning: \"unique features, distinctive traits\",\n        ex: [W(\"\u6cf0\u570b\",\"\u6cf0\u56fd\",\"T\u00e0igu\u00f3\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u4ec0\u9ebc\",\"\u4ec0\u4e48\",\"sh\u00e9nme\"), W(\"\u7279\u8272\",\"\u7279\u8272\",\"t\u00e8s\u00e8\"), \"\uff1f\"],\n        exEn: \"What are Thailand's special features?\" },\n      { t: \"\u5920\", s: \"\u591f\", p: \"g\u00f2u\", pos: \"Vs-pred\", meaning: \"enough\",\n        ex: [W(\"\u6642\u9593\",\"\u65f6\u95f4\",\"Sh\u00edji\u0101n\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u5920\",\"\u591f\",\"g\u00f2u\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u60f3\",\"\u60f3\",\"xi\u01ceng\"), W(\"\u7559\",\"\u7559\",\"li\u00fa\"), W(\"\u4e45\",\"\u4e45\",\"ji\u01d4\"), W(\"\u4e00\u9ede\",\"\u4e00\u70b9\",\"y\u00ecdi\u01cen\"), \"\u3002\"],\n        exEn: \"The time wasn't enough, I wanted to stay longer.\" },\n      { t: \"\u984f\u8272\", s: \"\u989c\u8272\", p: \"y\u00e1ns\u00e8\", pos: \"N\", meaning: \"color\",\n        ex: [W(\"\u5edf\",\"\u5e99\",\"Mi\u00e0o\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u984f\u8272\",\"\u989c\u8272\",\"y\u00e1ns\u00e8\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u6f02\u4eae\",\"\u6f02\u4eae\",\"pi\u00e0oliang\"), \"\u3002\"],\n        exEn: \"The temple's colors are very pretty.\" },\n      { t: \"\u5edf\", s: \"\u5e99\", p: \"mi\u00e0o\", pos: \"N\", meaning: \"temple\",\n        ex: [W(\"\u6cf0\u570b\",\"\u6cf0\u56fd\",\"T\u00e0igu\u00f3\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u5edf\",\"\u5e99\",\"mi\u00e0o\"), \"\u3002\"],\n        exEn: \"Thailand has many temples.\" },\n      { t: \"\u50cf\", s: \"\u50cf\", p: \"xi\u00e0ng\", pos: \"Vst\", meaning: \"similar to\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u5edf\",\"\u5e99\",\"mi\u00e0o\"), W(\"\u6709\u9ede\",\"\u6709\u70b9\",\"y\u01d2udi\u01cen\"), W(\"\u50cf\",\"\u50cf\",\"xi\u00e0ng\"), W(\"\u6559\u5802\",\"\u6559\u5802\",\"ji\u00e0ot\u00e1ng\"), \"\u3002\"],\n        exEn: \"This temple is a bit like a church.\" },\n      { t: \"\u6559\u5802\", s: \"\u6559\u5802\", p: \"ji\u00e0ot\u00e1ng\", pos: \"N\", meaning: \"church, cathedral\",\n        ex: [W(\"\u6b50\u6d32\",\"\u6b27\u6d32\",\"\u014cuzh\u014du\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u6559\u5802\",\"\u6559\u5802\",\"ji\u00e0ot\u00e1ng\"), \"\u3002\"],\n        exEn: \"Europe has many churches.\" },\n      { t: \"\u5357\u90e8\", s: \"\u5357\u90e8\", p: \"n\u00e1nb\u00f9\", pos: \"N\", meaning: \"southern region\",\n        ex: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u6cf0\u570b\",\"\u6cf0\u56fd\",\"T\u00e0igu\u00f3\"), W(\"\u5357\u90e8\",\"\u5357\u90e8\",\"n\u00e1nb\u00f9\"), W(\"\u6f5b\u6c34\",\"\u6f5c\u6c34\",\"qi\u00e1nshu\u01d0\"), \"\u3002\"],\n        exEn: \"I went diving in southern Thailand.\" },\n      { t: \"\u6f5b\u6c34\", s: \"\u6f5c\u6c34\", p: \"qi\u00e1nshu\u01d0\", pos: \"V-sep\", meaning: \"to dive (i.e., snorkel or scuba diving)\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u559c\u6b61\",\"\u559c\u6b22\",\"x\u01d0hu\u0101n\"), W(\"\u6f5b\u6c34\",\"\u6f5c\u6c34\",\"qi\u00e1nshu\u01d0\"), \"\u3002\"],\n        exEn: \"She likes diving.\" },\n      { t: \"\u5404\", s: \"\u5404\", p: \"g\u00e8\", pos: \"Det\", meaning: \"various\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u770b\u898b\",\"\u770b\u89c1\",\"k\u00e0nji\u00e0n\"), W(\"\u5404\",\"\u5404\",\"g\u00e8\"), W(\"\u7a2e\",\"\u79cd\",\"zh\u01d2ng\"), W(\"\u6f02\u4eae\",\"\u6f02\u4eae\",\"pi\u00e0oliang\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u9b5a\",\"\u9c7c\",\"y\u00fa\"), \"\u3002\"],\n        exEn: \"She saw various kinds of beautiful fish.\" },\n      { t: \"\u9b5a\", s: \"\u9c7c\", p: \"y\u00fa\", pos: \"N\", meaning: \"fish\",\n        ex: [W(\"\u6d77\",\"\u6d77\",\"H\u01cei\"), W(\"\u88e1\",\"\u91cc\",\"l\u01d0\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u9b5a\",\"\u9c7c\",\"y\u00fa\"), \"\u3002\"],\n        exEn: \"There are many fish in the sea.\" },\n      { t: \"\u9178\", s: \"\u9178\", p: \"su\u0101n\", pos: \"Vs\", meaning: \"sour, tart\",\n        ex: [W(\"\u6cf0\u570b\",\"\u6cf0\u56fd\",\"T\u00e0igu\u00f3\"), W(\"\u83dc\",\"\u83dc\",\"c\u00e0i\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u9178\",\"\u9178\",\"su\u0101n\"), \"\u3002\"],\n        exEn: \"Thai food is relatively sour.\" },\n      { t: \"\u6ab8\u6aac\", s: \"\u67e0\u6aac\", p: \"n\u00edngm\u00e9ng\", pos: \"N\", meaning: \"lemon, lime\",\n        ex: [W(\"\u4ed6\u5011\",\"\u4ed6\u4eec\",\"T\u0101men\"), W(\"\u5e38\u5e38\",\"\u5e38\u5e38\",\"ch\u00e1ngch\u00e1ng\"), W(\"\u52a0\",\"\u52a0\",\"ji\u0101\"), W(\"\u6ab8\u6aac\",\"\u67e0\u6aac\",\"n\u00edngm\u00e9ng\"), \"\u3002\"],\n        exEn: \"They often add lemon.\" },\n      { t: \"\u5473\u9053\", s: \"\u5473\u9053\", p: \"w\u00e8id\u00e0o\", pos: \"N\", meaning: \"taste, flavor\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u9053\",\"\u9053\",\"d\u00e0o\"), W(\"\u83dc\",\"\u83dc\",\"c\u00e0i\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5473\u9053\",\"\u5473\u9053\",\"w\u00e8id\u00e0o\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u7279\u5225\",\"\u7279\u522b\",\"t\u00e8bi\u00e9\"), \"\u3002\"],\n        exEn: \"This dish's flavor is very special.\" },\n      { t: \"\u6cf0\u570b\", s: \"\u6cf0\u56fd\", p: \"T\u00e0igu\u00f3\", pos: \"Names\", meaning: \"Thailand\",\n        ex: [W(\"\u6cf0\u570b\",\"\u6cf0\u56fd\",\"T\u00e0igu\u00f3\"), W(\"\u83dc\",\"\u83dc\",\"c\u00e0i\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u597d\u5403\",\"\u597d\u5403\",\"h\u01ceoch\u012b\"), \"\u3002\"],\n        exEn: \"Thai food is very delicious.\" },\n      { t: \"\u6bd4\u8d77\u4f86\", s: \"\u6bd4\u8d77\u6765\", p: \"b\u01d0 q\u01d0l\u00e1i\", pos: \"Phrase\", meaning: \"compared to\",\n        ex: [W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u4e2d\u5357\u90e8\",\"\u4e2d\u5357\u90e8\",\"zh\u014dngn\u00e1nb\u00f9\"), W(\"\u6bd4\u8d77\u4f86\",\"\u6bd4\u8d77\u6765\",\"b\u01d0 q\u01d0l\u00e1i\"), \"\uff0c\", W(\"\u751f\u6d3b\u8cbb\",\"\u751f\u6d3b\u8d39\",\"sh\u0113nghu\u00f3f\u00e8i\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u9ad8\",\"\u9ad8\",\"g\u0101o\"), \"\u3002\"],\n        exEn: \"Compared to central and southern Taiwan, Taipei has higher living costs.\" },\n      { t: \"\u6975\u4e86\", s: \"\u6781\u4e86\", p: \"j\u00edle\", pos: \"Phrase\", meaning: \"absolutely, extremely\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u73a9\",\"\u73a9\",\"w\u00e1n\"), W(\"\u5f97\",\"\u5f97\",\"de\"), W(\"\u958b\u5fc3\",\"\u5f00\u5fc3\",\"k\u0101ix\u012bn\"), W(\"\u6975\u4e86\",\"\u6781\u4e86\",\"j\u00edle\"), \"\u3002\"],\n        exEn: \"She had an extremely good time.\" },\n      { t: \"\u5fd8\u4e0d\u4e86\", s: \"\u5fd8\u4e0d\u4e86\", p: \"w\u00e0ng b\u00f9 li\u01ceo\", pos: \"Phrase\", meaning: \"unforgettable\",\n        ex: [W(\"\u90a3\",\"\u90a3\",\"N\u00e0\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u4e00\",\"\u4e00\",\"y\u00ed\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u5fd8\u4e0d\u4e86\",\"\u5fd8\u4e0d\u4e86\",\"w\u00e0ng b\u00f9 li\u01ceo\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u7d93\u9a57\",\"\u7ecf\u9a8c\",\"j\u012bngy\u00e0n\"), \"\u3002\"],\n        exEn: \"That was an unforgettable experience.\" }\n    ],\n    'd29-word-list-2': [\n      { t: \"\u9109\u4e0b\", s: \"\u4e61\u4e0b\", p: \"xi\u0101ngxi\u00e0\", pos: \"N\", meaning: \"countryside\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u559c\u6b61\",\"\u559c\u6b22\",\"x\u01d0hu\u0101n\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u9109\u4e0b\",\"\u4e61\u4e0b\",\"xi\u0101ngxi\u00e0\"), \"\u3002\"],\n        exEn: \"She also likes Taiwan's countryside.\" },\n      { t: \"\u6c23\u6c1b\", s: \"\u6c14\u6c1b\", p: \"q\u00ecf\u0113n\", pos: \"N\", meaning: \"atmosphere\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u500b\",\"\u4e2a\",\"ge\"), W(\"\u5c0f\",\"\u5c0f\",\"xi\u01ceo\"), W(\"\u93ae\",\"\u9547\",\"zh\u00e8n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u6c23\u6c1b\",\"\u6c14\u6c1b\",\"q\u00ecf\u0113n\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u8f15\u9b06\",\"\u8f7b\u677e\",\"q\u012bngs\u014dng\"), \"\u3002\"],\n        exEn: \"This small town's atmosphere is very relaxed.\" },\n      { t: \"\u93ae\", s: \"\u9547\", p: \"zh\u00e8n\", pos: \"N\", meaning: \"rural town\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u559c\u6b61\",\"\u559c\u6b22\",\"x\u01d0hu\u0101n\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5c0f\",\"\u5c0f\",\"xi\u01ceo\"), W(\"\u93ae\",\"\u9547\",\"zh\u00e8n\"), \"\u3002\"],\n        exEn: \"She likes Taiwan's small towns.\" },\n      { t: \"\u4e0d\u540c\", s: \"\u4e0d\u540c\", p: \"b\u00f9t\u00f3ng\", pos: \"Vs\", meaning: \"different\",\n        ex: [W(\"\u4e2d\u5357\u90e8\",\"\u4e2d\u5357\u90e8\",\"Zh\u014dngn\u00e1nb\u00f9\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u4e0d\u540c\",\"\u4e0d\u540c\",\"b\u00f9t\u00f3ng\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5730\u65b9\",\"\u5730\u65b9\",\"d\u00ecf\u0101ng\"), \"\u3002\"],\n        exEn: \"Central\/southern Taiwan and Taipei have many different aspects.\" },\n      { t: \"\u73fe\u4ee3\", s: \"\u73b0\u4ee3\", p: \"xi\u00e0nd\u00e0i\", pos: \"N\", meaning: \"modern\",\n        ex: [W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u5e02\u5340\",\"\u5e02\u533a\",\"sh\u00ecq\u016b\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u73fe\u4ee3\",\"\u73b0\u4ee3\",\"xi\u00e0nd\u00e0i\"), \"\u3002\"],\n        exEn: \"Downtown Taipei is more modern.\" },\n      { t: \"\u516c\u5bd3\", s: \"\u516c\u5bd3\", p: \"g\u014dngy\u00f9\", pos: \"N\", meaning: \"apartment\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u88e1\",\"\u91cc\",\"l\u01d0\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u516c\u5bd3\",\"\u516c\u5bd3\",\"g\u014dngy\u00f9\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), \"\u3002\"],\n        exEn: \"There are more apartments here.\" },\n      { t: \"\u99ac\u8def\", s: \"\u9a6c\u8def\", p: \"m\u01cel\u00f9\", pos: \"N\", meaning: \"street\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u689d\",\"\u6761\",\"ti\u00e1o\"), W(\"\u99ac\u8def\",\"\u9a6c\u8def\",\"m\u01cel\u00f9\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u5bec\",\"\u5bbd\",\"ku\u0101n\"), \"\u3002\"],\n        exEn: \"This street is very wide.\" },\n      { t: \"\u5bec\", s: \"\u5bbd\", p: \"ku\u0101n\", pos: \"Vs\", meaning: \"wide\",\n        ex: [W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u99ac\u8def\",\"\u9a6c\u8def\",\"m\u01cel\u00f9\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u5bec\",\"\u5bbd\",\"ku\u0101n\"), \"\u3002\"],\n        exEn: \"Taipei's streets are wider.\" },\n      { t: \"\u6c7d\u8eca\", s: \"\u6c7d\u8f66\", p: \"q\u00ecch\u0113\", pos: \"N\", meaning: \"car\",\n        ex: [W(\"\u5e02\u5340\",\"\u5e02\u533a\",\"Sh\u00ecq\u016b\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u6c7d\u8eca\",\"\u6c7d\u8f66\",\"q\u00ecch\u0113\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), \"\u3002\"],\n        exEn: \"There are many cars downtown.\" },\n      { t: \"\u5efa\u7bc9\", s: \"\u5efa\u7b51\", p: \"ji\u00e0nzh\u00fa\", pos: \"N\", meaning: \"buildings\",\n        ex: [W(\"\u4e2d\u5357\u90e8\",\"\u4e2d\u5357\u90e8\",\"Zh\u014dngn\u00e1nb\u00f9\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u65b0\",\"\u65b0\",\"x\u012bn\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5efa\u7bc9\",\"\u5efa\u7b51\",\"ji\u00e0nzh\u00fa\"), \"\u3002\"],\n        exEn: \"Central\/southern Taiwan also has new buildings.\" },\n      { t: \"\u8001\", s: \"\u8001\", p: \"l\u01ceo\", pos: \"Vs\", meaning: \"old\",\n        ex: [W(\"\u90a3\",\"\u90a3\",\"N\u00e0\"), W(\"\u88e1\",\"\u91cc\",\"l\u01d0\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u770b\u5f97\u898b\",\"\u770b\u5f97\u89c1\",\"k\u00e0ndeji\u00e0n\"), W(\"\u8001\",\"\u8001\",\"l\u01ceo\"), W(\"\u623f\u5b50\",\"\u623f\u5b50\",\"f\u00e1ngzi\"), \"\u3002\"],\n        exEn: \"You can also see old houses there.\" },\n      { t: \"\u5c64\", s: \"\u5c42\", p: \"c\u00e9ng\", pos: \"M\", meaning: \"measure word for floors and storeys\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u770b\u898b\",\"\u770b\u89c1\",\"k\u00e0nji\u00e0n\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u4e09\",\"\u4e09\",\"s\u0101n\"), W(\"\u5c64\",\"\u5c42\",\"c\u00e9ng\"), W(\"\u6a13\",\"\u697c\",\"l\u00f3u\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u623f\u5b50\",\"\u623f\u5b50\",\"f\u00e1ngzi\"), \"\u3002\"],\n        exEn: \"She saw many three-story houses.\" },\n      { t: \"\u5317\u90e8\", s: \"\u5317\u90e8\", p: \"b\u011bib\u00f9\", pos: \"N\", meaning: \"the north\",\n        ex: [W(\"\u5357\u90e8\",\"\u5357\u90e8\",\"N\u00e1nb\u00f9\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5929\u6c23\",\"\u5929\u6c14\",\"ti\u0101nq\u00ec\"), W(\"\u6bd4\",\"\u6bd4\",\"b\u01d0\"), W(\"\u5317\u90e8\",\"\u5317\u90e8\",\"b\u011bib\u00f9\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"The weather in the south is much better than in the north.\" },\n      { t: \"\u71b1\u60c5\", s: \"\u70ed\u60c5\", p: \"r\u00e8q\u00edng\", pos: \"Vs\", meaning: \"hospitable, welcoming, warmhearted\",\n        ex: [W(\"\u5357\u90e8\",\"\u5357\u90e8\",\"N\u00e1nb\u00f9\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u71b1\u60c5\",\"\u70ed\u60c5\",\"r\u00e8q\u00edng\"), \"\u3002\"],\n        exEn: \"People in the south are very warmhearted.\" },\n      { t: \"\u64e0\", s: \"\u6324\", p: \"j\u01d0\", pos: \"Vs\", meaning: \"crowded\",\n        ex: [W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u74b0\u5883\",\"\u73af\u5883\",\"hu\u00e1nj\u00ecng\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u64e0\",\"\u6324\",\"j\u01d0\"), \"\u3002\"],\n        exEn: \"Taipei's environment is more crowded.\" },\n      { t: \"\u98f2\u6599\", s: \"\u996e\u6599\", p: \"y\u01d0nli\u00e0o\", pos: \"N\", meaning: \"drink, beverage\",\n        ex: [W(\"\u9019\",\"\u8fd9\",\"Zh\u00e8\"), W(\"\u88e1\",\"\u91cc\",\"l\u01d0\"), W(\"\u5230\u8655\",\"\u5230\u5904\",\"d\u00e0och\u00f9\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u8cb7\",\"\u4e70\",\"m\u01cei\"), W(\"\u5f97\",\"\u5f97\",\"de\"), W(\"\u5230\",\"\u5230\",\"d\u00e0o\"), W(\"\u98f2\u6599\",\"\u996e\u6599\",\"y\u01d0nli\u00e0o\"), \"\u3002\"],\n        exEn: \"You can buy drinks everywhere here.\" },\n      { t: \"\u5df4\u9ece\", s: \"\u5df4\u9ece\", p: \"B\u0101l\u00ed\", pos: \"Names\", meaning: \"Paris\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u5bb6\",\"\u5bb6\",\"ji\u0101\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u5df4\u9ece\",\"\u5df4\u9ece\",\"B\u0101l\u00ed\"), \"\u3002\"],\n        exEn: \"Her home is in Paris.\" },\n      { t: \"\u9ad8\u96c4\u5e02\", s: \"\u9ad8\u96c4\u5e02\", p: \"G\u0101oxi\u00f3ng Sh\u00ec\", pos: \"Names\", meaning: \"Kaohsiung City in southern Taiwan\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u9ad8\u96c4\u5e02\",\"\u9ad8\u96c4\u5e02\",\"G\u0101oxi\u00f3ng Sh\u00ec\"), W(\"\u770b\u898b\",\"\u770b\u89c1\",\"k\u00e0nji\u00e0n\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u8001\",\"\u8001\",\"l\u01ceo\"), W(\"\u623f\u5b50\",\"\u623f\u5b50\",\"f\u00e1ngzi\"), \"\u3002\"],\n        exEn: \"She saw many old houses in Kaohsiung City.\" },\n      { t: \"\u4e2d\u5357\u90e8\", s: \"\u4e2d\u5357\u90e8\", p: \"zh\u014dngn\u00e1nb\u00f9\", pos: \"Phrase\", meaning: \"central and southern regions\",\n        ex: [W(\"\u5979\",\"\u5979\",\"T\u0101\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u4e2d\u5357\u90e8\",\"\u4e2d\u5357\u90e8\",\"zh\u014dngn\u00e1nb\u00f9\"), \"\u3002\"],\n        exEn: \"She also went to central and southern Taiwan.\" },\n      { t: \"\u8cb7\u5f97\u8d77\", s: \"\u4e70\u5f97\u8d77\", p: \"m\u01cei de q\u01d0\", pos: \"Phrase\", meaning: \"afford, affordable\",\n        ex: [W(\"\u8cb7\u5f97\u8d77\",\"\u4e70\u5f97\u8d77\",\"M\u01cei de q\u01d0\"), W(\"\u623f\u5b50\",\"\u623f\u5b50\",\"f\u00e1ngzi\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5357\u90e8\",\"\u5357\u90e8\",\"n\u00e1nb\u00f9\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u559c\u6b61\",\"\u559c\u6b22\",\"x\u01d0hu\u0101n\"), W(\"\u9019\",\"\u8fd9\",\"zh\u00e8\"), W(\"\u7a2e\",\"\u79cd\",\"zh\u01d2ng\"), W(\"\u623f\u5b50\",\"\u623f\u5b50\",\"f\u00e1ngzi\"), \"\u3002\"],\n        exEn: \"Southern people who can afford a house tend to prefer this kind of house.\" },\n      { t: \"\u767e\u8ca8\u516c\u53f8\", s: \"\u767e\u8d27\u516c\u53f8\", p: \"b\u01ceihu\u00f2 g\u014dngs\u012b\", pos: \"Phrase\", meaning: \"department store\",\n        ex: [W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u767e\u8ca8\u516c\u53f8\",\"\u767e\u8d27\u516c\u53f8\",\"b\u01ceihu\u00f2 g\u014dngs\u012b\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), \"\u3002\"],\n        exEn: \"Taipei has many department stores.\" },\n      { t: \"\u8d8a\u4f86\u8d8a\", s: \"\u8d8a\u6765\u8d8a\", p: \"yu\u00e8l\u00e1iyu\u00e8\", pos: \"Phrase\", meaning: \"more and more, increasingly\",\n        ex: [W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u751f\u6d3b\",\"\u751f\u6d3b\",\"sh\u0113nghu\u00f3\"), W(\"\u8d8a\u4f86\u8d8a\",\"\u8d8a\u6765\u8d8a\",\"yu\u00e8l\u00e1iyu\u00e8\"), W(\"\u65b9\u4fbf\",\"\u65b9\u4fbf\",\"f\u0101ngbi\u00e0n\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\u3002\"],\n        exEn: \"Life in Taipei is becoming more and more convenient.\" }\n    ]\n  };\n\n  var DIALOGUE = [\n    { speakerT: \"\u6771\u5065\", speakerS: \"\u4e1c\u5065\",\n      tokens: [W(\"\u7f8e\u73b2\",\"\u7f8e\u73b2\",\"M\u011bil\u00edng\"), \"\uff0c\", W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u4e0a\",\"\u4e0a\",\"sh\u00e0ng\"), W(\"\u6b21\",\"\u6b21\",\"c\u00ec\"), W(\"\u6625\u5047\",\"\u6625\u5047\",\"ch\u016bnji\u00e0\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u4e86\",\"\u4e86\",\"le\"), WD(\"\u54ea\u88e1\",\"\u54ea\u91cc\",\"n\u01cel\u01d0\",\"n\u01celi\"), \"\uff1f\"],\n      en: \"Meiling, where did you go last spring break?\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u6cf0\u570b\",\"\u6cf0\u56fd\",\"T\u00e0igu\u00f3\"), \"\uff0c\", W(\"\u73a9\",\"\u73a9\",\"w\u00e1n\"), W(\"\u5f97\",\"\u5f97\",\"de\"), W(\"\u958b\u5fc3\",\"\u5f00\u5fc3\",\"k\u0101ix\u012bn\"), W(\"\u6975\u4e86\",\"\u6781\u4e86\",\"j\u00edle\"), \"\uff01\"],\n      en: \"I went to Thailand, I had an extremely good time!\" },\n    { speakerT: \"\u6771\u5065\", speakerS: \"\u4e1c\u5065\",\n      tokens: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u89ba\u5f97\",\"\u89c9\u5f97\",\"ju\u00e9de\"), W(\"\u6cf0\u570b\",\"\u6cf0\u56fd\",\"T\u00e0igu\u00f3\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u4ec0\u9ebc\",\"\u4ec0\u4e48\",\"sh\u00e9nme\"), W(\"\u7279\u8272\",\"\u7279\u8272\",\"t\u00e8s\u00e8\"), \"\uff1f\"],\n      en: \"What do you think are Thailand's special features?\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u6cf0\u570b\",\"\u6cf0\u56fd\",\"T\u00e0igu\u00f3\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u5edf\",\"\u5e99\",\"mi\u00e0o\"), \"\uff0c\", W(\"\u984f\u8272\",\"\u989c\u8272\",\"y\u00e1ns\u00e8\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u6f02\u4eae\",\"\u6f02\u4eae\",\"pi\u00e0oliang\"), \"\uff0c\", W(\"\u6709\u9ede\",\"\u6709\u70b9\",\"y\u01d2udi\u01cen\"), W(\"\u50cf\",\"\u50cf\",\"xi\u00e0ng\"), W(\"\u6559\u5802\",\"\u6559\u5802\",\"ji\u00e0ot\u00e1ng\"), \"\uff0c\", W(\"\u4e0d\u904e\",\"\u4e0d\u8fc7\",\"b\u00fagu\u00f2\"), W(\"\u611f\u89ba\",\"\u611f\u89c9\",\"g\u01cenju\u00e9\"), W(\"\u5b8c\u5168\",\"\u5b8c\u5168\",\"w\u00e1nqu\u00e1n\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u4e00\u6a23\",\"\u4e00\u6837\",\"y\u00edy\u00e0ng\"), \"\u3002\"],\n      en: \"Thailand has a lot of temples, with very pretty colors, a bit like churches, but they feel completely different.\" },\n    { speakerT: \"\u6771\u5065\", speakerS: \"\u4e1c\u5065\",\n      tokens: [W(\"\u807d\u8d77\u4f86\",\"\u542c\u8d77\u6765\",\"T\u012bngq\u01d0l\u00e1i\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u610f\u601d\",\"\u610f\u601d\",\"y\u00ecsi\"), \"\u3002\"],\n      en: \"That sounds very interesting.\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u5c0d\",\"\u5bf9\",\"Du\u00ec\"), W(\"\u554a\",\"\u554a\",\"a\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u9084\",\"\u8fd8\",\"h\u00e1i\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u6cf0\u570b\",\"\u6cf0\u56fd\",\"T\u00e0igu\u00f3\"), W(\"\u5357\u90e8\",\"\u5357\u90e8\",\"n\u00e1nb\u00f9\"), W(\"\u6f5b\u6c34\",\"\u6f5c\u6c34\",\"qi\u00e1nshu\u01d0\"), \"\uff0c\", W(\"\u770b\u898b\",\"\u770b\u89c1\",\"k\u00e0nji\u00e0n\"), W(\"\u5404\",\"\u5404\",\"g\u00e8\"), W(\"\u7a2e\",\"\u79cd\",\"zh\u01d2ng\"), W(\"\u6f02\u4eae\",\"\u6f02\u4eae\",\"pi\u00e0oliang\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u9b5a\",\"\u9c7c\",\"y\u00fa\"), \"\u3002\"],\n      en: \"Yeah, I also went diving in southern Thailand and saw all kinds of beautiful fish.\" },\n    { speakerT: \"\u6771\u5065\", speakerS: \"\u4e1c\u5065\",\n      tokens: [W(\"\u90a3\",\"\u90a3\",\"N\u00e0\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u89ba\u5f97\",\"\u89c9\u5f97\",\"ju\u00e9de\"), W(\"\u6cf0\u570b\",\"\u6cf0\u56fd\",\"T\u00e0igu\u00f3\"), W(\"\u83dc\",\"\u83dc\",\"c\u00e0i\"), W(\"\u597d\u5403\",\"\u597d\u5403\",\"h\u01ceoch\u012b\"), W(\"\u55ce\",\"\u5417\",\"ma\"), \"\uff1f\"],\n      en: \"So do you think Thai food is tasty?\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u5f88\",\"\u5f88\",\"H\u011bn\"), W(\"\u597d\u5403\",\"\u597d\u5403\",\"h\u01ceoch\u012b\"), \"\uff0c\", W(\"\u4e0d\u904e\",\"\u4e0d\u8fc7\",\"b\u00fagu\u00f2\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u9178\",\"\u9178\",\"su\u0101n\"), \"\uff0c\", W(\"\u4ed6\u5011\",\"\u4ed6\u4eec\",\"t\u0101men\"), W(\"\u5e38\u5e38\",\"\u5e38\u5e38\",\"ch\u00e1ngch\u00e1ng\"), W(\"\u52a0\",\"\u52a0\",\"ji\u0101\"), W(\"\u6ab8\u6aac\",\"\u67e0\u6aac\",\"n\u00edngm\u00e9ng\"), \"\uff0c\", W(\"\u5473\u9053\",\"\u5473\u9053\",\"w\u00e8id\u00e0o\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u5df4\u9ece\",\"\u5df4\u9ece\",\"B\u0101l\u00ed\"), W(\"\u5403\",\"\u5403\",\"ch\u012b\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u4e00\u6a23\",\"\u4e00\u6837\",\"y\u00edy\u00e0ng\"), \"\u3002\"],\n      en: \"It's very tasty, but a bit more sour \u2014 they often add lemon, and the flavor is different from what I eat in Paris.\" },\n    { speakerT: \"\u6771\u5065\", speakerS: \"\u4e1c\u5065\",\n      tokens: [W(\"\u6211\",\"\u6211\",\"W\u01d2\"), W(\"5\",\"5\",\"w\u01d4\"), W(\"\u5e74\",\"\u5e74\",\"ni\u00e1n\"), W(\"\u524d\",\"\u524d\",\"qi\u00e1n\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u904e\",\"\u8fc7\",\"gu\u00f2\"), W(\"\u6cf0\u570b\",\"\u6cf0\u56fd\",\"T\u00e0igu\u00f3\"), \"\uff0c\", W(\"\u90a3\",\"\u90a3\",\"n\u00e0\"), W(\"\u8d9f\",\"\u8d9f\",\"t\u00e0ng\"), W(\"\u65c5\u884c\",\"\u65c5\u884c\",\"l\u01dax\u00edng\"), W(\"\u771f\",\"\u771f\",\"zh\u0113n\"), W(\"\u662f\",\"\u662f\",\"sh\u00ec\"), W(\"\u5fd8\u4e0d\u4e86\",\"\u5fd8\u4e0d\u4e86\",\"w\u00e0ng b\u00f9 li\u01ceo\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u7d93\u9a57\",\"\u7ecf\u9a8c\",\"j\u012bngy\u00e0n\"), \"\u3002\"],\n      en: \"I also went to Thailand 5 years ago \u2014 that trip was truly an unforgettable experience.\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u771f\",\"\u771f\",\"Zh\u0113n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u55ce\",\"\u5417\",\"ma\"), \"\uff1f\", W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), W(\"\u771f\",\"\u771f\",\"zh\u0113n\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u9019\",\"\u8fd9\",\"zh\u00e8\"), W(\"\u6b21\",\"\u6b21\",\"c\u00ec\"), W(\"\u53ef\u60dc\",\"\u53ef\u60dc\",\"k\u011bx\u00ed\"), W(\"\u6642\u9593\",\"\u65f6\u95f4\",\"sh\u00edji\u0101n\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u5920\",\"\u591f\",\"g\u00f2u\"), \"\uff0c\", W(\"\u8981\u4e0d\u7136\",\"\u8981\u4e0d\u7136\",\"y\u00e0ob\u00f9r\u00e1n\"), W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u60f3\",\"\u60f3\",\"xi\u01ceng\"), W(\"\u7559\",\"\u7559\",\"li\u00fa\"), W(\"\u4e45\",\"\u4e45\",\"ji\u01d4\"), W(\"\u4e00\u9ede\",\"\u4e00\u70b9\",\"y\u00ecdi\u01cen\"), \"\u3002\"],\n      en: \"Really? Honestly, this time it was a shame I didn't have enough time \u2014 otherwise I would have wanted to stay longer.\" },\n    { speakerT: \"\u6771\u5065\", speakerS: \"\u4e1c\u5065\",\n      tokens: [W(\"\u4f60\",\"\u4f60\",\"N\u01d0\"), W(\"\u9664\u4e86\",\"\u9664\u4e86\",\"ch\u00fale\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u6cf0\u570b\",\"\u6cf0\u56fd\",\"T\u00e0igu\u00f3\"), \"\uff0c\", W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u53f0\u7063\",\"\u53f0\u6e7e\",\"T\u00e1iw\u0101n\"), W(\"\u4e2d\u5357\u90e8\",\"\u4e2d\u5357\u90e8\",\"zh\u014dngn\u00e1nb\u00f9\"), W(\"\u5427\",\"\u5427\",\"ba\"), \"\uff1f\"],\n      en: \"Besides Thailand, you also went to central and southern Taiwan, right?\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u5c0d\",\"\u5bf9\",\"Du\u00ec\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u53bb\",\"\u53bb\",\"q\u00f9\"), W(\"\u4e86\",\"\u4e86\",\"le\"), W(\"\u9ad8\u96c4\u5e02\",\"\u9ad8\u96c4\u5e02\",\"G\u0101oxi\u00f3ng Sh\u00ec\"), \"\uff0c\", W(\"\u770b\u898b\",\"\u770b\u89c1\",\"k\u00e0nji\u00e0n\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u4e09\",\"\u4e09\",\"s\u0101n\"), W(\"\u5c64\",\"\u5c42\",\"c\u00e9ng\"), W(\"\u6a13\",\"\u697c\",\"l\u00f3u\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u8001\",\"\u8001\",\"l\u01ceo\"), W(\"\u623f\u5b50\",\"\u623f\u5b50\",\"f\u00e1ngzi\"), \"\uff0c\", W(\"\u670b\u53cb\",\"\u670b\u53cb\",\"p\u00e9ngy\u01d2u\"), W(\"\u8aaa\",\"\u8bf4\",\"shu\u014d\"), \"\uff0c\", W(\"\u5357\u90e8\",\"\u5357\u90e8\",\"n\u00e1nb\u00f9\"), W(\"\u8cb7\u5f97\u8d77\",\"\u4e70\u5f97\u8d77\",\"m\u01cei de q\u01d0\"), W(\"\u623f\u5b50\",\"\u623f\u5b50\",\"f\u00e1ngzi\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u559c\u6b61\",\"\u559c\u6b22\",\"x\u01d0hu\u0101n\"), W(\"\u9019\",\"\u8fd9\",\"zh\u00e8\"), W(\"\u7a2e\",\"\u79cd\",\"zh\u01d2ng\"), W(\"\u623f\u5b50\",\"\u623f\u5b50\",\"f\u00e1ngzi\"), \"\uff0c\", W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u4e0d\u540c\",\"\u4e0d\u540c\",\"b\u00f9t\u00f3ng\"), \"\u3002\"],\n      en: \"Right, I went to Kaohsiung City and saw a lot of old three-story houses. My friend said people in the south who can afford a house tend to prefer this kind of house, which is quite different from Taipei.\" },\n    { speakerT: \"\u6771\u5065\", speakerS: \"\u4e1c\u5065\",\n      tokens: [W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u4e2d\u5357\u90e8\",\"\u4e2d\u5357\u90e8\",\"zh\u014dngn\u00e1nb\u00f9\"), W(\"\u6bd4\u8d77\u4f86\",\"\u6bd4\u8d77\u6765\",\"b\u01d0 q\u01d0l\u00e1i\"), \"\uff0c\", W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u4ec0\u9ebc\",\"\u4ec0\u4e48\",\"sh\u00e9nme\"), W(\"\u4e0d\",\"\u4e0d\",\"b\u00f9\"), W(\"\u4e00\u6a23\",\"\u4e00\u6837\",\"y\u00edy\u00e0ng\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5730\u65b9\",\"\u5730\u65b9\",\"d\u00ecf\u0101ng\"), \"\uff1f\"],\n      en: \"Compared to central and southern Taiwan, what's different about Taipei?\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u5e02\u5340\",\"\u5e02\u533a\",\"sh\u00ecq\u016b\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u73fe\u4ee3\",\"\u73b0\u4ee3\",\"xi\u00e0nd\u00e0i\"), \"\uff0c\", W(\"\u516c\u5bd3\",\"\u516c\u5bd3\",\"g\u014dngy\u00f9\"), \"\u3001\", W(\"\u5927\u6a13\",\"\u5927\u697c\",\"d\u00e0l\u00f3u\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), \"\uff0c\", W(\"\u99ac\u8def\",\"\u9a6c\u8def\",\"m\u01cel\u00f9\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u5bec\",\"\u5bbd\",\"ku\u0101n\"), \"\uff0c\", W(\"\u6c7d\u8eca\",\"\u6c7d\u8f66\",\"q\u00ecch\u0113\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), \"\u3002\"],\n      en: \"Downtown Taipei is more modern, with more apartments and high-rises, wider streets, and more cars.\" },\n    { speakerT: \"\u6771\u5065\", speakerS: \"\u4e1c\u5065\",\n      tokens: [W(\"\u4e2d\u5357\u90e8\",\"\u4e2d\u5357\u90e8\",\"Zh\u014dngn\u00e1nb\u00f9\"), W(\"\u5462\",\"\u5462\",\"ne\"), \"\uff1f\"],\n      en: \"What about central and southern Taiwan?\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u4e2d\u5357\u90e8\",\"\u4e2d\u5357\u90e8\",\"Zh\u014dngn\u00e1nb\u00f9\"), W(\"\u9664\u4e86\",\"\u9664\u4e86\",\"ch\u00fale\"), W(\"\u65b0\",\"\u65b0\",\"x\u012bn\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5efa\u7bc9\",\"\u5efa\u7b51\",\"ji\u00e0nzh\u00fa\"), \"\uff0c\", W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u770b\u5f97\u898b\",\"\u770b\u5f97\u89c1\",\"k\u00e0ndeji\u00e0n\"), W(\"\u50b3\u7d71\",\"\u4f20\u7edf\",\"chu\u00e1nt\u01d2ng\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u8001\",\"\u8001\",\"l\u01ceo\"), W(\"\u623f\u5b50\",\"\u623f\u5b50\",\"f\u00e1ngzi\"), \"\uff0c\", W(\"\u6c23\u6c1b\",\"\u6c14\u6c1b\",\"q\u00ecf\u0113n\"), W(\"\u8ddf\",\"\u8ddf\",\"g\u0113n\"), W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u9109\u4e0b\",\"\u4e61\u4e0b\",\"xi\u0101ngxi\u00e0\"), W(\"\u5c0f\",\"\u5c0f\",\"xi\u01ceo\"), W(\"\u93ae\",\"\u9547\",\"zh\u00e8n\"), W(\"\u4e0d\u592a\",\"\u4e0d\u592a\",\"b\u00fat\u00e0i\"), W(\"\u4e00\u6a23\",\"\u4e00\u6837\",\"y\u00edy\u00e0ng\"), \"\u3002\"],\n      en: \"Besides new buildings, central and southern Taiwan also has traditional old houses \u2014 the atmosphere is quite different from the small rural towns near Taipei.\" },\n    { speakerT: \"\u6771\u5065\", speakerS: \"\u4e1c\u5065\",\n      tokens: [W(\"\u90a3\",\"\u90a3\",\"N\u00e0\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u559c\u6b61\",\"\u559c\u6b22\",\"x\u01d0hu\u0101n\"), W(\"\u5317\u90e8\",\"\u5317\u90e8\",\"b\u011bib\u00f9\"), W(\"\u9084\u662f\",\"\u8fd8\u662f\",\"h\u00e1ish\u00ec\"), W(\"\u5357\u90e8\",\"\u5357\u90e8\",\"n\u00e1nb\u00f9\"), \"\uff1f\"],\n      en: \"So do you prefer the north or the south?\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u5357\u90e8\",\"\u5357\u90e8\",\"N\u00e1nb\u00f9\"), W(\"\u7684\",\"\u7684\",\"de\"), W(\"\u5929\u6c23\",\"\u5929\u6c14\",\"ti\u0101nq\u00ec\"), W(\"\u6bd4\",\"\u6bd4\",\"b\u01d0\"), W(\"\u5317\u90e8\",\"\u5317\u90e8\",\"b\u011bib\u00f9\"), W(\"\u597d\",\"\u597d\",\"h\u01ceo\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), W(\"\u4e86\",\"\u4e86\",\"le\"), \"\uff0c\", W(\"\u800c\u4e14\",\"\u800c\u4e14\",\"\u00e9rqi\u011b\"), W(\"\u5357\u90e8\",\"\u5357\u90e8\",\"n\u00e1nb\u00f9\"), W(\"\u4eba\",\"\u4eba\",\"r\u00e9n\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u71b1\u60c5\",\"\u70ed\u60c5\",\"r\u00e8q\u00edng\"), \"\u3002\"],\n      en: \"The weather in the south is much better than in the north, and southern people are very warmhearted.\" },\n    { speakerT: \"\u6771\u5065\", speakerS: \"\u4e1c\u5065\",\n      tokens: [W(\"\u90a3\",\"\u90a3\",\"N\u00e0\"), W(\"\u4f60\",\"\u4f60\",\"n\u01d0\"), W(\"\u70ba\u4ec0\u9ebc\",\"\u4e3a\u4ec0\u4e48\",\"w\u00e8ish\u00e9nme\"), W(\"\u9084\u662f\",\"\u8fd8\u662f\",\"h\u00e1ish\u00ec\"), W(\"\u4f4f\",\"\u4f4f\",\"zh\u00f9\"), W(\"\u5728\",\"\u5728\",\"z\u00e0i\"), W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), \"\uff1f\"],\n      en: \"So why do you still live in Taipei?\" },\n    { speakerT: \"\u7f8e\u73b2\", speakerS: \"\u7f8e\u73b2\",\n      tokens: [W(\"\u56e0\u70ba\",\"\u56e0\u4e3a\",\"Y\u012bnw\u00e8i\"), W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), W(\"\u5230\u8655\",\"\u5230\u5904\",\"d\u00e0och\u00f9\"), W(\"\u90fd\",\"\u90fd\",\"d\u014du\"), W(\"\u6709\",\"\u6709\",\"y\u01d2u\"), W(\"\u9910\u5ef3\",\"\u9910\u5385\",\"c\u0101nt\u012bng\"), \"\u3001\", W(\"\u98f2\u6599\",\"\u996e\u6599\",\"y\u01d0nli\u00e0o\"), W(\"\u5e97\",\"\u5e97\",\"di\u00e0n\"), \"\uff0c\", W(\"\u767e\u8ca8\u516c\u53f8\",\"\u767e\u8d27\u516c\u53f8\",\"b\u01ceihu\u00f2 g\u014dngs\u012b\"), W(\"\u4e5f\",\"\u4e5f\",\"y\u011b\"), W(\"\u5f88\",\"\u5f88\",\"h\u011bn\"), W(\"\u591a\",\"\u591a\",\"du\u014d\"), \"\uff0c\", W(\"\u751f\u6d3b\",\"\u751f\u6d3b\",\"sh\u0113nghu\u00f3\"), W(\"\u975e\u5e38\",\"\u975e\u5e38\",\"f\u0113ich\u00e1ng\"), W(\"\u65b9\u4fbf\",\"\u65b9\u4fbf\",\"f\u0101ngbi\u00e0n\"), \"\uff0c\", W(\"\u96d6\u7136\",\"\u867d\u7136\",\"su\u012br\u00e1n\"), W(\"\u74b0\u5883\",\"\u73af\u5883\",\"hu\u00e1nj\u00ecng\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u64e0\",\"\u6324\",\"j\u01d0\"), \"\uff0c\", W(\"\u6211\",\"\u6211\",\"w\u01d2\"), W(\"\u9084\u662f\",\"\u8fd8\u662f\",\"h\u00e1ish\u00ec\"), W(\"\u6bd4\u8f03\",\"\u6bd4\u8f83\",\"b\u01d0ji\u00e0o\"), W(\"\u559c\u6b61\",\"\u559c\u6b22\",\"x\u01d0hu\u0101n\"), W(\"\u53f0\u5317\",\"\u53f0\u5317\",\"T\u00e1ib\u011bi\"), \"\u3002\"],\n      en: \"Because there are restaurants and drink shops everywhere in Taipei, and lots of department stores too \u2014 life is extremely convenient. Even though the environment is more crowded, I still prefer Taipei.\" }\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=\"d29-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=\"d29-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=\"d29-word-card\">' +\n        '<div class=\"d29-word-top\">' +\n          '<span class=\"d29-num\">' + num + '<\/span>' +\n          '<span class=\"d29-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>' +\n          '<span class=\"d29-pos\">' + w.pos + '<\/span>' +\n          '<span class=\"d29-meaning\">' + w.meaning + '<\/span>' +\n          '<button class=\"d29-speaker\" data-trad=\"' + w.t + '\" data-simp=\"' + w.s + '\" aria-label=\"Play pronunciation\">' + SPEAKER_SVG + '<\/button>' +\n        '<\/div>' +\n        '<div class=\"d29-example\">' +\n          renderTokens(w.ex) +\n          '<span class=\"d29-en\">' + w.exEn + '<\/span>' +\n        '<\/div>' +\n      '<\/div>';\n    });\n    container.innerHTML = html;\n  });\n\n  var dialogueEl = root.querySelector('#d29-dialogue');\n  if (dialogueEl) {\n    var dHtml = '';\n    DIALOGUE.forEach(function (line) {\n      dHtml += '<div class=\"d29-line\">' +\n        '<span class=\"d29-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=\"d29-line-body\">' +\n          renderTokens(line.tokens) +\n          '<span class=\"d29-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('#d29-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('.d29-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('d29-py-hidden', isHidden);\n    root.classList.toggle('d29-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('#d29-flashcard');\n  var fcFront = root.querySelector('#d29-fc-front');\n  var fcBack = root.querySelector('#d29-fc-back');\n  var fcProgress = root.querySelector('#d29-fc-progress');\n  var fcPrevBtn = root.querySelector('#d29-fc-prev');\n  var fcNextBtn = root.querySelector('#d29-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=\"d29-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>';\n    fcBack.innerHTML = '<span class=\"d29-meaning\">' + w.meaning + '<\/span><span class=\"d29-pos\">' + w.pos + '<\/span>';\n    if (fcProgress) fcProgress.textContent = (fcIndex + 1) + ' \/ ' + ALL_WORDS.length;\n    if (fcCard) fcCard.classList.remove('d29-flipped');\n    fcFlipped = false;\n    syncPinyin();\n  }\n\n  if (fcCard) {\n    fcCard.addEventListener('click', function () {\n      fcFlipped = !fcFlipped;\n      fcCard.classList.toggle('d29-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('#d29-game-col-zh');\n  var gameColEn = root.querySelector('#d29-game-col-en');\n  var gameStatus = root.querySelector('#d29-game-status');\n  var gameWin = root.querySelector('#d29-game-win');\n  var gameNewBtn = root.querySelector('#d29-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('d29-show');\n\n    var zhOrder = shuffle(gameRound);\n    var enOrder = shuffle(gameRound);\n\n    gameColZh.innerHTML = zhOrder.map(function (w) {\n      return '<button class=\"d29-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=\"d29-tile-py\">' + (w.pt || w.p) + '<\/span>' +\n      '<\/button>';\n    }).join('');\n\n    gameColEn.innerHTML = enOrder.map(function (w) {\n      return '<button class=\"d29-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('d29-matched')) return;\n    var side = tile.getAttribute('data-side');\n\n    if (side === 'zh') {\n      if (gameSelectedZh) gameSelectedZh.classList.remove('d29-selected');\n      gameSelectedZh = tile;\n      tile.classList.add('d29-selected');\n    } else {\n      if (gameSelectedEn) gameSelectedEn.classList.remove('d29-selected');\n      gameSelectedEn = tile;\n      tile.classList.add('d29-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('d29-selected');\n          gameSelectedEn.classList.remove('d29-selected');\n          gameSelectedZh.classList.add('d29-matched');\n          gameSelectedEn.classList.add('d29-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('d29-show');\n            }\n          }\n        } else {\n          gameBusy = true;\n          var z = gameSelectedZh, en = gameSelectedEn;\n          z.classList.add('d29-wrong');\n          en.classList.add('d29-wrong');\n          setTimeout(function () {\n            z.classList.remove('d29-selected', 'd29-wrong');\n            en.classList.remove('d29-selected', 'd29-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('.d29-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\\\">\u7279\u8272<\/span><span class=\\\"lang-zh-CN\\\">\u7279\u8272<\/span> means...\", options: [\"unique features, distinctive traits\", \"color\", \"atmosphere\", \"taste, flavor\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u5edf<\/span><span class=\\\"lang-zh-CN\\\">\u5e99<\/span>.\", accept: [\"miao\"] },\n    { type: 'mc', prompt: \"Which word means \\\"to dive\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u6f5b\u6c34<\/span><span class=\\\"lang-zh-CN\\\">\u6f5c\u6c34<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u6f6e\u6fd5<\/span><span class=\\\"lang-zh-CN\\\">\u6f6e\u6e7f<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u6e38\u6cf3<\/span><span class=\\\"lang-zh-CN\\\">\u6e38\u6cf3<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u6d17\u6fa1<\/span><span class=\\\"lang-zh-CN\\\">\u6d17\u6fa1<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u5473\u9053<\/span><span class=\\\"lang-zh-CN\\\">\u5473\u9053<\/span>.\", accept: [\"taste\", \"flavor\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u5fd8\u4e0d\u4e86<\/span><span class=\\\"lang-zh-CN\\\">\u5fd8\u4e0d\u4e86<\/span> means...\", options: [\"unforgettable\", \"extremely\", \"compared to\", \"enough\"], answer: 0 },\n    { type: 'mc', prompt: \"Which word means \\\"modern\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u73fe\u4ee3<\/span><span class=\\\"lang-zh-CN\\\">\u73b0\u4ee3<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u50b3\u7d71<\/span><span class=\\\"lang-zh-CN\\\">\u4f20\u7edf<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u4e0d\u540c<\/span><span class=\\\"lang-zh-CN\\\">\u4e0d\u540c<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u5efa\u7bc9<\/span><span class=\\\"lang-zh-CN\\\">\u5efa\u7b51<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u5bec<\/span><span class=\\\"lang-zh-CN\\\">\u5bbd<\/span>.\", accept: [\"kuan\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u71b1\u60c5<\/span><span class=\\\"lang-zh-CN\\\">\u70ed\u60c5<\/span> means...\", options: [\"hospitable, warmhearted\", \"crowded\", \"different\", \"old\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u64e0<\/span><span class=\\\"lang-zh-CN\\\">\u6324<\/span>.\", accept: [\"crowded\"] },\n    { type: 'mc', prompt: \"Which phrase means \\\"afford, affordable\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u8cb7\u5f97\u8d77<\/span><span class=\\\"lang-zh-CN\\\">\u4e70\u5f97\u8d77<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u6bd4\u8d77\u4f86<\/span><span class=\\\"lang-zh-CN\\\">\u6bd4\u8d77\u6765<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u4e2d\u5357\u90e8<\/span><span class=\\\"lang-zh-CN\\\">\u4e2d\u5357\u90e8<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u767e\u8ca8\u516c\u53f8<\/span><span class=\\\"lang-zh-CN\\\">\u767e\u8d27\u516c\u53f8<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the pinyin for <span class=\\\"lang-zh-TW\\\">\u6c23\u6c1b<\/span><span class=\\\"lang-zh-CN\\\">\u6c14\u6c1b<\/span>.\", accept: [\"qifen\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u8d8a\u4f86\u8d8a<\/span><span class=\\\"lang-zh-CN\\\">\u8d8a\u6765\u8d8a<\/span> means...\", options: [\"more and more, increasingly\", \"completely\", \"compared to\", \"extremely\"], answer: 0 },\n    { type: 'mc', prompt: \"Which word means \\\"building\\\"?\", options: [\"<span class=\\\"lang-zh-TW\\\">\u5efa\u7bc9<\/span><span class=\\\"lang-zh-CN\\\">\u5efa\u7b51<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u516c\u5bd3<\/span><span class=\\\"lang-zh-CN\\\">\u516c\u5bd3<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u99ac\u8def<\/span><span class=\\\"lang-zh-CN\\\">\u9a6c\u8def<\/span>\", \"<span class=\\\"lang-zh-TW\\\">\u5c64<\/span><span class=\\\"lang-zh-CN\\\">\u5c42<\/span>\"], answer: 0 },\n    { type: 'type', prompt: \"Type the English word for <span class=\\\"lang-zh-TW\\\">\u9109\u4e0b<\/span><span class=\\\"lang-zh-CN\\\">\u4e61\u4e0b<\/span>.\", accept: [\"countryside\"] },\n    { type: 'mc', prompt: \"<span class=\\\"lang-zh-TW\\\">\u4e0d\u540c<\/span><span class=\\\"lang-zh-CN\\\">\u4e0d\u540c<\/span> means...\", options: [\"different\", \"modern\", \"wide\", \"old\"], 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('#d29-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=\"d29-quiz-progress\">Question ' + (current + 1) + ' of ' + QUIZ_DATA.length + '<\/p>';\n      html += '<p class=\"d29-quiz-prompt\">' + q.prompt + '<\/p>';\n      if (q.type === 'mc') {\n        html += '<div class=\"d29-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=\"d29-quiz-opt\" data-i=\"' + i + '\">' + q.options[i] + '<\/button>';\n        }\n        html += '<\/div>';\n      } else {\n        html += '<div class=\"d29-quiz-input-row\">';\n        html += '<input type=\"text\" class=\"d29-quiz-input\" placeholder=\"Type your answer\">';\n        html += '<button type=\"button\" class=\"d29-quiz-submit\">Submit<\/button>';\n        html += '<\/div>';\n      }\n      html += '<p class=\"d29-quiz-feedback\"><\/p>';\n      html += '<button type=\"button\" class=\"d29-quiz-next\" style=\"display:none;\">Next<\/button>';\n      qRoot.innerHTML = html;\n\n      if (q.type === 'mc') {\n        var opts = qRoot.querySelectorAll('.d29-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('.d29-quiz-input');\n        var submitBtn = qRoot.querySelector('.d29-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('.d29-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 = 'd29-quiz-feedback ' + (correct ? 'correct' : 'incorrect');\n        var nextBtn = qRoot.querySelector('.d29-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=\"d29-quiz-score\">' +\n        '<span class=\"d29-quiz-score-num\">' + score + ' \/ ' + QUIZ_DATA.length + '<\/span>' +\n        '<p>Nice work! Want to try again?<\/p>' +\n        '<button type=\"button\" class=\"d29-quiz-retake\">Retake Quiz<\/button>' +\n        '<\/div>';\n      qRoot.querySelector('.d29-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('.d29-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('.d29-lede .lang-zh-CN');\n    var refTW = root.querySelector('.d29-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('.d29-quiz, .d29-game-board, .d29-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 9\u300c\u90a3\u500b\u57ce\u5e02\u597d\u6f02\u4eae\u90a3\u4e2a\u57ce\u5e02\u597d\u6f02\u4eae\u300dThat City Is Really Beautiful \u2014 every word from \u751f\u8a5e\u4e00 and \u751f\u8a5e\u4e8c (Vocabulary I&#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-13468","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 L9 Vocabulary and Practice - OneDotDot Chinese<\/title>\n<meta name=\"description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e5d\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 9\" \/>\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\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"B2 L9 Vocabulary and Practice - OneDotDot Chinese\" \/>\n<meta property=\"og:description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e5d\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 9\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tiffanysmandarin.com\/index.php\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/\" \/>\n<meta property=\"og:site_name\" content=\"OneDotDot Chinese\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-31T13:12:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-09T15:01:58+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\\\/2026\\\/01\\\/31\\\/contemporary-chinese-vocabulary-practice-b2l9\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/01\\\/31\\\/contemporary-chinese-vocabulary-practice-b2l9\\\/\"},\"author\":{\"name\":\"tiffany\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"headline\":\"B2 L9 Vocabulary and Practice\",\"datePublished\":\"2026-01-31T13:12:18+00:00\",\"dateModified\":\"2026-10-09T15:01:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/01\\\/31\\\/contemporary-chinese-vocabulary-practice-b2l9\\\/\"},\"wordCount\":231,\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/01\\\/31\\\/contemporary-chinese-vocabulary-practice-b2l9\\\/#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\\\/2026\\\/01\\\/31\\\/contemporary-chinese-vocabulary-practice-b2l9\\\/\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/01\\\/31\\\/contemporary-chinese-vocabulary-practice-b2l9\\\/\",\"name\":\"B2 L9 Vocabulary and Practice - OneDotDot Chinese\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/01\\\/31\\\/contemporary-chinese-vocabulary-practice-b2l9\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/01\\\/31\\\/contemporary-chinese-vocabulary-practice-b2l9\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/\u7576\u4ee3\u4e2d\u65872.jpg\",\"datePublished\":\"2026-01-31T13:12:18+00:00\",\"dateModified\":\"2026-10-09T15:01:58+00:00\",\"description\":\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e5d\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 9\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/01\\\/31\\\/contemporary-chinese-vocabulary-practice-b2l9\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/01\\\/31\\\/contemporary-chinese-vocabulary-practice-b2l9\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/01\\\/31\\\/contemporary-chinese-vocabulary-practice-b2l9\\\/#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\\\/2026\\\/01\\\/31\\\/contemporary-chinese-vocabulary-practice-b2l9\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"B2 L9 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 L9 Vocabulary and Practice - OneDotDot Chinese","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e5d\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 9","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\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/","og_locale":"en_US","og_type":"article","og_title":"B2 L9 Vocabulary and Practice - OneDotDot Chinese","og_description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e5d\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 9","og_url":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/","og_site_name":"OneDotDot Chinese","article_published_time":"2026-01-31T13:12:18+00:00","article_modified_time":"2026-10-09T15:01:58+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\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/#article","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/"},"author":{"name":"tiffany","@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"headline":"B2 L9 Vocabulary and Practice","datePublished":"2026-01-31T13:12:18+00:00","dateModified":"2026-10-09T15:01:58+00:00","mainEntityOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/"},"wordCount":231,"publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/#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\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/","url":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/","name":"B2 L9 Vocabulary and Practice - OneDotDot Chinese","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/#primaryimage"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/11\/\u7576\u4ee3\u4e2d\u65872.jpg","datePublished":"2026-01-31T13:12:18+00:00","dateModified":"2026-10-09T15:01:58+00:00","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e8c\u518a\u7b2c\u4e5d\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 2 \u2013 Lesson 9","breadcrumb":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tiffanysmandarin.com\/index.php\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/#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\/2026\/01\/31\/contemporary-chinese-vocabulary-practice-b2l9\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/tiffanysmandarin.com\/"},{"@type":"ListItem","position":2,"name":"B2 L9 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\/13468","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=13468"}],"version-history":[{"count":3,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/13468\/revisions"}],"predecessor-version":[{"id":18114,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/13468\/revisions\/18114"}],"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=13468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/categories?post=13468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/tags?post=13468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}