Repository navigation
Commit 6444288
fix(platform-objects): zh-CN organization logo label reads 徽标, not the slug-like 标识 (#26069)
<!-- claude-projects-attribution: {"github_login":"os-project-manager"}
-->
_Requested by **Leehom** · [project
thread](https://claude.ai/code/project/chan_01TenzsRopZj4jMbvjX8uz1X?thread=cmsg_01TenzsRopZj4jMbvjX8uz1X8Km4RxN1TuQYd4JWCoys2D)_
Fixes #25629
Clause-②: no
Metadata-protocol: none
Claim of record: `6413940520` on the card (card thread, `domain:server`
seat 2). Branch `claude/project-thread-j7jeqt` is the harness-pinned
branch for this session. It names no issue, so the claim is the identity
record.
## What changed
- zh-CN `sys_organization.fields.logo.label`: 「标识」 → 「徽标」. 「标识」
("identifier") sat directly beside the slug's 「标识符」 on the organization
record page.
- One `patch` changeset for `@objectstack/platform-objects`.
## Where the fix lives, measured
- There is no upstream source for a translated leaf.
`packages/platform-objects/scripts/i18n-extract.config.ts` uses each
locale's committed bundle (`zh-CN.ts`, which pins `objects` to
`zh-CN.objects.generated.ts`) as the merge baseline. `os i18n extract
--fill=default` keeps any non-empty leaf in a non-default locale
(`packages/cli/src/utils/i18n-extract.ts`, the `mergeExisting` branch).
The generated file's own header says "Edit translations in place … only
the leaf string values", and the source-hashes companion says
"Re-translate the leaf in `LOCALE.objects.generated.ts`".
- So the leaf value was re-translated in place, then the bundles were
regenerated with `pnpm i18n:extract`. The regeneration round-trips it:
the PR diff is that one leaf, and no other bundle byte moved (11 files
rewritten, 1 changed). `pnpm check:i18n` is green on this head:
`check-i18n-bundles: OK (10 package(s) — all bundles in sync, no
undeclared authoring keys)`. The zh-CN source-hashes companion has no
entry for this path (a legacy-trusted leaf), so it does not change.
## The rename dialog reads the field label
`rename_organization` and `update_organization` declare `{ field:
'logo', defaultFromRow: true }` with no `label` of their own, and the
bundle has no per-param key for them.
`ui/packages/fields/src/resolveActionParams.ts` resolves a field-backed
param with no authored label as `ctx.fieldLabel(ownerName, param.field,
field.label)`, the field's translated label. The dialog's logo param
therefore reads 「徽标」.
## Other locales
- ja-JP: logo 「ロゴ」, slug 「スラッグ」. No collision, unchanged.
- es-ES: logo 「Logotipo」, slug 「Slug」. No collision, unchanged.
- No other bundle in the tree labels a logo field 「标识」 (`git grep` over
every translation bundle).
## Verification (head `ad0c80bad`)
- `pnpm --filter @objectstack/platform-objects test`: Test Files 96
passed, Tests 1361 passed. `typecheck` exit 0 (both under
`os-verify-lock`, VERDICT command-exit 0).
- `pnpm check:i18n` exit 0, before and after the change.
- `dispatch-gates --commands`: 61 derived, 60 run with exit 0, 1 NOT
MEASURED (`check:dual-build-cjs-loads` exit 3, needs a full build; CI
Build Core covers it). `check-plugin-teardown-shape --self-test` was
first exit 3 on the shallow clone and exit 0 after fetching its control
commit.
- Root `eslint --no-inline-config` on the changed file exit 0.
`check-platform-checklist --changed-from origin/main` exit 0.
- No test pins the old label. No new test: this is copy, and nothing
parses it.
## Acceptance notes
- The dispatch order asked for the fix "at the source the generated
bundle is built from" and no hand edit of the generated file. For a
translated leaf, that source is the leaf in the generated file itself
(above). The change was made through that route and proved by
regeneration, not by editing structure.
---
_Generated by [Claude
Code](https://claude.ai/code/session_01AC5Hv4wkbk1cZJWec3VJtt)_
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01AC5Hv4wkbk1cZJWec3VJtt
Co-authored-by: Claude <noreply@anthropic.com>1 parent 9753d16 commit 6444288
2 files changed
Lines changed: 11 additions & 1 deletion
File tree
- .changeset
- packages/platform-objects/src/apps/translations
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
535 | 535 | | |
536 | 536 | | |
537 | 537 | | |
538 | | - | |
| 538 | + | |
539 | 539 | | |
540 | 540 | | |
541 | 541 | | |
| |||
0 commit comments