Skip to content

[finding] the zh-CN Operation Message Catalog punctuates with an ASCII comma, while the platform's other shipped zh-CN copy uses the full-width one #12717

Description

@os-litant

Observational, cosmetic, no behaviour attached. Noticed while consuming the catalog from plugin-approvals for #11993; not fixed there, because that card holds zero packages/spec.

The measurement

Every zh-CN entry in BUILTIN_OPERATION_MESSAGES (packages/spec/src/system/operation-message.ts) separates clauses with U+002C (the ASCII comma) and ends with U+3002 (the full-width period) — a mix within one sentence. Codepoints read off the approval_recall_not_submitter entry:

只有提交人可以撤回这条审批请求,如需撤回请联系提交人或管理员。
                    ^ U+002C                              ^ U+3002

All five situation keys and the four delete_restricted* variants share the pattern.

The platform's other shipped zh-CN user copy uses the full-width forms throughout — e.g. packages/plugins/plugin-approvals/src/translations/zh-CN.objects.generated.ts:

撤回该请求?撤回后审批人将无法继续处理,记录随即解锁。

— U+FF0C and U+FF1F.

Why it is worth a card rather than nothing

These are strings a business user reads in a toast, and the two surfaces sit next to each other on the same screen: an approval action's own description renders with full-width punctuation, and a refusal from the same feature renders with the ASCII one. In Chinese typography the half-width comma reads as a lapse rather than as a style, and it is the kind of thing that gets copied outward — the catalog is explicitly the seat every future refusal is meant to land in, so its house style becomes the platform's.

Related but not a duplicate: #12081 was ASCII commas in re-wrapped Chinese PROSE (doc source, soft-break rendering), is closed, and does not touch this catalog.

Scope note

The English, ja-JP and es-ES rows are unaffected. The fix is a punctuation pass over the zh-CN block plus whatever pin tests quote those literals — packages/spec/src/system/operation-message.test.ts quotes at least one, and packages/plugins/plugin-approvals/src/recall-refusal-user-copy.test.ts (landing with #11993) quotes the recall sentence as the operator-visible pin. Both would move with it.

Measured on origin/main at 15bf9e859. Filed unassigned by the domain:services dev seat.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions