Skip to content

feat(i18n): full Simplified Chinese localization (mechanism + UI + lesson bodies)#241

Open
JerryC8080 wants to merge 7 commits into
rohitg00:mainfrom
JerryC8080:feat/simplified-chinese-i18n
Open

feat(i18n): full Simplified Chinese localization (mechanism + UI + lesson bodies)#241
JerryC8080 wants to merge 7 commits into
rohitg00:mainfrom
JerryC8080:feat/simplified-chinese-i18n

Conversation

@JerryC8080
Copy link
Copy Markdown

Full Simplified Chinese localization — mechanism + UI + content + lesson bodies

First of all — thank you for this project. 🙏 Working through it has taught me a
ton about how AI actually works, end to end. While I was studying, I worked
with my code agent to translate the curriculum into Simplified Chinese as I
went, and it grew into something I'd love to give back: I'm hoping this can help
more learners in the Chinese-speaking community get into the material the same
way it helped me.

Adds an incremental internationalization layer to the site plus a complete
Simplified Chinese (zh) translation. The mechanism defaults to English and
falls back per-field to English wherever a translation is missing, so it is
safe even with partial locales. This PR is organized as 4 reviewable commits
(mechanism → data overlay → README → lesson bodies) so each layer can be
evaluated — or accepted — independently.

