GlobalWebIndex/elm-plural-rules - version: 1.1.0

for more information visit the package's GitHub page

Package contains the following modules:

GlobalWebIndex/elm-plural-rules

An abstraction for working with pluralization rules.

Based largely on Unicode Language Plural Rules.

Screenshot of English
rules

Screenshot of Czech
rules

(For the description of what the v = 0 conditions in the above screenshots mean, look at the Plural Operand Meanings table or check the Plural Operands section of the PluralRules module!)


This library helps you arrive at an API like:

pluralize 1 "message" --> "message"
pluralize 5 "message" --> "messages"

pluralize 1 "man" --> "man"
pluralize 5 "man" --> "men"

pluralize 1 "query" --> "query"
pluralize 5 "query" --> "queries"

See the examples/ folder for how to get there!

There are also helpers for writing pluralization logic for languages not included in this package. Obviously, there's a lot of languages and each of those has its own rules for how it pluralizes. Check them here!

Currently supported Languages

FAQ

Where do the rules come from?

You're supposed to make your own dictionary of Rules and add words into it as you start using them in the app.

Each language has its own ways of pluralizing words and we've opted out to let you "grow your own dictionary" based on the words you're using in your app, because:

See examples/Pluralize.elm for how rules for specific words can be created.