Singular/plural pairs cannot cover most languages
Aliases: binary plural model · singular-plural branching · plural-rule coverage
What it is
Binary plural-model insufficiency occurs when a product stores only “quantity equals one” and “all other quantities.” That model cannot express locales requiring zero, two, few, or many, and it imposes an English-like distinction on languages that organize number differently. The defect is not a shortage of translated nouns; the message data model has collapsed global grammar into two states.
Why it happens
A binary implementation commonly evaluates count == 1 in business logic and chooses between two strings. The localization layer then receives neither the source number's plural-rule operands nor permission to add locale categories; decimals, ordinals, and modular conditions have already been discarded. Adding fields in a translation tool cannot recover information when runtime passes only a Boolean. Locale-based selection instead preserves the value until message formatting and applies the target rule there.
Where it stops holding
“Cannot cover most languages” is an architectural warning, not a claim that every language has three or more forms. Some locales produce only other, while others use exactly one/other. For an only-other locale, two branches are redundant and become correct only when mapped to the same output; the Boolean interface still misrepresents the grammar and cannot expand. This does not imply that the current English UI is already wrong.
Applying it
- Pass the quantity and formatting options to the localized-message layer and let current-locale CLDR rules choose the category; do not precompute a singular/plural Boolean.
- Store category-keyed resources with required
other; let tooling request categories generated by each locale instead of exposing six global empty slots. - Model cardinal, ordinal, and exact-value product exceptions separately rather than overloading a “singular” field.
- Enumerate every category the runtime can generate per supported locale and render representative values; require no missing or unreachable branches and correct output at integer and decimal boundaries.
Related
- Same group: S1.04.1 Languages have different numbers of plural forms · S1.04.2 Noun gender affects articles and adjectives · S1.04.4 Zero quantities need a distinct expression
- Adjacent: S1.06 Word-order problems in concatenated strings · S4.04 Continuous localization integration
- Search terms:
plural message selection·binary plural model·CLDR categories