Skip to content

ja-JP sharing bundle still names the pre-rename role concept in sys_record_share.recipient_id #8780

Description

@qq9340100

Found while bounding the es-ES rename damage in #8735. Same ADR-0090 (sys_rolesys_position) half-landing, different locale, so it was outside that card's lane and is filed rather than fixed there.

The instance

packages/plugins/plugin-sharing/src/translations/ja-JP.objects.generated.ts, sys_record_share.fields.recipient_id.help:

help: "アクセスを受け取るユーザー/グループ/ロールの ID"

ロール is the pre-rename role concept. The English source for this exact leaf says position:

help: "ID of the user/group/position that receives access"

and the same bundle already renders the concept correctly one field earlier, in recipient_type.options:

position: "ポジション"

so the file disagrees with itself. zh-CN has the corresponding leaf right (用户 / 组 / 岗位 ID), and es-ES is being repaired in #8735 — ja-JP is the only locale left carrying it.

Bound

This was swept, not guessed. Every ロール / 角色 occurrence in every ja-JP and zh-CN bundle repo-wide was checked against its English source. All the others are legitimate and must NOT be changed:

  • ロールアップ (rollup) and ロールバック (rollback) — different words that merely contain the substring
  • ARIA ロール / 角色
  • platform role, org member role, agent persona role — concepts genuinely still called role, unaffected by ADR-0090

This one leaf is the only genuine miss in the two locales.

Fix shape

Leaf string value only, per the bundle header's documented workflow — no generator change, no key rename. ロール becomes ポジション, matching the recipient_type.options.position rendering already in the file.

Why nothing caught it

Same blind spot as #8735: check:i18n compares bundle structure against extractor output and is green either way, and per #8543 the generator's merge mode leaves existing leaf values untouched, so a half-landed rename survives a green gate indefinitely.

The consistency guard added in #8735's PR (recipient-vocabulary-consistency.test.ts) asserts cross-object agreement within a locale and a stale-term check for es-ES; it does not assert a ja-JP stale-term rule, precisely because this instance is still open. Whoever fixes this can extend that guard to ja-JP in the same change, which would close the class rather than the instance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions