make-plural 4.0.1 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  [![ISC License](https://img.shields.io/npm/l/make-plural.svg)](http://en.wikipedia.org/wiki/ISC_license)
2
- [![Build Status](https://travis-ci.org/eemeli/make-plural.js.svg?branch=master)](https://travis-ci.org/eemeli/make-plural.js)
2
+ [![Build Status](https://travis-ci.org/eemeli/make-plural.svg?branch=master)](https://travis-ci.org/eemeli/make-plural)
3
3
 
4
4
 
5
5
  make-plural
@@ -33,13 +33,13 @@ bower install make-plural
33
33
  ```
34
34
  _or_
35
35
  ```
36
- git clone https://github.com/eemeli/make-plural.js.git
37
- cd make-plural.js
36
+ git clone https://github.com/eemeli/make-plural.git
37
+ cd make-plural
38
38
  npm install
39
39
  make all
40
40
  ```
41
41
  _or_ download the latest release from
42
- [here](https://github.com/eemeli/make-plural.js/releases/latest)
42
+ [here](https://github.com/eemeli/make-plural/releases/latest)
43
43
 
44
44
 
45
45
  ## Precompiled plurals
@@ -249,7 +249,7 @@ console.log(sk.toString())
249
249
  // }
250
250
  ```
251
251
 
252
- `make-plural.js` may also be used in browser environments; see `test/index.html`
252
+ `make-plural` may also be used in browser environments; see `test/index.html`
253
253
  for an example of its use.
254
254
 
255
255
 
package/bin/common.js CHANGED
@@ -1,15 +1,17 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var combined = exports.combined = {
7
- plurals: ['function(n, ord) {\n if (ord) return \'other\';\n return \'other\';\n}', 'function(n, ord) {\n if (ord) return \'other\';\n return (n == 1) ? \'one\' : \'other\';\n}', 'function(n, ord) {\n if (ord) return \'other\';\n return ((n == 0\n || n == 1)) ? \'one\' : \'other\';\n}', 'function(n, ord) {\n var s = String(n).split(\'.\'), v0 = !s[1];\n if (ord) return \'other\';\n return (n == 1 && v0) ? \'one\' : \'other\';\n}'],
6
+ exports.cardinals = exports.combined = void 0;
7
+ var combined = {
8
+ plurals: ["function(n, ord) {\n if (ord) return 'other';\n return 'other';\n}", "function(n, ord) {\n if (ord) return 'other';\n return (n == 1) ? 'one' : 'other';\n}", "function(n, ord) {\n if (ord) return 'other';\n return ((n == 0\n || n == 1)) ? 'one' : 'other';\n}", "function(n, ord) {\n var s = String(n).split('.'), v0 = !s[1];\n if (ord) return 'other';\n return (n == 1 && v0) ? 'one' : 'other';\n}"],
8
9
  categories: ['{cardinal:["other"],ordinal:["other"]}', '{cardinal:["one","other"],ordinal:["other"]}', '{cardinal:["one","other"],ordinal:["one","other"]}', '{cardinal:["one","two","other"],ordinal:["other"]}']
9
10
  };
10
-
11
- var cardinals = exports.cardinals = {
12
- plurals: ['function(n) {\n return \'other\';\n}', 'function(n) {\n return (n == 1) ? \'one\' : \'other\';\n}', 'function(n) {\n return ((n == 0\n || n == 1)) ? \'one\' : \'other\';\n}', 'function(n) {\n var s = String(n).split(\'.\'), v0 = !s[1];\n return (n == 1 && v0) ? \'one\' : \'other\';\n}'],
11
+ exports.combined = combined;
12
+ var cardinals = {
13
+ plurals: ["function(n) {\n return 'other';\n}", "function(n) {\n return (n == 1) ? 'one' : 'other';\n}", "function(n) {\n return ((n == 0\n || n == 1)) ? 'one' : 'other';\n}", "function(n) {\n var s = String(n).split('.'), v0 = !s[1];\n return (n == 1 && v0) ? 'one' : 'other';\n}"],
13
14
  categories: ['{cardinal:["other"],ordinal:[]}', '{cardinal:["one","other"],ordinal:[]}', '{cardinal:["one","other"],ordinal:[]}', '{cardinal:["one","two","other"],ordinal:[]}']
14
15
  };
16
+ exports.cardinals = cardinals;
15
17
 
package/bin/make-plural CHANGED
@@ -1,12 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- 'use strict';
3
+ "use strict";
4
4
 
5
- var _common = require('./common');
5
+ var common = _interopRequireWildcard(require("./common"));
6
6
 
7
- var common = _interopRequireWildcard(_common);
8
-
9
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
7
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
10
8
 
11
9
  /** A compiler for make-plural.js
12
10
  *
@@ -15,32 +13,47 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
15
13
  * ./bin/make-plural [lc] // prints the locale function for LC
16
14
  * ./bin/make-plural [lc] [n] [ord] // prints the (ORD ? ordinal : plural) category for N in locale LC
17
15
  */
18
-
19
16
  var argv = require('minimist')(process.argv.slice(2), {
20
- default: { locale: null, value: null, ordinal: null, cardinal: null, categories: false, es6: false },
21
- alias: { locale: 'l', value: 'v', ordinal: 'o', cardinal: 'c', es6: 'e' },
17
+ default: {
18
+ locale: null,
19
+ value: null,
20
+ ordinal: null,
21
+ cardinal: null,
22
+ categories: false,
23
+ es6: false
24
+ },
25
+ alias: {
26
+ locale: 'l',
27
+ value: 'v',
28
+ ordinal: 'o',
29
+ cardinal: 'c',
30
+ es6: 'e'
31
+ },
22
32
  string: ['locale', 'value'],
23
33
  boolean: ['categories', 'es6']
24
34
  });
35
+
25
36
  var MakePlural = require('../make-plural').load(require('../data/plurals.json'), require('../data/ordinals.json'));
26
37
 
27
38
  var es6module = function es6module(value) {
28
- return '\nexport default {\n' + value + '\n}';
29
- };
39
+ return "\nexport default {\n".concat(value, "\n}");
40
+ }; // UMD pattern adapted from https://github.com/umdjs/umd/blob/master/returnExports.js
41
+
30
42
 
31
- // UMD pattern adapted from https://github.com/umdjs/umd/blob/master/returnExports.js
32
43
  var umd = function umd(global, value) {
33
- return '\n(function (root, ' + global + ') {\n if (typeof define === \'function\' && define.amd) {\n define(' + global + ');\n } else if (typeof exports === \'object\') {\n module.exports = ' + global + ';\n } else {\n root.' + global + ' = ' + global + ';\n }\n}(this, {\n' + value + '\n}));';
44
+ return "\n(function (root, ".concat(global, ") {\n if (typeof define === 'function' && define.amd) {\n define(").concat(global, ");\n } else if (typeof exports === 'object') {\n module.exports = ").concat(global, ";\n } else {\n root.").concat(global, " = ").concat(global, ";\n }\n}(this, {\n").concat(value, "\n}));");
34
45
  };
35
46
 
36
47
  function mapForEachLanguage(cb, opt) {
37
48
  var style = opt && !opt.cardinals ? 'ordinal' : 'cardinal';
38
49
  var languages = [];
50
+
39
51
  for (var lc in MakePlural.rules[style]) {
40
52
  var key = /^[A-Z_$][0-9A-Z_$]*$/i.test(lc) && lc !== 'in' ? lc : JSON.stringify(lc);
41
53
  var mp = new MakePlural(lc, opt).test();
42
54
  languages.push(key + ': ' + cb(mp));
43
55
  }
56
+
44
57
  return languages;
45
58
  }
46
59
 
@@ -49,10 +62,11 @@ function printPluralsModule(es6) {
49
62
  var plurals = mapForEachLanguage(function (mp) {
50
63
  var fn = mp.toString();
51
64
  cp.forEach(function (p, i) {
52
- if (fn === p) fn = '_cp[' + i + ']';
65
+ if (fn === p) fn = "_cp[".concat(i, "]");
53
66
  });
54
67
  return fn;
55
68
  });
69
+
56
70
  if (es6) {
57
71
  console.log('const _cp = [\n' + cp.join(',\n') + '\n];');
58
72
  console.log(es6module(plurals.join(',\n\n')));
@@ -67,10 +81,11 @@ function printCategoriesModule(es6) {
67
81
  var categories = mapForEachLanguage(function (mp) {
68
82
  var cat = JSON.stringify(mp.categories).replace(/"(\w+)":/g, '$1:');
69
83
  cc.forEach(function (c, i) {
70
- if (cat === c) cat = '_cc[' + i + ']';
84
+ if (cat === c) cat = "_cc[".concat(i, "]");
71
85
  });
72
86
  return cat;
73
87
  });
88
+
74
89
  if (es6) {
75
90
  console.log('const _cc = [\n ' + cc.join(',\n ') + '\n];');
76
91
  console.log(es6module(categories.join(',\n')));
@@ -94,6 +109,7 @@ MakePlural.ordinals = argv.ordinal !== null ? truthy(argv.ordinal) : true;
94
109
 
95
110
  if (argv.locale) {
96
111
  var mp = new MakePlural(argv.locale).test();
112
+
97
113
  if (argv.categories) {
98
114
  var cats = mp.categories.cardinal.concat(mp.categories.ordinal).filter(function (v, i, self) {
99
115
  return self.indexOf(v) === i;
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "supplemental": {
3
3
  "version": {
4
- "_number": "$Revision: 12595 $",
5
- "_unicodeVersion": "9.0.0",
6
- "_cldrVersion": "30"
4
+ "_number": "$Revision: 14397 $",
5
+ "_unicodeVersion": "11.0.0",
6
+ "_cldrVersion": "34"
7
7
  },
8
8
  "plurals-type-ordinal": {
9
9
  "af": {
@@ -113,9 +113,18 @@
113
113
  "pluralRule-count-one": "n = 1 @integer 1",
114
114
  "pluralRule-count-other": " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …"
115
115
  },
116
+ "gd": {
117
+ "pluralRule-count-one": "n = 1,11 @integer 1, 11",
118
+ "pluralRule-count-two": "n = 2,12 @integer 2, 12",
119
+ "pluralRule-count-few": "n = 3,13 @integer 3, 13",
120
+ "pluralRule-count-other": " @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"
121
+ },
116
122
  "gl": {
117
123
  "pluralRule-count-other": " @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"
118
124
  },
125
+ "gsw": {
126
+ "pluralRule-count-other": " @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"
127
+ },
119
128
  "gu": {
120
129
  "pluralRule-count-one": "n = 1 @integer 1",
121
130
  "pluralRule-count-two": "n = 2,3 @integer 2, 3",
@@ -147,6 +156,9 @@
147
156
  "pluralRule-count-one": "n = 1 @integer 1",
148
157
  "pluralRule-count-other": " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …"
149
158
  },
159
+ "ia": {
160
+ "pluralRule-count-other": " @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"
161
+ },
150
162
  "id": {
151
163
  "pluralRule-count-other": " @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"
152
164
  },
@@ -236,6 +248,13 @@
236
248
  "nl": {
237
249
  "pluralRule-count-other": " @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"
238
250
  },
251
+ "or": {
252
+ "pluralRule-count-one": "n = 1,5,7..9 @integer 1, 5, 7~9",
253
+ "pluralRule-count-two": "n = 2,3 @integer 2, 3",
254
+ "pluralRule-count-few": "n = 4 @integer 4",
255
+ "pluralRule-count-many": "n = 6 @integer 6",
256
+ "pluralRule-count-other": " @integer 0, 10~24, 100, 1000, 10000, 100000, 1000000, …"
257
+ },
239
258
  "pa": {
240
259
  "pluralRule-count-other": " @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"
241
260
  },
@@ -245,6 +264,9 @@
245
264
  "prg": {
246
265
  "pluralRule-count-other": " @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"
247
266
  },
267
+ "ps": {
268
+ "pluralRule-count-other": " @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"
269
+ },
248
270
  "pt": {
249
271
  "pluralRule-count-other": " @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"
250
272
  },
@@ -258,6 +280,17 @@
258
280
  "ru": {
259
281
  "pluralRule-count-other": " @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"
260
282
  },
283
+ "sc": {
284
+ "pluralRule-count-many": "n = 11,8,80,800 @integer 8, 11, 80, 800",
285
+ "pluralRule-count-other": " @integer 0~7, 9, 10, 12~17, 100, 1000, 10000, 100000, 1000000, …"
286
+ },
287
+ "scn": {
288
+ "pluralRule-count-many": "n = 11,8,80,800 @integer 8, 11, 80, 800",
289
+ "pluralRule-count-other": " @integer 0~7, 9, 10, 12~17, 100, 1000, 10000, 100000, 1000000, …"
290
+ },
291
+ "sd": {
292
+ "pluralRule-count-other": " @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"
293
+ },
261
294
  "sh": {
262
295
  "pluralRule-count-other": " @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"
263
296
  },
@@ -294,6 +327,10 @@
294
327
  "th": {
295
328
  "pluralRule-count-other": " @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"
296
329
  },
330
+ "tk": {
331
+ "pluralRule-count-few": "n % 10 = 6,9 or n = 10 @integer 6, 9, 10, 16, 19, 26, 29, 36, 39, 106, 1006, …",
332
+ "pluralRule-count-other": " @integer 0~5, 7, 8, 11~15, 17, 18, 20, 100, 1000, 10000, 100000, 1000000, …"
333
+ },
297
334
  "tl": {
298
335
  "pluralRule-count-one": "n = 1 @integer 1",
299
336
  "pluralRule-count-other": " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …"
package/data/plurals.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "supplemental": {
3
3
  "version": {
4
- "_number": "$Revision: 12805 $",
5
- "_unicodeVersion": "9.0.0",
6
- "_cldrVersion": "30"
4
+ "_number": "$Revision: 14397 $",
5
+ "_unicodeVersion": "11.0.0",
6
+ "_cldrVersion": "34"
7
7
  },
8
8
  "plurals-type-cardinal": {
9
9
  "af": {
@@ -286,6 +286,10 @@
286
286
  "pluralRule-count-one": "i = 0,1 @integer 0, 1 @decimal 0.0~1.5",
287
287
  "pluralRule-count-other": " @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, …"
288
288
  },
289
+ "ia": {
290
+ "pluralRule-count-one": "i = 1 and v = 0 @integer 1",
291
+ "pluralRule-count-other": " @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, …"
292
+ },
289
293
  "id": {
290
294
  "pluralRule-count-other": " @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, …"
291
295
  },
@@ -298,6 +302,10 @@
298
302
  "in": {
299
303
  "pluralRule-count-other": " @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, …"
300
304
  },
305
+ "io": {
306
+ "pluralRule-count-one": "i = 1 and v = 0 @integer 1",
307
+ "pluralRule-count-other": " @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, …"
308
+ },
301
309
  "is": {
302
310
  "pluralRule-count-one": "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, …",
303
311
  "pluralRule-count-other": " @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, …"
@@ -458,8 +466,8 @@
458
466
  "pluralRule-count-other": " @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, …"
459
467
  },
460
468
  "mk": {
461
- "pluralRule-count-one": "v = 0 and i % 10 = 1 or f % 10 = 1 @integer 1, 11, 21, 31, 41, 51, 61, 71, 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, …",
462
- "pluralRule-count-other": " @integer 0, 2~10, 12~17, 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, …"
469
+ "pluralRule-count-one": "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, …",
470
+ "pluralRule-count-other": " @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, …"
463
471
  },
464
472
  "ml": {
465
473
  "pluralRule-count-one": "n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000",
@@ -582,11 +590,11 @@
582
590
  "pluralRule-count-other": " @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, …"
583
591
  },
584
592
  "pt": {
585
- "pluralRule-count-one": "n = 0..2 and n != 2 @integer 0, 1 @decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000",
586
- "pluralRule-count-other": " @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, …"
593
+ "pluralRule-count-one": "i = 0..1 @integer 0, 1 @decimal 0.0~1.5",
594
+ "pluralRule-count-other": " @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, …"
587
595
  },
588
596
  "pt-PT": {
589
- "pluralRule-count-one": "n = 1 and v = 0 @integer 1",
597
+ "pluralRule-count-one": "i = 1 and v = 0 @integer 1",
590
598
  "pluralRule-count-other": " @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, …"
591
599
  },
592
600
  "rm": {
@@ -622,6 +630,18 @@
622
630
  "pluralRule-count-one": "n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000",
623
631
  "pluralRule-count-other": " @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, …"
624
632
  },
633
+ "sc": {
634
+ "pluralRule-count-one": "i = 1 and v = 0 @integer 1",
635
+ "pluralRule-count-other": " @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, …"
636
+ },
637
+ "scn": {
638
+ "pluralRule-count-one": "i = 1 and v = 0 @integer 1",
639
+ "pluralRule-count-other": " @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, …"
640
+ },
641
+ "sd": {
642
+ "pluralRule-count-one": "n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000",
643
+ "pluralRule-count-other": " @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, …"
644
+ },
625
645
  "sdh": {
626
646
  "pluralRule-count-one": "n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000",
627
647
  "pluralRule-count-other": " @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, …"
@@ -54,7 +54,7 @@ fr: _cc[2],
54
54
  fur: _cc[1],
55
55
  fy: _cc[1],
56
56
  ga: {cardinal:["one","two","few","many","other"],ordinal:["one","other"]},
57
- gd: {cardinal:["one","two","few","other"],ordinal:["other"]},
57
+ gd: {cardinal:["one","two","few","other"],ordinal:["one","two","few","other"]},
58
58
  gl: _cc[1],
59
59
  gsw: _cc[1],
60
60
  gu: {cardinal:["one","other"],ordinal:["one","two","few","many","other"]},
@@ -68,10 +68,12 @@ hr: {cardinal:["one","few","other"],ordinal:["other"]},
68
68
  hsb: {cardinal:["one","two","few","other"],ordinal:["other"]},
69
69
  hu: _cc[2],
70
70
  hy: _cc[2],
71
+ ia: _cc[1],
71
72
  id: _cc[0],
72
73
  ig: _cc[0],
73
74
  ii: _cc[0],
74
75
  "in": _cc[0],
76
+ io: _cc[1],
75
77
  is: _cc[1],
76
78
  it: {cardinal:["one","other"],ordinal:["many","other"]},
77
79
  iu: _cc[3],
@@ -135,7 +137,7 @@ nso: _cc[1],
135
137
  ny: _cc[1],
136
138
  nyn: _cc[1],
137
139
  om: _cc[1],
138
- or: _cc[1],
140
+ or: {cardinal:["one","other"],ordinal:["one","two","few","many","other"]},
139
141
  os: _cc[1],
140
142
  pa: _cc[1],
141
143
  pap: _cc[1],
@@ -152,6 +154,9 @@ ru: {cardinal:["one","few","many","other"],ordinal:["other"]},
152
154
  rwk: _cc[1],
153
155
  sah: _cc[0],
154
156
  saq: _cc[1],
157
+ sc: {cardinal:["one","other"],ordinal:["many","other"]},
158
+ scn: {cardinal:["one","other"],ordinal:["many","other"]},
159
+ sd: _cc[1],
155
160
  sdh: _cc[1],
156
161
  se: _cc[3],
157
162
  seh: _cc[1],
@@ -183,7 +188,7 @@ teo: _cc[1],
183
188
  th: _cc[0],
184
189
  ti: _cc[1],
185
190
  tig: _cc[1],
186
- tk: _cc[1],
191
+ tk: {cardinal:["one","other"],ordinal:["few","other"]},
187
192
  tl: _cc[2],
188
193
  tn: _cc[1],
189
194
  to: _cc[0],