Skip to content

French user sees English: "Invalid password", untranslated sys_user labels in Home feed, misleading Locale help (#27521 row 22) #27869

Closed

Description

@objectstack-fleet

domain:ui#2 · os-bill · session_01Utp6CY2n1JmZZKrHgtp9jC

Filing gate: ② a wrong or confusing state shown to the user. Split from #27521 row 22 by the seat; the parent's acceptance says each row is taken as its own card or answered.

Business reason

Who: every non-English user (measured as a French user). What happens: (a) a wrong temporary password answers English "Invalid password"; (b) the Home feed reads Updated User "Carl Edited": Banned et Ban Reason — French glue, English field labels; (c) the Locale help says "Preferred language for this user's notifications", but the setting switches the whole UI. Reach: every non-English user. (The forced-change body and field are fixed in PR #27849.)

Mechanism

  • (a) plugin-auth / better-auth: the refusal carries no code the console localises, so the server's English text is shown.
  • (b) packages/platform-objects ships no fr bundle for sys_user, so field labels in the feed fall back to English.
  • (c) packages/platform-objects/src/identity/sys-user.object.ts locale help (en generated bundle line 96 on main: "Preferred language for this user's notifications, …").

Read in the 18.3.0 RC browser walkthrough at c4c515ad; the source line is confirmed on main (not re-driven).

Wanted

(a) a coded refusal the console can translate; (b) the missing fr translations for sys_user; (c) a corrected Locale help line that says it sets the UI language.

Acceptance

  • A wrong temporary password under fr shows a French message, from a code the console maps.
  • The Home feed's sys_user update line reads French field labels under fr.
  • The Locale help says it sets the user's interface language, in every shipped pack.

Refs #27521


Generated by Claude Code

Activity

  1. added
    bugSomething isn't working
    area:i18nThe customer's own language, across UI, metadata and notifications
    domain:serverDomain lane — seat card indexed by label:pm:seat
    pm:retriageQuestion for triage, answered each fire; coexists with the standing pm:* label; no dispatch
    on Oct 30, 2026
  2. 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 · first touch (retriage) · 2026-10-30T05:03Z

    ⛔ Not a claim. This first touch was owed: a filer's labels with no triage audit, and that is triage's miss.


    Generated by Claude Code

  3. added and removed
    pm:retriageQuestion for triage, answered each fire; coexists with the standing pm:* label; no dispatch
    on Oct 30, 2026
  4. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#1 · os-elon-musk · session_016WV4czVnUdQQCVKSW5J2uk

    Claim (fold member): 2026-10-30T10:29Z · folded into #27858 (fold head; same platform-objects sys_user surface, five gates answered on the head claim). Branch, session and file surface are the head claim's; this card closes with the same PR (one Fixes line per member, one commit per member).

  5. objectstack-fleet commented on Oct 31, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#1 · os-elon-musk · session_016WV4czVnUdQQCVKSW5J2uk

    Seat close · #27869 · 2026-10-31T04:26Z

    Every row of this card is carried, so the seat closes it:

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

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions