[Unicode]   Common Locale Data Repository : Bug Tracking Home | Site Map | Search

CLDR Ticket #8062(accepted data)

Opened 3 years ago

Last modified 10 months ago

"Default" attribute for plural / ordinal

Reported by: mark Owned by: mark
Component: supplemental Data Locale:
Phase: rc Review:
Weeks: Data Xpath:

Description (last modified by mark) (diff)

We didn't clearly state that the 'other' case was to be the default. For example, in English:

  1. When asking a question whose answer can be from zero to an arbitrarily large number, we choose the plural ('other' form), such as:
    • “How many books do you want?”
  2. When asking a yes/no question for an arbitrary number of books, we also use the plural.
    • “Do you want any books?”

In Arabic, on the other hand, one should use the singular for both questions.

But since values for the other languages were not chosen with that in mind, we can't always assume that 'other' is right for the "ambiguous" (or "default") case. For example, for Russian the 'other' case is only used for decimal values, not integers. What we have for cardinals (and ordinals) is not always the best default.

  1. We should survey languages to see which (if any) have defaults that are not 'other'.
  1. If we find them, we still don't want to change the rules — at this point that would be far too painful. Not for CLDR itself, but for all the clients that use it for selecting messages. So we would need another attribute, such as:

<pluralRules locales="ru uk" answer="binary">
<pluralRules locales="ru uk" answer="number">

The default would be "other", and the value that is chosen would have to be one of the encompassed pluralRule count values. We'd need to survey people to see what the best value is: I think the key would be to check what category the majority of integers from 0..100 have with examples; if that is not "other", then ask natives whether there should be a different default.


Change History

comment:1 Changed 3 years ago by kent.karlsson14@…

I took the use case (for ordinals data in CLDR) to be a literal number (a.k.a. numeral) being used as an ordinal number in a sentence-like construct. Thus, for Swedish, 1:e (or 1:a sometimes), 5:e (even though pronounced "femte", "5:te"), 3:e (even though pronounced "tredje", 3:dje").

But the use case you mentioned here is another one. Nth would in Swedish be N:te (not N:e), pronounced "ente", Xth, would be X:de (I'd say, not sure everyone would agree); likewise M:te, Y:de (for "Y-onde"). I.e. depend on the "meta-value" (i.e. the variable letter used), quite differently from when using numerals.

So, in such cases a default does not make sense. You what to know (I assume from the ticket text) is how to write "Nth" (or n-th, or Mth or M-th). And that may be quite different from any of the data for the numerals cases now covered. Not sure about using other variable letters like x and y, nor for other scripts than the Latin script (assuming that the actual variable letter may be important, which may or may not be the case in each actual use instance).

comment:2 Changed 3 years ago by emmons

  • Status changed from new to assigned
  • Component changed from unknown to data-supplemental
  • Priority changed from assess to medium
  • Phase changed from dsub to rc
  • Milestone changed from UNSCH to 27
  • Owner changed from anybody to mark

comment:3 Changed 3 years ago by mark

  • Milestone changed from 27 to 28

comment:4 Changed 3 years ago by markus

  • Type set to data

comment:5 Changed 3 years ago by srl

  • Status changed from assigned to accepted

comment:6 Changed 3 years ago by mark

  • Milestone changed from 28 to 29

comment:7 Changed 3 years ago by emmons

  • Milestone changed from 29 to upcoming

comment:8 Changed 10 months ago by mark

  • Description modified (diff)

comment:9 Changed 10 months ago by mark

  • Description modified (diff)

comment:10 Changed 10 months ago by mark

  • Description modified (diff)

Add a comment

Modify Ticket

as accepted

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.