# CLDR Ticket #11078(new unknown)

## Plural rules for Cornish (kw)

Reported by: | nicky@… | Owned by: | anybody |
---|---|---|---|

Component: | plurals | Data Locale: | |

Phase: | dsub | Review: | |

Weeks: | Data Xpath: | ||

Xref: |

### Description

The current plural rules for Cornish (kw) are inaccurate. Below are the required categories. If pronouns are an issue ('buy them' instead of 'buy it') then there needs to be a category between one and two, I'll leave it to the pros to suggest the best way to accommodate it. If some clever person could convert it into the correct code I'd be very grateful!

zero: 0

one: 1

plural one: all numbers that end in 01, 21, 41, 61 and 81; all decimal places ending in 1 (e.g. 0.1, 1.51, 6.481, etc)

two: 2 and all numbers that end in 02, 22, 42, 62 and 82; numbers that end with the following multiples of 1,000: 1,000-20,000, 40,000, 60,000, 80,000; numbers that end with a multiple of 100,000; all decimal places ending in 2

few: 3 and all numbers that end in 03, 23, 43, 63 and 83, all decimal places ending in 3

other: all other numbers and decimal places

Here are the rules for ordinal numbers:

one: 1, 2, 3, 4; all numbers ending 01-04, 21-24, 41-44, 61-64, 81-84

two: 5 and all numbers ending 05, 25, 45, 65, 85

other: all other numbers

If my descriptions are unclear please ask and I'll try to explain. Thanks!

Nicky

## Attachments

## Change History

### comment:2 Changed 3 months ago by nicky@…

The guys at Mozilla have worked out the necessary code:

(n==0) ? 0 : (n==1) ? 1 : ((n%100==2 || n%100==22 || n%100==42 || n%100==62 || n%100==82) || ((n%1000==0 && n%100000>=1000 && n%100000<=20000) || (n%20000==0) && n%1000000!=0)) ? 2 : (n%100==3 || n%100==23 || n%100==43 || n%100==63 || n%100==83) ? 3 : (n%100==1 || n%100==21 || n%100==41 || n%100==61 || n%100==81) ? 4 : 5

**Note:**See TracTickets for help on using tickets.