{"id":16871,"date":"2026-09-12T13:13:04","date_gmt":"2026-09-12T05:13:04","guid":{"rendered":"https:\/\/tiffanysmandarin.com\/?p=16871"},"modified":"2026-09-12T13:13:31","modified_gmt":"2026-09-12T05:13:31","slug":"book-2-l2","status":"publish","type":"post","link":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/","title":{"rendered":"\u8996\u807d\u83ef\u8a9e Book 2 Lesson 2"},"content":{"rendered":"\n<div style=\"height:3px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<!--\n  \u65b0\u7248\u5be6\u7528\u8996\u807d\u83ef\u8a9e (Practical Audio-Visual Chinese, 2nd Ed.) Book 2 \u00b7 Lesson 2\u300c\u5230\u90a3\u5152\u53bb\u600e\u9ebc\u8d70\uff1f\u300dHow Do You Get There? \u2014 Vocabulary Embed\n  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  Same technical pattern as the rest of this series (see Book 2 Lesson 1\n  and the Book 1 files for fuller rationale). Key points repeated here:\n    - No <!DOCTYPE>\/<html>\/<head>\/<body>; site's own Text Display \/ Pinyin\n      Display toggle covers zh-TW\/zh-CN as usual\n    - CSS scoped under .pavc-b2l2-vocab-embed with its own --pv2l2-* vars \u2014\n      same palette as the rest of the series\n    - Ruby: every example\/dialogue sentence segmented WORD BY WORD\n    - Root lookup by id (#pavc-b2l2-vocab-embed-1), not currentScript\n    - Same self-contained EN \/ \u65e5\u672c\u8a9e \/ \ud55c\uad6d\uc5b4 translation toggle as the\n      rest of the series (TR()\/trSpans()\/pv2l2-lang-* classes; quiz's\n      QMC()\/QTYPE() + UI_STRINGS + getLang())\n    - COPYRIGHT: no audio, no textbook dialogue text, no textbook example\n      sentences reproduced. Section 06 (\"Put It Together\") is an ORIGINAL\n      dialogue I wrote myself \u2014 not the textbook's.\n    - Vocabulary sourced directly from the uploaded textbook PDF's own\n      \u751f\u8a5e (Vocabulary) list for this lesson (PDF pages 45-50, book pages\n      33-38): 21 main numbered entries + 8 \"SUPPLEMENTARY VOCABULARY\"\n      entries (#22-29: \u5357\/\u6d77\/\u9ad8\/\u6cb3\/\u689d\/\u5de6\/\u8857\/\u5427) + 10 official sub-words\n      with their own POS + gloss exactly as the textbook lists them\n      (\u76f4 under \u4e00\u76f4; \u8def\u53e3 under \u5341\u5b57\u8def\u53e3; \u5e6b\u5fd9 under \u5e6b; \u57ce\/\u5e02 under\n      \u57ce\u5e02; \u897f\/\u90e8 under \u897f\u90e8; \u6771 under \u6771\u90e8; \u5317 under \u81fa\u5317; \u5ba2\u6c23 under\n      \u4e0d\u5ba2\u6c23). Final count: 39 words across 29 numbered official entries.\n    - All example sentences newly written for this embed, using only this\n      lesson's own vocabulary plus generic, already-familiar basic words\n      (numbers, pronouns, common review verbs) \u2014 nothing from later\n      lessons.\n    - Traditional\/simplified pairs checked individually, both within\n      headwords AND within every supporting word used in an example or\n      the dialogue. Headword genuine trad\/simp differences: \u90f5\u5c40\/\u90ae\u5c40,\n      \u8f49\/\u8f6c, \u7d93\u904e\/\u7ecf\u8fc7, \u767e\u8ca8\u516c\u53f8\/\u767e\u8d27\u516c\u53f8, \u5e6b\/\u5e2e, \u5e6b\u5fd9\/\u5e2e\u5fd9, \u6771\u90e8\/\u4e1c\u90e8,\n      \u6771\/\u4e1c, \u7136\u5f8c\/\u7136\u540e, \u96e2\u958b\/\u79bb\u5f00, \u8d77\u98db\/\u8d77\u98de, \u4e0d\u5ba2\u6c23\/\u4e0d\u5ba2\u6c14, \u5ba2\u6c23\/\u5ba2\u6c14,\n      \u689d\/\u6761. Non-headword grammar words that also differ across scripts\n      and needed WD() wherever used in examples\/dialogue: \u8acb\u554f\/\u8bf7\u95ee,\n      \u9019\/\u8fd9, \u55ce\/\u5417, \u5c0d\/\u5bf9, \u6703\/\u4f1a, \u9060\/\u8fdc, \u5206\u9418\/\u5206\u949f, \u554f\/\u95ee(\u554f\u554f\/\u95ee\u95ee),\n      \u8cb7\/\u4e70, \u898b\/\u89c1(\u518d\u898b\/\u518d\u89c1).\n    - No literal `&&` inside the <script> tag (WordPress content filter risk)\n    - Top-of-page support note, same as the rest of the series\n-->\n<div class=\"pavc-b2l2-vocab-embed\" id=\"pavc-b2l2-vocab-embed-1\">\n<style>\n.pavc-b2l2-vocab-embed {\n  --pv2l2-oxblood: #7b2d26;\n  --pv2l2-oxblood-dark: #5e211c;\n  --pv2l2-mustard: #c9922b;\n  --pv2l2-sage: #7c8b6f;\n  --pv2l2-bone: #f7f1e6;\n  --pv2l2-ink: #2c2620;\n  --pv2l2-line: #e4d9c4;\n  font-family: 'Work Sans', -apple-system, sans-serif;\n  color: var(--pv2l2-ink);\n  background: #fff;\n  max-width: 760px;\n  margin: 0 auto;\n  padding: 8px 4px 24px;\n  line-height: 1.6;\n}\n.pavc-b2l2-vocab-embed * { box-sizing: border-box; }\n.pavc-b2l2-vocab-embed h1,\n.pavc-b2l2-vocab-embed h2,\n.pavc-b2l2-vocab-embed h3 {\n  font-family: 'Bitter', Georgia, serif;\n  color: var(--pv2l2-oxblood-dark);\n  margin: 0 0 8px;\n}\n.pavc-b2l2-vocab-embed .pv2l2-support-note {\n  font-size: 0.85rem;\n  color: var(--pv2l2-sage);\n  border-bottom: 1px solid var(--pv2l2-line);\n  padding-bottom: 12px;\n  margin: 0 0 16px;\n}\n.pavc-b2l2-vocab-embed .pv2l2-lede {\n  margin: 0 0 16px;\n  padding: 14px 16px;\n  background: var(--pv2l2-bone);\n  border-left: 4px solid var(--pv2l2-mustard);\n  border-radius: 4px;\n  font-size: 0.98rem;\n}\n.pavc-b2l2-vocab-embed .pv2l2-lede b { color: var(--pv2l2-oxblood-dark); }\n\n.pavc-b2l2-vocab-embed .pv2l2-lang-toggle {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  margin: 0 0 24px;\n  flex-wrap: wrap;\n}\n.pavc-b2l2-vocab-embed .pv2l2-lang-label {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.75rem;\n  color: var(--pv2l2-sage);\n  letter-spacing: 0.06em;\n}\n.pavc-b2l2-vocab-embed .pv2l2-lang-btn {\n  font-family: 'Work Sans', sans-serif;\n  font-size: 0.85rem;\n  border: 1px solid var(--pv2l2-oxblood);\n  color: var(--pv2l2-oxblood);\n  background: #fff;\n  padding: 5px 14px;\n  border-radius: 20px;\n  cursor: pointer;\n}\n.pavc-b2l2-vocab-embed .pv2l2-lang-btn:hover { background: var(--pv2l2-bone); }\n.pavc-b2l2-vocab-embed .pv2l2-lang-btn.pv2l2-lang-active { background: var(--pv2l2-oxblood); color: #fff; }\n\n.pavc-b2l2-vocab-embed .pv2l2-tr { display: none; }\n.pavc-b2l2-vocab-embed.pv2l2-lang-en .pv2l2-tr-en { display: inline; }\n.pavc-b2l2-vocab-embed.pv2l2-lang-ja .pv2l2-tr-ja { display: inline; }\n.pavc-b2l2-vocab-embed.pv2l2-lang-ko .pv2l2-tr-ko { display: inline; }\n\n.pavc-b2l2-vocab-embed .pv2l2-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(--pv2l2-oxblood);\n  padding: 3px 9px;\n  border-radius: 3px;\n  margin: 32px 0 10px;\n}\n.pavc-b2l2-vocab-embed .pv2l2-word-card {\n  border: 1px solid var(--pv2l2-line);\n  border-radius: 8px;\n  padding: 12px 14px;\n  margin-bottom: 10px;\n  background: #fff;\n}\n.pavc-b2l2-vocab-embed .pv2l2-word-top {\n  display: flex;\n  align-items: baseline;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n.pavc-b2l2-vocab-embed .pv2l2-num {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.75rem;\n  color: var(--pv2l2-mustard);\n  min-width: 22px;\n}\n.pavc-b2l2-vocab-embed .pv2l2-hanzi { font-size: 1.35rem; font-weight: 600; }\n.pavc-b2l2-vocab-embed ruby {\n  ruby-position: over;\n  margin-right: 2px;\n  color: var(--pv2l2-ink) !important;\n  font-size: inherit !important;\n}\n.pavc-b2l2-vocab-embed .rb {\n  color: var(--pv2l2-ink) !important;\n  font-size: inherit !important;\n}\n.pavc-b2l2-vocab-embed rt {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.6rem !important;\n  color: var(--pv2l2-sage) !important;\n  font-weight: 400;\n}\n.pavc-b2l2-vocab-embed rt.hidden { display: none; }\n.pavc-b2l2-vocab-embed rt.mouseover { opacity: 0; }\n.pavc-b2l2-vocab-embed rt.mouseover:hover { opacity: 1; }\n.pavc-b2l2-vocab-embed .pv2l2-meaning { font-style: italic; color: #6b5f52; font-size: 0.92rem; }\n.pavc-b2l2-vocab-embed .pv2l2-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(--pv2l2-bone);\n  color: var(--pv2l2-oxblood);\n  border-radius: 50%;\n  cursor: pointer;\n  margin-left: auto;\n}\n.pavc-b2l2-vocab-embed .pv2l2-speaker:hover { background: var(--pv2l2-mustard); color: #fff; }\n.pavc-b2l2-vocab-embed .pv2l2-example {\n  margin-top: 8px;\n  padding-top: 8px;\n  border-top: 1px dashed var(--pv2l2-line);\n  font-size: 0.95rem;\n}\n.pavc-b2l2-vocab-embed .pv2l2-example .pv2l2-sent-word { display: inline-flex; }\n.pavc-b2l2-vocab-embed .pv2l2-example .pv2l2-punct { margin-right: 2px; }\n.pavc-b2l2-vocab-embed .pv2l2-example .pv2l2-en {\n  display: block;\n  color: #6b5f52;\n  font-size: 0.85rem;\n  margin-top: 4px;\n}\n.pavc-b2l2-vocab-embed .pv2l2-dialogue-note { font-size: 0.85rem; color: #6b5f52; margin: 0 0 10px; }\n.pavc-b2l2-vocab-embed .pv2l2-dialogue {\n  background: var(--pv2l2-bone);\n  border-radius: 8px;\n  padding: 16px 18px;\n  margin-top: 8px;\n}\n.pavc-b2l2-vocab-embed .pv2l2-line {\n  display: flex;\n  gap: 8px;\n  margin-bottom: 12px;\n  align-items: flex-start;\n  flex-wrap: wrap;\n}\n.pavc-b2l2-vocab-embed .pv2l2-speaker-tag {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.72rem;\n  color: var(--pv2l2-oxblood);\n  min-width: 46px;\n  padding-top: 3px;\n}\n.pavc-b2l2-vocab-embed .pv2l2-line-body { flex: 1; min-width: 200px; }\n.pavc-b2l2-vocab-embed .pv2l2-line-en { display: block; color: #6b5f52; font-size: 0.82rem; margin-top: 2px; }\n\n.pavc-b2l2-vocab-embed .pv2l2-fc-hint { font-size: 0.85rem; color: #6b5f52; margin: 0 0 12px; text-align: center; }\n.pavc-b2l2-vocab-embed .pv2l2-flashcard-wrap { max-width: 320px; margin: 0 auto 14px; perspective: 1200px; }\n.pavc-b2l2-vocab-embed .pv2l2-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.pavc-b2l2-vocab-embed .pv2l2-flashcard.pv2l2-flipped { transform: rotateY(180deg); }\n.pavc-b2l2-vocab-embed .pv2l2-fc-face {\n  position: absolute;\n  inset: 0;\n  backface-visibility: hidden;\n  border: 1px solid var(--pv2l2-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.pavc-b2l2-vocab-embed .pv2l2-fc-back { transform: rotateY(180deg); background: var(--pv2l2-bone); }\n.pavc-b2l2-vocab-embed .pv2l2-fc-front .pv2l2-hanzi { font-size: 4rem !important; }\n.pavc-b2l2-vocab-embed .pv2l2-flashcard-wrap rt { font-size: 1.2rem !important; }\n.pavc-b2l2-vocab-embed .pv2l2-fc-back .pv2l2-meaning { font-style: italic; color: var(--pv2l2-oxblood-dark); font-size: 1.5rem; }\n.pavc-b2l2-vocab-embed .pv2l2-flashcard-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 28px; }\n.pavc-b2l2-vocab-embed .pv2l2-game-btn {\n  font-family: 'Work Sans', sans-serif;\n  font-size: 0.85rem;\n  border: 1px solid var(--pv2l2-oxblood);\n  color: var(--pv2l2-oxblood);\n  background: #fff;\n  padding: 6px 14px;\n  border-radius: 20px;\n  cursor: pointer;\n}\n.pavc-b2l2-vocab-embed .pv2l2-game-btn:hover { background: var(--pv2l2-oxblood); color: #fff; }\n.pavc-b2l2-vocab-embed .pv2l2-game-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }\n.pavc-b2l2-vocab-embed .pv2l2-game-status { font-family: 'IBM Plex Mono', monospace; font-size: 0.82rem; color: var(--pv2l2-sage); }\n.pavc-b2l2-vocab-embed .pv2l2-game-board { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }\n.pavc-b2l2-vocab-embed .pv2l2-game-col { display: flex; flex-direction: column; gap: 8px; }\n.pavc-b2l2-vocab-embed .pv2l2-tile {\n  font-family: 'Work Sans', sans-serif;\n  text-align: left;\n  border: 1px solid var(--pv2l2-line);\n  background: #fff;\n  border-radius: 6px;\n  padding: 10px 12px;\n  cursor: pointer;\n  font-size: 0.95rem;\n  color: var(--pv2l2-ink);\n  transition: background 0.15s, border-color 0.15s, transform 0.1s;\n}\n.pavc-b2l2-vocab-embed .pv2l2-tile .pv2l2-tile-py {\n  display: block;\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: var(--pv2l2-sage);\n  margin-top: 2px;\n}\n.pavc-b2l2-vocab-embed .pv2l2-tile:hover:not(.pv2l2-matched):not(.pv2l2-selected) { border-color: var(--pv2l2-mustard); }\n.pavc-b2l2-vocab-embed .pv2l2-tile.pv2l2-selected { border-color: var(--pv2l2-oxblood); background: var(--pv2l2-bone); }\n.pavc-b2l2-vocab-embed .pv2l2-tile.pv2l2-matched { border-color: var(--pv2l2-sage); background: #eef2e9; color: var(--pv2l2-sage); cursor: default; }\n.pavc-b2l2-vocab-embed .pv2l2-tile.pv2l2-wrong { border-color: #b5453d; background: #fbeceb; animation: pv2l2-shake 0.3s; }\n@keyframes pv2l2-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }\n.pavc-b2l2-vocab-embed .pv2l2-game-win { text-align: center; padding: 14px; font-family: 'Bitter', serif; color: var(--pv2l2-oxblood-dark); display: none; }\n.pavc-b2l2-vocab-embed .pv2l2-game-win.pv2l2-show { display: block; }\n@media (max-width: 480px) { .pavc-b2l2-vocab-embed .pv2l2-game-board { grid-template-columns: 1fr; } }\n.pavc-b2l2-vocab-embed .pv2l2-quiz { background: #fff; border: 1px solid var(--pv2l2-line); border-radius: 12px; padding: 20px 22px; margin-top: 8px; }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-progress { font-size: 0.82rem; color: var(--pv2l2-sage); margin: 0 0 10px; font-family: 'IBM Plex Mono', monospace; }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-prompt { font-size: 1.1rem; margin: 0 0 14px; }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-options { display: flex; flex-direction: column; gap: 8px; margin: 0 0 10px; }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-opt { text-align: left; border: 1px solid var(--pv2l2-line); background: var(--pv2l2-bone); border-radius: 8px; padding: 10px 14px; cursor: pointer; font-size: 0.98rem; color: var(--pv2l2-ink); }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-opt:hover { background: #f0e6d2; }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-opt.correct { background: #e3efdd; border-color: #7fae6d; color: #3d5c34; }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-opt.incorrect { background: #f5e0dc; border-color: var(--pv2l2-oxblood); color: var(--pv2l2-oxblood-dark); }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-opt[disabled] { cursor: default; }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-input-row { display: flex; gap: 8px; margin: 0 0 10px; flex-wrap: wrap; }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-input { flex: 1 1 200px; border: 1px solid var(--pv2l2-line); border-radius: 8px; padding: 9px 12px; font-size: 0.98rem; }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-submit, .pavc-b2l2-vocab-embed .pv2l2-quiz-next, .pavc-b2l2-vocab-embed .pv2l2-quiz-retake { border: none; background: var(--pv2l2-oxblood); color: #fff; border-radius: 20px; padding: 8px 18px; font-size: 0.9rem; cursor: pointer; }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-submit:hover, .pavc-b2l2-vocab-embed .pv2l2-quiz-next:hover, .pavc-b2l2-vocab-embed .pv2l2-quiz-retake:hover { background: var(--pv2l2-oxblood-dark); }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-feedback { font-size: 0.95rem; margin: 0 0 10px; min-height: 1.4em; }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-feedback.correct { color: #3d5c34; }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-feedback.incorrect { color: var(--pv2l2-oxblood-dark); }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-score { text-align: center; }\n.pavc-b2l2-vocab-embed .pv2l2-quiz-score .pv2l2-quiz-score-num { font-size: 2.2rem; font-weight: 700; color: var(--pv2l2-oxblood-dark); display: block; margin-bottom: 8px; font-family: 'Bitter', serif; }\n<\/style>\n\n<p class=\"pv2l2-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=\"pv2l2-lede\">\n<b><span class=\"lang-zh-TW\">\u65b0\u7248\u5be6\u7528\u8996\u807d\u83ef\u8a9e<\/span><span class=\"lang-zh-CN\">\u65b0\u7248\u5b9e\u7528\u89c6\u542c\u534e\u8bed<\/span> Book 2 \u00b7 Lesson 2\u300c\u5230\u90a3\u5152\u53bb\u600e\u9ebc\u8d70\uff1f\u300dHow Do You Get There?<\/b> \u2014 this lesson&#8217;s vocabulary with pinyin, meaning, and an example sentence for every word, segmented word by word so you can see how each piece works on its own. 39 words across five groups, covering directions, intersections &#038; landmarks, regions &#038; places, sequencing words, and help &#038; politeness.\n<\/p>\n\n<div class=\"pv2l2-lang-toggle\">\n  <span class=\"pv2l2-lang-label\">TRANSLATION<\/span>\n  <button type=\"button\" class=\"pv2l2-lang-btn pv2l2-lang-active\" data-lang=\"en\">EN<\/button>\n  <button type=\"button\" class=\"pv2l2-lang-btn\" data-lang=\"ja\">\u65e5\u672c\u8a9e<\/button>\n  <button type=\"button\" class=\"pv2l2-lang-btn\" data-lang=\"ko\">\ud55c\uad6d\uc5b4<\/button>\n<\/div>\n\n<div class=\"pv2l2-sec-eyebrow\">01 \u2014 ASKING &amp; GIVING DIRECTIONS<\/div>\n<div id=\"pv2l2-word-list-1\"><\/div>\n\n<div class=\"pv2l2-sec-eyebrow\">02 \u2014 INTERSECTIONS &amp; LANDMARKS<\/div>\n<div id=\"pv2l2-word-list-2\"><\/div>\n\n<div class=\"pv2l2-sec-eyebrow\">03 \u2014 REGIONS &amp; PLACES<\/div>\n<div id=\"pv2l2-word-list-3\"><\/div>\n\n<div class=\"pv2l2-sec-eyebrow\">04 \u2014 SEQUENCE &amp; CONDITIONS<\/div>\n<div id=\"pv2l2-word-list-4\"><\/div>\n\n<div class=\"pv2l2-sec-eyebrow\">05 \u2014 HELP &amp; POLITENESS<\/div>\n<div id=\"pv2l2-word-list-5\"><\/div>\n\n<div class=\"pv2l2-sec-eyebrow\">06 \u2014 PUT IT TOGETHER<\/div>\n<p class=\"pv2l2-dialogue-note\"><em>Note: this dialogue is not from the textbook \u2014 it&#8217;s a short conversation I made up using this lesson&#8217;s vocabulary so you can see the words used together. For the actual Lesson 2 dialogue, I&#8217;d recommend picking up a copy of the textbook itself.<\/em><\/p>\n<div class=\"pv2l2-dialogue\" id=\"pv2l2-dialogue\"><\/div>\n\n<div class=\"pv2l2-sec-eyebrow\">07 \u2014 FLASHCARDS<\/div>\n<p class=\"pv2l2-fc-hint\">Tap the card to flip it, then use the arrows to move through the deck.<\/p>\n<div class=\"pv2l2-flashcard-wrap\">\n  <div class=\"pv2l2-flashcard\" id=\"pv2l2-flashcard\">\n    <div class=\"pv2l2-fc-face pv2l2-fc-front\" id=\"pv2l2-fc-front\"><\/div>\n    <div class=\"pv2l2-fc-face pv2l2-fc-back\" id=\"pv2l2-fc-back\"><\/div>\n  <\/div>\n<\/div>\n<div class=\"pv2l2-flashcard-controls\">\n  <button class=\"pv2l2-game-btn\" id=\"pv2l2-fc-prev\">\u2039 Prev<\/button>\n  <span class=\"pv2l2-game-status\" id=\"pv2l2-fc-progress\">1 \/ 39<\/span>\n  <button class=\"pv2l2-game-btn\" id=\"pv2l2-fc-next\">Next \u203a<\/button>\n<\/div>\n\n<div class=\"pv2l2-sec-eyebrow\">08 \u2014 MATCH IT<\/div>\n<p style=\"font-size:0.9rem;color:#6b5f52;margin:0 0 10px;\">Tap a Chinese word, then tap the meaning that matches it (in whichever translation language is selected above). Get all 8 pairs to finish the round.<\/p>\n<div class=\"pv2l2-game-bar\">\n  <button class=\"pv2l2-game-btn\" id=\"pv2l2-game-new\">New Round<\/button>\n  <span class=\"pv2l2-game-status\" id=\"pv2l2-game-status\">0 \/ 8 matched<\/span>\n<\/div>\n<div class=\"pv2l2-game-board\">\n  <div class=\"pv2l2-game-col\" id=\"pv2l2-game-col-zh\"><\/div>\n  <div class=\"pv2l2-game-col\" id=\"pv2l2-game-col-en\"><\/div>\n<\/div>\n<div class=\"pv2l2-game-win\" id=\"pv2l2-game-win\">\ud83c\udf89 All matched! Nice work.<\/div>\n\n<div class=\"pv2l2-sec-eyebrow\">09 \u2014 VOCABULARY QUIZ<\/div>\n<p style=\"font-size:0.9rem;color:#6b5f52;margin:0 0 10px;\">20 questions covering this lesson&#8217;s vocabulary \u2014 a mix of multiple choice and type-the-pinyin. Questions pick up whichever translation language is selected above; switching mid-question applies from the next question onward.<\/p>\n<div class=\"pv2l2-quiz\" id=\"pv2l2-quiz\"><\/div>\n\n<script>\n(function () {\n  var root = document.getElementById('pavc-b2l2-vocab-embed-1');\n  if (!root) return;\n\n  var SPEAKER_SVG = '<svg viewBox=\"0 0 24 24\" width=\"12\" height=\"12\" fill=\"currentColor\" aria-hidden=\"true\">' +\n    '<path d=\"M7 4.5v15l13-7.5z\"><\/path>' +\n    '<\/svg>';\n\n  function W(t, s, p) { return { t: t, s: s, pt: p, ps: p }; }\n  function WD(t, s, pt, ps) { return { t: t, s: s, pt: pt, ps: ps }; }\n  function TR(en, ja, ko) { return { en: en, ja: ja, ko: ko }; }\n\n  var GROUPS = {\n    'pv2l2-word-list-1': [\n      { t: '\u90f5\u5c40', s: '\u90ae\u5c40', p: 'y\u00f3uj\u00fa', meaning: TR('post office', '\u90f5\u4fbf\u5c40', '\uc6b0\uccb4\uad6d'),\n        ex: [WD('\u9019','\u8fd9','Zh\u00e8','zh\u00e8'), W('\u9644\u8fd1','\u9644\u8fd1','f\u00f9j\u00ecn'), W('\u6709','\u6709','y\u01d2u'), WD('\u90f5\u5c40','\u90ae\u5c40','y\u00f3uj\u00fa','y\u00f3uj\u00fa'), WD('\u55ce','\u5417','ma','ma'), '\uff1f'],\n        exEn: TR('Is there a post office nearby?', '\u3053\u306e\u8fd1\u304f\u306b\u90f5\u4fbf\u5c40\u306f\u3042\u308a\u307e\u3059\u304b\u3002', '\uc774 \uadfc\ucc98\uc5d0 \uc6b0\uccb4\uad6d\uc774 \uc788\uc5b4\uc694?') },\n      { t: '\u5f80', s: '\u5f80', p: 'w\u01ceng', meaning: TR('to go toward', '\uff5e\u3078\u5411\u304b\u3046', '~\uc744 \ud5a5\ud574 \uac00\ub2e4'),\n        ex: [W('\u5f80','\u5f80','W\u01ceng'), W('\u524d','\u524d','qi\u00e1n'), W('\u8d70','\u8d70','z\u01d2u'), W('\u5c31','\u5c31','ji\u00f9'), W('\u5230','\u5230','d\u00e0o'), W('\u4e86','\u4e86','le'), '\u3002'],\n        exEn: TR(\"Go forward and you'll arrive.\", '\u524d\u306b\u5411\u304b\u3063\u3066\u6b69\u3051\u3070\u7740\u304d\u307e\u3059\u3002', '\uc55e\uc73c\ub85c \uac00\uba74 \ub3c4\ucc29\ud574\uc694.') },\n      { t: '\u4e00\u76f4', s: '\u4e00\u76f4', p: 'y\u00eczh\u00ed', meaning: TR('straight; constantly, continuously', '\u307e\u3063\u3059\u3050\uff0f\u305a\u3063\u3068', '\uace7\uc7a5\/\uacc4\uc18d'),\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u4e00\u76f4','\u4e00\u76f4','y\u00eczh\u00ed'), W('\u8d70','\u8d70','z\u01d2u'), '\uff0c', W('\u5c31','\u5c31','ji\u00f9'), WD('\u6703','\u4f1a','hu\u00ec','hu\u00ec'), W('\u770b\u5230','\u770b\u5230','k\u00e0nd\u00e0o'), WD('\u90f5\u5c40','\u90ae\u5c40','y\u00f3uj\u00fa','y\u00f3uj\u00fa'), '\u3002'],\n        exEn: TR(\"Go straight and you'll see the post office.\", '\u307e\u3063\u3059\u3050\u6b69\u3051\u3070\u90f5\u4fbf\u5c40\u304c\u898b\u3048\u307e\u3059\u3002', '\uace7\uc7a5 \uac00\uba74 \uc6b0\uccb4\uad6d\uc774 \ubcf4\uc77c \uac70\uc608\uc694.') },\n      { t: '\u76f4', s: '\u76f4', p: 'zh\u00ed', meaning: TR('to be straight \/ continuously', '\u307e\u3063\u3059\u3050\u3060\uff0f\u305a\u3063\u3068', '\uace7\ub2e4\/\uacc4\uc18d'),\n        ex: [WD('\u9019','\u8fd9','Zh\u00e8','zh\u00e8'), W('\u689d','\u6761','ti\u00e1o'), W('\u8def','\u8def','l\u00f9'), W('\u5f88','\u5f88','h\u011bn'), W('\u76f4','\u76f4','zh\u00ed'), '\u3002'],\n        exEn: TR('This road is very straight.', '\u3053\u306e\u9053\u306f\u3068\u3066\u3082\u307e\u3063\u3059\u3050\u3067\u3059\u3002', '\uc774 \uae38\uc740 \ub9e4\uc6b0 \uace7\uc544\uc694.') },\n      { t: '\u53f3', s: '\u53f3', p: 'y\u00f2u', meaning: TR('right', '\u53f3', '\uc624\ub978\ucabd'),\n        ex: [WD('\u90f5\u5c40','\u90ae\u5c40','Y\u00f3uj\u00fa','y\u00f3uj\u00fa'), W('\u5728','\u5728','z\u00e0i'), W('\u53f3','\u53f3','y\u00f2u'), W('\u908a','\u8fb9','bi\u0101n'), '\u3002'],\n        exEn: TR('The post office is on the right.', '\u90f5\u4fbf\u5c40\u306f\u53f3\u5074\u306b\u3042\u308a\u307e\u3059\u3002', '\uc6b0\uccb4\uad6d\uc740 \uc624\ub978\ucabd\uc5d0 \uc788\uc5b4\uc694.') },\n      { t: '\u5de6', s: '\u5de6', p: 'zu\u01d2', meaning: TR('left', '\u5de6', '\uc67c\ucabd'),\n        ex: [WD('\u767e\u8ca8\u516c\u53f8','\u767e\u8d27\u516c\u53f8','B\u01ceihu\u00f2g\u014dngs\u012b','b\u01ceihu\u00f2g\u014dngs\u012b'), W('\u5728','\u5728','z\u00e0i'), W('\u5de6','\u5de6','zu\u01d2'), W('\u908a','\u8fb9','bi\u0101n'), '\u3002'],\n        exEn: TR('The department store is on the left.', '\u30c7\u30d1\u30fc\u30c8\u306f\u5de6\u5074\u306b\u3042\u308a\u307e\u3059\u3002', '\ubc31\ud654\uc810\uc740 \uc67c\ucabd\uc5d0 \uc788\uc5b4\uc694.') },\n      { t: '\u8f49', s: '\u8f6c', p: 'zhu\u01cen', meaning: TR('to turn', '\u66f2\u304c\u308b', '\ub3cc\ub2e4'),\n        ex: [W('\u5230','\u5230','D\u00e0o'), W('\u8def','\u8def','l\u00f9'), W('\u53e3','\u53e3','k\u01d2u'), W('\u5f80','\u5f80','w\u01ceng'), W('\u53f3','\u53f3','y\u00f2u'), WD('\u8f49','\u8f6c','zhu\u01cen','zhu\u01cen'), '\u3002'],\n        exEn: TR('At the intersection, turn right.', '\u4ea4\u5dee\u70b9\u3067\u53f3\u306b\u66f2\u304c\u308a\u307e\u3059\u3002', '\uad50\ucc28\ub85c\uc5d0\uc11c \uc624\ub978\ucabd\uc73c\ub85c \ub3c4\uc138\uc694.') },\n      { t: '\u8857', s: '\u8857', p: 'ji\u0113', meaning: TR('street', '\u901a\u308a', '\uac70\ub9ac'),\n        ex: [WD('\u9019','\u8fd9','Zh\u00e8','zh\u00e8'), W('\u689d','\u6761','ti\u00e1o'), W('\u8857','\u8857','ji\u0113'), W('\u6709','\u6709','y\u01d2u'), W('\u5f88','\u5f88','h\u011bn'), W('\u591a','\u591a','du\u014d'), W('\u5546\u5e97','\u5546\u5e97','sh\u0101ngdi\u00e0n'), '\u3002'],\n        exEn: TR('There are many stores on this street.', '\u3053\u306e\u901a\u308a\u306b\u306f\u305f\u304f\u3055\u3093\u306e\u304a\u5e97\u304c\u3042\u308a\u307e\u3059\u3002', '\uc774 \uac70\ub9ac\uc5d0\ub294 \uc0c1\uc810\uc774 \ub9ce\uc544\uc694.') },\n      { t: '\u689d', s: '\u6761', p: 'ti\u00e1o', meaning: TR('measure word for long narrow things (rivers, roads, fish, etc.)', '\u7d30\u9577\u3044\u3082\u306e\u3092\u6570\u3048\u308b\u91cf\u8a5e', '\uae38\uace0 \uac00\ub294 \uac83\uc744 \uc138\ub294 \uc591\uc0ac'),\n        ex: [W('\u524d\u9762','\u524d\u9762','Qi\u00e1nmi\u00e0n'), W('\u6709','\u6709','y\u01d2u'), W('\u4e00','\u4e00','y\u00ec'), WD('\u689d','\u6761','ti\u00e1o','ti\u00e1o'), W('\u6cb3','\u6cb3','h\u00e9'), '\u3002'],\n        exEn: TR(\"There's a river ahead.\", '\u524d\u306b\u5ddd\u304c\u3042\u308a\u307e\u3059\u3002', '\uc55e\uc5d0 \uac15\uc774 \uc788\uc5b4\uc694.') }\n    ],\n    'pv2l2-word-list-2': [\n      { t: '\u7b2c', s: '\u7b2c', p: 'd\u00ec', meaning: TR('a prefix for ordinal numbers', '\u5e8f\u6570\u306e\u63a5\u982d\u8f9e', '\uc11c\uc218 \uc811\ub450\uc0ac'),\n        ex: [WD('\u9019','\u8fd9','Zh\u00e8','zh\u00e8'), W('\u662f','\u662f','sh\u00ec'), W('\u7b2c','\u7b2c','d\u00ec'), W('\u4e8c','\u4e8c','\u00e8r'), W('\u8ab2','\u8bfe','k\u00e8'), '\u3002'],\n        exEn: TR('This is Lesson Two.', '\u3053\u308c\u306f\u7b2c\u4e8c\u8ab2\u3067\u3059\u3002', '\uc774\uac74 \uc81c2\uacfc\uc608\uc694.') },\n      { t: '\u5341\u5b57\u8def\u53e3', s: '\u5341\u5b57\u8def\u53e3', p: 'sh\u00edz\u00ecl\u00f9k\u01d2u', meaning: TR('intersection', '\u4ea4\u5dee\u70b9', '\uad50\ucc28\ub85c'),\n        ex: [W('\u5230','\u5230','D\u00e0o'), W('\u5341\u5b57\u8def\u53e3','\u5341\u5b57\u8def\u53e3','sh\u00edz\u00ecl\u00f9k\u01d2u'), W('\u5f80','\u5f80','w\u01ceng'), W('\u5de6','\u5de6','zu\u01d2'), WD('\u8f49','\u8f6c','zhu\u01cen','zhu\u01cen'), '\u3002'],\n        exEn: TR('At the intersection turn left.', '\u4ea4\u5dee\u70b9\u3067\u5de6\u306b\u66f2\u304c\u308a\u307e\u3059\u3002', '\uad50\ucc28\ub85c\uc5d0\uc11c \uc67c\ucabd\uc73c\ub85c \ub3c4\uc138\uc694.') },\n      { t: '\u8def\u53e3', s: '\u8def\u53e3', p: 'l\u00f9k\u01d2u', meaning: TR('street entrance', '\u9053\u306e\u5165\u308a\u53e3', '\uae38\ubaa9'),\n        ex: [WD('\u90f5\u5c40','\u90ae\u5c40','Y\u00f3uj\u00fa','y\u00f3uj\u00fa'), W('\u5c31','\u5c31','ji\u00f9'), W('\u5728','\u5728','z\u00e0i'), W('\u8def\u53e3','\u8def\u53e3','l\u00f9k\u01d2u'), '\u3002'],\n        exEn: TR('The post office is right at the street entrance.', '\u90f5\u4fbf\u5c40\u306f\u307e\u3055\u306b\u9053\u306e\u5165\u308a\u53e3\u306b\u3042\u308a\u307e\u3059\u3002', '\uc6b0\uccb4\uad6d\uc740 \ubc14\ub85c \uae38\ubaa9\uc5d0 \uc788\uc5b4\uc694.') },\n      { t: '\u7d93\u904e', s: '\u7ecf\u8fc7', p: 'j\u012bnggu\u00f2', meaning: TR('to pass by, to pass through', '\u901a\u308a\u904e\u304e\u308b', '\uc9c0\ub098\uac00\ub2e4'),\n        ex: [W('\u4f60','\u4f60','N\u01d0'), WD('\u6703','\u4f1a','hu\u00ec','hu\u00ec'), WD('\u7d93\u904e','\u7ecf\u8fc7','j\u012bnggu\u00f2','j\u012bnggu\u00f2'), W('\u4e00','\u4e00','y\u00ec'), W('\u5bb6','\u5bb6','ji\u0101'), WD('\u767e\u8ca8\u516c\u53f8','\u767e\u8d27\u516c\u53f8','b\u01ceihu\u00f2g\u014dngs\u012b','b\u01ceihu\u00f2g\u014dngs\u012b'), '\u3002'],\n        exEn: TR(\"You'll pass by a department store.\", '\u30c7\u30d1\u30fc\u30c8\u3092\u4e00\u8ed2\u901a\u308a\u904e\u304e\u307e\u3059\u3002', '\ubc31\ud654\uc810\uc744 \ud558\ub098 \uc9c0\ub098\uac08 \uac70\uc608\uc694.') },\n      { t: '\u767e\u8ca8\u516c\u53f8', s: '\u767e\u8d27\u516c\u53f8', p: 'b\u01ceihu\u00f2g\u014dngs\u012b', meaning: TR('department store', '\u30c7\u30d1\u30fc\u30c8', '\ubc31\ud654\uc810'),\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u8981','\u8981','y\u00e0o'), W('\u53bb','\u53bb','q\u00f9'), WD('\u767e\u8ca8\u516c\u53f8','\u767e\u8d27\u516c\u53f8','b\u01ceihu\u00f2g\u014dngs\u012b','b\u01ceihu\u00f2g\u014dngs\u012b'), W('\u8cb7','\u4e70','m\u01cei'), W('\u6771\u897f','\u4e1c\u897f','d\u014dngxi'), '\u3002'],\n        exEn: TR('I want to go to the department store to buy things.', '\u30c7\u30d1\u30fc\u30c8\u306b\u8cb7\u3044\u7269\u306b\u884c\u304d\u305f\u3044\u3067\u3059\u3002', '\ubc31\ud654\uc810\uc5d0 \ubb3c\uac74 \uc0ac\ub7ec \uac00\uace0 \uc2f6\uc5b4\uc694.') },\n      { t: '\u57ce\u5e02', s: '\u57ce\u5e02', p: 'ch\u00e9ngsh\u00ec', meaning: TR('city', '\u90fd\u5e02', '\ub3c4\uc2dc'),\n        ex: [W('\u4f60','\u4f60','N\u01d0'), WD('\u559c\u6b61','\u559c\u6b22','x\u01d0huan','x\u01d0huan'), W('\u4f4f','\u4f4f','zh\u00f9'), W('\u5728','\u5728','z\u00e0i'), W('\u5927','\u5927','d\u00e0'), W('\u57ce\u5e02','\u57ce\u5e02','ch\u00e9ngsh\u00ec'), W('\u55ce','\u5417','ma'), '\uff1f'],\n        exEn: TR('Do you like living in a big city?', '\u5927\u90fd\u5e02\u306b\u4f4f\u3080\u306e\u304c\u597d\u304d\u3067\u3059\u304b\u3002', '\ub300\ub3c4\uc2dc\uc5d0 \uc0ac\ub294 \uac78 \uc88b\uc544\ud574\uc694?') },\n      { t: '\u57ce', s: '\u57ce', p: 'ch\u00e9ng', meaning: TR('city, city wall', '\u90fd\u5e02\u3001\u57ce\u58c1', '\ub3c4\uc2dc, \uc131\ubcbd'),\n        ex: [W('\u57ce\u5e02','\u57ce\u5e02','Ch\u00e9ngsh\u00ec'), W('\u7684','\u7684','de'), W('\u57ce','\u57ce','ch\u00e9ng'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u57ce\u5e02','\u57ce\u5e02','ch\u00e9ngsh\u00ec'), W('\u7684','\u7684','de'), W('\u5e02','\u5e02','sh\u00ec'), WD('\u610f\u601d','\u610f\u601d','y\u00ecsi','y\u00ecsi'), W('\u5dee\u4e0d\u591a','\u5dee\u4e0d\u591a','ch\u00e0b\u00f9du\u014d'), '\u3002'],\n        exEn: TR('The \u57ce and \u5e02 in \u57ce\u5e02 have similar meanings.', '\u300c\u57ce\u5e02\u300d\u306e\u300c\u57ce\u300d\u3068\u300c\u5e02\u300d\u306f\u610f\u5473\u304c\u4f3c\u3066\u3044\u307e\u3059\u3002', \"'\u57ce\u5e02'\uc758 '\u57ce'\uc640 '\u5e02'\ub294 \ub73b\uc774 \ube44\uc2b7\ud574\uc694.\") },\n      { t: '\u5e02', s: '\u5e02', p: 'sh\u00ec', meaning: TR('city municipality, market', '\u5e02', '\uc2dc(\ub3c4\uc2dc)'),\n        ex: [WD('\u81fa\u5317','\u53f0\u5317','T\u00e1ib\u011bi','T\u00e1ib\u011bi'), W('\u5e02','\u5e02','sh\u00ec'), W('\u5728','\u5728','z\u00e0i'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u5317','\u5317','b\u011bi'), W('\u90e8','\u90e8','b\u00f9'), '\u3002'],\n        exEn: TR('Taipei City is in the northern part of Taiwan.', '\u53f0\u5317\u5e02\u306f\u53f0\u6e7e\u306e\u5317\u90e8\u306b\u3042\u308a\u307e\u3059\u3002', '\ud0c0\uc774\ubca0\uc774\uc2dc\ub294 \ub300\ub9cc \ubd81\ubd80\uc5d0 \uc788\uc5b4\uc694.') }\n    ],\n    'pv2l2-word-list-3': [\n      { t: '\u897f\u90e8', s: '\u897f\u90e8', p: 'x\u012bb\u00f9', meaning: TR('western part, western area', '\u897f\u90e8', '\uc11c\ubd80'),\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u670b\u53cb','\u670b\u53cb','p\u00e9ngyou'), W('\u4f4f','\u4f4f','zh\u00f9'), W('\u5728','\u5728','z\u00e0i'), W('\u897f\u90e8','\u897f\u90e8','x\u012bb\u00f9'), '\u3002'],\n        exEn: TR('My friend lives in the western part.', '\u79c1\u306e\u53cb\u9054\u306f\u897f\u90e8\u306b\u4f4f\u3093\u3067\u3044\u307e\u3059\u3002', '\uc81c \uce5c\uad6c\ub294 \uc11c\ubd80\uc5d0 \uc0b4\uc544\uc694.') },\n      { t: '\u897f', s: '\u897f', p: 'x\u012b', meaning: TR('west', '\u897f', '\uc11c\ucabd'),\n        ex: [W('\u90a3','\u90a3','N\u00e8i'), W('\u500b','\u4e2a','ge'), W('\u57ce\u5e02','\u57ce\u5e02','ch\u00e9ngsh\u00ec'), W('\u5728','\u5728','z\u00e0i'), W('\u897f','\u897f','x\u012b'), W('\u908a','\u8fb9','bi\u0101n'), '\u3002'],\n        exEn: TR('That city is in the west.', '\u3042\u306e\u90fd\u5e02\u306f\u897f\u5074\u306b\u3042\u308a\u307e\u3059\u3002', '\uc800 \ub3c4\uc2dc\ub294 \uc11c\ucabd\uc5d0 \uc788\uc5b4\uc694.') },\n      { t: '\u90e8', s: '\u90e8', p: 'b\u00f9', meaning: TR('part, area; department', '\u90e8\u5206\u3001\u5730\u57df', '\ubd80\ubd84, \uc9c0\uc5ed'),\n        ex: [WD('\u9019','\u8fd9','Zh\u00e8','zh\u00e8'), W('\u662f','\u662f','sh\u00ec'), W('\u6771','\u4e1c','d\u014dng'), W('\u90e8','\u90e8','b\u00f9'), '\uff0c', W('\u90a3','\u90a3','n\u00e0'), W('\u662f','\u662f','sh\u00ec'), W('\u897f\u90e8','\u897f\u90e8','x\u012bb\u00f9'), '\u3002'],\n        exEn: TR('This is the eastern part, that is the western part.', '\u3053\u3053\u304c\u6771\u90e8\u3067\u3001\u3042\u305d\u3053\u304c\u897f\u90e8\u3067\u3059\u3002', '\uc5ec\uae30\uac00 \ub3d9\ubd80\uace0, \uc800\uae30\uac00 \uc11c\ubd80\uc608\uc694.') },\n      { t: '\u6771\u90e8', s: '\u4e1c\u90e8', p: 'd\u014dngb\u00f9', meaning: TR('eastern part, eastern area', '\u6771\u90e8', '\ub3d9\ubd80'),\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u6253\u7b97','\u6253\u7b97','d\u01cesu\u00e0n'), W('\u53bb','\u53bb','q\u00f9'), WD('\u6771\u90e8','\u4e1c\u90e8','d\u014dngb\u00f9','d\u014dngb\u00f9'), W('\u65c5\u884c','\u65c5\u884c','l\u01dax\u00edng'), '\u3002'],\n        exEn: TR('I plan to travel to the eastern part.', '\u79c1\u306f\u6771\u90e8\u3078\u65c5\u884c\u3059\u308b\u3064\u3082\u308a\u3067\u3059\u3002', '\uc800\ub294 \ub3d9\ubd80\ub85c \uc5ec\ud589 \uac08 \uacc4\ud68d\uc774\uc5d0\uc694.') },\n      { t: '\u6771', s: '\u4e1c', p: 'd\u014dng', meaning: TR('east', '\u6771', '\ub3d9\ucabd'),\n        ex: [WD('\u90f5\u5c40','\u90ae\u5c40','Y\u00f3uj\u00fa','y\u00f3uj\u00fa'), W('\u5728','\u5728','z\u00e0i'), WD('\u6771','\u4e1c','d\u014dng','d\u014dng'), W('\u908a','\u8fb9','bi\u0101n'), '\u3002'],\n        exEn: TR('The post office is on the east side.', '\u90f5\u4fbf\u5c40\u306f\u6771\u5074\u306b\u3042\u308a\u307e\u3059\u3002', '\uc6b0\uccb4\uad6d\uc740 \ub3d9\ucabd\uc5d0 \uc788\uc5b4\uc694.') },\n      { t: '\u81fa\u5317', s: '\u53f0\u5317', p: 'T\u00e1ib\u011bi', meaning: TR('Taipei', '\u53f0\u5317', '\ud0c0\uc774\ubca0\uc774'),\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u5bb6','\u5bb6','ji\u0101'), W('\u5728','\u5728','z\u00e0i'), WD('\u81fa\u5317','\u53f0\u5317','T\u00e1ib\u011bi','T\u00e1ib\u011bi'), '\u3002'],\n        exEn: TR('My home is in Taipei.', '\u79c1\u306e\u5bb6\u306f\u53f0\u5317\u306b\u3042\u308a\u307e\u3059\u3002', '\uc81c \uc9d1\uc740 \ud0c0\uc774\ubca0\uc774\uc5d0 \uc788\uc5b4\uc694.') },\n      { t: '\u5317', s: '\u5317', p: 'b\u011bi', meaning: TR('north', '\u5317', '\ubd81\ucabd'),\n        ex: [W('\u5b78\u6821','\u5b66\u6821','Xu\u00e9xi\u00e0o'), W('\u5728','\u5728','z\u00e0i'), W('\u57ce\u5e02','\u57ce\u5e02','ch\u00e9ngsh\u00ec'), W('\u7684','\u7684','de'), W('\u5317','\u5317','b\u011bi'), W('\u908a','\u8fb9','bi\u0101n'), '\u3002'],\n        exEn: TR('The school is on the north side of the city.', '\u5b66\u6821\u306f\u90fd\u5e02\u306e\u5317\u5074\u306b\u3042\u308a\u307e\u3059\u3002', '\ud559\uad50\ub294 \ub3c4\uc2dc \ubd81\ucabd\uc5d0 \uc788\uc5b4\uc694.') },\n      { t: '\u5357', s: '\u5357', p: 'n\u00e1n', meaning: TR('south', '\u5357', '\ub0a8\ucabd'),\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u670b\u53cb','\u670b\u53cb','p\u00e9ngyou'), W('\u7684','\u7684','de'), W('\u5bb6','\u5bb6','ji\u0101'), W('\u5728','\u5728','z\u00e0i'), W('\u5357','\u5357','n\u00e1n'), W('\u90e8','\u90e8','b\u00f9'), '\u3002'],\n        exEn: TR(\"My friend's home is in the southern part.\", '\u79c1\u306e\u53cb\u9054\u306e\u5bb6\u306f\u5357\u90e8\u306b\u3042\u308a\u307e\u3059\u3002', '\uc81c \uce5c\uad6c \uc9d1\uc740 \ub0a8\ubd80\uc5d0 \uc788\uc5b4\uc694.') },\n      { t: '\u6d77', s: '\u6d77', p: 'h\u01cei', meaning: TR('ocean, sea', '\u6d77', '\ubc14\ub2e4'),\n        ex: [W('\u9019\u500b','\u8fd9\u4e2a','Zh\u00e8ge'), W('\u57ce\u5e02','\u57ce\u5e02','ch\u00e9ngsh\u00ec'), W('\u5728','\u5728','z\u00e0i'), W('\u6d77','\u6d77','h\u01cei'), W('\u908a','\u8fb9','bi\u0101n'), '\u3002'],\n        exEn: TR('This city is by the sea.', '\u3053\u306e\u90fd\u5e02\u306f\u6d77\u306e\u305d\u3070\u306b\u3042\u308a\u307e\u3059\u3002', '\uc774 \ub3c4\uc2dc\ub294 \ubc14\ub2f7\uac00\uc5d0 \uc788\uc5b4\uc694.') },\n      { t: '\u9ad8', s: '\u9ad8', p: 'g\u0101o', meaning: TR('to be tall, to be high', '\u9ad8\u3044', '\ub192\ub2e4'),\n        ex: [W('\u90a3','\u90a3','N\u00e8i'), W('\u5ea7','\u5ea7','zu\u00f2'), W('\u5c71','\u5c71','sh\u0101n'), W('\u5f88','\u5f88','h\u011bn'), W('\u9ad8','\u9ad8','g\u0101o'), '\u3002'],\n        exEn: TR('That mountain is very tall.', '\u3042\u306e\u5c71\u306f\u3068\u3066\u3082\u9ad8\u3044\u3067\u3059\u3002', '\uc800 \uc0b0\uc740 \ub9e4\uc6b0 \ub192\uc544\uc694.') },\n      { t: '\u6cb3', s: '\u6cb3', p: 'h\u00e9', meaning: TR('river', '\u5ddd', '\uac15'),\n        ex: [W('\u57ce\u5e02','\u57ce\u5e02','Ch\u00e9ngsh\u00ec'), W('\u88e1','\u91cc','l\u01d0'), W('\u6709','\u6709','y\u01d2u'), W('\u4e00','\u4e00','y\u00ec'), WD('\u689d','\u6761','ti\u00e1o','ti\u00e1o'), W('\u6cb3','\u6cb3','h\u00e9'), '\u3002'],\n        exEn: TR(\"There's a river in the city.\", '\u90fd\u5e02\u306e\u4e2d\u306b\u5ddd\u304c\u3042\u308a\u307e\u3059\u3002', '\ub3c4\uc2dc \uc548\uc5d0 \uac15\uc774 \uc788\uc5b4\uc694.') }\n    ],\n    'pv2l2-word-list-4': [\n      { t: '\u518d', s: '\u518d', p: 'z\u00e0i', meaning: TR('then', '\u305d\u308c\u304b\u3089', '\uadf8\ub2e4\uc74c\uc5d0'),\n        ex: [W('\u5148','\u5148','Xi\u0101n'), W('\u5f80','\u5f80','w\u01ceng'), W('\u524d','\u524d','qi\u00e1n'), W('\u8d70','\u8d70','z\u01d2u'), '\uff0c', W('\u518d','\u518d','z\u00e0i'), W('\u5f80','\u5f80','w\u01ceng'), W('\u53f3','\u53f3','y\u00f2u'), WD('\u8f49','\u8f6c','zhu\u01cen','zhu\u01cen'), '\u3002'],\n        exEn: TR('First go straight, then turn right.', '\u5148\u306b\u307e\u3063\u3059\u3050\u884c\u3063\u3066\u3001\u305d\u308c\u304b\u3089\u53f3\u306b\u66f2\u304c\u308a\u307e\u3059\u3002', '\uba3c\uc800 \uace7\uc7a5 \uac00\uace0, \uadf8\ub2e4\uc74c\uc5d0 \uc624\ub978\ucabd\uc73c\ub85c \ub3c4\uc138\uc694.') },\n      { t: '\u8981\u662f', s: '\u8981\u662f', p: 'y\u00e0oshi', meaning: TR('if', '\u3082\u3057\uff5e\u306a\u3089\u3070', '\ub9cc\uc57d'),\n        ex: [W('\u8981\u662f','\u8981\u662f','Y\u00e0oshi'), W('\u4f60','\u4f60','n\u01d0'), W('\u4e0d','\u4e0d','b\u00f9'), WD('\u77e5\u9053','\u77e5\u9053','zh\u012bd\u00e0o','zh\u012bd\u00e0o'), W('\u8def','\u8def','l\u00f9'), '\uff0c', W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), WD('\u554f','\u95ee','w\u00e8n','w\u00e8n'), W('\u6211','\u6211','w\u01d2'), '\u3002'],\n        exEn: TR(\"If you don't know the way, you can ask me.\", '\u3082\u3057\u9053\u304c\u308f\u304b\u3089\u306a\u3051\u308c\u3070\u3001\u79c1\u306b\u805e\u3044\u3066\u304f\u3060\u3055\u3044\u3002', '\ub9cc\uc57d \uae38\uc744 \ubaa8\ub974\uba74 \uc800\ud55c\ud14c \ubb3c\uc5b4\ubcf4\uc138\uc694.') },\n      { t: '\u7136\u5f8c', s: '\u7136\u540e', p: 'r\u00e1nh\u00f2u', meaning: TR('afterwards, then', '\u305d\u308c\u304b\u3089', '\uadf8\ub7f0 \ub2e4\uc74c'),\n        ex: [W('\u5148','\u5148','Xi\u0101n'), WD('\u7d93\u904e','\u7ecf\u8fc7','j\u012bnggu\u00f2','j\u012bnggu\u00f2'), WD('\u90f5\u5c40','\u90ae\u5c40','y\u00f3uj\u00fa','y\u00f3uj\u00fa'), '\uff0c', WD('\u7136\u5f8c','\u7136\u540e','r\u00e1nh\u00f2u','r\u00e1nh\u00f2u'), W('\u5f80','\u5f80','w\u01ceng'), W('\u5de6','\u5de6','zu\u01d2'), WD('\u8f49','\u8f6c','zhu\u01cen','zhu\u01cen'), '\u3002'],\n        exEn: TR('First pass the post office, then turn left.', '\u5148\u306b\u90f5\u4fbf\u5c40\u3092\u901a\u308a\u904e\u304e\u3066\u3001\u305d\u308c\u304b\u3089\u5de6\u306b\u66f2\u304c\u308a\u307e\u3059\u3002', '\uba3c\uc800 \uc6b0\uccb4\uad6d\uc744 \uc9c0\ub098\uc11c, \uadf8\ub7f0 \ub2e4\uc74c \uc67c\ucabd\uc73c\ub85c \ub3c4\uc138\uc694.') },\n      { t: '\u5148', s: '\u5148', p: 'xi\u0101n', meaning: TR('first, in advance, before', '\u5148\u306b\u3001\u524d\u3082\u3063\u3066', '\uba3c\uc800'),\n        ex: [W('\u6211\u5011','\u6211\u4eec','W\u01d2men'), W('\u5148','\u5148','xi\u0101n'), W('\u53bb','\u53bb','q\u00f9'), WD('\u767e\u8ca8\u516c\u53f8','\u767e\u8d27\u516c\u53f8','b\u01ceihu\u00f2g\u014dngs\u012b','b\u01ceihu\u00f2g\u014dngs\u012b'), '\uff0c', W('\u518d','\u518d','z\u00e0i'), W('\u53bb','\u53bb','q\u00f9'), WD('\u90f5\u5c40','\u90ae\u5c40','y\u00f3uj\u00fa','y\u00f3uj\u00fa'), '\u3002'],\n        exEn: TR(\"Let's go to the department store first, then the post office.\", '\u5148\u306b\u30c7\u30d1\u30fc\u30c8\u306b\u884c\u3063\u3066\u3001\u305d\u308c\u304b\u3089\u90f5\u4fbf\u5c40\u306b\u884c\u304d\u307e\u3059\u3002', '\uba3c\uc800 \ubc31\ud654\uc810\uc5d0 \uac14\ub2e4\uac00, \uadf8\ub2e4\uc74c \uc6b0\uccb4\uad6d\uc5d0 \uac00\uc694.') },\n      { t: '\u96e2\u958b', s: '\u79bb\u5f00', p: 'l\u00edk\u0101i', meaning: TR('to leave', '\u96e2\u308c\u308b\u3001\u53bb\u308b', '\ub5a0\ub098\ub2e4'),\n        ex: [W('\u4ed6','\u4ed6','T\u0101'), W('\u6253\u7b97','\u6253\u7b97','d\u01cesu\u00e0n'), W('\u4e0b','\u4e0b','xi\u00e0'), W('\u500b','\u4e2a','ge'), W('\u79ae\u62dc','\u793c\u62dc','l\u01d0b\u00e0i'), WD('\u96e2\u958b','\u79bb\u5f00','l\u00edk\u0101i','l\u00edk\u0101i'), WD('\u81fa\u5317','\u53f0\u5317','T\u00e1ib\u011bi','T\u00e1ib\u011bi'), '\u3002'],\n        exEn: TR('He plans to leave Taipei next week.', '\u5f7c\u306f\u6765\u9031\u53f0\u5317\u3092\u96e2\u308c\u308b\u3064\u3082\u308a\u3067\u3059\u3002', '\uadf8\ub294 \ub2e4\uc74c \uc8fc\uc5d0 \ud0c0\uc774\ubca0\uc774\ub97c \ub5a0\ub0a0 \uacc4\ud68d\uc774\uc5d0\uc694.') },\n      { t: '\u8d77\u98db', s: '\u8d77\u98de', p: 'q\u01d0f\u0113i', meaning: TR('to take off', '\u96e2\u9678\u3059\u308b', '\uc774\ub959\ud558\ub2e4'),\n        ex: [W('\u98db\u6a5f','\u98de\u673a','F\u0113ij\u012b'), WD('\u5e7e','\u51e0','j\u01d0','j\u01d0'), W('\u9ede','\u70b9','di\u01cen'), WD('\u8d77\u98db','\u8d77\u98de','q\u01d0f\u0113i','q\u01d0f\u0113i'), '\uff1f'],\n        exEn: TR('What time does the plane take off?', '\u98db\u884c\u6a5f\u306f\u4f55\u6642\u306b\u96e2\u9678\u3057\u307e\u3059\u304b\u3002', '\ube44\ud589\uae30\ub294 \uba87 \uc2dc\uc5d0 \uc774\ub959\ud574\uc694?') }\n    ],\n    'pv2l2-word-list-5': [\n      { t: '\u5e6b', s: '\u5e2e', p: 'b\u0101ng', meaning: TR('to help, to assist', '\u624b\u4f1d\u3046', '\ub3d5\ub2e4'),\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), WD('\u5e6b','\u5e2e','b\u0101ng','b\u0101ng'), W('\u6211','\u6211','w\u01d2'), WD('\u55ce','\u5417','ma','ma'), '\uff1f'],\n        exEn: TR('Can you help me?', '\u624b\u4f1d\u3063\u3066\u3082\u3089\u3048\u307e\u3059\u304b\u3002', '\uc800 \uc880 \ub3c4\uc640\uc904 \uc218 \uc788\uc5b4\uc694?') },\n      { t: '\u5e6b\u5fd9', s: '\u5e2e\u5fd9', p: 'b\u0101ngm\u00e1ng', meaning: TR('to help someone do something', '\u624b\u4f1d\u3046\u3001\u52a9\u3051\u308b', '\ub3c4\uc640\uc8fc\ub2e4'),\n        ex: [W('\u4f60','\u4f60','N\u01d0'), WD('\u80fd','\u80fd','n\u00e9ng','n\u00e9ng'), W('\u4e0d','\u4e0d','b\u00f9'), W('\u80fd','\u80fd','n\u00e9ng'), WD('\u5e6b','\u5e2e','b\u0101ng','b\u0101ng'), W('\u6211','\u6211','w\u01d2'), W('\u4e00','\u4e00','y\u00ed'), W('\u500b','\u4e2a','ge'), W('\u5fd9','\u5fd9','m\u00e1ng'), '\uff1f'],\n        exEn: TR('Could you help me with something?', '\u4f55\u304b\u624b\u4f1d\u3063\u3066\u3082\u3089\u3048\u307e\u3059\u304b\u3002', '\ubb50 \uc880 \ub3c4\uc640\uc904 \uc218 \uc788\uc5b4\uc694?') },\n      { t: '\u4e0d\u5ba2\u6c23', s: '\u4e0d\u5ba2\u6c14', p: 'b\u00fak\u00e8qi', meaning: TR(\"you're welcome\", '\u3069\u3046\u3044\u305f\u3057\u307e\u3057\u3066', '\ucc9c\ub9cc\uc5d0\uc694'),\n        ex: [W('\u8b1d\u8b1d','\u8c22\u8c22','Xi\u00e8xie'), W('\u4f60','\u4f60','n\u01d0'), W('\u7684','\u7684','de'), WD('\u5e6b\u5fd9','\u5e2e\u5fd9','b\u0101ngm\u00e1ng','b\u0101ngm\u00e1ng'), '\u3002', WD('\u4e0d\u5ba2\u6c23','\u4e0d\u5ba2\u6c14','B\u00fak\u00e8qi','b\u00fak\u00e8qi'), '\u3002'],\n        exEn: TR(\"Thanks for your help. You're welcome.\", '\u624b\u4f1d\u3063\u3066\u304f\u308c\u3066\u3042\u308a\u304c\u3068\u3046\u3002\u3069\u3046\u3044\u305f\u3057\u307e\u3057\u3066\u3002', '\ub3c4\uc640\uc918\uc11c \uace0\ub9c8\uc6cc\uc694. \ucc9c\ub9cc\uc5d0\uc694.') },\n      { t: '\u5ba2\u6c23', s: '\u5ba2\u6c14', p: 'k\u00e8qi', meaning: TR('to be polite', '\u793c\u5100\u6b63\u3057\u3044\u3001\u9060\u616e\u3059\u308b', '\uc608\uc758 \ubc14\ub974\ub2e4, \uc0ac\uc591\ud558\ub2e4'),\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u592a','\u592a','t\u00e0i'), WD('\u5ba2\u6c23','\u5ba2\u6c14','k\u00e8qi','k\u00e8qi'), W('\u4e86','\u4e86','le'), '\u3002'],\n        exEn: TR(\"You're too polite.\", '\u3042\u306a\u305f\u306f\u793c\u5100\u6b63\u3057\u3059\u304e\u307e\u3059\u3002', '\ub2f9\uc2e0\uc740 \ub108\ubb34 \uc608\uc758 \ubc14\ub974\ub124\uc694.') },\n      { t: '\u5427', s: '\u5427', p: 'ba', meaning: TR('sentence suffix, indicating a request or suggestion', '\u6587\u672b\u52a9\u8a5e(\u4f9d\u983c\u30fb\u63d0\u6848\u3092\u8868\u3059)', '\ubb38\uc7a5 \ub05d \uc870\uc0ac(\uc694\uccad\u00b7\uc81c\uc548\uc744 \ub098\ud0c0\ub0c4)'),\n        ex: [W('\u6211\u5011','\u6211\u4eec','W\u01d2men'), W('\u4e00\u8d77','\u4e00\u8d77','y\u00ecq\u01d0'), W('\u53bb','\u53bb','q\u00f9'), WD('\u90f5\u5c40','\u90ae\u5c40','y\u00f3uj\u00fa','y\u00f3uj\u00fa'), W('\u5427','\u5427','ba'), '\uff01'],\n        exEn: TR(\"Let's go to the post office together!\", '\u4e00\u7dd2\u306b\u90f5\u4fbf\u5c40\u306b\u884c\u304d\u307e\u3057\u3087\u3046!', '\uc6b0\ub9ac \uac19\uc774 \uc6b0\uccb4\uad6d\uc5d0 \uac00\uc694!') }\n    ]\n  };\n\n  var DIALOGUE = [\n    { speakerT: '\u738b\u5148\u751f', speakerS: '\u738b\u5148\u751f',\n      tokens: [WD('\u8acb','\u8bf7','Q\u01d0ng','q\u01d0ng'), WD('\u554f','\u95ee','w\u00e8n','w\u00e8n'), '\uff0c', WD('\u9019','\u8fd9','zh\u00e8','zh\u00e8'), W('\u9644\u8fd1','\u9644\u8fd1','f\u00f9j\u00ecn'), W('\u6709','\u6709','y\u01d2u'), WD('\u90f5\u5c40','\u90ae\u5c40','y\u00f3uj\u00fa','y\u00f3uj\u00fa'), WD('\u55ce','\u5417','ma','ma'), '\uff1f'],\n      en: TR('Excuse me, is there a post office nearby?', '\u3059\u307f\u307e\u305b\u3093\u3001\u3053\u306e\u8fd1\u304f\u306b\u90f5\u4fbf\u5c40\u306f\u3042\u308a\u307e\u3059\u304b\u3002', '\uc2e4\ub840\ud569\ub2c8\ub2e4, \uc774 \uadfc\ucc98\uc5d0 \uc6b0\uccb4\uad6d\uc774 \uc788\uc5b4\uc694?') },\n    { speakerT: '\u6797\u5c0f\u59d0', speakerS: '\u6797\u5c0f\u59d0',\n      tokens: [W('\u6709','\u6709','Y\u01d2u'), '\uff0c', W('\u4f60','\u4f60','n\u01d0'), W('\u5f80','\u5f80','w\u01ceng'), W('\u524d','\u524d','qi\u00e1n'), W('\u4e00\u76f4','\u4e00\u76f4','y\u00eczh\u00ed'), W('\u8d70','\u8d70','z\u01d2u'), '\uff0c', W('\u5230','\u5230','d\u00e0o'), W('\u5341\u5b57\u8def\u53e3','\u5341\u5b57\u8def\u53e3','sh\u00edz\u00ecl\u00f9k\u01d2u'), W('\u5f80','\u5f80','w\u01ceng'), W('\u53f3','\u53f3','y\u00f2u'), WD('\u8f49','\u8f6c','zhu\u01cen','zhu\u01cen'), W('\u5c31','\u5c31','ji\u00f9'), W('\u5230','\u5230','d\u00e0o'), W('\u4e86','\u4e86','le'), '\u3002'],\n      en: TR('Yes \u2014 go straight ahead, and at the intersection turn right, and you\\u2019ll be there.', '\u306f\u3044\u3001\u524d\u306b\u307e\u3063\u3059\u3050\u884c\u3063\u3066\u3001\u4ea4\u5dee\u70b9\u3067\u53f3\u306b\u66f2\u304c\u308c\u3070\u7740\u304d\u307e\u3059\u3002', '\ub124, \uc55e\uc73c\ub85c \uace7\uc7a5 \uac00\uc11c \uad50\ucc28\ub85c\uc5d0\uc11c \uc624\ub978\ucabd\uc73c\ub85c \ub3cc\uba74 \ub3c4\ucc29\ud574\uc694.') },\n    { speakerT: '\u738b\u5148\u751f', speakerS: '\u738b\u5148\u751f',\n      tokens: [W('\u8981','\u8981','Y\u00e0o'), WD('\u7d93\u904e','\u7ecf\u8fc7','j\u012bnggu\u00f2','j\u012bnggu\u00f2'), WD('\u767e\u8ca8\u516c\u53f8','\u767e\u8d27\u516c\u53f8','b\u01ceihu\u00f2g\u014dngs\u012b','b\u01ceihu\u00f2g\u014dngs\u012b'), WD('\u55ce','\u5417','ma','ma'), '\uff1f'],\n      en: TR('Do I need to pass a department store?', '\u30c7\u30d1\u30fc\u30c8\u3092\u901a\u308a\u904e\u304e\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u304b\u3002', '\ubc31\ud654\uc810\uc744 \uc9c0\ub098\uac00\uc57c \ud574\uc694?') },\n    { speakerT: '\u6797\u5c0f\u59d0', speakerS: '\u6797\u5c0f\u59d0',\n      tokens: [WD('\u5c0d','\u5bf9','Du\u00ec','du\u00ec'), '\uff0c', W('\u4f60','\u4f60','n\u01d0'), WD('\u6703','\u4f1a','hu\u00ec','hu\u00ec'), W('\u5148','\u5148','xi\u0101n'), WD('\u7d93\u904e','\u7ecf\u8fc7','j\u012bnggu\u00f2','j\u012bnggu\u00f2'), W('\u4e00','\u4e00','y\u00ec'), W('\u5bb6','\u5bb6','ji\u0101'), WD('\u767e\u8ca8\u516c\u53f8','\u767e\u8d27\u516c\u53f8','b\u01ceihu\u00f2g\u014dngs\u012b','b\u01ceihu\u00f2g\u014dngs\u012b'), '\uff0c', WD('\u7136\u5f8c','\u7136\u540e','r\u00e1nh\u00f2u','r\u00e1nh\u00f2u'), W('\u5c31','\u5c31','ji\u00f9'), WD('\u6703','\u4f1a','hu\u00ec','hu\u00ec'), W('\u770b\u5230','\u770b\u5230','k\u00e0nd\u00e0o'), WD('\u90f5\u5c40','\u90ae\u5c40','y\u00f3uj\u00fa','y\u00f3uj\u00fa'), '\u3002'],\n      en: TR(\"Right \u2014 you'll pass a department store first, then you'll see the post office.\", '\u306f\u3044\u3001\u5148\u306b\u30c7\u30d1\u30fc\u30c8\u3092\u4e00\u8ed2\u901a\u308a\u904e\u304e\u3066\u3001\u305d\u308c\u304b\u3089\u90f5\u4fbf\u5c40\u304c\u898b\u3048\u307e\u3059\u3002', '\ub9de\uc544\uc694, \uba3c\uc800 \ubc31\ud654\uc810\uc744 \ud558\ub098 \uc9c0\ub098\uc11c, \uadf8\ub2e4\uc74c \uc6b0\uccb4\uad6d\uc774 \ubcf4\uc77c \uac70\uc608\uc694.') },\n    { speakerT: '\u738b\u5148\u751f', speakerS: '\u738b\u5148\u751f',\n      tokens: [W('\u8d70','\u8d70','Z\u01d2u'), W('\u8def','\u8def','l\u00f9'), W('\u8981','\u8981','y\u00e0o'), W('\u591a','\u591a','du\u014d'), W('\u4e45','\u4e45','ji\u01d4'), '\uff1f'],\n      en: TR('How long does it take to walk?', '\u6b69\u3044\u3066\u3069\u306e\u304f\u3089\u3044\u304b\u304b\u308a\u307e\u3059\u304b\u3002', '\uac78\uc5b4\uc11c \uc5bc\ub9c8\ub098 \uac78\ub824\uc694?') },\n    { speakerT: '\u6797\u5c0f\u59d0', speakerS: '\u6797\u5c0f\u59d0',\n      tokens: [W('\u4e0d','\u4e0d','B\u00f9'), W('\u592a','\u592a','t\u00e0i'), WD('\u9060','\u8fdc','yu\u01cen','yu\u01cen'), '\uff0c', W('\u5927\u6982','\u5927\u6982','d\u00e0g\u00e0i'), W('\u5341','\u5341','sh\u00ed'), WD('\u5206\u9418','\u5206\u949f','f\u0113nzh\u014dng','f\u0113nzh\u014dng'), W('\u5c31','\u5c31','ji\u00f9'), W('\u5230','\u5230','d\u00e0o'), W('\u4e86','\u4e86','le'), '\u3002'],\n      en: TR(\"Not too far, about ten minutes and you'll be there.\", '\u3042\u307e\u308a\u9060\u304f\u3042\u308a\u307e\u305b\u3093\u3001\u3060\u3044\u305f\u304410\u5206\u3067\u7740\u304d\u307e\u3059\u3002', '\uadf8\ub2e4\uc9c0 \uba40\uc9c0 \uc54a\uc544\uc694, \ub300\ub7b5 10\ubd84\uc774\uba74 \ub3c4\ucc29\ud574\uc694.') },\n    { speakerT: '\u738b\u5148\u751f', speakerS: '\u738b\u5148\u751f',\n      tokens: [W('\u8b1d\u8b1d','\u8c22\u8c22','Xi\u00e8xie'), W('\u4f60','\u4f60','n\u01d0'), W('\u7684','\u7684','de'), WD('\u5e6b\u5fd9','\u5e2e\u5fd9','b\u0101ngm\u00e1ng','b\u0101ngm\u00e1ng'), '\u3002'],\n      en: TR('Thanks for your help.', '\u624b\u4f1d\u3063\u3066\u304f\u308c\u3066\u3042\u308a\u304c\u3068\u3046\u3002', '\ub3c4\uc640\uc918\uc11c \uace0\ub9c8\uc6cc\uc694.') },\n    { speakerT: '\u6797\u5c0f\u59d0', speakerS: '\u6797\u5c0f\u59d0',\n      tokens: [WD('\u4e0d\u5ba2\u6c23','\u4e0d\u5ba2\u6c14','B\u00fak\u00e8qi','b\u00fak\u00e8qi'), '\uff0c', W('\u8981\u662f','\u8981\u662f','y\u00e0oshi'), W('\u4f60','\u4f60','n\u01d0'), W('\u4e0d','\u4e0d','b\u00f9'), W('\u653e\u5fc3','\u653e\u5fc3','f\u00e0ngx\u012bn'), '\uff0c', W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u5148','\u5148','xi\u0101n'), WD('\u554f','\u95ee','w\u00e8nwen','w\u00e8nwen'), W('\u8def\u53e3','\u8def\u53e3','l\u00f9k\u01d2u'), W('\u7684','\u7684','de'), W('\u4eba','\u4eba','r\u00e9n'), '\u3002'],\n      en: TR(\"You're welcome \u2014 if you're not sure, you can ask someone at the intersection.\", '\u3069\u3046\u3044\u305f\u3057\u307e\u3057\u3066\u3001\u3082\u3057\u5b89\u5fc3\u3067\u304d\u306a\u3051\u308c\u3070\u3001\u4ea4\u5dee\u70b9\u306e\u4eba\u306b\u805e\u3044\u3066\u3082\u3044\u3044\u3067\u3059\u3088\u3002', '\ucc9c\ub9cc\uc5d0\uc694, \ub9cc\uc57d \uc548\uc2ec\uc774 \uc548 \ub418\uba74 \uae38\ubaa9\uc758 \uc0ac\ub78c\ud55c\ud14c \ubb3c\uc5b4\ubd10\ub3c4 \ub3fc\uc694.') },\n    { speakerT: '\u738b\u5148\u751f', speakerS: '\u738b\u5148\u751f',\n      tokens: [W('\u597d','\u597d','H\u01ceo'), '\uff0c', W('\u90a3','\u90a3','n\u00e0'), W('\u6211','\u6211','w\u01d2'), W('\u5148','\u5148','xi\u0101n'), W('\u53bb','\u53bb','q\u00f9'), WD('\u90f5\u5c40','\u90ae\u5c40','y\u00f3uj\u00fa','y\u00f3uj\u00fa'), '\uff0c', W('\u518d','\u518d','z\u00e0i'), W('\u53bb','\u53bb','q\u00f9'), WD('\u767e\u8ca8\u516c\u53f8','\u767e\u8d27\u516c\u53f8','b\u01ceihu\u00f2g\u014dngs\u012b','b\u01ceihu\u00f2g\u014dngs\u012b'), WD('\u8cb7','\u4e70','m\u01cei','m\u01cei'), W('\u6771\u897f','\u4e1c\u897f','d\u014dngxi'), W('\u5427','\u5427','ba'), '\u3002'],\n      en: TR(\"OK, then I'll go to the post office first, then to the department store to buy things.\", '\u308f\u304b\u308a\u307e\u3057\u305f\u3001\u3067\u306f\u5148\u306b\u90f5\u4fbf\u5c40\u306b\u884c\u3063\u3066\u3001\u305d\u308c\u304b\u3089\u30c7\u30d1\u30fc\u30c8\u3067\u8cb7\u3044\u7269\u3092\u3057\u307e\u3059\u3002', '\uc88b\uc544\uc694, \uadf8\ub7fc \uba3c\uc800 \uc6b0\uccb4\uad6d\uc5d0 \uac14\ub2e4\uac00 \ubc31\ud654\uc810 \uac00\uc11c \ubb3c\uac74 \uc0b4\uac8c\uc694.') },\n    { speakerT: '\u6797\u5c0f\u59d0', speakerS: '\u6797\u5c0f\u59d0',\n      tokens: [W('\u597d','\u597d','H\u01ceo'), '\uff0c', WD('\u518d','\u518d','Z\u00e0i','z\u00e0i'), WD('\u898b','\u89c1','ji\u00e0n','ji\u00e0n'), '\uff01'],\n      en: TR('OK, see you!', '\u308f\u304b\u308a\u307e\u3057\u305f\u3001\u307e\u305f\u306d!', '\ub124, \uc548\ub155\ud788 \uac00\uc138\uc694!') }\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 trSpans(tr) {\n    return '<span class=\"pv2l2-tr pv2l2-tr-en\">' + tr.en + '<\/span>' +\n           '<span class=\"pv2l2-tr pv2l2-tr-ja\">' + tr.ja + '<\/span>' +\n           '<span class=\"pv2l2-tr pv2l2-tr-ko\">' + tr.ko + '<\/span>';\n  }\n\n  function rubyWord(w) {\n    return '<span class=\"pv2l2-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=\"pv2l2-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=\"pv2l2-word-card\">' +\n        '<div class=\"pv2l2-word-top\">' +\n          '<span class=\"pv2l2-num\">' + num + '<\/span>' +\n          '<span class=\"pv2l2-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>' +\n          '<span class=\"pv2l2-meaning\">' + trSpans(w.meaning) + '<\/span>' +\n          '<button class=\"pv2l2-speaker\" data-trad=\"' + w.t + '\" data-simp=\"' + w.s + '\" aria-label=\"Play pronunciation\">' + SPEAKER_SVG + '<\/button>' +\n        '<\/div>' +\n        '<div class=\"pv2l2-example\">' +\n          renderTokens(w.ex) +\n          '<span class=\"pv2l2-en\">' + trSpans(w.exEn) + '<\/span>' +\n        '<\/div>' +\n      '<\/div>';\n    });\n    container.innerHTML = html;\n  });\n\n  var dialogueEl = root.querySelector('#pv2l2-dialogue');\n  if (dialogueEl) {\n    var dHtml = '';\n    DIALOGUE.forEach(function (line) {\n      dHtml += '<div class=\"pv2l2-line\">' +\n        '<span class=\"pv2l2-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=\"pv2l2-line-body\">' +\n          renderTokens(line.tokens) +\n          '<span class=\"pv2l2-line-en\">' + trSpans(line.en) + '<\/span>' +\n        '<\/span>' +\n      '<\/div>';\n    });\n    dialogueEl.innerHTML = dHtml;\n  }\n\n  \/\/ ---- Translation language toggle ----\n  var langBtns = root.querySelectorAll('.pv2l2-lang-btn');\n  langBtns.forEach(function (btn) {\n    btn.addEventListener('click', function () {\n      var lang = btn.getAttribute('data-lang');\n      root.classList.remove('pv2l2-lang-en', 'pv2l2-lang-ja', 'pv2l2-lang-ko');\n      root.classList.add('pv2l2-lang-' + lang);\n      langBtns.forEach(function (b) { b.classList.remove('pv2l2-lang-active'); });\n      btn.classList.add('pv2l2-lang-active');\n    });\n  });\n  root.classList.add('pv2l2-lang-en');\n\n  \/\/ ---- Flashcards ----\n  var fcCard = root.querySelector('#pv2l2-flashcard');\n  var fcFront = root.querySelector('#pv2l2-fc-front');\n  var fcBack = root.querySelector('#pv2l2-fc-back');\n  var fcProgress = root.querySelector('#pv2l2-fc-progress');\n  var fcPrevBtn = root.querySelector('#pv2l2-fc-prev');\n  var fcNextBtn = root.querySelector('#pv2l2-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=\"pv2l2-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>';\n    fcBack.innerHTML = '<span class=\"pv2l2-meaning\">' + trSpans(w.meaning) + '<\/span>';\n    if (fcProgress) fcProgress.textContent = (fcIndex + 1) + ' \/ ' + ALL_WORDS.length;\n    if (fcCard) fcCard.classList.remove('pv2l2-flipped');\n    fcFlipped = false;\n  }\n\n  if (fcCard) {\n    fcCard.addEventListener('click', function () {\n      fcFlipped = !fcFlipped;\n      fcCard.classList.toggle('pv2l2-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('#pv2l2-game-col-zh');\n  var gameColEn = root.querySelector('#pv2l2-game-col-en');\n  var gameStatus = root.querySelector('#pv2l2-game-status');\n  var gameWin = root.querySelector('#pv2l2-game-win');\n  var gameNewBtn = root.querySelector('#pv2l2-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('pv2l2-show');\n\n    var zhOrder = shuffle(gameRound);\n    var enOrder = shuffle(gameRound);\n\n    gameColZh.innerHTML = zhOrder.map(function (w) {\n      return '<button class=\"pv2l2-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=\"pv2l2-tile-py\">' + (w.pt || w.p) + '<\/span>' +\n      '<\/button>';\n    }).join('');\n\n    gameColEn.innerHTML = enOrder.map(function (w) {\n      return '<button class=\"pv2l2-tile\" data-id=\"' + w.t + '\" data-side=\"en\">' + trSpans(w.meaning) + '<\/button>';\n    }).join('');\n\n    updateGameStatus();\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('pv2l2-matched')) return;\n    var side = tile.getAttribute('data-side');\n\n    if (side === 'zh') {\n      if (gameSelectedZh) gameSelectedZh.classList.remove('pv2l2-selected');\n      gameSelectedZh = tile;\n      tile.classList.add('pv2l2-selected');\n    } else {\n      if (gameSelectedEn) gameSelectedEn.classList.remove('pv2l2-selected');\n      gameSelectedEn = tile;\n      tile.classList.add('pv2l2-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('pv2l2-selected');\n          gameSelectedEn.classList.remove('pv2l2-selected');\n          gameSelectedZh.classList.add('pv2l2-matched');\n          gameSelectedEn.classList.add('pv2l2-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('pv2l2-show');\n            }\n          }\n        } else {\n          gameBusy = true;\n          var z = gameSelectedZh, en = gameSelectedEn;\n          z.classList.add('pv2l2-wrong');\n          en.classList.add('pv2l2-wrong');\n          setTimeout(function () {\n            z.classList.remove('pv2l2-selected', 'pv2l2-wrong');\n            en.classList.remove('pv2l2-selected', 'pv2l2-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('.pv2l2-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 (follows the EN\/JA\/KO translation toggle) ----\n  function QMC(promptTR, optionsTR, answer) { return { type: 'mc', prompt: promptTR, options: optionsTR, answer: answer }; }\n  function QTYPE(promptTR, accept) { return { type: 'type', prompt: promptTR, accept: accept }; }\n\n  var QUIZ_DATA = [\n    QTYPE(TR('Type the pinyin for <span class=\"lang-zh-TW\">\u90f5\u5c40<\/span><span class=\"lang-zh-CN\">\u90ae\u5c40<\/span>.', '<span class=\"lang-zh-TW\">\u90f5\u5c40<\/span><span class=\"lang-zh-CN\">\u90ae\u5c40<\/span>\u306e\u30d4\u30f3\u30a4\u30f3\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002', '<span class=\"lang-zh-TW\">\u90f5\u5c40<\/span><span class=\"lang-zh-CN\">\u90ae\u5c40<\/span>\uc758 \ubcd1\uc74c\uc744 \uc785\ub825\ud558\uc138\uc694.'), ['youju']),\n    QMC(\n      TR('\u4e00\u76f4 means...', '\u4e00\u76f4\u306e\u610f\u5473\u306f?', '\u4e00\u76f4\uc758 \ub73b\uc740?'),\n      [\n        TR('straight; constantly', '\u307e\u3063\u3059\u3050\uff0f\u305a\u3063\u3068', '\uace7\uc7a5\/\uacc4\uc18d'),\n        TR('to turn', '\u66f2\u304c\u308b', '\ub3cc\ub2e4'),\n        TR('to pass by', '\u901a\u308a\u904e\u304e\u308b', '\uc9c0\ub098\uac00\ub2e4'),\n        TR('to leave', '\u96e2\u308c\u308b', '\ub5a0\ub098\ub2e4')\n      ], 0),\n    QMC(\n      TR('\u53f3 means...', '\u53f3\u306e\u610f\u5473\u306f?', '\u53f3\uc758 \ub73b\uc740?'),\n      [\n        TR('right', '\u53f3', '\uc624\ub978\ucabd'),\n        TR('left', '\u5de6', '\uc67c\ucabd'),\n        TR('east', '\u6771', '\ub3d9\ucabd'),\n        TR('west', '\u897f', '\uc11c\ucabd')\n      ], 0),\n    QTYPE(TR('Type the pinyin for <span class=\"lang-zh-TW\">\u8f49<\/span><span class=\"lang-zh-CN\">\u8f6c<\/span>.', '<span class=\"lang-zh-TW\">\u8f49<\/span><span class=\"lang-zh-CN\">\u8f6c<\/span>\u306e\u30d4\u30f3\u30a4\u30f3\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002', '<span class=\"lang-zh-TW\">\u8f49<\/span><span class=\"lang-zh-CN\">\u8f6c<\/span>\uc758 \ubcd1\uc74c\uc744 \uc785\ub825\ud558\uc138\uc694.'), ['zhuan']),\n    QMC(\n      TR('\u7d93\u904e means...', '\u7d93\u904e\u306e\u610f\u5473\u306f?', '\u7d93\u904e\uc758 \ub73b\uc740?'),\n      [\n        TR('to pass by, to pass through', '\u901a\u308a\u904e\u304e\u308b', '\uc9c0\ub098\uac00\ub2e4'),\n        TR('to turn', '\u66f2\u304c\u308b', '\ub3cc\ub2e4'),\n        TR('to leave', '\u96e2\u308c\u308b', '\ub5a0\ub098\ub2e4'),\n        TR('to help', '\u624b\u4f1d\u3046', '\ub3d5\ub2e4')\n      ], 0),\n    QMC(\n      TR('<span class=\"lang-zh-TW\">\u767e\u8ca8\u516c\u53f8<\/span><span class=\"lang-zh-CN\">\u767e\u8d27\u516c\u53f8<\/span> means...', '<span class=\"lang-zh-TW\">\u767e\u8ca8\u516c\u53f8<\/span><span class=\"lang-zh-CN\">\u767e\u8d27\u516c\u53f8<\/span>\u306e\u610f\u5473\u306f?', '<span class=\"lang-zh-TW\">\u767e\u8ca8\u516c\u53f8<\/span><span class=\"lang-zh-CN\">\u767e\u8d27\u516c\u53f8<\/span>\uc758 \ub73b\uc740?'),\n      [\n        TR('department store', '\u30c7\u30d1\u30fc\u30c8', '\ubc31\ud654\uc810'),\n        TR('post office', '\u90f5\u4fbf\u5c40', '\uc6b0\uccb4\uad6d'),\n        TR('city', '\u90fd\u5e02', '\ub3c4\uc2dc'),\n        TR('street', '\u901a\u308a', '\uac70\ub9ac')\n      ], 0),\n    QTYPE(TR('Type the pinyin for <span class=\"lang-zh-TW\">\u57ce\u5e02<\/span><span class=\"lang-zh-CN\">\u57ce\u5e02<\/span>.', '<span class=\"lang-zh-TW\">\u57ce\u5e02<\/span><span class=\"lang-zh-CN\">\u57ce\u5e02<\/span>\u306e\u30d4\u30f3\u30a4\u30f3\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002', '<span class=\"lang-zh-TW\">\u57ce\u5e02<\/span><span class=\"lang-zh-CN\">\u57ce\u5e02<\/span>\uc758 \ubcd1\uc74c\uc744 \uc785\ub825\ud558\uc138\uc694.'), ['chengshi']),\n    QMC(\n      TR('\u897f\u90e8 means...', '\u897f\u90e8\u306e\u610f\u5473\u306f?', '\u897f\u90e8\uc758 \ub73b\uc740?'),\n      [\n        TR('western part, western area', '\u897f\u90e8', '\uc11c\ubd80'),\n        TR('eastern part', '\u6771\u90e8', '\ub3d9\ubd80'),\n        TR('southern part', '\u5357\u90e8', '\ub0a8\ubd80'),\n        TR('northern part', '\u5317\u90e8', '\ubd81\ubd80')\n      ], 0),\n    QMC(\n      TR('\u6771\u90e8 means...', '\u6771\u90e8\u306e\u610f\u5473\u306f?', '\u6771\u90e8\uc758 \ub73b\uc740?'),\n      [\n        TR('eastern part, eastern area', '\u6771\u90e8', '\ub3d9\ubd80'),\n        TR('western part', '\u897f\u90e8', '\uc11c\ubd80'),\n        TR('city', '\u90fd\u5e02', '\ub3c4\uc2dc'),\n        TR('street', '\u901a\u308a', '\uac70\ub9ac')\n      ], 0),\n    QTYPE(TR('Type the pinyin for <span class=\"lang-zh-TW\">\u81fa\u5317<\/span><span class=\"lang-zh-CN\">\u53f0\u5317<\/span>.', '<span class=\"lang-zh-TW\">\u81fa\u5317<\/span><span class=\"lang-zh-CN\">\u53f0\u5317<\/span>\u306e\u30d4\u30f3\u30a4\u30f3\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002', '<span class=\"lang-zh-TW\">\u81fa\u5317<\/span><span class=\"lang-zh-CN\">\u53f0\u5317<\/span>\uc758 \ubcd1\uc74c\uc744 \uc785\ub825\ud558\uc138\uc694.'), ['taibei']),\n    QMC(\n      TR('\u7136\u5f8c means...', '\u7136\u5f8c\u306e\u610f\u5473\u306f?', '\u7136\u5f8c\uc758 \ub73b\uc740?'),\n      [\n        TR('afterwards, then', '\u305d\u308c\u304b\u3089', '\uadf8\ub7f0 \ub2e4\uc74c'),\n        TR('if', '\u3082\u3057\uff5e\u306a\u3089\u3070', '\ub9cc\uc57d'),\n        TR('first, in advance', '\u5148\u306b', '\uba3c\uc800'),\n        TR('again', '\u518d\u3073', '\ub2e4\uc2dc')\n      ], 0),\n    QMC(\n      TR('\u5148 means...', '\u5148\u306e\u610f\u5473\u306f?', '\u5148\uc758 \ub73b\uc740?'),\n      [\n        TR('first, in advance, before', '\u5148\u306b\u3001\u524d\u3082\u3063\u3066', '\uba3c\uc800'),\n        TR('then', '\u305d\u308c\u304b\u3089', '\uadf8\ub2e4\uc74c\uc5d0'),\n        TR('to leave', '\u96e2\u308c\u308b', '\ub5a0\ub098\ub2e4'),\n        TR('to take off', '\u96e2\u9678\u3059\u308b', '\uc774\ub959\ud558\ub2e4')\n      ], 0),\n    QTYPE(TR('Type the pinyin for <span class=\"lang-zh-TW\">\u96e2\u958b<\/span><span class=\"lang-zh-CN\">\u79bb\u5f00<\/span>.', '<span class=\"lang-zh-TW\">\u96e2\u958b<\/span><span class=\"lang-zh-CN\">\u79bb\u5f00<\/span>\u306e\u30d4\u30f3\u30a4\u30f3\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002', '<span class=\"lang-zh-TW\">\u96e2\u958b<\/span><span class=\"lang-zh-CN\">\u79bb\u5f00<\/span>\uc758 \ubcd1\uc74c\uc744 \uc785\ub825\ud558\uc138\uc694.'), ['likai']),\n    QMC(\n      TR('<span class=\"lang-zh-TW\">\u8d77\u98db<\/span><span class=\"lang-zh-CN\">\u8d77\u98de<\/span> means...', '<span class=\"lang-zh-TW\">\u8d77\u98db<\/span><span class=\"lang-zh-CN\">\u8d77\u98de<\/span>\u306e\u610f\u5473\u306f?', '<span class=\"lang-zh-TW\">\u8d77\u98db<\/span><span class=\"lang-zh-CN\">\u8d77\u98de<\/span>\uc758 \ub73b\uc740?'),\n      [\n        TR('to take off', '\u96e2\u9678\u3059\u308b', '\uc774\ub959\ud558\ub2e4'),\n        TR('to leave', '\u96e2\u308c\u308b', '\ub5a0\ub098\ub2e4'),\n        TR('to arrive', '\u7740\u304f', '\ub3c4\ucc29\ud558\ub2e4'),\n        TR('to turn', '\u66f2\u304c\u308b', '\ub3cc\ub2e4')\n      ], 0),\n    QMC(\n      TR('\u518d (as used in this lesson) means...', '\u518d(\u3053\u306e\u8ab2\u3067\u306e\u7528\u6cd5)\u306e\u610f\u5473\u306f?', '\u518d(\uc774 \uacfc\uc5d0\uc11c\uc758 \ub73b)\uc740?'),\n      [\n        TR('then (in a sequence)', '\u305d\u308c\u304b\u3089(\u9806\u5e8f\u3092\u8868\u3059)', '\uadf8\ub2e4\uc74c\uc5d0(\uc21c\uc11c)'),\n        TR('if', '\u3082\u3057\uff5e\u306a\u3089\u3070', '\ub9cc\uc57d'),\n        TR('to help', '\u624b\u4f1d\u3046', '\ub3d5\ub2e4'),\n        TR('to be polite', '\u793c\u5100\u6b63\u3057\u3044', '\uc608\uc758 \ubc14\ub974\ub2e4')\n      ], 0),\n    QTYPE(TR('Type the pinyin for <span class=\"lang-zh-TW\">\u8981\u662f<\/span><span class=\"lang-zh-CN\">\u8981\u662f<\/span>.', '<span class=\"lang-zh-TW\">\u8981\u662f<\/span><span class=\"lang-zh-CN\">\u8981\u662f<\/span>\u306e\u30d4\u30f3\u30a4\u30f3\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002', '<span class=\"lang-zh-TW\">\u8981\u662f<\/span><span class=\"lang-zh-CN\">\u8981\u662f<\/span>\uc758 \ubcd1\uc74c\uc744 \uc785\ub825\ud558\uc138\uc694.'), ['yaoshi']),\n    QMC(\n      TR('<span class=\"lang-zh-TW\">\u5e6b\u5fd9<\/span><span class=\"lang-zh-CN\">\u5e2e\u5fd9<\/span> means...', '<span class=\"lang-zh-TW\">\u5e6b\u5fd9<\/span><span class=\"lang-zh-CN\">\u5e2e\u5fd9<\/span>\u306e\u610f\u5473\u306f?', '<span class=\"lang-zh-TW\">\u5e6b\u5fd9<\/span><span class=\"lang-zh-CN\">\u5e2e\u5fd9<\/span>\uc758 \ub73b\uc740?'),\n      [\n        TR('to help someone do something', '\u624b\u4f1d\u3046\u3001\u52a9\u3051\u308b', '\ub3c4\uc640\uc8fc\ub2e4'),\n        TR('to be polite', '\u793c\u5100\u6b63\u3057\u3044', '\uc608\uc758 \ubc14\ub974\ub2e4'),\n        TR('to turn', '\u66f2\u304c\u308b', '\ub3cc\ub2e4'),\n        TR('to leave', '\u96e2\u308c\u308b', '\ub5a0\ub098\ub2e4')\n      ], 0),\n    QMC(\n      TR('<span class=\"lang-zh-TW\">\u4e0d\u5ba2\u6c23<\/span><span class=\"lang-zh-CN\">\u4e0d\u5ba2\u6c14<\/span> means...', '<span class=\"lang-zh-TW\">\u4e0d\u5ba2\u6c23<\/span><span class=\"lang-zh-CN\">\u4e0d\u5ba2\u6c14<\/span>\u306e\u610f\u5473\u306f?', '<span class=\"lang-zh-TW\">\u4e0d\u5ba2\u6c23<\/span><span class=\"lang-zh-CN\">\u4e0d\u5ba2\u6c14<\/span>\uc758 \ub73b\uc740?'),\n      [\n        TR(\"you're welcome\", '\u3069\u3046\u3044\u305f\u3057\u307e\u3057\u3066', '\ucc9c\ub9cc\uc5d0\uc694'),\n        TR('thank you', '\u3042\u308a\u304c\u3068\u3046', '\uace0\ub9c8\uc6cc\uc694'),\n        TR(\"I'm sorry\", '\u3059\u307f\u307e\u305b\u3093', '\uc8c4\uc1a1\ud574\uc694'),\n        TR('never mind', '\u5927\u4e08\u592b', '\uad1c\ucc2e\uc544\uc694')\n      ], 0),\n    QTYPE(TR('Type the pinyin for <span class=\"lang-zh-TW\">\u5ba2\u6c23<\/span><span class=\"lang-zh-CN\">\u5ba2\u6c14<\/span>.', '<span class=\"lang-zh-TW\">\u5ba2\u6c23<\/span><span class=\"lang-zh-CN\">\u5ba2\u6c14<\/span>\u306e\u30d4\u30f3\u30a4\u30f3\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002', '<span class=\"lang-zh-TW\">\u5ba2\u6c23<\/span><span class=\"lang-zh-CN\">\u5ba2\u6c14<\/span>\uc758 \ubcd1\uc74c\uc744 \uc785\ub825\ud558\uc138\uc694.'), ['keqi']),\n    QMC(\n      TR('\u5427 (as used in this lesson) is...', '\u5427(\u3053\u306e\u8ab2\u3067\u306e\u7528\u6cd5)\u306f...', '\u5427(\uc774 \uacfc\uc5d0\uc11c\uc758 \uc6a9\ubc95)\uc740...'),\n      [\n        TR('a sentence suffix for a request or suggestion', '\u4f9d\u983c\u30fb\u63d0\u6848\u3092\u8868\u3059\u6587\u672b\u52a9\u8a5e', '\uc694\uccad\u00b7\uc81c\uc548\uc744 \ub098\ud0c0\ub0b4\ub294 \ubb38\uc7a5 \ub05d \uc870\uc0ac'),\n        TR('a measure word', '\u91cf\u8a5e', '\uc591\uc0ac'),\n        TR('a coverb meaning \"toward\"', '\u300c\uff5e\u3078\u300d\u3092\u8868\u3059\u524d\u7f6e\u8a5e\u7684\u52d5\u8a5e', \"'~\uc744 \ud5a5\ud574'\ub97c \ub098\ud0c0\ub0b4\ub294 \uac1c\uc0ac\"),\n        TR('an ordinal number prefix', '\u5e8f\u6570\u306e\u63a5\u982d\u8f9e', '\uc11c\uc218 \uc811\ub450\uc0ac')\n      ], 0)\n  ];\n\n  var UI_STRINGS = {\n    en: { submit: 'Submit', next: 'Next', placeholder: 'Type your answer', correct: 'Correct!', incorrectPrefix: 'Not quite \u2014 the answer is \"', incorrectSuffix: '\".', incorrectGeneric: 'Not quite \u2014 check the highlighted answer above.', scoreLine: 'Nice work! Want to try again?', retake: 'Retake Quiz', questionLabel: 'Question' },\n    ja: { submit: '\u9001\u4fe1', next: '\u6b21\u3078', placeholder: '\u7b54\u3048\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044', correct: '\u6b63\u89e3!', incorrectPrefix: '\u6b8b\u5ff5\u3001\u6b63\u89e3\u306f\u300c', incorrectSuffix: '\u300d\u3067\u3059\u3002', incorrectGeneric: '\u6b8b\u5ff5\u3001\u4e0a\u306e\u30cf\u30a4\u30e9\u30a4\u30c8\u3055\u308c\u305f\u7b54\u3048\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002', scoreLine: '\u3088\u304f\u3067\u304d\u307e\u3057\u305f!\u3082\u3046\u4e00\u5ea6\u6311\u6226\u3057\u307e\u3059\u304b?', retake: '\u30af\u30a4\u30ba\u3092\u3084\u308a\u76f4\u3059', questionLabel: '\u8cea\u554f' },\n    ko: { submit: '\uc81c\ucd9c', next: '\ub2e4\uc74c', placeholder: '\ub2f5\uc744 \uc785\ub825\ud558\uc138\uc694', correct: '\uc815\ub2f5\uc785\ub2c8\ub2e4!', incorrectPrefix: '\uc544\uc27d\ub124\uc694 \u2014 \uc815\ub2f5\uc740 \"', incorrectSuffix: '\"\uc785\ub2c8\ub2e4.', incorrectGeneric: '\uc544\uc27d\ub124\uc694 \u2014 \uc704\uc5d0 \ud45c\uc2dc\ub41c \uc815\ub2f5\uc744 \ud655\uc778\ud558\uc138\uc694.', scoreLine: '\uc798\ud558\uc168\uc5b4\uc694! \ub2e4\uc2dc \ub3c4\uc804\ud574\ubcf4\uc2dc\uaca0\uc5b4\uc694?', retake: '\ud034\uc988 \ub2e4\uc2dc \ud480\uae30', questionLabel: '\ubb38\uc81c' }\n  };\n\n  function getLang() {\n    if (root.classList.contains('pv2l2-lang-ja')) return 'ja';\n    if (root.classList.contains('pv2l2-lang-ko')) return 'ko';\n    return 'en';\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('#pv2l2-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 lang = getLang();\n      var ui = UI_STRINGS[lang];\n      var q = QUIZ_DATA[current];\n      answered = false;\n      var html = '<p class=\"pv2l2-quiz-progress\">' + ui.questionLabel + ' ' + (current + 1) + ' \/ ' + QUIZ_DATA.length + '<\/p>';\n      html += '<p class=\"pv2l2-quiz-prompt\">' + q.prompt[lang] + '<\/p>';\n      if (q.type === 'mc') {\n        html += '<div class=\"pv2l2-quiz-options\">';\n        for (var i = 0; i < q.options.length; i++) {\n          html += '<button type=\"button\" class=\"pv2l2-quiz-opt\" data-i=\"' + i + '\">' + q.options[i][lang] + '<\/button>';\n        }\n        html += '<\/div>';\n      } else {\n        html += '<div class=\"pv2l2-quiz-input-row\">';\n        html += '<input type=\"text\" class=\"pv2l2-quiz-input\" placeholder=\"' + ui.placeholder + '\">';\n        html += '<button type=\"button\" class=\"pv2l2-quiz-submit\">' + ui.submit + '<\/button>';\n        html += '<\/div>';\n      }\n      html += '<p class=\"pv2l2-quiz-feedback\"><\/p>';\n      html += '<button type=\"button\" class=\"pv2l2-quiz-next\" style=\"display:none;\">' + ui.next + '<\/button>';\n      qRoot.innerHTML = html;\n\n      if (q.type === 'mc') {\n        var opts = qRoot.querySelectorAll('.pv2l2-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, bi) {\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('.pv2l2-quiz-input');\n        var submitBtn = qRoot.querySelector('.pv2l2-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('.pv2l2-quiz-feedback');\n        if (correct) {\n          fb.textContent = ui.correct;\n        } else if (correctAnswer) {\n          fb.textContent = ui.incorrectPrefix + correctAnswer + ui.incorrectSuffix;\n        } else {\n          fb.textContent = ui.incorrectGeneric;\n        }\n        fb.className = 'pv2l2-quiz-feedback ' + (correct ? 'correct' : 'incorrect');\n        var nextBtn = qRoot.querySelector('.pv2l2-quiz-next');\n        nextBtn.style.display = 'inline-block';\n        nextBtn.addEventListener('click', function () { current++; render(); });\n      }\n    }\n\n    function renderScore() {\n      var ui = UI_STRINGS[getLang()];\n      qRoot.innerHTML =\n        '<div class=\"pv2l2-quiz-score\">' +\n        '<span class=\"pv2l2-quiz-score-num\">' + score + ' \/ ' + QUIZ_DATA.length + '<\/span>' +\n        '<p>' + ui.scoreLine + '<\/p>' +\n        '<button type=\"button\" class=\"pv2l2-quiz-retake\">' + ui.retake + '<\/button>' +\n        '<\/div>';\n      qRoot.querySelector('.pv2l2-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) \u2014 headword cards only\n  root.addEventListener('click', function (e) {\n    var btn = e.target.closest('.pv2l2-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})();\n<\/script>\n<\/div>\n\n\n\n<div style=\"height:57px\" 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\/audio-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=\"object-fit:cover;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>","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":16392,"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":true,"_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":[1357],"tags":[],"class_list":["post-16871","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1357"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u8996\u807d\u83ef\u8a9e Book 2 Lesson 2 - OneDotDot Chinese<\/title>\n<meta name=\"description\" content=\"This is just for my students. \u8996\u807d\u83ef\u8a9e Book 2 Lesson 2\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u8996\u807d\u83ef\u8a9e Book 2 Lesson 2 - OneDotDot Chinese\" \/>\n<meta property=\"og:description\" content=\"This is just for my students. \u8996\u807d\u83ef\u8a9e Book 2 Lesson 2\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/\" \/>\n<meta property=\"og:site_name\" content=\"OneDotDot Chinese\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-12T05:13:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-12T05:13:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/20190211100150_pic-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1755\" \/>\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\\\/09\\\/12\\\/book-2-l2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/09\\\/12\\\/book-2-l2\\\/\"},\"author\":{\"name\":\"tiffany\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"headline\":\"\u8996\u807d\u83ef\u8a9e Book 2 Lesson 2\",\"datePublished\":\"2026-09-12T05:13:04+00:00\",\"dateModified\":\"2026-09-12T05:13:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/09\\\/12\\\/book-2-l2\\\/\"},\"wordCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/09\\\/12\\\/book-2-l2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/20190211100150_pic-scaled.jpg\",\"articleSection\":[\"\u8996\u807d\u83ef\u8a9e\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/09\\\/12\\\/book-2-l2\\\/\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/09\\\/12\\\/book-2-l2\\\/\",\"name\":\"\u8996\u807d\u83ef\u8a9e Book 2 Lesson 2 - OneDotDot Chinese\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/09\\\/12\\\/book-2-l2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/09\\\/12\\\/book-2-l2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/20190211100150_pic-scaled.jpg\",\"datePublished\":\"2026-09-12T05:13:04+00:00\",\"dateModified\":\"2026-09-12T05:13:31+00:00\",\"description\":\"This is just for my students. \u8996\u807d\u83ef\u8a9e Book 2 Lesson 2\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/09\\\/12\\\/book-2-l2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/09\\\/12\\\/book-2-l2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/09\\\/12\\\/book-2-l2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/20190211100150_pic-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/20190211100150_pic-scaled.jpg\",\"width\":2560,\"height\":1755},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/09\\\/12\\\/book-2-l2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u8996\u807d\u83ef\u8a9e Book 2 Lesson 2\"}]},{\"@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":"\u8996\u807d\u83ef\u8a9e Book 2 Lesson 2 - OneDotDot Chinese","description":"This is just for my students. \u8996\u807d\u83ef\u8a9e Book 2 Lesson 2","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/","og_locale":"en_US","og_type":"article","og_title":"\u8996\u807d\u83ef\u8a9e Book 2 Lesson 2 - OneDotDot Chinese","og_description":"This is just for my students. \u8996\u807d\u83ef\u8a9e Book 2 Lesson 2","og_url":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/","og_site_name":"OneDotDot Chinese","article_published_time":"2026-09-12T05:13:04+00:00","article_modified_time":"2026-09-12T05:13:31+00:00","og_image":[{"width":2560,"height":1755,"url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/20190211100150_pic-scaled.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\/09\/12\/book-2-l2\/#article","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/"},"author":{"name":"tiffany","@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"headline":"\u8996\u807d\u83ef\u8a9e Book 2 Lesson 2","datePublished":"2026-09-12T05:13:04+00:00","dateModified":"2026-09-12T05:13:31+00:00","mainEntityOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/"},"wordCount":2,"publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/20190211100150_pic-scaled.jpg","articleSection":["\u8996\u807d\u83ef\u8a9e"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/","url":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/","name":"\u8996\u807d\u83ef\u8a9e Book 2 Lesson 2 - OneDotDot Chinese","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/#primaryimage"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/20190211100150_pic-scaled.jpg","datePublished":"2026-09-12T05:13:04+00:00","dateModified":"2026-09-12T05:13:31+00:00","description":"This is just for my students. \u8996\u807d\u83ef\u8a9e Book 2 Lesson 2","breadcrumb":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/#primaryimage","url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/20190211100150_pic-scaled.jpg","contentUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/20190211100150_pic-scaled.jpg","width":2560,"height":1755},{"@type":"BreadcrumbList","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/09\/12\/book-2-l2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/tiffanysmandarin.com\/"},{"@type":"ListItem","position":2,"name":"\u8996\u807d\u83ef\u8a9e Book 2 Lesson 2"}]},{"@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\/2026\/09\/20190211100150_pic-scaled.jpg","_links":{"self":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/16871","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=16871"}],"version-history":[{"count":2,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/16871\/revisions"}],"predecessor-version":[{"id":16879,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/16871\/revisions\/16879"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/media\/16392"}],"wp:attachment":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/media?parent=16871"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/categories?post=16871"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/tags?post=16871"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}