Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/19897-sys-user-role-help-stale-translations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@objectstack/platform-objects": patch
---

The `zh-CN`, `ja-JP` and `es-ES` help text for `sys_user.role` told a Setup administrator to press the "Set Platform Role" action retired earlier — the `en` text had already moved on (renamed to describe `OS_PLATFORM_OWNER_EMAIL` and the `single`-posture `admin_full_access` grant) but the three translations were never updated to match. Retranslated the leaf into each locale as a faithful rendering of the current `en` text, with code spans (`OS_PLATFORM_OWNER_EMAIL`, `single`, `admin_full_access`, `sys_user_permission_set`) kept verbatim.

No source-hash entry was added for this leaf — measured to be architecturally unreachable for a genuinely translated (non-literal-copy) leaf under the `objects`/`metadataForms` provenance mechanism (`source-hash.ts`, ruling #12069 Option A): `collectFilledFromHashes` records a hash only when the translated value is currently a byte copy of the source, and a real translation satisfies neither `value === currentSource` nor `previous[path] === hash(value)`, so it stays legacy-trusted by the ruling's own stated design. Verified empirically: mutating the source description and re-running `pnpm i18n:extract`, `pnpm check:i18n` and `pnpm check:i18n-stale-fill` reports nothing for this leaf either before or after this fix — this class of leaf has no gate-visible staleness detection today, which is the pre-existing status quo for every hand-translated leaf in the `objects` bundle, not a regression this PR introduces.
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export const esESObjects: NonNullable<TranslationData['objects']> = {
},
role: {
label: "Rol de plataforma",
help: "Rol a nivel de plataforma (admin, user, …). Se establece mediante la acción Establecer rol de plataforma."
help: "Valor de rol heredado de better-auth (admin, user, …). ObjectStack ya no lo escribe (ADR-0068 D2). Para conceder la condición de administrador de la plataforma, incluya el correo verificado del usuario en `OS_PLATFORM_OWNER_EMAIL`; bajo la postura de tenencia `single`, una asignación sin ámbito de `admin_full_access` en `sys_user_permission_set` también la concede."
},
banned: {
label: "Bloqueado",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export const jaJPObjects: NonNullable<TranslationData['objects']> = {
},
role: {
label: "プラットフォームロール",
help: "プラットフォームレベルのロール(admin、user など)。「プラットフォームロールを設定」アクションから設定します。"
help: "レガシーな better-auth ロールスカラー値(admin、user など)。ObjectStack はもはやこの値を書き込みません(ADR-0068 D2)。プラットフォーム管理者権限を付与するには、そのユーザーの確認済みメールアドレスを `OS_PLATFORM_OWNER_EMAIL` に列挙してください。`single` テナンシー態勢では、`sys_user_permission_set` 内のスコープ指定なしの `admin_full_access` 割り当てでも同様にこの権限が付与されます。"
},
banned: {
label: "利用停止",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export const zhCNObjects: NonNullable<TranslationData['objects']> = {
},
role: {
label: "平台角色",
help: "平台级角色(admin、user 等)。通过“设置平台角色”操作设置。"
help: "遗留的 better-auth 角色标量(admin、user 等)。ObjectStack 不再写入该字段(ADR-0068 D2)。要授予平台管理员身份,请将该用户已验证的邮箱加入 `OS_PLATFORM_OWNER_EMAIL`;在 `single` 租户态势下,`sys_user_permission_set` 中一条未限定范围的 `admin_full_access` 授权同样可以赋予该身份。"
},
banned: {
label: "已封禁",
Expand Down
Loading