Repository navigation
feat(i18n, app-shell): one word per state in Studio and Setup, and the permission matrix columns in Chinese - #29841
Merged
Conversation
…hinese matrix headers Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsR2jR2PhzeUkFuXHiwpdp
…t gate's issue spelling Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsR2jR2PhzeUkFuXHiwpdp
Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsR2jR2PhzeUkFuXHiwpdp
Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsR2jR2PhzeUkFuXHiwpdp
…zh-CN The switch-off confirm (title, body, button) and the switched-on/off toasts still read 开启 / 关闭 on the page whose column reads 已停用. Five zh rows move to 启用 / 停用, pinned by a census over every zh packagedAutomation row. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsR2jR2PhzeUkFuXHiwpdp
Contributor
Author
|
domain:ui#2 · zhuangjianguo · session_01QsR2jRFuJz9QBZqPVHYVhJ 维护者速读
席位意见: 用词按本席 05:25Z 的裁定落实,没有扩大。评审时发现设置 › 打包动作的停用确认框和两条提示仍是「开启 / 关闭」,与同页状态列的「已停用」不一致,已退回补齐( 席位核对 — ACCEPT ·
|
This was referenced Nov 3, 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.
Requested by Steedos · project thread
Fixes #29729
Clause-②: no
Metadata-protocol: none
维护者速读
ui/packages/i18n/src/namespaces/studio/zh.ts的改动行,以及PermissionMatrixEditor.tsx里列头、图例和 OWD 标签的几处改动。What changes
Strings, one legend gate, one chip and one memo. No data, API, permission or protocol behaviour changes.
engine.studio.ledger.on/off/notRunning/hint/walled/switchedOn/switchedOff) moves from 开启 / 关闭 to 启用 / 停用. ConsolepackagedAutomation.offmoves from 已关闭 to 已停用, andactionsSubtitlefrom 关闭后 to 停用后.engine.studio.ledger.on/off/notRunningread "Switched on/off for this deployment[, not running here]".engine.studio.auto.on/off/offTitle/enabled/disabled/enabledToast/disabledToastread "Switched on" / "Switched off" (they said On / Off and Enabled / Disabled). These are the words Studio: one vocabulary for an item's state across the pillars, All metadata and Access #29705 landed for the landing. The verbs (enableTitle/disableTitle) stay verbs.perm.badge.customreads 新增 / "Added" (it read 自定义 / "Custom"). See Acceptance notes for why it is not 已定制.perm.col.*family: 创建 读取 编辑 删除 导出 转移 查看全部 修改全部. The two long ones break between 查看/全部 and 修改/全部 (break-keep).headersAbbreviate). So zh no longer repeats the words, and en keeps the legend.perm.owd.chip: en "OWD {value}", zh 记录共享模型:{value}. Before, it was a hard-codedOWDprefix.getObjectActions(locale)was memoised on the locale alone. A zh matrix whose first render ran before the lazily fetchedstudiocatalogue was resident kept the en answer, so Setup's legend and every header tooltip read English in zh-CN. The deps now carryisStudioCatalogueLoaded(locale).check-i18n-en-driftacceptsobjectstack#N.ISSUE_PATTERNis now^(?:objectui|objectstack)#\d+$, because the ui tree lives in this repo now. The 7 enauto.*rows above are designer waivers keyed toobjectstack#29729, and the test's designer ceiling moves 0 → 7.Acceptance notes
PermissionMatrixEditor.tsxL748 picks the badge withconst shippedByPackage = !!packageId || codeIsArtifact;. Theperm.badge.custombranch is therefore a permission set that no package ships and that has no code artifact: one this deployment added. Nothing on that branch checks whether a shipped base was changed, so 已定制 (customized) would claim something the editor does not know. 新增 / Added is the wordengine.customizationMark.addedalready uses for an item added beside a base, and the census test pins the two to the same word..custompair takes. This PR does not touch that choice: only the word on thecustombranch changes. If Studio Access: a permission set the .custom pair added reads "Package" in its header, beside the rail's "Added" #29809 lands first, the rationale above still holds for whatever reaches that branch.packagedAutomationOn / Off: not ruled on this card.engine.packages.detail.*Disableable(禁用并重新启用, a new 禁用 / 停用 split). These are left for a follow-up card.Screenshots
On the merged tree, in
/mnt/project-files/issue-29729/after/(project files):after-environment-{zh,en}-1304.png: Setup's matrix, zh words with no legend, en letters with the legend, and the chip.after-studio-{zh,en}-1304.png: the Studio Access pillar.rail-{en,zh}-1024.png: the automation rail at the narrowest Studio width. "Switched on" is 69 px in a 215 px legend with no overflow (scrollWidth equals width). The en legend grows from 3 lines to 4 (72 px high). zh is unchanged at 53 px.Before shots and the legend options are in
/mnt/project-files/issue-29729/legend/.Tests
PermissionMatrixEditor.columnHeaders-29729.test.tsx. It does not preload the catalogue and asserts the not-resident precondition first. It checks zh headers, tooltips and no legend in both renderings; an en CONTROL with letters and the legend; and the chip in zh and en.DirectoryPage.stateVocabulary-29705.test.tsx: a second-pass census.addedword.check-i18n-en-drift.test.ts: acceptsobjectstack#N. A CONTROL still refusesobjectstack 29729,objectstack#,cloud#12,#29729,objectstack#29729xandobjectui-3650. The ceiling ratchet moves to 7.Verification
Nine ablations each turned red, with the tree restored after each:
perm.col.createback to C;OWDprefix back;packagedAutomation.offback to 已关闭;auto.offback to Off.The gate script is pinned by its CONTROL test, not by ablation.
184 neighbour test files are green, in three chunks. After the main merge, the 13 touched test files (220 tests) are green.
dispatch-gates: all 35 derived gates exit 0.check-i18n-en-drift(run by hand, not derived) is green with 7 waived.Type-check passes for
@object-ui/i18nand@object-ui/app-shell. ESLint: 0 errors.These gates exit 0 after the merge: sdui-manifest, changeset-no-major, empty-changeset, adr-0087, nul-bytes, type-check-debt.
Deviation: the refusal text and the help-text examples in
check-i18n-en-drift.mjsnow spellobjectstack#1234, beyond the one-line pattern change.Generated by Claude Code