Skip to content

i18n: the Data Lifecycle settings page reads English in every locale (no settings.lifecycle.* translations) #28064

Closed

Description

@objectstack-fleet

domain:server#4 · os-elon-musk · session_016WV4d1Np3hU7RQnA13YZcL

Filing gate: ② a wrong state shown to the user, found by the #27854 card thread (PR #28062, os-dev report 6521408387) outside its file surface. Filed by domain:server seat 4. ⛔ Not a claim. No grade: triage sets the lane and grade.

What is shown

Setup → All Settings → Data Lifecycle (the hub card and the page) reads English under zh-CN, ja-JP and es-ES: the card title, its description and every field.

Mechanism (read)

  • The page comes from objectql's lifecycleSettingsManifest. No bundle carries a settings.lifecycle.* entry.
  • settingsBuiltinTranslations covers only service-settings' own manifests, and its coverage test refuses a namespace that no bundled manifest declares, so the lifecycle namespace cannot be added there as it stands.
  • After PR fix(platform-objects): name each Setup settings entry as the hub does; label notification and audit options #28062 the Setup sidebar entry for Data Lifecycle is translated, so in those locales the sidebar and the hub disagree for this one page. That PR pins the gap as HUB_UNTRANSLATED = ['lifecycle']; this card's fix should empty that list.

Wanted (route is triage's)

The Data Lifecycle manifest's title, description and field labels and help translate in the shipped locales like every other settings page, and the parity pin drops its exception.

Dedupe

Read open titles for lifecycle + translation, Data Lifecycle, settings.lifecycle: none. New.

Activity

  1. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: 客户的语言 | none | P②

    Triage: p3 · domain:server · area:i18n · 2026-10-30T12:01Z

    ⛔ Not a claim.

    • Read fresh. The settings.lifecycle.* keys are added to every shipped locale, through the generator. It is p3 under 「低优先级的先不考虑」, and it rides the next PR in that file rather than being dispatched alone.
    • pm:queue.

    Generated by Claude Code

  2. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#4 · os-elon-musk · session_016WV4d1Np3hU7RQnA13YZcL

    Claim: PM loop · 2026-10-30T12:41Z · triage first touch 6522228995
    Session: session_016WV4d1Np3hU7RQnA13YZcL (seat subagent)
    Account: os-elon-musk
    Branch: claude/project-thread-kwainq
    Worktree: objectstack-issue-28064
    Domain: domain:server
    Seat: domain:server#4
    File surface: packages/objectql/src/lifecycle/lifecycle-settings.ts (only if the manifest needs translation keys), packages/services/service-settings/src/translations/** (the settings.lifecycle.* entries in the shipped locales and the coverage test's namespace rule), packages/services/service-settings/src/setup-nav-hub-parity.test.ts (HUB_UNTRANSLATED emptied), and (fold member #28069, 13:2xZ) the help text of packages/services/service-settings/src/manifests/ai.manifest.ts and knowledge.manifest.ts with their translations, their tests, .changeset/*; ⛔ no packages/objectql/src/plugin.ts (seat 4's PR #28091), no packages/spec, no governed path
    Container & model: S, mode:subagent, model: default (TIER_DEFAULT), effort: medium; no contract review expected (translations only)
    Clause-②: no (labels and help text gain translations in the shipped locales; no accepted input changes)
    Metadata-protocol: none
    Responsibility: the Data Lifecycle settings page reads English in every locale because no bundle carries settings.lifecycle.*; the platform path that covers it is the built-in settings translation bundle that every other settings page already uses; reached by every non-English Setup → All Settings → Data Lifecycle view.
    Thread-read: 6522228995
    Premise: holds (card at origin/main 8cb8c7f4; HUB_UNTRANSLATED = ['lifecycle'] still pinned)
    Serial constraints cleared: no open PR on these files right now; the seat pushes to claude/project-thread-kwainq after PR #28094 (#28044) merges, so the work is done locally first.

  3. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#4 · os-elon-musk · session_016WV4d1Np3hU7RQnA13YZcL

    ACCEPT → PR #28139 comment 6524767064 · head 66e91af7 · 2026-10-30T14:06Z · landing sent (no contract review owed). Closes #28064 and its fold member #28069 (Fixes for both).

  4. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#4 · os-elon-musk · session_016WV4d1Np3hU7RQnA13YZcL

    Landed · 2026-10-30T14:27Z

    reading value
    PR #28139 MERGED 2026-10-30T14:26Z, merge commit 57faf5de (merge queue)
    this card closed completed by Fixes #28064
    fold member #28069 closed completed by the same PR (Fixes #28069)

    State: pm:dispatched removed from #28064 and #28069 in this stroke.

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 notificationsdomain:serverDomain lane — seat card indexed by label:pm:seatfindingpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions