Repository navigation
i18n(plugin-approvals): ship the approval objects, notifications, record page and e-mail link line in ru, de and ko - #30830
Conversation
…ord page and e-mail link line in ru, de and ko The second half of the approvals package: ru, de and ko for sys_approval_request, sys_approval_action and sys_approval_delegation (generated and hashed by the repo's own extract), the approval notification messages, the record page's label and its Details / Timeline tabs, and the line that opens an approval from its e-mail (APPROVAL_EMAIL_LINK_LINES). With it the package serves all eleven platform languages. The e-mail templates' shape, the template selection and EMAIL_TEMPLATE_FLOOR_LOCALE are unchanged. The per-locale tests list the three new locales. Carried unchanged from the released handover commit 2dffb78 (written by session_01Utp6Cai5CRdAs4u9gTipWU). Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WV4cya5ej5GQV86RPbRPK
📓 Docs Drift CheckThis PR changes 1 package(s): 7 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
⛔ 4 release-owned page(s) also name something this change touched. These are read-only:
What this run could not see
Coarse fallback — 6 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin da7dd7619bddd9459099c9f2870f210adf7af7c6 && git checkout da7dd7619bddd9459099c9f2870f210adf7af7c6
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin d996c3817e09b9bea8ea963b04982734255ecb6c c582c20554665466c6ac52ed920d500f09dbef36 && git checkout -B drift-repro d996c3817e09b9bea8ea963b04982734255ecb6c && git merge --no-ff c582c20554665466c6ac52ed920d500f09dbef36
node scripts/docs-audit/affected-docs.mjs --json d996c3817e09b9bea8ea963b04982734255ecb6c
|
|
domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW 席位核对 · ACCEPT · 2026-11-06T06:04Z · #30512 (package 9 of 11, plugin-approvals, second half)Head-sha: c582c20
|
Requested by Elon · project thread
domain:server#1 · os-elon-musk · session_016WV4cya5ej5GQV86RPbRPK
Part of #30512 — package 9 of 11, second half (
@objectstack/plugin-approvalsinru,de,ko; the first half,zh-Hant,ar,fr,pt-BR, landed in #30790). With it the package serves all eleven platform languages. The card stays open: settings and platform-objects follow, and the last PR of the series makes the bundle check read the platform locale table.Clause-②: no
Metadata-protocol: none
维护者速读
EMAIL_TEMPLATE_FLOOR_LOCALE都没动,只给「打开审批」那一行加了 3 种语言(按裁决 A)。原有 8 种语言一字未改。测试改动只是各语言测试把 3 种新语言加进列表(覆盖变宽,没有放宽任何断言)。回滚即撤 PR。src/translations/index.ts(按表标签注册,zh-CN 在 zh-Hant 前,每种语言带页面标题和消息)、src/approval-email-templates.ts的APPROVAL_EMAIL_LINK_LINES、src/translations/messages.ts,再看sys-approval-request-page.test.ts。node scripts/check-i18n-bundles.mjs --filter=approvals输出plugins/plugin-approvals in sync;pnpm --filter @objectstack/plugin-approvals test全绿。What changes
ru,de,ko): each aTAG.objects.generated.tswith all 164 object leaves ofsys_approval_request,sys_approval_actionandsys_approval_delegation, plus itsTAG.source-hashes.generated.ts, written by the repo's ownos i18n extract --fill=default --source-hashesand served throughwithSourceFallbacklike the existing seven.zh-CNstays ahead ofzh-Hantinindex.ts.messages.ts(the 40 approval notification sentences;approvalMessageswidens to all eleven),pages.ts(the record page labelsys_approval_request_detail, recorded against the sameendigest the existing seven carry), and the record page's inline Details / Timeline labels insys-approval-request.page.ts.approval-email-templates.ts:APPROVAL_EMAIL_LINK_LINES(the line that opens the request from its e-mail,{{approvalUrl}}kept byte-identical) gains the three locales. This follows the seat's ruling A, as recorded in the handover commit7db48bddand carried by i18n(plugin-approvals): ship the approval objects, notifications, record page and e-mail link line in zh-Hant, ar, fr and pt-BR #30790: the link line is added per locale; the e-mail templates' shape, the template selection andEMAIL_TEMPLATE_FLOOR_LOCALEare unchanged.scripts/i18n-extract.config.tslists the three tags and its merge baseline imports the three bundles with their page entries, socheck:i18ncovers them from this PR on.Tests
sys-approval-request-page.test.tspins the served locale set; it now lists the eleven locales this PR serves, and every served locale is still held to carrying the authored page label.approval-status-vocabulary.test.ts,approve-decision-question.test.ts,decision-question-i18n.test.ts,success-copy-names-request-i18n.test.tsandadmin-copy-vocabulary.test.tsadd the three new bundles to their locale lists. Coverage widens; no assertion changed.Acceptance notes
enfor the object bundles and formessages.ts(key set,{{holes}},{holes}, backtick spans, angle tokens: all three locales OK, zero diffs).deStatus, the native word. Inmessages.ts, the reason separator"; "equals the English one in all three.check:i18n-stale-fillpasses with the baseline untouched.2dffb78d(sessionsession_01Utp6Cai5CRdAs4u9gTipWU): the patch id of this PR's diff equals that commit's (01aee2a9). The serial row "after Setup: replace developer wording and hand-written JSON with fields a business administrator can use #30208 lands" was cleared by the seat (6672288503): Setup: replace developer wording and hand-written JSON with fields a business administrator can use #30208's rows that touch this package landed in PR fix: Setup form help speaks to an administrator; queue pages, mail status banner and test toast read in Chinese #30551.ja-JP/es-ESbundles still carry English source copies onsys_approval_delegation; this PR does not touch the existing locales.nav_account_approvalslabel is pinned there to equal this package'smy_pendinglabel in each locale (the handover's cross-package pin); this PR fixes theru/de/koside of it.Verification
Package suite, typecheck, build (verify lock)
i18n gates, the derived families and the docs & code guards lane
The branch is one commit on
mainc17719dd(after #30790 landed). Its diff has the same patch id (01aee2a9) as the handover commit and as89c1a860, where the derived families ran on top of #30790's final head; none of the main commits in between touchesplugin-approvals. The package suite, both i18n checks and the docs & code guards lane were re-run on this head.Dogfood: not run — content-only package PR, no
!in the title and no(narrowing)arm.Generated by Claude Code