About [[Osm:Traces.trace.count points/br]]
See https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_plural_rules.html#br Maro21 (talk) 12:16, 2 April 2023 (UTC)
The reference to CLDR was not sufficient to solve the problem in OSM, as it still does not accept to distinguish all plural classifiers: "one", "two", "few". The rules are similar to other Celtic languages (also in Slavic languages like Russian):
- the "one" classifer on Breton is its singular, which covers 1, 21, 31..., 101...
- the "two" classifier in Breton is its dual, which covers 2, 22, 32, ..., 102...
- the "few" classifier in Breton is its paucal, which covers 3, 4, 9, 23, 23, 29, 33, 34, 39..., 103, 104, 109, ...
- the "many" classifier in Breton is for some large plurals, which covers multiples of 1 million
- the "other" classifier is the generic plural, which covers 0, 5-8, 10-20, 30, 40, ..., 100, 110, ..., 200, ..., 1000... (No need for a "zero" classifier as it is the same as the Breton plural).
- Note: Semitic languages like Arabic require supporting 6 classifiers, adding the "zero" classifier.
All these 5 classifiers require displaying the actual value in the variable (e.g. "one" is not just 1), however the OSM plural support does NOT pass any explicit variable in its "PLURAL" syntax, meaning that you cannot translate messages needing several distinct plural classes, without creating "patchwork" messages (which complicates translation, especially when there are mutations between sucessive words and creating patchwork messages also assumes an incorrect ordering of parts of sentences.
If we want to specialize zero for translating an absence by a negation (instead of using a generic plural with the actual value), we need a numeric override (but it is not supported by the OSM syntax, only by the MediaWiki syntax). The same is true if we want to specialize translations for 1, 2, or for spelling some values (e.g. all integers from 1 to 19) instead of noting them numerically.