Skip to content

docs(zh): approvals spells plugin-owned view and tab names from the owner zh-CN pack - #1971

Merged
os-warren merged 2 commits into
mainfrom
claude/issue-1552-approvals-plugin-view-names
Oct 1, 2026
Merged

os-warren merged 2 commits into
mainfrom
claude/issue-1552-approvals-plugin-view-names

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Fixes #1552

Applies the option C ruling (comment 5566182270). On a Chinese docs page a view name is spelled with the zh-CN value from the pack of the package that owns the object. For sys_approval_request that pack is plugin-approvals' own bundle. The English-plus-parenthesis gloss form is dropped. Only content/docs/revenue/approvals.zh-Hans.mdx and .zh-Hant.mdx change, plus one empty-frontmatter changeset. Nothing ships.

Measured sources (installed pin @objectstack/* 17.5.0)

  • Views. node_modules/@objectstack/plugin-approvals/dist/index.mjs declares sys_approval_request.listViews with four entries. Its src/translations/zh-CN.objects.generated.ts block (the one registered under "zh-CN") gives the labels below. zhCNGeneratedSourceHashes carries no view key, so none of them falls back to English.
  • Tabs. The approval centre's tabs are not object views. node_modules/@objectstack/console/dist/assets/i18n-locale-zh-*.js renders them as approvalsInbox.tabMyPending/tabSubmitted/tabAll = 待我审批 / 我发起的 / 全部, and the en locale has My Pending / Submitted by me / All. The owning package ships a zh string, so the same principle applies to them.

View-by-view mapping

English (shipped) Kind Owner zh-Hans zh-Hant
My Pending (my_pending) view plugin-approvals 待我审批 待我審批
I Submitted (submitted_by_me) view plugin-approvals 我提交的 我提交的
Completed (completed) view plugin-approvals 已完成 已完成
All (all_requests) view plugin-approvals 全部 全部
My Pending (tabMyPending) tab console 待我审批 待我審批
Submitted by me (tabSubmitted) tab console 我发起的 我發起的
All (tabAll) tab console 全部 全部

zh-Hant uses the Traditional-script form of the same string, which is the conversion the page and the AGENTS.md zh-Hant rule already apply (审 to 審, 发 to 發). No word is swapped. The zh-Hant tab table's lead-in no longer says Simplified strings are listed alongside, because the rows no longer carry them.

Stale-row decision: none removed

The card counted five view names against the plugin's four. Measured on the pin, the object-views table on the current page has four rows: My Pending, I Submitted, Completed and All. They map one-to-one to my_pending, submitted_by_me, completed and all_requests, and each row's description matches the view's filter. The premise that I Submitted is not in the bundle does not hold. I Submitted is the English label of submitted_by_me, and the key name is probably where that reading came from. The fifth name, Submitted by me, is the approval centre's tab tabSubmitted, which lives in the tabs table. It is not a view, so no row is stale and none was merged. The collision table still holds on both faces: 待我审批 and 全部 appear verbatim on both sides, and 我提交的 / 我发起的 differ by one word.

Prose

The "why the names changed" paragraph now names the views as 待我审批 / 我提交的 / 已完成. Its point is that the English tab differs from the phantom Submitted by Me only in capitalisation. To keep that point, it now says the 我发起的 tab is called Submitted by me in the English UI. The three phantom names and the Inbox, Approval Requests and Action History denials are unchanged.

Known red: test/docs-revenue-approvals-navigation.test.ts (out of this card's file surface, not edited)

pnpm verify at 7cd0b0e: validate, typecheck, lint, lint:i18n-gate, hygiene, hygiene:tokens and build all pass. The test step reports Test Files 1 failed | 172 passed (173) and Tests 4 failed | 3721 passed | 1 skipped. All four failures are in this file, two per zh face.

  • quotes the approval centre using labels the installed console really ships (L537). The zh fixtures' quotedFromConsole (L243-246 and L279-282) require the English My Pending, plus 我发起的 in Simplified script on zh-Hant.
  • still lists every built-in view of the approval request, by its source label (L553-561). This asserts the English REQUEST_VIEWS on every face.

Both pins encode the gloss form the ruling retired. The fix needs maintainer scope and is left to the seat.

Not changed (outside the ruled rows)

  • The sidebar entry Inbox and the group My Work. This app's own navigation is outside the view-name rows, and Inbox is pinned by the same test.
  • The sys_approval_action views Recent / By Actor / All. These are plugin-owned views of the same class, but they sit outside the rows the ruling names.
  • The Status filter labels, which are picklist-class and ruling item 5.

Generated by Claude Code

…wner's zh-CN pack (#1552)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X8U3asekbiC7yWoEPWR4Dg
@vercel

vercel Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
hotcrm Ignored Ignored Oct 1, 2026 2:08am UTC

Request Review

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Sep 30, 2026
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

CI blocker: Build and Test (22.x) is red on 7cd0b0e. This PR causes it, as expected.

test/docs-revenue-approvals-navigation.test.ts (L537, L560) still pins the English-plus-gloss form that ruling C retired. On both zh faces:

  • quotedFromConsole expects the section to quote My Pending.
  • "still lists every built-in view … by its source label" compares against the English REQUEST_VIEWS.

The fix touches only that test, and adds no guard:

  • Drop My Pending from the zh quotedFromConsole fixtures. On zh-Hant, also drop 我发起的, since the page now spells it 我發起的.
  • Give each face its own expected view labels: en gets REQUEST_VIEWS, zh-Hans gets the plugin's zh-CN listViews labels, and zh-Hant gets the same labels in Traditional script.

The file is outside the claimed surface, so the fix waits for the maintainer to widen scope before it is pushed here. This is not a flake, so no re-run.


Generated by Claude Code

…anguage (#1552)

Ruling C spells plugin-owned view names from the owner's zh-CN pack, so the
zh pages no longer carry the English view labels or the English-plus-gloss
form. The section check now takes each face's labels: en from the schema,
zh-Hans from the plugin's zh-CN block (read off the decoded bundle, as
docs-search-navigation-views does), zh-Hant by character conversion. The zh
quotedFromConsole fixtures drop the retired English 'My Pending' and, on
zh-Hant, the simplified 我发起的 the page no longer spells. No guard added.

Maintainer scope: 「1971 可以改测试,繁体用繁体」.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X8U3asekbiC7yWoEPWR4Dg
@github-actions github-actions Bot added the ci/cd CI plumbing and the verification pipeline label Oct 1, 2026
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

ACCEPT — #1552: approvals spells plugin-owned view and tab names from the owner's zh-CN pack.

The CI blocker above is fixed in c194a60c. The maintainer widened the surface and ruled the zh-Hant spelling, verbatim: 「1971 可以改测试,繁体用繁体」.

test/docs-revenue-approvals-navigation.test.ts now pins each face's request views in that face's own language:

  • en reads the schema labels.
  • zh-Hans reads the plugin's zh-CN block from the decoded bundle: 待我审批 / 我提交的 / 已完成 / 全部.
  • zh-Hant takes the same labels by character conversion.

The zh quotedFromConsole fixtures no longer quote the retired English My Pending, and on zh-Hant no longer quote the simplified 我发起的. No guard was added.

Every check is green on c194a60c: Build and Test, Typecheck and Build, Quality Checks, Playwright, CodeQL, link-check and Check Changeset. Local pnpm verify also passes: 173 files, 3725 passed / 1 skipped.

Marking ready and enabling auto-merge. #1552 closes on merge.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/cd CI plumbing and the verification pipeline documentation Improvements or additions to documentation

Projects

None yet

2 participants