Repository navigation
feat(i18n): translate Introduction + Quickstart to all 7 locales (T6-2) - #48
Merged
Merged
Conversation
ety001
force-pushed
the
feat/t6-2-intro-quickstart-i18n
branch
from
November 2, 2026 16:07
9fcb68f to
db07d4f
Compare
- Introduction: handwritten docs/<lc>/introduction/index.md for zh/ru/fr/de/it/es/ko (frontmatter titles translated; link targets byte-identical to the en page, only link text localized). - Quickstart: generator-driven. New data/translations/<lc>/quickstart.yml carry every prose fragment (missing fragment = hard gen error, no silent English fallback); gen-nodes.mjs gains a --locale mode that builds docs/<lc>/quickstart/index.md through the same buildPage() template as the en page, whose prose moved into an embedded EN_STRINGS table. Node/library table rows, curl example and link targets stay single-sourced from the en data (only column headers translated); EXPECTED_NODE_COUNT/EXPECTED_UPDATED and guards G1-G7 unchanged and now enforced per generated page. - pnpm gen:nodes now regenerates en + all 7 locales (same loop shape as docs:gen); en output verified byte-identical after the refactor. - config.mts: each locale sidebar gains a Guides group (指南 / Руководства / Guides / Anleitung / Guide / Guías / 가이드) with the translated Introduction + Quickstart entries. - Terminology follows the frozen <lc>-glossary.json baselines; code identifiers (STEEM, JSON-RPC, steemd, steem-js, steemgosdk, steem-python) stay English; first occurrences annotated '译法 (English)' style per locale conventions. Validation: gen idempotent (8 pages, en byte-identical), en introduction/quickstart untouched, 14 locale pages built to HTML, pnpm validate:data 2 warnings (unchanged), NODE_OPTIONS=--max-old- space-size=8192 pnpm build exit 0.
…count note in zh glossary meta
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
T6-2 — Introduction + Quickstart i18n (7 locales)
Translates the two handbook pages to zh / ru / fr / de / it / es / ko (14 new pages) and wires them into every locale sidebar.
Quickstart (generator-driven)
data/translations/<lc>/quickstart.yml×7: every prose fragment of the page (frontmatter title/description, page intro, both section headings, library-table lead + column headers, library note, node-table lead + websocket note + column headers, community-list freshness note, curl-section heading + lead, closing paragraph). A missing fragment is a hard generator error — no silent English fallback.scripts/gen-nodes.mjsgains a--locale <lc>mode that buildsdocs/<lc>/quickstart/index.mdthrough the samebuildPage()template as the en page; the en prose moved into an embeddedEN_STRINGStable so en and locales share one template.pnpm gen:nodesnow regenerates en + all 7 locales (same loop shape asdocs:gen).EXPECTED_NODE_COUNT/EXPECTED_UPDATEDand guards G1–G7 are unchanged and now enforced for every generated page.docs/quickstart/index.mdverified byte-identical after the refactor (diff against a pre-change copy); gen is idempotent (re-run produces identical bytes; re-running all 8 pages leaves the tree clean).Introduction (handwritten)
docs/<lc>/introduction/index.md×7, full translation including frontmatter titles. All link targets are byte-identical to the en page (verified programmatically); only link text is localized. Internal file pages keep the.htmlform (services subpages), index pages the directory form — same as en.docs/.vitepress/<lc>-glossary.jsonbaselines; corpus reference:data/translations/<lc>/purposes.yml. Code identifiers (STEEM, JSON-RPC, steemd, steem-js, steemgosdk, steem-python, condenser_api, appbase…) stay English; translatable glossary terms (e.g. dynamic global properties) are annotated译法 (English)-style at first occurrence.Sidebar (config.mts)
Each locale sidebar gains a Guides group — 指南 / Руководства / Guides / Anleitung / Guide / Guías / 가이드 — with translated Introduction + Quickstart entries pointing at
/<lc>/introduction/and/<lc>/quickstart/. Deliberately no Glossary entry here to keep the conflict surface minimal.Validation
pnpm gen:nodes: 8 pages, idempotent; en output byte-identical.NODE_OPTIONS=--max-old-space-size=8192 pnpm build→ exit 0 (239 s); all 14 new pages render to HTML.pnpm validate:data→ OK, 2 warnings (unchanged baseline).