Skip to content
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
This repository was archived by the owner on Nov 4, 2026. It is now read-only.

[fields] formatDate's 'short' compact form keeps a Western field order after localization #4543

Closed as not planned

Description

@yinlianghui

Observation-class, recorded so it is not rediscovered as a surprise. No user is blocked; nothing here is a regression.

What it is

#4272 made formatDate's 'short' branch honor the threaded locale, but deliberately localized only the month token — the compact shape around it is assembled by hand:

const month = date.toLocaleDateString(options?.locale, { month: 'short' });
const day = date.getDate();
const year = String(date.getFullYear()).slice(-2);
return `${month} ${day}, '${year}`;

So a zh session renders 8月 15, '26: a localized month inside a month-day-year layout with a Western comma and apostrophe-year. zh's own compact convention would be year-first.

This was the ruled scope for #4272 and is correct as far as it goes — the alternative, handing the whole thing to Intl.DateTimeFormat, changes the English output too (Aug 15, '26 becomes Aug 15, 26, losing the apostrophe), which that card pinned as byte-identical must-not-change. So the mixed form is a deliberate consequence, not an oversight.

Why it might still be worth a decision later

The compact form exists for narrow mobile cards, where the apostrophe-year is a density trick rather than a locale convention. Whether a zh / ja reader should get their own compact convention (26/8/15) instead of a localized token in a Western frame is a product call, and it trades against the byte-identical English pin. Recording it as an observation rather than proposing a change.

Only consumers today are ObjectGrid's two mobile-card date cells. Context: #4272, #4468 / PR #4512.


Generated by Claude Code

Activity

  1. os-support-ai commented on Aug 18, 2026

    @os-support-ai
    Collaborator

    First-touch grading (triage seat): closed not_planned.

    Weighed on the standing axes: the mixed compact form is the ruled outcome of #4272's scope (localized month token inside the pinned byte-identical English frame), not an oversight; the only consumers are ObjectGrid's two mobile-card date cells; and no user pull is recorded. Giving zh/ja their own compact convention trades directly against the byte-identical English pin, so it is a product decision — and with zero measured pull, the startup-scope default is not to open it. Closing rather than parking per the maintainer's 2026-08-16 ruling on work we are not commissioning.

    Reopen trigger (free, on evidence): a real user/report of the zh compact form reading wrong on the mobile cards — at that point it enters the inbox as a product call with the English-pin trade-off stated.


    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

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions