UNPKG

plural-rules

Version:

Evaluates plural rules, so that localization libraries can choose the right plural form.

3 lines (2 loc) 20.4 kB
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).pluralRules={})}(this,function(e){"use strict";var n;let o;let t=[],r={};function i(e){return e.toLowerCase().replace("_","-")}function l(e){let n;let o=r[e=i(e)];if(void 0===o&&(n=function(e){let n=e.indexOf("-");return n>0&&e.substr(0,n)}(e))&&(o=r[n]),void 0===o)throw Error(`Unrecognised locale: "${e}".`);return"string"==typeof o&&(o=o.split(",").reduce((e,n)=>{let o=n.split(":");return e[o[0]]=+o[1],e},{}),r[n||e]=o),o}t=(n={version:{_unicodeVersion:"12.1.0",_cldrVersion:"36"},rules:["n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000","@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","n = 0..1 @integer 0, 1 @decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000","@integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","i = 0 or n = 1 @integer 0, 1 @decimal 0.0~1.0, 0.00~0.04","@integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 1.1~2.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000","n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000","n % 100 = 3..10 @integer 3~10, 103~110, 1003, … @decimal 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 103.0, 1003.0, …","n % 100 = 11..99 @integer 11~26, 111, 1011, … @decimal 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …","@integer 100~102, 200~202, 300~302, 400~402, 500~502, 600, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","i = 1 and v = 0 @integer 1","@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","n % 10 = 1 and n % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, 81.0, 101.0, 1001.0, …","n % 10 = 2..4 and n % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, … @decimal 2.0, 3.0, 4.0, 22.0, 23.0, 24.0, 32.0, 33.0, 102.0, 1002.0, …","n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","@decimal 0.1~0.9, 1.1~1.7, 10.1, 100.1, 1000.1, …","@integer 0~15, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","n % 10 = 1 and n % 100 != 11,71,91 @integer 1, 21, 31, 41, 51, 61, 81, 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 81.0, 101.0, 1001.0, …","n % 10 = 2 and n % 100 != 12,72,92 @integer 2, 22, 32, 42, 52, 62, 82, 102, 1002, … @decimal 2.0, 22.0, 32.0, 42.0, 52.0, 62.0, 82.0, 102.0, 1002.0, …","n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99 @integer 3, 4, 9, 23, 24, 29, 33, 34, 39, 43, 44, 49, 103, 1003, … @decimal 3.0, 4.0, 9.0, 23.0, 24.0, 29.0, 33.0, 34.0, 103.0, 1003.0, …","n != 0 and n % 1000000 = 0 @integer 1000000, … @decimal 1000000.0, 1000000.00, 1000000.000, …","@integer 0, 5~8, 10~20, 100, 1000, 10000, 100000, … @decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, …","v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …","v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, … @decimal 0.2~0.4, 1.2~1.4, 2.2~2.4, 3.2~3.4, 4.2~4.4, 5.2, 10.2, 100.2, 1000.2, …","@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9 @integer 0~3, 5, 7, 8, 10~13, 15, 17, 18, 20, 21, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~0.3, 0.5, 0.7, 0.8, 1.0~1.3, 1.5, 1.7, 1.8, 2.0, 2.1, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","@integer 4, 6, 9, 14, 16, 19, 24, 26, 104, 1004, … @decimal 0.4, 0.6, 0.9, 1.4, 1.6, 1.9, 2.4, 2.6, 10.4, 100.4, 1000.4, …","i = 2..4 and v = 0 @integer 2~4","v != 0 @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …","n = 3 @integer 3 @decimal 3.0, 3.00, 3.000, 3.0000","n = 6 @integer 6 @decimal 6.0, 6.00, 6.000, 6.0000","@integer 4, 5, 7~20, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","n = 1 or t != 0 and i = 0,1 @integer 1 @decimal 0.1~1.6","@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 2.0~3.4, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","v = 0 and i % 100 = 1 or f % 100 = 1 @integer 1, 101, 201, 301, 401, 501, 601, 701, 1001, … @decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …","v = 0 and i % 100 = 2 or f % 100 = 2 @integer 2, 102, 202, 302, 402, 502, 602, 702, 1002, … @decimal 0.2, 1.2, 2.2, 3.2, 4.2, 5.2, 6.2, 7.2, 10.2, 100.2, 1000.2, …","v = 0 and i % 100 = 3..4 or f % 100 = 3..4 @integer 3, 4, 103, 104, 203, 204, 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, … @decimal 0.3, 0.4, 1.3, 1.4, 2.3, 2.4, 3.3, 3.4, 4.3, 4.4, 5.3, 5.4, 6.3, 6.4, 7.3, 7.4, 10.3, 100.3, 1000.3, …","i = 0,1 @integer 0, 1 @decimal 0.0~1.5","@integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 2.0~3.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","n = 3..6 @integer 3~6 @decimal 3.0, 4.0, 5.0, 6.0, 3.00, 4.00, 5.00, 6.00, 3.000, 4.000, 5.000, 6.000, 3.0000, 4.0000, 5.0000, 6.0000","n = 7..10 @integer 7~10 @decimal 7.0, 8.0, 9.0, 10.0, 7.00, 8.00, 9.00, 10.00, 7.000, 8.000, 9.000, 10.000, 7.0000, 8.0000, 9.0000, 10.0000","@integer 0, 11~25, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~0.9, 1.1~1.6, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","n = 1,11 @integer 1, 11 @decimal 1.0, 11.0, 1.00, 11.00, 1.000, 11.000, 1.0000","n = 2,12 @integer 2, 12 @decimal 2.0, 12.0, 2.00, 12.00, 2.000, 12.000, 2.0000","n = 3..10,13..19 @integer 3~10, 13~19 @decimal 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 3.00","@integer 0, 20~34, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~0.9, 1.1~1.6, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","v = 0 and i % 10 = 1 @integer 1, 11, 21, 31, 41, 51, 61, 71, 101, 1001, …","v = 0 and i % 10 = 2 @integer 2, 12, 22, 32, 42, 52, 62, 72, 102, 1002, …","v = 0 and i % 100 = 0,20,40,60,80 @integer 0, 20, 40, 60, 80, 100, 120, 140, 1000, 10000, 100000, 1000000, …","@integer 3~10, 13~19, 23, 103, 1003, …","i = 2 and v = 0 @integer 2","v = 0 and n != 0..10 and n % 10 = 0 @integer 20, 30, 40, 50, 60, 70, 80, 90, 100, 1000, 10000, 100000, 1000000, …","@integer 0, 3~17, 101, 1001, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","t = 0 and i % 10 = 1 and i % 100 != 11 or t != 0 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1~1.6, 10.1, 100.1, 1000.1, …","@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","@integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","n % 100 = 2,22,42,62,82 or n % 1000 = 0 and n % 100000 = 1000..20000,40000,60000,80000 or n != 0 and n % 1000000 = 100000 @integer 2, 22, 42, 62, 82, 102, 122, 142, 1000, 10000, 100000, … @decimal 2.0, 22.0, 42.0, 62.0, 82.0, 102.0, 122.0, 142.0, 1000.0, 10000.0, 100000.0, …","n % 100 = 3,23,43,63,83 @integer 3, 23, 43, 63, 83, 103, 123, 143, 1003, … @decimal 3.0, 23.0, 43.0, 63.0, 83.0, 103.0, 123.0, 143.0, 1003.0, …","n != 1 and n % 100 = 1,21,41,61,81 @integer 21, 41, 61, 81, 101, 121, 141, 161, 1001, … @decimal 21.0, 41.0, 61.0, 81.0, 101.0, 121.0, 141.0, 161.0, 1001.0, …","@integer 4~19, 100, 1004, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.1, 1000000.0, …","i = 0,1 and n != 0 @integer 1 @decimal 0.1~1.6","n % 10 = 1 and n % 100 != 11..19 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, 81.0, 101.0, 1001.0, …","n % 10 = 2..9 and n % 100 != 11..19 @integer 2~9, 22~29, 102, 1002, … @decimal 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 22.0, 102.0, 1002.0, …","f != 0 @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.1, 1000.1, …","@integer 0, 10~20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19 @integer 0, 10~20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1, 1.0, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …","@integer 2~9, 22~29, 102, 1002, … @decimal 0.2~0.9, 1.2~1.9, 10.2, 100.2, 1000.2, …","@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 0.2~1.0, 1.2~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","v != 0 or n = 0 or n % 100 = 2..19 @integer 0, 2~16, 102, 1002, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","@integer 20~35, 100, 1000, 10000, 100000, 1000000, …","n = 0 or n % 100 = 2..10 @integer 0, 2~10, 102~107, 1002, … @decimal 0.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 102.0, 1002.0, …","n % 100 = 11..19 @integer 11~19, 111~117, 1011, … @decimal 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …","@integer 20~35, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …","v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 12..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …","@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","i = 0..1 @integer 0, 1 @decimal 0.0~1.5","v = 0 and i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …","v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …","n = 2..10 @integer 2~10 @decimal 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00","@integer 11~26, 100, 1000, 10000, 100000, 1000000, … @decimal 1.1~1.9, 2.1~2.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","n = 0,1 or i = 0 and f = 1 @integer 0, 1 @decimal 0.0, 0.1, 1.0, 0.00, 0.01, 1.00, 0.000, 0.001, 1.000, 0.0000, 0.0001, 1.0000","@integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.2~0.9, 1.1~1.8, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","v = 0 and i % 100 = 1 @integer 1, 101, 201, 301, 401, 501, 601, 701, 1001, …","v = 0 and i % 100 = 2 @integer 2, 102, 202, 302, 402, 502, 602, 702, 1002, …","v = 0 and i % 100 = 3..4 or v != 0 @integer 3, 4, 103, 104, 203, 204, 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …","n = 0..1 or n = 11..99 @integer 0, 1, 11~24 @decimal 0.0, 1.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0","@integer 2~10, 100~106, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"],cardinals:{af:"one:0,other:1",ak:"one:2,other:3",am:"one:4,other:5",an:"one:0,other:1",ar:"zero:6,one:0,two:7,few:8,many:9,other:10",ars:"zero:6,one:0,two:7,few:8,many:9,other:10",as:"one:4,other:5",asa:"one:0,other:1",ast:"one:11,other:12",az:"one:0,other:1",be:"one:13,few:14,many:15,other:16",bem:"one:0,other:1",bez:"one:0,other:1",bg:"one:0,other:1",bho:"one:2,other:3",bm:"other:17",bn:"one:4,other:5",bo:"other:17",br:"one:18,two:19,few:20,many:21,other:22",brx:"one:0,other:1",bs:"one:23,few:24,other:25",ca:"one:11,other:12",ce:"one:0,other:1",ceb:"one:26,other:27",cgg:"one:0,other:1",chr:"one:0,other:1",ckb:"one:0,other:1",cs:"one:11,few:28,many:29,other:30",cy:"zero:6,one:0,two:7,few:31,many:32,other:33",da:"one:34,other:35",de:"one:11,other:12",dsb:"one:36,two:37,few:38,other:25",dv:"one:0,other:1",dz:"other:17",ee:"one:0,other:1",el:"one:0,other:1",en:"one:11,other:12",eo:"one:0,other:1",es:"one:0,other:1",et:"one:11,other:12",eu:"one:0,other:1",fa:"one:4,other:5",ff:"one:39,other:40",fi:"one:11,other:12",fil:"one:26,other:27",fo:"one:0,other:1",fr:"one:39,other:40",fur:"one:0,other:1",fy:"one:11,other:12",ga:"one:0,two:7,few:41,many:42,other:43",gd:"one:44,two:45,few:46,other:47",gl:"one:11,other:12",gsw:"one:0,other:1",gu:"one:4,other:5",guw:"one:2,other:3",gv:"one:48,two:49,few:50,many:29,other:51",ha:"one:0,other:1",haw:"one:0,other:1",he:"one:11,two:52,many:53,other:54",hi:"one:4,other:5",hr:"one:23,few:24,other:25",hsb:"one:36,two:37,few:38,other:25",hu:"one:0,other:1",hy:"one:39,other:40",ia:"one:11,other:12",id:"other:17",ig:"other:17",ii:"other:17",in:"other:17",io:"one:11,other:12",is:"one:55,other:56",it:"one:11,other:12",iu:"one:0,two:7,other:57",iw:"one:11,two:52,many:53,other:54",ja:"other:17",jbo:"other:17",jgo:"one:0,other:1",ji:"one:11,other:12",jmc:"one:0,other:1",jv:"other:17",jw:"other:17",ka:"one:0,other:1",kab:"one:39,other:40",kaj:"one:0,other:1",kcg:"one:0,other:1",kde:"other:17",kea:"other:17",kk:"one:0,other:1",kkj:"one:0,other:1",kl:"one:0,other:1",km:"other:17",kn:"one:4,other:5",ko:"other:17",ks:"one:0,other:1",ksb:"one:0,other:1",ksh:"zero:6,one:0,other:3",ku:"one:0,other:1",kw:"zero:6,one:0,two:58,few:59,many:60,other:61",ky:"one:0,other:1",lag:"zero:6,one:62,other:40",lb:"one:0,other:1",lg:"one:0,other:1",lkt:"other:17",ln:"one:2,other:3",lo:"other:17",lt:"one:63,few:64,many:65,other:66",lv:"zero:67,one:68,other:69",mas:"one:0,other:1",mg:"one:2,other:3",mgo:"one:0,other:1",mk:"one:23,other:70",ml:"one:0,other:1",mn:"one:0,other:1",mo:"one:11,few:71,other:72",mr:"one:0,other:1",ms:"other:17",mt:"one:0,few:73,many:74,other:75",my:"other:17",nah:"one:0,other:1",naq:"one:0,two:7,other:57",nb:"one:0,other:1",nd:"one:0,other:1",ne:"one:0,other:1",nl:"one:11,other:12",nn:"one:0,other:1",nnh:"one:0,other:1",no:"one:0,other:1",nqo:"other:17",nr:"one:0,other:1",nso:"one:2,other:3",ny:"one:0,other:1",nyn:"one:0,other:1",om:"one:0,other:1",or:"one:0,other:1",os:"one:0,other:1",osa:"other:17",pa:"one:2,other:3",pap:"one:0,other:1",pl:"one:11,few:76,many:77,other:78",prg:"zero:67,one:68,other:69",ps:"one:0,other:1",pt:"one:79,other:40","pt-pt":"one:11,other:12",rm:"one:0,other:1",ro:"one:11,few:71,other:72",rof:"one:0,other:1",root:"other:17",ru:"one:80,few:76,many:81,other:78",rwk:"one:0,other:1",sah:"other:17",saq:"one:0,other:1",sc:"one:11,other:12",scn:"one:11,other:12",sd:"one:0,other:1",sdh:"one:0,other:1",se:"one:0,two:7,other:57",seh:"one:0,other:1",ses:"other:17",sg:"other:17",sh:"one:23,few:24,other:25",shi:"one:4,few:82,other:83",si:"one:84,other:85",sk:"one:11,few:28,many:29,other:30",sl:"one:86,two:87,few:88,other:30",sma:"one:0,two:7,other:57",smi:"one:0,two:7,other:57",smj:"one:0,two:7,other:57",smn:"one:0,two:7,other:57",sms:"one:0,two:7,other:57",sn:"one:0,other:1",so:"one:0,other:1",sq:"one:0,other:1",sr:"one:23,few:24,other:25",ss:"one:0,other:1",ssy:"one:0,other:1",st:"one:0,other:1",su:"other:17",sv:"one:11,other:12",sw:"one:11,other:12",syr:"one:0,other:1",ta:"one:0,other:1",te:"one:0,other:1",teo:"one:0,other:1",th:"other:17",ti:"one:2,other:3",tig:"one:0,other:1",tk:"one:0,other:1",tl:"one:26,other:27",tn:"one:0,other:1",to:"other:17",tr:"one:0,other:1",ts:"one:0,other:1",tzm:"one:89,other:90",ug:"one:0,other:1",uk:"one:80,few:76,many:81,other:78",ur:"one:11,other:12",uz:"one:0,other:1",ve:"one:0,other:1",vi:"other:17",vo:"one:0,other:1",vun:"one:0,other:1",wa:"one:2,other:3",wae:"one:0,other:1",wo:"other:17",xh:"one:0,other:1",xog:"one:0,other:1",yi:"one:11,other:12",yo:"other:17",yue:"other:17",zh:"other:17",zu:"one:4,other:5"}}).rules,r=n.cardinals,e.getPluralFormForCardinal=function(e,n){let o="string"!=typeof e?e:l(e);for(let r in o){let i=o[r];if(function(e,n){if(!(e=e.split("@")[0].replace(/^\s*/,"").replace(/\s*$/,"")).length)return!0;let o=0,t=P(/^\s+/),r=P(/^\d+/),i=O("n"),l=O("i"),h=O("f"),a=O("t"),u=O("v"),d=O("w"),c=O("is"),g=O("is not"),f=O("!="),s=O("="),m=O("mod"),w=O("%"),p=O("not"),v=O("in"),y=O("within"),b=O(".."),k=O(","),z=O("or"),I=O("and");function j(e){return function(){let n,o;for(n=0;n<e.length;n++)if(null!==(o=e[n]()))return o;return null}}function F(e){let n,t;let r=o,i=[];for(n=0;n<e.length;n++){if(null===(t=e[n]()))return o=r,null;i.push(t)}return i}function x(e,n){return function(){let t=o,r=[],i=n();for(;null!==i;)r.push(i),i=n();return r.length<e?(o=t,null):r}}function O(n){let t=n.length;return function(){let r=null;return e.substr(o,t)===n&&(r=n,o+=t),r}}function P(n){return function(){let t=e.substr(o).match(n);return null===t?null:(o+=t[0].length,t[0])}}let q=j([function(){let e=i();return null===e?e:e=parseFloat(n,10)},function(){let e=l();return null===e?e:e=parseInt(n,10)},function(){let e=h();return null===e?e:e=(n+".").split(".")[1]||0},function(){let e=a();return null===e?e:e=(n+".").split(".")[1].replace(/0$/,"")||0},function(){let e=u();return null===e?e:e=(n+".").split(".")[1].length||0},function(){let e=d();return null===e?e:e=(n+".").split(".")[1].replace(/0$/,"").length||0}]),C=j([function(){let e=F([q,t,j([m,w]),t,r]);return null===e?null:(parseInt(e[0],10),e[2],parseInt(e[4],10),parseFloat(e[0])%parseInt(e[4],10))},q]);function $(){let e=F([t,p]);return null===e?null:e[1]}function L(){let e=F([j([E,r]),x(0,_)]),n=[];return null!==e?(n=n.concat(e[0]),e[1][0]&&(n=n.concat(e[1][0])),n):null}function _(){let e=F([k,L]);return null!==e?e[1]:null}function E(){let e,n,o,t;let i=F([r,b,r]);if(null!==i){for(n=[],o=parseInt(i[0],10),t=parseInt(i[2],10),e=o;e<=t;e++)n.push(e);return n}return null}let R=j([function(){let e=F([C,t,j([c]),t,r]);return null!==e?(e[0],parseInt(e[4],10),e[0]===parseInt(e[4],10)):null},function(){let e,n;let o=F([C,t,f,t,L]);if(null!==o){for(o[0],o[4],n=o[4],e=0;e<n.length;e++)if(parseInt(n[e],10)===parseInt(o[0],10))return!1;return!0}return null},function(){let e=F([C,t,j([g,f]),t,r]);return null!==e?(e[0],parseInt(e[4],10),e[0]!==parseInt(e[4],10)):null},function(){let e=F([C,x(0,$),t,j([v,s]),t,L]);if(null!==e){let n=e[5];for(let o=0;o<n.length;o++)if(parseInt(n[o],10)===parseFloat(e[0]))return"not"!==e[1][0];return"not"===e[1][0]}return null},function(){let e=F([C,x(0,$),t,y,t,L]);if(null!==e){let n=e[5];return e[0]>=parseInt(n[0],10)&&e[0]<parseInt(n[n.length-1],10)?"not"!==e[1][0]:"not"===e[1][0]}return null}]);function S(){let e;let n=F([R,x(0,T)]);if(n){if(!n[0])return!1;for(e=0;e<n[1].length;e++)if(!n[1][e])return!1;return!0}return null}function T(){let e=F([t,I,t,R]);return null!==e?e[3]:null}function V(){let e=F([t,z,t,S]);return null!==e?(e[3],e[3]):null}let U=function(){let e;let n=F([S,x(0,V)]);if(n){for(e=0;e<n[1].length;e++)if(n[1][e])return!0;return n[0]}return!1}();if(null===U)throw Error("Parse error at position "+o.toString()+" for rule: "+e);return o!==e.length&&e.substr(0,o),U}(t[i],n))return r}},e.getPluralFormsForLocale=function(e){let n=r[e];if(void 0!==n)return n.split(",").map(e=>e.substring(0,e.indexOf(":")))},e.getPluralRulesForCardinals=l,e.getSupportedLocales=function(){return o||(o=Object.keys(r)),o},e.setPluralFormsForCardinals=function(e,n){var o;r[e=i(e)]=(o=t,Object.keys(n).reduce((e,t)=>{let r=n[t];if("string"==typeof r){r=r.trim().replace(/ {2}/g," ");let i=o.indexOf(r);i<0&&(i=o.length,o.push(r)),r=i}return t.length>17&&(t=t.substr(17)),e[t]=r,e},{}))}}); //# sourceMappingURL=index.umd.min.js.map