View Issue Details

IDProjectCategoryView StatusLast Update
00017901003.1(2016/18)/Issue7+TC2Base Definitions and Headerspublic2024-01-18 17:12
Reportersteffen Assigned To 
PrioritynormalSeverityEditorialTypeClarification Requested
Status ResolvedResolutionAccepted As Marked 
Namesteffen
Organization
User Reference
Sectionlanginfo.h
Page Number276
Line Number9587 pp, 9611 pp
Interp Status---
Final Accepted TextSee 0001790:0006630
Summary0001790: More info on *ALT* constants
DescriptionThe *ALT* series is documented as

  alternative appropriate
and
  alternative name

which is completely non-descriptive.

It seems the intent is that ALTMON_* is

  Long month names, in the grammatical form used when the month is named by itself.

Ditto abbreviated.

Ie in the wild (FreeBSD, Linux) and on the Unicode CLDR, but let me just quote a commit message of christos@FreeBSD.org i have seen fly by today, a bit abbreviated:

    The CLDR specification [1] defines three possible month formats:

    - Abbreviation (e.g Jan, Ιαν)
    - Full (e.g January, Ιανουαρίου)
    - Standalone (e.g January, Ιανουάριος)

    Many languages use different case endings depending on whether the month
    is referenced as a standalone word (nominative case), or in date context
    (genitive, partitive, etc.). sort(1)'s -M option currently sorts months
    by testing input against only the abbrevation format, which is
    essentially a substring of the full format. While this works fine for
    languages like English, where there are no cases, for languages where
    there is a different case ending between the abbreviation/full and
    standalone formats, it is not sufficient.

    For example, in Greek, "May" can take the following forms:

    Abbreviation: Μαΐ (genitive case)
    Full: Μαΐου (genitive case)
    Standalone: Μάιος (nominative case)

    If we use the standalone format in Greek, sort(1) will not able to match
    "Μαΐ" to "Μάιος" and the sort will fail.

    This change makes sort(1) test against all three formats. It also works
    when the input contains mixed formats.

    [1] https://cldr.unicode.org/translation/date-time/date-time-patterns
Desired ActionIf so intended, please adjust the descriptions of the *ALT* series to match CLDR and be more self-descriptive as their are today.
Tagstc1-2024

Activities

shware_systems

2024-01-15 18:33

reporter   bugnote:0006622

I thought the primary names were how locales represented the Gregorian calendar in a particular language, and ALT names were for how they might represent an alternate calendar like Chinese, Hebrew or even Mayan, each in a single grammar form.

Handling multiple grammar cases is way more an unspecified extension that would likely need a formal proposal modifying XBD 7 to add to the standard, not simply modifying this header arbitrarily.

steffen

2024-01-17 00:00

reporter   bugnote:0006625

I do not think so. (I would not have thought that ALT does the great to handle entire calendar systems?)

shware_systems

2024-01-18 17:08

reporter   bugnote:0006629

Apologies, I was confusing the ALT and ERA constants, and it is ERA that represents other calendars. XBD 7 is explicit ALT strings are for the nominitive case, if a language has one, and no ALT is for the genitive case. The standard doesn't address additional cases like partitive so perhaps a proposal for that is warranted.

nick

2024-01-18 17:11

manager   bugnote:0006630

D4 page and line numbers.
Add to Application Usage, page 277 after line 9645:
    
For languages having both a genitive (when used with a day number) and a nominative (no day number) case, the "alternative" month names described here are for use when a nominative case is required, see XREF 7.3.5.1 LC_TIME Locale Definition.

Issue History

Date Modified Username Field Change
2023-12-01 21:00 steffen New Issue
2023-12-01 21:00 steffen Name => steffen
2023-12-01 21:00 steffen Section => langinfo.h
2023-12-01 21:00 steffen Page Number => 276
2023-12-01 21:00 steffen Line Number => 9587 pp, 9611 pp
2024-01-15 18:33 shware_systems Note Added: 0006622
2024-01-17 00:00 steffen Note Added: 0006625
2024-01-18 17:08 shware_systems Note Added: 0006629
2024-01-18 17:11 nick Note Added: 0006630
2024-01-18 17:12 nick Interp Status => ---
2024-01-18 17:12 nick Final Accepted Text => See 0001790:0006630
2024-01-18 17:12 nick Status New => Resolved
2024-01-18 17:12 nick Resolution Open => Accepted As Marked
2024-01-18 17:12 nick Tag Attached: tc1-2024