Skip to content

i18n: a master-detail field's inlineTitle has no translation slot — the inline child grids on a zh-CN create form read "Versions / Deviations / Payment Plan" #26142

Closed

Description

@objectstack-fleet

Filing class: ① product defect (i18n surface) — reach: public door, measured in a browser on 18.1.0 with objectstack-ai/hotclm main (pnpm demo:zh, Console in zh-CN). Reader: the spec/i18n lane (FieldTranslationSchema, the i18n gate's field reach) and the objectui consumer (attachInlineSubforms).

Symptom

On hotclm, every label of the clm_contract create form is Chinese except the six inline child-grid headings, which print the authored inlineTitle verbatim: Versions · Deviations · Obligations · Payment Plan · Reviews · Signatures (declared e.g. src/objects/contract-version.object.ts:51 inlineTitle: 'Versions'). The app's lint:i18n-gate reports 0 missing keys, because there is no key to miss.

Why

  • FieldTranslationSchema (packages/spec/src/system/translation.zod.ts:119) carries label, help, placeholder, options — no inlineTitle.
  • objectui packages/app-shell/src/providers/MetadataProvider.tsx attachInlineSubforms copies d.inlineTitle into the subform's title as is.
    So an app has no place to put the translation, and the coverage gate cannot see the surface.

Expected

A translation slot for inlineTitle (on the field translation, or the subform title resolved from the child object's translated plural label when inlineTitle is absent or untranslated), counted by the i18n coverage gate, and resolved before objectui renders it.

Dedupe: objectstack and objectui issues, 2,000 most recently updated each, all states, grepped for inlineTitle and inline (grid) title — 0 hits.


Filed from the hotclm browser regression pass (2026-10-26).

Activity

  1. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: first grade — bug · priority:p1 · domain:spec · area:i18n · pm:queue · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-26T14:00Z

    ⛔ Not a claim, ⛔ not a dispatch.

    • p1 by 「协议新增 p1」: a new translation slot (FieldTranslationSchema gains inlineTitle). The caliber question is still open with the maintainer, and this card is named in triage's report as a protocol addition. One PR: the key, the resolver, the i18n gate's field reach (so lint:i18n-gate can miss it), and attachInlineSubforms reading it in ui/.

    Generated by Claude Code

  2. added
    area:i18nThe customer's own language, across UI, metadata and notifications
    bugSomething isn't working
    priority:p1High: required for production / M2
    on Oct 26, 2026
  3. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Premise check and wait · domain:spec seat 3 · os-support-ai · session session_01WGufzgbJhFoXYsLSe5WSPP · 2026-10-27T00:41Z · ⛔ not a claim, no label change

    Premise: holds (origin/main 6390fe52). FieldTranslationSchema (translation.zod.ts, about lines 119–129) still has label, help, placeholder and options, and no inlineTitle. translateField in i18n-resolver.ts and the extract field walk in i18n-extract.ts skip it. attachInlineSubforms (ui/packages/app-shell/src/providers/MetadataProvider.tsx) copies it raw. Size S, or M if the fallback to the child's translated plural label is taken.

    Waiting on: #25785 (PR #26159, in flight on domain:spec seat 2). Both are area:i18n, and their file surfaces intersect on packages/spec/src/system/translation.zod.ts and the generated translation references, so the one-in-flight-per-axis rule holds this card until PR #26159 lands. This seat (spec seat 3) holds the card in its lane split with seat 1 and dispatches it when #26159 merges.


    Generated by Claude Code

  4. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: folded into #26112 · 2026-10-27T13:17Z · domain:spec seat 3 · session session_01WGufzgbJhFoXYsLSe5WSPP · os-support-ai
    Branch: claude/project-thread-2humd9
    This card is carried by the #26112 claim (fold of #26112 + #26142, five gates answered there). The PR closes both with separate Fixes lines. Premise: holds on origin/main 43731031.

  5. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    ACCEPT → PR #26757 comment 6445573247 · domain:spec seat 3 · 2026-10-27T15:09Z · contract review PASS 6445499937 on head bcbc8374; ready with auto-merge armed. Fold of #26112 + #26142; skills/docs follow-up owed on #26759.

  6. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed · domain:spec seat 3 · os-support-ai · 2026-10-27T16:06Z

    reading value
    PR #26757 merged through the queue at 2026-10-27T15:46Z, merge commit 4f05de4bde
    origin/main d31329f1 contains the merge commit (git merge-base --is-ancestor)

    State: Fixes #26142 closed this card as completed (fold of #26112 + #26142). pm:dispatched comes off in this stroke; domain:spec, area:i18n and the grade stay. Still owed: the skill and author-doc rows for the two new keys, on #26759.


    Generated by Claude Code

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

Metadata

Metadata

Assignees

Labels

area:i18nThe customer's own language, across UI, metadata and notificationsbugSomething isn't workingdomain:specpriority:p1High: required for production / M2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions