feat(web): move docs/sandbox and docs/web onto the dictionary spine (#5337) - #5520
Conversation
|
Thanks @Lstarsky0 for taking the time to contribute. This repository is observing a maintainer-managed PR intake gate in dry-run mode, so this pull request is staying open. This note helps maintainers prepare the allowlist before any enforcement is considered. Please read |
da662cd to
e387a11
Compare
…mbown#5337) Both pages carried 14 and 15 isZh branches; both are now zero. Same shape as Hmbown#5504 and Hmbown#5517: an en and a zh dictionary per page, wired through types.ts and index.ts, and both files added to check-locales.mjs's OPTIONAL_FILES so zh is held to key and token parity while the other sixteen locales fall back to English. The config values the policies paragraph typesets as inline code, and the commands and flags on the browser-client page, stay code-owned in the page and reach the dictionaries as {token}s, per docs/VOICE.md. Rendered output is unchanged across all 36 pages (18 locales x 2).
81c1913 to
7f1fb21
Compare
|
The The earlier |
|
Separately: the reason a TypeScript-only PR runs the Rust workspace on macOS and Windows at all is that the |
Hmbown#5517 merged after v0.9.10 was cut and left no changelog entry, so check-feature-release-notes.sh fails on any feature commit whose message mentions it, including this branch's. crates/tui/CHANGELOG.md is the sync-changelog.sh slice of the same entry. Signed-off-by: Lstarsky0 <59827030+Lstarsky0@users.noreply.github.com>
|
|
PR #5517 shipped docs/constitution and docs/runtime-api onto the typed dictionary spine and merged into this release, but the 0.9.10 Contributors section never named it. The new feature-release-note gate catches this on any branch whose commits reference #5517 — including Lstarsky0's follow-up PR #5520, where the honest fix is to record the receipt rather than delete the contributor's reference to their own earlier work. The entry states what actually landed: 28 inline `isZh` branches replaced by typed English and Chinese dictionaries held to key and token parity, with the other sixteen locales keeping the English fallback. crates/tui/CHANGELOG.md regenerated with ./scripts/sync-changelog.sh. Signed-off-by: Hunter Bown <hmbown@gmail.com>
…eased Lstarsky0's receipt landed in `[Unreleased]`, but v0.9.10 is not tagged yet, so everything on main ships in it. generate-release-body.sh extracts only the `[<version>]` section, which means an `[Unreleased]` entry would be dropped from the 0.9.10 release body — the exact disappearance that check-feature-release-notes.sh was written to catch. Move the entry beside its sibling phase in 0.9.10 `### Added` and adopt that section's established shape, so Hmbown#5504 and Hmbown#5517 now read alike. The wording, the epic framing, and the contributor's own commit are kept; only the placement changes. main already carries the matching Contributors credit line. crates/tui/CHANGELOG.md regenerated with ./scripts/sync-changelog.sh. Signed-off-by: Hunter Bown <hmbown@gmail.com>
Next group in the #5337 series, after #5517.
docs/sandboxanddocs/webcarried 14 and 15isZhbranches; both are now zero. Same shape as before: two dictionaries per page,types.tsandindex.tswired, and both files added tocheck-locales.mjs'sOPTIONAL_FILESso zh is held to key and token parity while the other sixteen locales fall back to English exactly as the ternaries did.The
sandbox_modevalues that the policies paragraph typesets as inline<code>, and the commands and flags on the browser-client page, stay code-owned and reach the dictionaries as{token}s. Two of the sandbox tokens appear twice in the same sentence, whichsplitTokenshandles butcheck-locales.mjscannot see — it compares token sets — so the unit test asserts the full ordered list instead.The platform rows are the one place I did not use a code-owned key. Their headings are translated (
Linux · opt-in bubblewrap/Linux · 可选 bubblewrap), so they are copy, and the row key stays the name as it was before. The test only asserts the count for that list.Rendered output is unchanged. I compared all 36 pages (18 locales × 2) against a clean worktree at the same base, and this time kept the inline tags and their
classattributes in the comparison instead of flattening every tag to a space. That matters: the flattened form cannot tell、<code>danger-full-access</code>from、 <code>danger-full-access</code>, and the zh policies sentence has a space on one side of a code span and not the other, because of where the old JSX wrapped its lines. The difference is empty. As a control, three one-word edits — one in a token sentence, one in an array row, one in a plain string — do get reported.npm run lint,npm test(312 passing) andnpm run check:localesare clean.No-Issue: one page group of the #5337 series — the epic stays open until the last group lands.