Implementing CLDR plural rules

Ed Trager ed.trager at
Fri Oct 16 11:20:29 CDT 2015

Hi, List,

The Unicode Technical Report #35 describes operands that are used for
defining the rules used for determining plural forms in different languages

These operands are defined in table 5.1.1 of that report. These operands (
n, i, v, w, f, and t )  describe not only the numeric value but also the
*_formatted appearance_* of the numeric value when, for example, fractional
decimal digits are present. For example, "v" describes the "number of
visible fraction digits in n, with trailing zeros".

My question is: Does any production system exist (e.g., some newer version
of ICU perhaps?) or has anyone on GitHub or elsewhere implemented a system
which follows these rules to this level of detail?

In my cursory glance on Github, I see that there are some projects which
purport to automatically convert the CLDR XML source to code, but I think
at least some of these only deal with the operand "n" and aspire only to
the standard GNU "gettext" internationalization library's quality of plural
definitions.  Also, in my cursory glance on GitHub, I did not see any C++
class libraries which implement the CLDR style of plural definitions.

I am in fact thinking of writing my own C++ class implementation, so that's
why I am asking.  From what I can tell, the STL C++ facet stuff also does
not implement CLDR-style plural rules; is this assumption correct?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the CLDR-Users mailing list