Repository navigation
docs(zh-Hant): name platform navigation in English on the last three pages - #1537
Merged
Merged
Conversation
…pages The three zh-Hant pages outside #1113's eight still spelled Setup navigation in Traditional Chinese. Every citation names a screen in order to deny it exists, so the prose was correct and no reader was sent anywhere wrong — but the product word was spelled two ways across adjacent pages. The convention holds on its measured reason: the platform ships no Traditional-Chinese pack, so the console falls back to Simplified, and a Traditional page labels platform navigation in English rather than mix Simplified glyphs into Traditional prose. Six substitutions, each taking the label verbatim from the page's English twin: state-machines.zh-Hant.mdx:120 Setup -> Object -> Status -> State Machine import-and-export.zh-Hant.mdx:10 Setup -> Data, and the nine group roster import-and-export.zh-Hant.mdx:144 Setup -> Data import-and-export.zh-Hant.mdx:148 Setup -> Privacy -> Data Subject Requests faq.zh-Hant.mdx:60 the Setup app named with no path form faq.zh-Hant.mdx:95 Setup -> Business Hours No guard change. These shapes are invisible to the citation rule by design; widening it would flag the deliberate denials the last three PRs wrote. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019hUuCQStzXGMFSX4dzww5t
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
This was referenced Sep 3, 2026
os-sales
marked this pull request as ready for review
September 3, 2026 10:39
This was referenced Sep 3, 2026
os-sales
added a commit
that referenced
this pull request
Sep 3, 2026
…nctions (#1553) #1368 corrected the REASON zh-Hant pages name platform navigation in English — the console falls back to Simplified, so a Traditional page labels navigation in English rather than ship mixed Simplified/Traditional script — and wrote it into AGENTS.md:343-345. Reaching the reader took four PRs across two rounds (#1537, #1546, #1549, #1554) and the sentence ended up corrected in nine places. Nothing went red at any point, because nothing in CI reads prose. The new guard pins the CLAIM, not the punctuation: a passage naming the convention must state the sanctioned reason in the same passage, matched wrap-insensitively over de-commented, emphasis-stripped text. The three measured register variants — full stop inside the parens, outside it, and the short glossary form that drops the trailing clause — all pass unchanged. Replayed over the drift's real history it is red for the whole window and green only from #1554: 7 red of 7 convention passages at 05f867e^, 7 of 8 at 30f2500, 1 of 9 at 18f523f^, 0 of 9 at 18f523f and today. The last red is the navigation guard's own file header, the site that survived three days because that file exempts itself from its own scan. This file takes no exemption. It matches the assertion rather than the vocabulary, so the deliberate negation #1546 wrote is read and passed on its merits rather than skipped; and its retired-reason ledger is escaped the way docs-object-term-consistency.test.ts escapes retired spellings, so the file never literally spells the sentence it bans. The rule caught two violations in this file itself on its first run, and both were rewritten rather than exempted. The English markers are derived — the first test parses the AGENTS.md bullet and asserts they are substrings of it, so the next correction to the rulebook goes red here. The Chinese markers cannot be derived (AGENTS.md carries no Traditional rendering) and are pinned constants citing it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019hUuCQStzXGMFSX4dzww5t
This was referenced Sep 3, 2026
Merged
This was referenced Sep 6, 2026
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.
Fixes #1125
The three zh-Hant pages outside #1113's eight still spelled platform navigation in Traditional Chinese. Every one of those citations names a screen in order to say it does not exist, so the prose was already correct and no reader was sent to a wrong path — what was wrong is that the product's own vocabulary was spelled two ways across adjacent pages.
reference/faq.zh-Hant.mdxdenied Business Hours in Chinese three paragraphs after citing Setup → Audit Logs in English, whileadministration/setup.zh-Hant.mdxdenies that same screen as 「不存在「Setup → Business Hours」這個畫面」.The convention stands on its measured reason (#1368): the platform ships
en/zh-CN/ja-JP/es-ESand no Traditional-Chinese pack, so a zh-Hant reader's console falls back to Simplified. A Traditional page labels platform navigation in English rather than mix Simplified glyphs into Traditional prose. It is not because the reader sees an English UI — that reason was measured false and is not relied on here.What changed
Six substitutions across three pages. Every replacement label is taken verbatim from the page's English twin, not translated back.
administration/state-machines.zh-Hant.mdx:120state-machines.mdx:120guides/import-and-export.zh-Hant.mdx:10設定 → 資料 → …Setup → Data → …import-and-export.mdx:10guides/import-and-export.zh-Hant.mdx:144設定 → 資料Setup → Dataimport-and-export.mdx:144guides/import-and-export.zh-Hant.mdx:148設定 → 隱私 → 資料主體請求Setup → Privacy → Data Subject Requestsimport-and-export.mdx:148reference/faq.zh-Hant.mdx:60faq.mdx:60reference/faq.zh-Hant.mdx:95faq.mdx:95The lead-in on
state-machines.zh-Hant.mdx:120became 「不是在 Setup 裡點幾下」, which is the phrasing already landed onadministration/automation.zh-Hant.mdx:32, and the denial now ends 「這個頁面」 to match both the English ("page") and the landed shape onadministration/setup.zh-Hant.mdx:95.import-and-export.zh-Hant.mdx:10was wrong in a second way and is the one worth reviewing closely. It listed the Setup app's nine navigation groups in Traditional as a roster the reader is told to check against their own sidebar — a sidebar that renders none of the nine that way. Note the sixth group: the Traditional text spelled it 設定, which reads as Setup but names the Configuration group. The roster now matches the English page and the landed one onadministration/sandbox-and-releases.zh-Hant.mdx:10.Declared beyond the card's five-line table
reference/faq.zh-Hant.mdx:60is a sixth site the card's table does not list, found by the sweep the dispatch asked for. It names the Setup app in Chinese with no path form at all (「設定裡也沒有對應入口」), so it is not a denial-form miss — it is a shape the citation rule could never see, because that rule needs an arrow. Its English twin reads "no Setup entry for one". It is the same defect class, on a file this claim holds exclusively, and leaving it would have left the page inconsistent again after the pass.No guard change
test/docs-setup-navigation-names.test.tsis untouched, deliberately. Its citation rule extracts a path only when the bold span opens with an app word, and these sentences open with the denial. Widening it to see denials would flag the sentences the last three PRs wrote on purpose.Verification
pnpm verifygreen in full — validate, typecheck, lint, lint:i18n-gate, hygiene, hygiene:tokens, build, test — at8d14865c:The token ratchet cannot move on this diff — it measures
src/**/*.tsonly.The guard was proved live on these files, not merely silent
A green guard over an unchanged shape proves nothing on its own, so the shape was ablated first. One denial on
guides/import-and-export.zh-Hant.mdxwas rewritten into the bold form the rule does parse:So the guard does scan these pages and the miss is purely the shape of the bold span. Baseline before the edits: 18/18 passed. After: 18/18 passed, and zero
(設定|工作室)followed by an arrow remain anywhere undercontent/docs/**/*.zh-Hant.mdx.🤖 Generated with Claude Code
https://claude.ai/code/session_019hUuCQStzXGMFSX4dzww5t
Generated by Claude Code