Commit 1 — i18n mechanism (language-agnostic)

  • site/i18n.js — shared language state (localStorage['aiefs:lang']), a
    per-field fallback helper L(obj, field), a UI string dictionary t() with
    {token} interpolation tf(), and applyI18n() that swaps
    [data-i18n] / [data-i18n-attr] nodes. A header 中/EN toggle is wired
    on every page; the choice persists across pages.
  • site/build.js — optionally merges sparse locale overlays
    (i18n/<lang>/*.json) into data.js as *_zh-style fields; missing overlays
    fall back to English. Lesson keywords/summary are additionally extracted
    from a co-located docs/<lang>.md when present. Adds a coverage-stats
    printout. build() is guarded by require.main so the module is importable
    for tests.
  • Pages + app.js — render data-driven content through L() and static UI
    through t(), re-rendering on language switch.
  • scripts/test_build_i18n.mjs — self-contained fixture test for the
    overlay/docs extraction logic (creates and removes its own fixture, so it
    passes in any checkout regardless of which translations exist).

Commit 2 — Simplified Chinese data overlay

  • i18n/zh/phases.json — 20 phase names + descriptions
  • i18n/zh/lessons.json — 468 lesson names
  • i18n/zh/glossary.json — 83 glossary terms (says/means)
  • i18n/zh/artifacts.json — 481 artifact descriptions
  • ~120 UI strings in the i18n.js dictionary (commit 1)

Commit 3 — Simplified Chinese README

  • README.zh.md — complete, structure-preserving translation (all 19
    <details> phase blocks, 541 table rows, badges, code fences, mermaid).
    Phase/lesson names match the i18n/zh overlay. Internal anchors are
    preserved via explicit id= attributes so every #section link still
    resolves.
  • README.md — gains a one-line [English · 简体中文] switcher under the
    banner. This is the only change to README.md; it sits outside every
    Phase/table block build.js parses, so curriculum extraction is unaffected
    (verified: still 20 phases / 468 lessons).

Commit 4 — Simplified Chinese lesson bodies

  • 473 × docs/zh.md — a full Chinese translation of every lesson body,
    one docs/zh.md alongside each docs/en.md. English en.md files are
    untouched.
  • With these in-repo, the lesson reader's 中/EN toggle loads Chinese bodies
    directly from this repositoryZH_REPO == EN_REPO, no external
    dependency — and build.js then populates keywords_zh / summary_zh
    automatically (coverage rises to summary 468 / keywords 424).
  • Each zh.md follows TRANSLATION_GUIDE.md: a translator-note header,
    technical terms kept in English with first-occurrence Chinese glosses,
    must-translate terms standardized, and all H2/H3 headings bilingual so
    readers can still search the English source.

Design principles

  • English source files (README.md/ROADMAP.md/glossary/terms.md/en.md/
    outputs) stay read-only — every translation lives in a separate file
    (README.zh.md, i18n/zh/*.json, docs/zh.md), so future upstream edits to
    the English sources never conflict.
  • Per-record, per-field fallback to English: a partially translated record
    never blanks out the UI.
  • site/data.js is intentionally NOT included — it is a generated artifact
    rebuilt by the existing curriculum.yml CI on merge.

Testing

  • node scripts/test_build_i18n.mjs → PASS (self-contained).
  • node site/build.js runs clean both with no overlays (English-only) and
    with the zh overlay + zh.md bodies present; prints coverage stats
    (phases 20/20, lessons 468/468, glossary 83/83, artifacts 481/493).
  • Verified EN↔ZH toggle across index/catalog/glossary/roadmap/lesson with
    Playwright; the choice persists across pages; no console errors;
    icons/sort-arrows preserved.

Reviewing in pieces

If you'd prefer to land this incrementally, commits 1–3 are self-contained and
useful on their own (mechanism + UI + navigation/lesson-name localization +
Chinese README). Commit 4 (the 473 lesson-body translations) is the large one
and can be reviewed or deferred separately.


🤖 The Chinese translations and this i18n scaffolding were produced with
Claude Opus 4.8, orchestrated via the superpowers subagent-driven
development workflow, following the repo's TRANSLATION_GUIDE.md (technical
terms kept in English with first-occurrence Chinese glosses; must-translate
terms standardized; a bilingual QA pass enforced term consistency).

…y default)

Add an incremental i18n mechanism that defaults to English and degrades
gracefully when no locale overlay is present — zero behavior change unless
translations are added.

- site/i18n.js: shared language state (localStorage 'aiefs:lang'), per-field
  fallback L(obj, field), UI string dictionary t() with {token} interpolation
  tf(), and applyI18n() swapping [data-i18n] / [data-i18n-attr] nodes. A header
  中/EN toggle is wired on every page and persists across pages.
- site/build.js: optionally merges sparse locale overlays (i18n/<lang>/*.json)
  into data.js as *_zh fields; missing overlays fall back to English. Lesson
  keywords/summary additionally reuse a co-located docs/<lang>.md when present.
  Adds coverage stats; build() guarded by require.main so it is importable.
- Pages + app.js render data-driven content via L() and static UI via t(),
  re-rendering on language switch.
- scripts/test_build_i18n.mjs: self-contained fixture test for the overlay /
  docs extraction logic.

English source files (README/ROADMAP/glossary/en.md/outputs) stay read-only.
site/data.js is intentionally omitted — regenerated by curriculum.yml CI on merge.
Sparse zh overlays consumed by the i18n layer; absent fields fall back to
English per-record, per-field.

- i18n/zh/phases.json    — 20 phase names + descriptions
- i18n/zh/lessons.json   — 468 lesson names
- i18n/zh/glossary.json  — 83 glossary terms (says/means)
- i18n/zh/artifacts.json — 481 artifact descriptions

Plus ~120 UI strings in the i18n.js dictionary (previous commit).

Translated with Claude Opus 4.8 via the 'superpowers' subagent-driven
workflow, following TRANSLATION_GUIDE.md (technical terms kept in English;
must-translate terms standardized; bilingual QA pass for consistency).
- README.zh.md: complete zh translation, preserving all structure (19
  <details> phase blocks, 541 table rows, badges, code fences, mermaid).
  Phase/lesson names match the i18n/zh overlay.
- README.md: add a one-line [English / 简体中文] switcher under the banner
  (parse-safe — outside every Phase/table block build.js reads). Otherwise
  untouched.
- Internal anchors preserved via explicit id= attributes.

Translated with Claude Opus 4.8 via the superpowers workflow.
Full Chinese translations of every lesson body, one docs/zh.md alongside
each docs/en.md. With these in the repo, the lesson reader's 中/EN toggle
loads in-repo Chinese content directly (ZH_REPO == EN_REPO == this repo) —
no external dependency — and build.js extracts keywords_zh/summary_zh from
them automatically.

English en.md files are untouched. Each zh.md follows TRANSLATION_GUIDE.md:
a translator-note header, technical terms kept in English with
first-occurrence Chinese glosses, must-translate terms standardized, and
all H2/H3 section headings bilingual so readers can still search the
English source.

Translated with Claude Opus 4.8 via the 'superpowers' subagent-driven
workflow.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 1, 2026

Important

Review skipped

Too many files!

This PR contains 300 files, which is 150 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b4b9f57c-74e1-4dd3-b505-6bab2274c1b5

📥 Commits

Reviewing files that changed from the base of the PR and between 86bbb61 and b89d0c9.

📒 Files selected for processing (300)
  • README.md
  • README.zh.md
  • i18n/zh/artifacts.json
  • i18n/zh/glossary.json
  • i18n/zh/lessons.json
  • i18n/zh/phases.json
  • phases/00-setup-and-tooling/01-dev-environment/docs/zh.md
  • phases/00-setup-and-tooling/02-git-and-collaboration/docs/zh.md
  • phases/00-setup-and-tooling/03-gpu-setup-and-cloud/docs/zh.md
  • phases/00-setup-and-tooling/04-apis-and-keys/docs/zh.md
  • phases/00-setup-and-tooling/05-jupyter-notebooks/docs/zh.md
  • phases/00-setup-and-tooling/06-python-environments/docs/zh.md
  • phases/00-setup-and-tooling/07-docker-for-ai/docs/zh.md
  • phases/00-setup-and-tooling/08-editor-setup/docs/zh.md
  • phases/00-setup-and-tooling/09-data-management/docs/zh.md
  • phases/00-setup-and-tooling/10-terminal-and-shell/docs/zh.md
  • phases/00-setup-and-tooling/11-linux-for-ai/docs/zh.md
  • phases/00-setup-and-tooling/12-debugging-and-profiling/docs/zh.md
  • phases/01-math-foundations/01-linear-algebra-intuition/docs/zh.md
  • phases/01-math-foundations/02-vectors-matrices-operations/docs/zh.md
  • phases/01-math-foundations/03-matrix-transformations/docs/zh.md
  • phases/01-math-foundations/04-calculus-for-ml/docs/zh.md
  • phases/01-math-foundations/05-chain-rule-and-autodiff/docs/zh.md
  • phases/01-math-foundations/06-probability-and-distributions/docs/zh.md
  • phases/01-math-foundations/07-bayes-theorem/docs/zh.md
  • phases/01-math-foundations/08-optimization/docs/zh.md
  • phases/01-math-foundations/09-information-theory/docs/zh.md
  • phases/01-math-foundations/10-dimensionality-reduction/docs/zh.md
  • phases/01-math-foundations/11-singular-value-decomposition/docs/zh.md
  • phases/01-math-foundations/12-tensor-operations/docs/zh.md
  • phases/01-math-foundations/13-numerical-stability/docs/zh.md
  • phases/01-math-foundations/14-norms-and-distances/docs/zh.md
  • phases/01-math-foundations/15-statistics-for-ml/docs/zh.md
  • phases/01-math-foundations/16-sampling-methods/docs/zh.md
  • phases/01-math-foundations/17-linear-systems/docs/zh.md
  • phases/01-math-foundations/18-convex-optimization/docs/zh.md
  • phases/01-math-foundations/19-complex-numbers/docs/zh.md
  • phases/01-math-foundations/20-fourier-transform/docs/zh.md
  • phases/01-math-foundations/21-graph-theory/docs/zh.md
  • phases/01-math-foundations/22-stochastic-processes/docs/zh.md
  • phases/02-ml-fundamentals/01-what-is-machine-learning/docs/zh.md
  • phases/02-ml-fundamentals/01-what-is-machine-learning/quiz.zh.json
  • phases/02-ml-fundamentals/02-linear-regression/docs/zh.md
  • phases/02-ml-fundamentals/02-linear-regression/quiz.zh.json
  • phases/02-ml-fundamentals/03-logistic-regression/docs/zh.md
  • phases/02-ml-fundamentals/03-logistic-regression/quiz.zh.json
  • phases/02-ml-fundamentals/04-decision-trees/docs/zh.md
  • phases/02-ml-fundamentals/04-decision-trees/quiz.zh.json
  • phases/02-ml-fundamentals/05-support-vector-machines/docs/zh.md
  • phases/02-ml-fundamentals/05-support-vector-machines/quiz.zh.json
  • phases/02-ml-fundamentals/06-knn-and-distances/docs/zh.md
  • phases/02-ml-fundamentals/06-knn-and-distances/quiz.zh.json
  • phases/02-ml-fundamentals/07-unsupervised-learning/docs/zh.md
  • phases/02-ml-fundamentals/07-unsupervised-learning/quiz.zh.json
  • phases/02-ml-fundamentals/08-feature-engineering/docs/zh.md
  • phases/02-ml-fundamentals/08-feature-engineering/quiz.zh.json
  • phases/02-ml-fundamentals/09-model-evaluation/docs/zh.md
  • phases/02-ml-fundamentals/09-model-evaluation/quiz.zh.json
  • phases/02-ml-fundamentals/10-bias-variance/docs/zh.md
  • phases/02-ml-fundamentals/10-bias-variance/quiz.zh.json
  • phases/02-ml-fundamentals/11-ensemble-methods/docs/zh.md
  • phases/02-ml-fundamentals/11-ensemble-methods/quiz.zh.json
  • phases/02-ml-fundamentals/12-hyperparameter-tuning/docs/zh.md
  • phases/02-ml-fundamentals/12-hyperparameter-tuning/quiz.zh.json
  • phases/02-ml-fundamentals/13-ml-pipelines/docs/zh.md
  • phases/02-ml-fundamentals/13-ml-pipelines/quiz.zh.json
  • phases/02-ml-fundamentals/14-naive-bayes/docs/zh.md
  • phases/02-ml-fundamentals/14-naive-bayes/quiz.zh.json
  • phases/02-ml-fundamentals/15-time-series/docs/zh.md
  • phases/02-ml-fundamentals/15-time-series/quiz.zh.json
  • phases/02-ml-fundamentals/16-anomaly-detection/docs/zh.md
  • phases/02-ml-fundamentals/16-anomaly-detection/quiz.zh.json
  • phases/02-ml-fundamentals/17-imbalanced-data/docs/zh.md
  • phases/02-ml-fundamentals/17-imbalanced-data/quiz.zh.json
  • phases/02-ml-fundamentals/18-feature-selection/docs/zh.md
  • phases/02-ml-fundamentals/18-feature-selection/quiz.zh.json
  • phases/03-deep-learning-core/01-the-perceptron/docs/zh.md
  • phases/03-deep-learning-core/01-the-perceptron/quiz.zh.json
  • phases/03-deep-learning-core/02-multi-layer-networks/docs/zh.md
  • phases/03-deep-learning-core/02-multi-layer-networks/quiz.zh.json
  • phases/03-deep-learning-core/03-backpropagation/docs/zh.md
  • phases/03-deep-learning-core/03-backpropagation/quiz.zh.json
  • phases/03-deep-learning-core/04-activation-functions/docs/zh.md
  • phases/03-deep-learning-core/04-activation-functions/quiz.zh.json
  • phases/03-deep-learning-core/05-loss-functions/docs/zh.md
  • phases/03-deep-learning-core/05-loss-functions/quiz.zh.json
  • phases/03-deep-learning-core/06-optimizers/docs/zh.md
  • phases/03-deep-learning-core/06-optimizers/quiz.zh.json
  • phases/03-deep-learning-core/07-regularization/docs/zh.md
  • phases/03-deep-learning-core/07-regularization/quiz.zh.json
  • phases/03-deep-learning-core/08-weight-initialization/docs/zh.md
  • phases/03-deep-learning-core/08-weight-initialization/quiz.zh.json
  • phases/03-deep-learning-core/09-learning-rate-schedules/docs/zh.md
  • phases/03-deep-learning-core/09-learning-rate-schedules/quiz.zh.json
  • phases/03-deep-learning-core/10-mini-framework/docs/zh.md
  • phases/03-deep-learning-core/10-mini-framework/quiz.zh.json
  • phases/03-deep-learning-core/11-intro-to-pytorch/docs/zh.md
  • phases/03-deep-learning-core/11-intro-to-pytorch/quiz.zh.json
  • phases/03-deep-learning-core/12-intro-to-jax/docs/zh.md
  • phases/03-deep-learning-core/12-intro-to-jax/quiz.zh.json
  • phases/03-deep-learning-core/13-debugging-neural-networks/docs/zh.md
  • phases/03-deep-learning-core/13-debugging-neural-networks/quiz.zh.json
  • phases/04-computer-vision/01-image-fundamentals/docs/zh.md
  • phases/04-computer-vision/02-convolutions-from-scratch/docs/zh.md
  • phases/04-computer-vision/03-cnns-lenet-to-resnet/docs/zh.md
  • phases/04-computer-vision/04-image-classification/docs/zh.md
  • phases/04-computer-vision/05-transfer-learning/docs/zh.md
  • phases/04-computer-vision/06-object-detection-yolo/docs/zh.md
  • phases/04-computer-vision/07-semantic-segmentation-unet/docs/zh.md
  • phases/04-computer-vision/08-instance-segmentation-mask-rcnn/docs/zh.md
  • phases/04-computer-vision/09-image-generation-gans/docs/zh.md
  • phases/04-computer-vision/10-image-generation-diffusion/docs/zh.md
  • phases/04-computer-vision/11-stable-diffusion/docs/zh.md
  • phases/04-computer-vision/12-video-understanding/docs/zh.md
  • phases/04-computer-vision/13-3d-vision-nerf/docs/zh.md
  • phases/04-computer-vision/14-vision-transformers/docs/zh.md
  • phases/04-computer-vision/15-real-time-edge/docs/zh.md
  • phases/04-computer-vision/16-vision-pipeline-capstone/docs/zh.md
  • phases/04-computer-vision/17-self-supervised-vision/docs/zh.md
  • phases/04-computer-vision/18-open-vocab-clip/docs/zh.md
  • phases/04-computer-vision/19-ocr-document-understanding/docs/zh.md
  • phases/04-computer-vision/20-image-retrieval-metric/docs/zh.md
  • phases/04-computer-vision/21-keypoint-pose/docs/zh.md
  • phases/04-computer-vision/22-3d-gaussian-splatting/docs/zh.md
  • phases/04-computer-vision/23-diffusion-transformers-rectified-flow/docs/zh.md
  • phases/04-computer-vision/24-sam3-open-vocab-segmentation/docs/zh.md
  • phases/04-computer-vision/25-vision-language-models/docs/zh.md
  • phases/04-computer-vision/26-monocular-depth/docs/zh.md
  • phases/04-computer-vision/27-multi-object-tracking/docs/zh.md
  • phases/04-computer-vision/28-world-models-video-diffusion/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/01-text-processing/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/02-bag-of-words-tfidf/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/03-word-embeddings-word2vec/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/04-glove-fasttext-subword/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/05-sentiment-analysis/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/06-named-entity-recognition/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/07-pos-tagging-parsing/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/08-cnns-rnns-for-text/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/09-sequence-to-sequence/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/10-attention-mechanism/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/11-machine-translation/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/12-text-summarization/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/13-question-answering/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/14-information-retrieval-search/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/15-topic-modeling/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/16-text-generation-pre-transformer/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/17-chatbots-rule-to-neural/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/18-multilingual-nlp/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/19-subword-tokenization/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/20-structured-outputs-constrained-decoding/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/21-nli-textual-entailment/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/22-embedding-models-deep-dive/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/23-chunking-strategies-rag/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/24-coreference-resolution/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/25-entity-linking/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/26-relation-extraction-kg/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/27-llm-evaluation-frameworks/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/28-long-context-evaluation/docs/zh.md
  • phases/05-nlp-foundations-to-advanced/29-dialogue-state-tracking/docs/zh.md
  • phases/06-speech-and-audio/01-audio-fundamentals/docs/zh.md
  • phases/06-speech-and-audio/02-spectrograms-mel-features/docs/zh.md
  • phases/06-speech-and-audio/03-audio-classification/docs/zh.md
  • phases/06-speech-and-audio/04-speech-recognition-asr/docs/zh.md
  • phases/06-speech-and-audio/05-whisper-architecture-finetuning/docs/zh.md
  • phases/06-speech-and-audio/06-speaker-recognition-verification/docs/zh.md
  • phases/06-speech-and-audio/07-text-to-speech/docs/zh.md
  • phases/06-speech-and-audio/08-voice-cloning-conversion/docs/zh.md
  • phases/06-speech-and-audio/09-music-generation/docs/zh.md
  • phases/06-speech-and-audio/10-audio-language-models/docs/zh.md
  • phases/06-speech-and-audio/11-real-time-audio-processing/docs/zh.md
  • phases/06-speech-and-audio/12-voice-assistant-pipeline/docs/zh.md
  • phases/06-speech-and-audio/13-neural-audio-codecs/docs/zh.md
  • phases/06-speech-and-audio/14-voice-activity-detection-turn-taking/docs/zh.md
  • phases/06-speech-and-audio/15-streaming-speech-to-speech-moshi-hibiki/docs/zh.md
  • phases/06-speech-and-audio/16-anti-spoofing-audio-watermarking/docs/zh.md
  • phases/06-speech-and-audio/17-audio-evaluation-metrics/docs/zh.md
  • phases/07-transformers-deep-dive/01-why-transformers/docs/zh.md
  • phases/07-transformers-deep-dive/02-self-attention-from-scratch/docs/zh.md
  • phases/07-transformers-deep-dive/03-multi-head-attention/docs/zh.md
  • phases/07-transformers-deep-dive/04-positional-encoding/docs/zh.md
  • phases/07-transformers-deep-dive/05-full-transformer/docs/zh.md
  • phases/07-transformers-deep-dive/06-bert-masked-language-modeling/docs/zh.md
  • phases/07-transformers-deep-dive/07-gpt-causal-language-modeling/docs/zh.md
  • phases/07-transformers-deep-dive/08-t5-bart-encoder-decoder/docs/zh.md
  • phases/07-transformers-deep-dive/09-vision-transformers/docs/zh.md
  • phases/07-transformers-deep-dive/10-audio-transformers-whisper/docs/zh.md
  • phases/07-transformers-deep-dive/11-mixture-of-experts/docs/zh.md
  • phases/07-transformers-deep-dive/12-kv-cache-flash-attention/docs/zh.md
  • phases/07-transformers-deep-dive/13-scaling-laws/docs/zh.md
  • phases/07-transformers-deep-dive/14-build-a-transformer-capstone/docs/zh.md
  • phases/07-transformers-deep-dive/15-attention-variants/docs/zh.md
  • phases/07-transformers-deep-dive/16-speculative-decoding/docs/zh.md
  • phases/08-generative-ai/01-generative-models-taxonomy-history/docs/zh.md
  • phases/08-generative-ai/02-autoencoders-vae/docs/zh.md
  • phases/08-generative-ai/03-gans-generator-discriminator/docs/zh.md
  • phases/08-generative-ai/04-conditional-gans-pix2pix/docs/zh.md
  • phases/08-generative-ai/05-stylegan/docs/zh.md
  • phases/08-generative-ai/06-diffusion-ddpm-from-scratch/docs/zh.md
  • phases/08-generative-ai/07-latent-diffusion-stable-diffusion/docs/zh.md
  • phases/08-generative-ai/08-controlnet-lora-conditioning/docs/zh.md
  • phases/08-generative-ai/09-inpainting-outpainting-editing/docs/zh.md
  • phases/08-generative-ai/10-video-generation/docs/zh.md
  • phases/08-generative-ai/11-audio-generation/docs/zh.md
  • phases/08-generative-ai/12-3d-generation/docs/zh.md
  • phases/08-generative-ai/13-flow-matching-rectified-flows/docs/zh.md
  • phases/08-generative-ai/14-evaluation-fid-clip-score/docs/zh.md
  • phases/08-generative-ai/19-visual-autoregressive-var/docs/zh.md
  • phases/09-reinforcement-learning/01-mdps-states-actions-rewards/docs/zh.md
  • phases/09-reinforcement-learning/02-dynamic-programming/docs/zh.md
  • phases/09-reinforcement-learning/03-monte-carlo-methods/docs/zh.md
  • phases/09-reinforcement-learning/04-q-learning-sarsa/docs/zh.md
  • phases/09-reinforcement-learning/05-dqn/docs/zh.md
  • phases/09-reinforcement-learning/06-policy-gradients-reinforce/docs/zh.md
  • phases/09-reinforcement-learning/07-actor-critic-a2c-a3c/docs/zh.md
  • phases/09-reinforcement-learning/08-ppo/docs/zh.md
  • phases/09-reinforcement-learning/09-reward-modeling-rlhf/docs/zh.md
  • phases/09-reinforcement-learning/10-multi-agent-rl/docs/zh.md
  • phases/09-reinforcement-learning/11-sim-to-real-transfer/docs/zh.md
  • phases/09-reinforcement-learning/12-rl-for-games/docs/zh.md
  • phases/10-llms-from-scratch/01-tokenizers/docs/zh.md
  • phases/10-llms-from-scratch/01-tokenizers/quiz.zh.json
  • phases/10-llms-from-scratch/02-building-a-tokenizer/docs/zh.md
  • phases/10-llms-from-scratch/02-building-a-tokenizer/quiz.zh.json
  • phases/10-llms-from-scratch/03-data-pipelines/docs/zh.md
  • phases/10-llms-from-scratch/03-data-pipelines/quiz.zh.json
  • phases/10-llms-from-scratch/04-pre-training-mini-gpt/docs/zh.md
  • phases/10-llms-from-scratch/04-pre-training-mini-gpt/quiz.zh.json
  • phases/10-llms-from-scratch/05-scaling-distributed/docs/zh.md
  • phases/10-llms-from-scratch/05-scaling-distributed/quiz.zh.json
  • phases/10-llms-from-scratch/06-instruction-tuning-sft/docs/zh.md
  • phases/10-llms-from-scratch/06-instruction-tuning-sft/quiz.zh.json
  • phases/10-llms-from-scratch/07-rlhf/docs/zh.md
  • phases/10-llms-from-scratch/07-rlhf/quiz.zh.json
  • phases/10-llms-from-scratch/08-dpo/docs/zh.md
  • phases/10-llms-from-scratch/08-dpo/quiz.zh.json
  • phases/10-llms-from-scratch/09-constitutional-ai-self-improvement/docs/zh.md
  • phases/10-llms-from-scratch/10-evaluation/docs/zh.md
  • phases/10-llms-from-scratch/10-evaluation/quiz.zh.json
  • phases/10-llms-from-scratch/11-quantization/docs/zh.md
  • phases/10-llms-from-scratch/11-quantization/quiz.zh.json
  • phases/10-llms-from-scratch/12-inference-optimization/docs/zh.md
  • phases/10-llms-from-scratch/12-inference-optimization/quiz.zh.json
  • phases/10-llms-from-scratch/13-building-complete-llm-pipeline/docs/zh.md
  • phases/10-llms-from-scratch/14-open-models-architecture-walkthroughs/docs/zh.md
  • phases/10-llms-from-scratch/15-speculative-decoding-eagle3/docs/zh.md
  • phases/10-llms-from-scratch/16-differential-attention-v2/docs/zh.md
  • phases/10-llms-from-scratch/17-native-sparse-attention/docs/zh.md
  • phases/10-llms-from-scratch/18-multi-token-prediction/docs/zh.md
  • phases/10-llms-from-scratch/19-dualpipe-parallelism/docs/zh.md
  • phases/10-llms-from-scratch/20-deepseek-v3-walkthrough/docs/zh.md
  • phases/10-llms-from-scratch/21-jamba-hybrid-ssm-transformer/docs/zh.md
  • phases/10-llms-from-scratch/22-async-hogwild-inference/docs/zh.md
  • phases/10-llms-from-scratch/25-speculative-decoding/docs/zh.md
  • phases/10-llms-from-scratch/34-gradient-checkpointing/docs/zh.md
  • phases/11-llm-engineering/01-prompt-engineering/docs/zh.md
  • phases/11-llm-engineering/01-prompt-engineering/quiz.zh.json
  • phases/11-llm-engineering/02-few-shot-cot/docs/zh.md
  • phases/11-llm-engineering/02-few-shot-cot/quiz.zh.json
  • phases/11-llm-engineering/03-structured-outputs/docs/zh.md
  • phases/11-llm-engineering/03-structured-outputs/quiz.zh.json
  • phases/11-llm-engineering/04-embeddings/docs/zh.md
  • phases/11-llm-engineering/04-embeddings/quiz.zh.json
  • phases/11-llm-engineering/05-context-engineering/docs/zh.md
  • phases/11-llm-engineering/05-context-engineering/quiz.zh.json
  • phases/11-llm-engineering/06-rag/docs/zh.md
  • phases/11-llm-engineering/06-rag/quiz.zh.json
  • phases/11-llm-engineering/07-advanced-rag/docs/zh.md
  • phases/11-llm-engineering/07-advanced-rag/quiz.zh.json
  • phases/11-llm-engineering/08-fine-tuning-lora/docs/zh.md
  • phases/11-llm-engineering/08-fine-tuning-lora/quiz.zh.json
  • phases/11-llm-engineering/09-function-calling/docs/zh.md
  • phases/11-llm-engineering/09-function-calling/quiz.zh.json
  • phases/11-llm-engineering/10-evaluation/docs/zh.md
  • phases/11-llm-engineering/10-evaluation/quiz.zh.json
  • phases/11-llm-engineering/11-caching-cost/docs/zh.md
  • phases/11-llm-engineering/11-caching-cost/quiz.zh.json
  • phases/11-llm-engineering/12-guardrails/docs/zh.md
  • phases/11-llm-engineering/12-guardrails/quiz.zh.json
  • phases/11-llm-engineering/13-production-app/docs/zh.md
  • phases/11-llm-engineering/13-production-app/quiz.zh.json
  • phases/11-llm-engineering/14-model-context-protocol/docs/zh.md
  • phases/11-llm-engineering/15-prompt-caching/docs/zh.md
  • phases/11-llm-engineering/16-langgraph-state-machines/docs/zh.md
  • phases/11-llm-engineering/17-agent-framework-tradeoffs/docs/zh.md
  • phases/12-multimodal-ai/01-vision-transformer-patch-tokens/docs/zh.md
  • phases/12-multimodal-ai/02-clip-contrastive-pretraining/docs/zh.md
  • phases/12-multimodal-ai/03-blip2-qformer-bridge/docs/zh.md
  • phases/12-multimodal-ai/04-flamingo-gated-cross-attention/docs/zh.md
  • phases/12-multimodal-ai/05-llava-visual-instruction-tuning/docs/zh.md
  • phases/12-multimodal-ai/06-any-resolution-patch-n-pack/docs/zh.md
  • phases/12-multimodal-ai/07-open-weight-vlm-recipes/docs/zh.md
  • phases/12-multimodal-ai/08-llava-onevision-single-multi-video/docs/zh.md
  • phases/12-multimodal-ai/09-qwen-vl-family-dynamic-fps/docs/zh.md
  • phases/12-multimodal-ai/10-internvl3-native-multimodal/docs/zh.md
  • phases/12-multimodal-ai/11-chameleon-early-fusion-tokens/docs/zh.md
  • phases/12-multimodal-ai/12-emu3-next-token-for-generation/docs/zh.md
  • phases/12-multimodal-ai/13-transfusion-autoregressive-diffusion/docs/zh.md
  • phases/12-multimodal-ai/14-show-o-discrete-diffusion-unified/docs/zh.md
  • phases/12-multimodal-ai/15-janus-pro-decoupled-encoders/docs/zh.md
  • phases/12-multimodal-ai/16-mio-any-to-any-streaming/docs/zh.md

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

…t-in quizzes

- loadQuiz now prefers quiz.zh.json (local-first, then ZH_REPO raw) when the
  reader is in Chinese, falling back to the English quiz.json. Re-runs on
  language switch (fetchLesson is already re-invoked by the lang toggle).
- getQuizQuestions() (the built-in fallback quizzes shown when a lesson has no
  quiz.json) now returns Chinese questions in zh mode, English otherwise.
  correct-answer indices and option order are identical across languages.
Chinese translations of every non-empty quiz.json across phases 02/03/10/11,
one quiz.zh.json beside each quiz.json. question/options/explanation are
translated; correct (answer index), stage, and option order are preserved
byte-identical so scoring stays correct. English quiz.json files are untouched.

Translated with Claude Opus 4.8 via the superpowers workflow, following
TRANSLATION_GUIDE.md (technical terms kept in English, must-translate terms
standardized).
Localize the display text inside mermaid diagrams (node labels, edge labels,
subgraph titles, and sequence/state message text) across 157 docs/zh.md so the
in-diagram text renders in Chinese alongside the already-translated prose.

Only label text is translated — node IDs, arrows, keywords (graph/subgraph/
direction/style/classDef), \n line breaks, and style fill/stroke lines are
preserved byte-identical, so every diagram still renders. ASCII punctuation
that breaks mermaid parsing inside labels was swapped for fullwidth Chinese
punctuation. English en.md is untouched.

Translated with Claude Opus 4.8 via the superpowers workflow, following
TRANSLATION_GUIDE.md.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant