ordinals.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. const a = (n) => 'other';
  2. const b = (n) => n == 1 ? 'one' : 'other';
  3. (function (root, plurals) {
  4. Object.defineProperty(plurals, '__esModule', { value: true });
  5. if (typeof define === 'function' && define.amd) define(plurals);
  6. else if (typeof exports === 'object') module.exports = plurals;
  7. else root.plurals = plurals;
  8. }(this, {
  9. af: a,
  10. am: a,
  11. an: a,
  12. ar: a,
  13. as: (n) => (n == 1 || n == 5 || n == 7 || n == 8 || n == 9 || n == 10) ? 'one'
  14. : (n == 2 || n == 3) ? 'two'
  15. : n == 4 ? 'few'
  16. : n == 6 ? 'many'
  17. : 'other',
  18. ast: a,
  19. az: (n) => {
  20. const s = String(n).split('.'), i = s[0], i10 = i.slice(-1), i100 = i.slice(-2), i1000 = i.slice(-3);
  21. return (i10 == 1 || i10 == 2 || i10 == 5 || i10 == 7 || i10 == 8) || (i100 == 20 || i100 == 50 || i100 == 70 || i100 == 80) ? 'one'
  22. : (i10 == 3 || i10 == 4) || (i1000 == 100 || i1000 == 200 || i1000 == 300 || i1000 == 400 || i1000 == 500 || i1000 == 600 || i1000 == 700 || i1000 == 800 || i1000 == 900) ? 'few'
  23. : i == 0 || i10 == 6 || (i100 == 40 || i100 == 60 || i100 == 90) ? 'many'
  24. : 'other';
  25. },
  26. bal: b,
  27. be: (n) => {
  28. const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);
  29. return (n10 == 2 || n10 == 3) && n100 != 12 && n100 != 13 ? 'few' : 'other';
  30. },
  31. bg: a,
  32. bn: (n) => (n == 1 || n == 5 || n == 7 || n == 8 || n == 9 || n == 10) ? 'one'
  33. : (n == 2 || n == 3) ? 'two'
  34. : n == 4 ? 'few'
  35. : n == 6 ? 'many'
  36. : 'other',
  37. bs: a,
  38. ca: (n) => (n == 1 || n == 3) ? 'one'
  39. : n == 2 ? 'two'
  40. : n == 4 ? 'few'
  41. : 'other',
  42. ce: a,
  43. cs: a,
  44. cy: (n) => (n == 0 || n == 7 || n == 8 || n == 9) ? 'zero'
  45. : n == 1 ? 'one'
  46. : n == 2 ? 'two'
  47. : (n == 3 || n == 4) ? 'few'
  48. : (n == 5 || n == 6) ? 'many'
  49. : 'other',
  50. da: a,
  51. de: a,
  52. dsb: a,
  53. el: a,
  54. en: (n) => {
  55. const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);
  56. return n10 == 1 && n100 != 11 ? 'one'
  57. : n10 == 2 && n100 != 12 ? 'two'
  58. : n10 == 3 && n100 != 13 ? 'few'
  59. : 'other';
  60. },
  61. es: a,
  62. et: a,
  63. eu: a,
  64. fa: a,
  65. fi: a,
  66. fil: b,
  67. fr: b,
  68. fy: a,
  69. ga: b,
  70. gd: (n) => (n == 1 || n == 11) ? 'one'
  71. : (n == 2 || n == 12) ? 'two'
  72. : (n == 3 || n == 13) ? 'few'
  73. : 'other',
  74. gl: a,
  75. gsw: a,
  76. gu: (n) => n == 1 ? 'one'
  77. : (n == 2 || n == 3) ? 'two'
  78. : n == 4 ? 'few'
  79. : n == 6 ? 'many'
  80. : 'other',
  81. he: a,
  82. hi: (n) => n == 1 ? 'one'
  83. : (n == 2 || n == 3) ? 'two'
  84. : n == 4 ? 'few'
  85. : n == 6 ? 'many'
  86. : 'other',
  87. hr: a,
  88. hsb: a,
  89. hu: (n) => (n == 1 || n == 5) ? 'one' : 'other',
  90. hy: b,
  91. ia: a,
  92. id: a,
  93. is: a,
  94. it: (n) => (n == 11 || n == 8 || n == 80 || n == 800) ? 'many' : 'other',
  95. ja: a,
  96. ka: (n) => {
  97. const s = String(n).split('.'), i = s[0], i100 = i.slice(-2);
  98. return i == 1 ? 'one'
  99. : i == 0 || ((i100 >= 2 && i100 <= 20) || i100 == 40 || i100 == 60 || i100 == 80) ? 'many'
  100. : 'other';
  101. },
  102. kk: (n) => {
  103. const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1);
  104. return n10 == 6 || n10 == 9 || t0 && n10 == 0 && n != 0 ? 'many' : 'other';
  105. },
  106. km: a,
  107. kn: a,
  108. ko: a,
  109. kw: (n) => {
  110. const s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);
  111. return (t0 && n >= 1 && n <= 4) || ((n100 >= 1 && n100 <= 4) || (n100 >= 21 && n100 <= 24) || (n100 >= 41 && n100 <= 44) || (n100 >= 61 && n100 <= 64) || (n100 >= 81 && n100 <= 84)) ? 'one'
  112. : n == 5 || n100 == 5 ? 'many'
  113. : 'other';
  114. },
  115. ky: a,
  116. lij: (n) => {
  117. const s = String(n).split('.'), t0 = Number(s[0]) == n;
  118. return (n == 11 || n == 8 || (t0 && n >= 80 && n <= 89) || (t0 && n >= 800 && n <= 899)) ? 'many' : 'other';
  119. },
  120. lo: b,
  121. lt: a,
  122. lv: a,
  123. mk: (n) => {
  124. const s = String(n).split('.'), i = s[0], i10 = i.slice(-1), i100 = i.slice(-2);
  125. return i10 == 1 && i100 != 11 ? 'one'
  126. : i10 == 2 && i100 != 12 ? 'two'
  127. : (i10 == 7 || i10 == 8) && i100 != 17 && i100 != 18 ? 'many'
  128. : 'other';
  129. },
  130. ml: a,
  131. mn: a,
  132. mo: b,
  133. mr: (n) => n == 1 ? 'one'
  134. : (n == 2 || n == 3) ? 'two'
  135. : n == 4 ? 'few'
  136. : 'other',
  137. ms: b,
  138. my: a,
  139. nb: a,
  140. ne: (n) => {
  141. const s = String(n).split('.'), t0 = Number(s[0]) == n;
  142. return (t0 && n >= 1 && n <= 4) ? 'one' : 'other';
  143. },
  144. nl: a,
  145. no: a,
  146. or: (n) => {
  147. const s = String(n).split('.'), t0 = Number(s[0]) == n;
  148. return (n == 1 || n == 5 || (t0 && n >= 7 && n <= 9)) ? 'one'
  149. : (n == 2 || n == 3) ? 'two'
  150. : n == 4 ? 'few'
  151. : n == 6 ? 'many'
  152. : 'other';
  153. },
  154. pa: a,
  155. pl: a,
  156. prg: a,
  157. ps: a,
  158. pt: a,
  159. ro: b,
  160. ru: a,
  161. sc: (n) => (n == 11 || n == 8 || n == 80 || n == 800) ? 'many' : 'other',
  162. scn: (n) => (n == 11 || n == 8 || n == 80 || n == 800) ? 'many' : 'other',
  163. sd: a,
  164. sh: a,
  165. si: a,
  166. sk: a,
  167. sl: a,
  168. sq: (n) => {
  169. const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);
  170. return n == 1 ? 'one'
  171. : n10 == 4 && n100 != 14 ? 'many'
  172. : 'other';
  173. },
  174. sr: a,
  175. sv: (n) => {
  176. const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);
  177. return (n10 == 1 || n10 == 2) && n100 != 11 && n100 != 12 ? 'one' : 'other';
  178. },
  179. sw: a,
  180. ta: a,
  181. te: a,
  182. th: a,
  183. tk: (n) => {
  184. const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1);
  185. return (n10 == 6 || n10 == 9) || n == 10 ? 'few' : 'other';
  186. },
  187. tl: b,
  188. tpi: a,
  189. tr: a,
  190. uk: (n) => {
  191. const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);
  192. return n10 == 3 && n100 != 13 ? 'few' : 'other';
  193. },
  194. und: a,
  195. ur: a,
  196. uz: a,
  197. vec: (n) => (n == 11 || n == 8 || n == 80 || n == 800) ? 'many' : 'other',
  198. vi: b,
  199. yue: a,
  200. zh: a,
  201. zu: a
  202. }));