n2words 1.14.0 → 1.15.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/dist/n2words.js +1 -1
- package/lib/i18n/AR.mjs +46 -32
- package/lib/i18n/AZ.mjs +6 -5
- package/lib/i18n/CZ.mjs +6 -5
- package/lib/i18n/DE.mjs +6 -5
- package/lib/i18n/DK.mjs +12 -6
- package/lib/i18n/EN.mjs +6 -5
- package/lib/i18n/ES.mjs +13 -7
- package/lib/i18n/FA.mjs +6 -5
- package/lib/i18n/FR.mjs +6 -5
- package/lib/i18n/HE.mjs +13 -7
- package/lib/i18n/HR.mjs +6 -7
- package/lib/i18n/HU.mjs +6 -5
- package/lib/i18n/ID.mjs +33 -31
- package/lib/i18n/IT.mjs +16 -13
- package/lib/i18n/KO.mjs +6 -5
- package/lib/i18n/LT.mjs +6 -7
- package/lib/i18n/LV.mjs +6 -5
- package/lib/i18n/NL.mjs +12 -13
- package/lib/i18n/NO.mjs +6 -5
- package/lib/i18n/PL.mjs +6 -7
- package/lib/i18n/PT.mjs +18 -17
- package/lib/i18n/RU.mjs +11 -4
- package/lib/i18n/SR.mjs +6 -7
- package/lib/i18n/TR.mjs +4 -4
- package/lib/i18n/UK.mjs +79 -74
- package/lib/i18n/VI.mjs +63 -60
- package/lib/i18n/ZH.mjs +6 -5
- package/lib/n2words.mjs +27 -27
- package/package.json +8 -8
package/lib/i18n/LV.mjs
CHANGED
|
@@ -52,12 +52,12 @@ export class N2WordsLV extends N2WordsRU{
|
|
|
52
52
|
10: ['nontiljons', 'nontiljoni', 'nontiljonu'],
|
|
53
53
|
};
|
|
54
54
|
|
|
55
|
-
constructor() {
|
|
56
|
-
super({
|
|
55
|
+
constructor(options) {
|
|
56
|
+
super(Object.assign({
|
|
57
57
|
negativeWord: 'mīnus',
|
|
58
58
|
separatorWord: 'komats',
|
|
59
59
|
zero: 'nulle'
|
|
60
|
-
});
|
|
60
|
+
}, options));
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
pluralize(n, forms) {
|
|
@@ -115,9 +115,10 @@ export class N2WordsLV extends N2WordsRU{
|
|
|
115
115
|
/**
|
|
116
116
|
* Converts a value to cardinal (written) form.
|
|
117
117
|
* @param {number|string} value Number to be convert.
|
|
118
|
+
* @param {object} options Options for class.
|
|
118
119
|
* @throws {Error} Value cannot be invalid.
|
|
119
120
|
* @returns {string} Value in cardinal (written) format.
|
|
120
121
|
*/
|
|
121
|
-
export default function(value) {
|
|
122
|
-
return new N2WordsLV().floatToCardinal(value);
|
|
122
|
+
export default function(value, options) {
|
|
123
|
+
return new N2WordsLV(options).floatToCardinal(value);
|
|
123
124
|
}
|
package/lib/i18n/NL.mjs
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsNL extends BaseLanguage {
|
|
4
|
-
includeOptionalAnd
|
|
5
|
-
noHundredPairs
|
|
4
|
+
includeOptionalAnd;
|
|
5
|
+
noHundredPairs;
|
|
6
6
|
|
|
7
7
|
constructor(options) {
|
|
8
|
-
|
|
8
|
+
options = Object.assign({
|
|
9
9
|
negativeWord: 'min',
|
|
10
10
|
separatorWord: 'komma',
|
|
11
|
-
zero: 'nul'
|
|
12
|
-
|
|
11
|
+
zero: 'nul',
|
|
12
|
+
includeOptionalAnd: false,
|
|
13
|
+
noHundredPairs: false
|
|
14
|
+
}, options);
|
|
15
|
+
|
|
16
|
+
super(options, [
|
|
13
17
|
[1000000000000000000000000000n, 'quadriljard'],
|
|
14
18
|
[1000000000000000000000000n, 'quadriljoen'],
|
|
15
19
|
[1000000000000000000000n, 'triljard'],
|
|
@@ -50,13 +54,8 @@ export class N2WordsNL extends BaseLanguage {
|
|
|
50
54
|
[0n, 'nul'],
|
|
51
55
|
]);
|
|
52
56
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (options.noHundredPairs === true) {
|
|
58
|
-
this.noHundredPairs = true;
|
|
59
|
-
}
|
|
57
|
+
this.includeOptionalAnd = options.includeOptionalAnd;
|
|
58
|
+
this.noHundredPairs = options.noHundredPairs;
|
|
60
59
|
}
|
|
61
60
|
|
|
62
61
|
merge(curr, next) {
|
|
@@ -121,6 +120,6 @@ export class N2WordsNL extends BaseLanguage {
|
|
|
121
120
|
* @throws {Error} Value cannot be invalid.
|
|
122
121
|
* @returns {string} Value in cardinal (written) format.
|
|
123
122
|
*/
|
|
124
|
-
export default function(value, options
|
|
123
|
+
export default function(value, options) {
|
|
125
124
|
return new N2WordsNL(options).floatToCardinal(value);
|
|
126
125
|
}
|
package/lib/i18n/NO.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsNO extends BaseLanguage {
|
|
4
|
-
constructor() {
|
|
5
|
-
super({
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(Object.assign({
|
|
6
6
|
negativeWord: 'minus',
|
|
7
7
|
separatorWord: 'komma',
|
|
8
8
|
zero: 'null'
|
|
9
|
-
},[
|
|
9
|
+
}, options), [
|
|
10
10
|
[1000000000000000000000000000000000n, 'quintillard'],
|
|
11
11
|
[1000000000000000000000000000000n, 'quintillion'],
|
|
12
12
|
[1000000000000000000000000000n, 'quadrillard'],
|
|
@@ -66,9 +66,10 @@ export class N2WordsNO extends BaseLanguage {
|
|
|
66
66
|
/**
|
|
67
67
|
* Converts a value to cardinal (written) form.
|
|
68
68
|
* @param {number|string} value Number to be convert.
|
|
69
|
+
* @param {object} options Options for class.
|
|
69
70
|
* @throws {Error} Value cannot be invalid.
|
|
70
71
|
* @returns {string} Value in cardinal (written) format.
|
|
71
72
|
*/
|
|
72
|
-
export default function(value) {
|
|
73
|
-
return new N2WordsNO().floatToCardinal(value);
|
|
73
|
+
export default function(value, options) {
|
|
74
|
+
return new N2WordsNO(options).floatToCardinal(value);
|
|
74
75
|
}
|
package/lib/i18n/PL.mjs
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import {N2WordsRU} from './RU.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsPL extends N2WordsRU {
|
|
4
|
-
feminine = false;
|
|
5
|
-
|
|
6
4
|
ones = {
|
|
7
5
|
1: 'jeden',
|
|
8
6
|
2: 'dwa',
|
|
@@ -64,12 +62,12 @@ export class N2WordsPL extends N2WordsRU {
|
|
|
64
62
|
10: ['kwintylion', 'kwintyliony', 'kwintylionów'], // 10^ 30
|
|
65
63
|
};
|
|
66
64
|
|
|
67
|
-
constructor() {
|
|
68
|
-
super({
|
|
65
|
+
constructor(options) {
|
|
66
|
+
super(Object.assign({
|
|
69
67
|
negativeWord: 'minus',
|
|
70
68
|
separatorWord: 'przecinek',
|
|
71
69
|
zero: 'zero'
|
|
72
|
-
});
|
|
70
|
+
}, options));
|
|
73
71
|
}
|
|
74
72
|
|
|
75
73
|
pluralize(n, forms) {
|
|
@@ -118,9 +116,10 @@ export class N2WordsPL extends N2WordsRU {
|
|
|
118
116
|
/**
|
|
119
117
|
* Converts a value to cardinal (written) form.
|
|
120
118
|
* @param {number|string} value Number to be convert.
|
|
119
|
+
* @param {object} options Options for class.
|
|
121
120
|
* @throws {Error} Value cannot be invalid.
|
|
122
121
|
* @returns {string} Value in cardinal (written) format.
|
|
123
122
|
*/
|
|
124
|
-
export default function(value) {
|
|
125
|
-
return new N2WordsPL().floatToCardinal(value);
|
|
123
|
+
export default function(value, options) {
|
|
124
|
+
return new N2WordsPL(options).floatToCardinal(value);
|
|
126
125
|
}
|
package/lib/i18n/PT.mjs
CHANGED
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsPT extends BaseLanguage {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
hundreds = {
|
|
5
|
+
1: 'cento',
|
|
6
|
+
2: 'duzentos',
|
|
7
|
+
3: 'trezentos',
|
|
8
|
+
4: 'quatrocentos',
|
|
9
|
+
5: 'quinhentos',
|
|
10
|
+
6: 'seiscentos',
|
|
11
|
+
7: 'setecentos',
|
|
12
|
+
8: 'oitocentos',
|
|
13
|
+
9: 'novecentos'
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
constructor(options) {
|
|
17
|
+
super(Object.assign({
|
|
6
18
|
negativeWord: 'menos',
|
|
7
19
|
separatorWord: 'vírgula',
|
|
8
20
|
zero: 'zero'
|
|
9
|
-
},[
|
|
21
|
+
}, options), [
|
|
10
22
|
[1000000000000000000000000n, 'quatrilião'],
|
|
11
23
|
[1000000000000000000n, 'trilião'],
|
|
12
24
|
[1000000000000n, 'bilião'],
|
|
@@ -42,18 +54,6 @@ export class N2WordsPT extends BaseLanguage {
|
|
|
42
54
|
[1n, 'um'],
|
|
43
55
|
[0n, 'zero']
|
|
44
56
|
]);
|
|
45
|
-
|
|
46
|
-
this.hundreds = {
|
|
47
|
-
1: 'cento',
|
|
48
|
-
2: 'duzentos',
|
|
49
|
-
3: 'trezentos',
|
|
50
|
-
4: 'quatrocentos',
|
|
51
|
-
5: 'quinhentos',
|
|
52
|
-
6: 'seiscentos',
|
|
53
|
-
7: 'setecentos',
|
|
54
|
-
8: 'oitocentos',
|
|
55
|
-
9: 'novecentos'
|
|
56
|
-
};
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
postClean(words) {
|
|
@@ -105,9 +105,10 @@ export class N2WordsPT extends BaseLanguage {
|
|
|
105
105
|
/**
|
|
106
106
|
* Converts a value to cardinal (written) form.
|
|
107
107
|
* @param {number|string} value Number to be convert.
|
|
108
|
+
* @param {object} options Options for class.
|
|
108
109
|
* @throws {Error} Value cannot be invalid.
|
|
109
110
|
* @returns {string} Value in cardinal (written) format.
|
|
110
111
|
*/
|
|
111
|
-
export default function(value) {
|
|
112
|
-
return new N2WordsPT().floatToCardinal(value);
|
|
112
|
+
export default function(value, options) {
|
|
113
|
+
return new N2WordsPT(options).floatToCardinal(value);
|
|
113
114
|
}
|
package/lib/i18n/RU.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import AbstractLanguage from '../classes/AbstractLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsRU extends AbstractLanguage {
|
|
4
|
-
feminine
|
|
4
|
+
feminine;
|
|
5
5
|
|
|
6
6
|
ones = {
|
|
7
7
|
1: 'один',
|
|
@@ -76,12 +76,18 @@ export class N2WordsRU extends AbstractLanguage {
|
|
|
76
76
|
10: ['нониллион', 'нониллиона', 'нониллионов'], // 10^ 30
|
|
77
77
|
};
|
|
78
78
|
|
|
79
|
-
constructor(options
|
|
79
|
+
constructor(options) {
|
|
80
80
|
super(Object.assign({
|
|
81
81
|
negativeWord: 'минус',
|
|
82
82
|
separatorWord: 'запятая',
|
|
83
83
|
zero: 'ноль'
|
|
84
84
|
}, options));
|
|
85
|
+
|
|
86
|
+
options = Object.assign({
|
|
87
|
+
feminine: false,
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
this.feminine = options.feminine;
|
|
85
91
|
}
|
|
86
92
|
|
|
87
93
|
toCardinal(number) {
|
|
@@ -188,9 +194,10 @@ export class N2WordsRU extends AbstractLanguage {
|
|
|
188
194
|
/**
|
|
189
195
|
* Converts a value to cardinal (written) form.
|
|
190
196
|
* @param {number|string} value Number to be convert.
|
|
197
|
+
* @param {object} options Options for class.
|
|
191
198
|
* @throws {Error} Value cannot be invalid.
|
|
192
199
|
* @returns {string} Value in cardinal (written) format.
|
|
193
200
|
*/
|
|
194
|
-
export default function(value) {
|
|
195
|
-
return new N2WordsRU().floatToCardinal(value);
|
|
201
|
+
export default function(value, options) {
|
|
202
|
+
return new N2WordsRU(options).floatToCardinal(value);
|
|
196
203
|
}
|
package/lib/i18n/SR.mjs
CHANGED
|
@@ -63,14 +63,12 @@ export class N2WordsSR extends N2WordsRU {
|
|
|
63
63
|
10: ['kvintilion', 'kvintiliona', 'kvintiliona', false], // 10 ^ 30
|
|
64
64
|
};
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
constructor() {
|
|
69
|
-
super({
|
|
66
|
+
constructor(options) {
|
|
67
|
+
super(Object.assign({
|
|
70
68
|
negativeWord: 'minus',
|
|
71
69
|
separatorWord: 'zapeta',
|
|
72
70
|
zero: 'nula'
|
|
73
|
-
});
|
|
71
|
+
}, options));
|
|
74
72
|
}
|
|
75
73
|
|
|
76
74
|
pluralize(n, forms) {
|
|
@@ -121,9 +119,10 @@ export class N2WordsSR extends N2WordsRU {
|
|
|
121
119
|
/**
|
|
122
120
|
* Converts a value to cardinal (written) form.
|
|
123
121
|
* @param {number|string} value Number to be convert.
|
|
122
|
+
* @param {object} options Options for class.
|
|
124
123
|
* @throws {Error} Value cannot be invalid.
|
|
125
124
|
* @returns {string} Value in cardinal (written) format.
|
|
126
125
|
*/
|
|
127
|
-
export default function(value) {
|
|
128
|
-
return new N2WordsSR().floatToCardinal(value);
|
|
126
|
+
export default function(value, options) {
|
|
127
|
+
return new N2WordsSR(options).floatToCardinal(value);
|
|
129
128
|
}
|
package/lib/i18n/TR.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsTR extends BaseLanguage {
|
|
4
|
-
constructor(options) {
|
|
5
|
-
super({
|
|
4
|
+
constructor(options = {}) {
|
|
5
|
+
super(Object.assign({
|
|
6
6
|
negativeWord: 'eksi',
|
|
7
7
|
separatorWord: 'virgül',
|
|
8
8
|
zero: 'sıfır',
|
|
9
9
|
spaceSeparator: (options.dropSpaces === true ? '' : ' '),
|
|
10
|
-
},[
|
|
10
|
+
}, options), [
|
|
11
11
|
[1000000000000000000n, 'kentilyon'],
|
|
12
12
|
[1000000000000000n, 'katrilyon'],
|
|
13
13
|
[1000000000000n, 'trilyon'],
|
|
@@ -59,6 +59,6 @@ export class N2WordsTR extends BaseLanguage {
|
|
|
59
59
|
* @throws {Error} Value cannot be invalid.
|
|
60
60
|
* @returns {string} Value in cardinal (written) format.
|
|
61
61
|
*/
|
|
62
|
-
export default function(value, options
|
|
62
|
+
export default function(value, options) {
|
|
63
63
|
return new N2WordsTR(options).floatToCardinal(value);
|
|
64
64
|
}
|
package/lib/i18n/UK.mjs
CHANGED
|
@@ -1,90 +1,95 @@
|
|
|
1
1
|
import {N2WordsRU} from './RU.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsUK extends N2WordsRU {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
ones = {
|
|
5
|
+
1: 'один',
|
|
6
|
+
2: 'два',
|
|
7
|
+
3: 'три',
|
|
8
|
+
4: 'чотири',
|
|
9
|
+
5: 'п\'ять',
|
|
10
|
+
6: 'шiсть',
|
|
11
|
+
7: 'сiм',
|
|
12
|
+
8: 'вiсiм',
|
|
13
|
+
9: 'дев\'ять'
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
onesFeminine = {
|
|
17
|
+
1: 'одна',
|
|
18
|
+
2: 'двi',
|
|
19
|
+
3: 'три',
|
|
20
|
+
4: 'чотири',
|
|
21
|
+
5: 'п\'ять',
|
|
22
|
+
6: 'шiсть',
|
|
23
|
+
7: 'сiм',
|
|
24
|
+
8: 'вiсiм',
|
|
25
|
+
9: 'дев\'ять'
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
tens = {
|
|
29
|
+
0: 'десять',
|
|
30
|
+
1: 'одинадцять',
|
|
31
|
+
2: 'дванадцять',
|
|
32
|
+
3: 'тринадцять',
|
|
33
|
+
4: 'чотирнадцять',
|
|
34
|
+
5: 'п\'ятнадцять',
|
|
35
|
+
6: 'шiстнадцять',
|
|
36
|
+
7: 'сiмнадцять',
|
|
37
|
+
8: 'вiсiмнадцять',
|
|
38
|
+
9: 'дев\'ятнадцять'
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
twenties = {
|
|
42
|
+
2: 'двадцять',
|
|
43
|
+
3: 'тридцять',
|
|
44
|
+
4: 'сорок',
|
|
45
|
+
5: 'п\'ятдесят',
|
|
46
|
+
6: 'шiстдесят',
|
|
47
|
+
7: 'сiмдесят',
|
|
48
|
+
8: 'вiсiмдесят',
|
|
49
|
+
9: 'дев\'яносто'
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
hundreds = {
|
|
53
|
+
1: 'сто',
|
|
54
|
+
2: 'двiстi',
|
|
55
|
+
3: 'триста',
|
|
56
|
+
4: 'чотириста',
|
|
57
|
+
5: 'п\'ятсот',
|
|
58
|
+
6: 'шiстсот',
|
|
59
|
+
7: 'сiмсот',
|
|
60
|
+
8: 'вiсiмсот',
|
|
61
|
+
9: 'дев\'ятсот'
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
thousands = {
|
|
65
|
+
1: ['тисяча', 'тисячi', 'тисяч'], // 10^ 3
|
|
66
|
+
2: ['мiльйон', 'мiльйони', 'мiльйонiв'], // 10^ 6
|
|
67
|
+
3: ['мiльярд', 'мiльярди', 'мiльярдiв'], // 10^ 9
|
|
68
|
+
4: ['трильйон', 'трильйони', 'трильйонiв'], // 10^ 12
|
|
69
|
+
5: ['квадрильйон', 'квадрильйони', 'квадрильйонiв'], // 10^ 15
|
|
70
|
+
6: ['квiнтильйон', 'квiнтильйони', 'квiнтильйонiв'], // 10^ 18
|
|
71
|
+
7: ['секстильйон', 'секстильйони', 'секстильйонiв'], // 10^ 21
|
|
72
|
+
8: ['септильйон', 'септильйони', 'септильйонiв'], // 10^ 24
|
|
73
|
+
9: ['октильйон', 'октильйони', 'октильйонiв'], // 10^ 27
|
|
74
|
+
10: ['нонiльйон', 'нонiльйони', 'нонiльйонiв'], // 10^ 30
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
constructor(options) {
|
|
78
|
+
super(Object.assign({
|
|
6
79
|
negativeWord: 'мiнус',
|
|
7
80
|
separatorWord: 'кома',
|
|
8
81
|
zero: 'нуль'
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
this.feminine = false;
|
|
12
|
-
this.ones = {
|
|
13
|
-
1: 'один',
|
|
14
|
-
2: 'два',
|
|
15
|
-
3: 'три',
|
|
16
|
-
4: 'чотири',
|
|
17
|
-
5: 'п\'ять',
|
|
18
|
-
6: 'шiсть',
|
|
19
|
-
7: 'сiм',
|
|
20
|
-
8: 'вiсiм',
|
|
21
|
-
9: 'дев\'ять'
|
|
22
|
-
};
|
|
23
|
-
this.onesFeminine = {
|
|
24
|
-
1: 'одна',
|
|
25
|
-
2: 'двi',
|
|
26
|
-
3: 'три',
|
|
27
|
-
4: 'чотири',
|
|
28
|
-
5: 'п\'ять',
|
|
29
|
-
6: 'шiсть',
|
|
30
|
-
7: 'сiм',
|
|
31
|
-
8: 'вiсiм',
|
|
32
|
-
9: 'дев\'ять'
|
|
33
|
-
};
|
|
34
|
-
this.tens = {
|
|
35
|
-
0: 'десять',
|
|
36
|
-
1: 'одинадцять',
|
|
37
|
-
2: 'дванадцять',
|
|
38
|
-
3: 'тринадцять',
|
|
39
|
-
4: 'чотирнадцять',
|
|
40
|
-
5: 'п\'ятнадцять',
|
|
41
|
-
6: 'шiстнадцять',
|
|
42
|
-
7: 'сiмнадцять',
|
|
43
|
-
8: 'вiсiмнадцять',
|
|
44
|
-
9: 'дев\'ятнадцять'
|
|
45
|
-
};
|
|
46
|
-
this.twenties = {
|
|
47
|
-
2: 'двадцять',
|
|
48
|
-
3: 'тридцять',
|
|
49
|
-
4: 'сорок',
|
|
50
|
-
5: 'п\'ятдесят',
|
|
51
|
-
6: 'шiстдесят',
|
|
52
|
-
7: 'сiмдесят',
|
|
53
|
-
8: 'вiсiмдесят',
|
|
54
|
-
9: 'дев\'яносто'
|
|
55
|
-
};
|
|
56
|
-
this.hundreds = {
|
|
57
|
-
1: 'сто',
|
|
58
|
-
2: 'двiстi',
|
|
59
|
-
3: 'триста',
|
|
60
|
-
4: 'чотириста',
|
|
61
|
-
5: 'п\'ятсот',
|
|
62
|
-
6: 'шiстсот',
|
|
63
|
-
7: 'сiмсот',
|
|
64
|
-
8: 'вiсiмсот',
|
|
65
|
-
9: 'дев\'ятсот'
|
|
66
|
-
};
|
|
67
|
-
this.thousands = {
|
|
68
|
-
1: ['тисяча', 'тисячi', 'тисяч'], // 10^ 3
|
|
69
|
-
2: ['мiльйон', 'мiльйони', 'мiльйонiв'], // 10^ 6
|
|
70
|
-
3: ['мiльярд', 'мiльярди', 'мiльярдiв'], // 10^ 9
|
|
71
|
-
4: ['трильйон', 'трильйони', 'трильйонiв'], // 10^ 12
|
|
72
|
-
5: ['квадрильйон', 'квадрильйони', 'квадрильйонiв'], // 10^ 15
|
|
73
|
-
6: ['квiнтильйон', 'квiнтильйони', 'квiнтильйонiв'], // 10^ 18
|
|
74
|
-
7: ['секстильйон', 'секстильйони', 'секстильйонiв'], // 10^ 21
|
|
75
|
-
8: ['септильйон', 'септильйони', 'септильйонiв'], // 10^ 24
|
|
76
|
-
9: ['октильйон', 'октильйони', 'октильйонiв'], // 10^ 27
|
|
77
|
-
10: ['нонiльйон', 'нонiльйони', 'нонiльйонiв'], // 10^ 30
|
|
78
|
-
};
|
|
82
|
+
}, options));
|
|
79
83
|
}
|
|
80
84
|
}
|
|
81
85
|
|
|
82
86
|
/**
|
|
83
87
|
* Converts a value to cardinal (written) form.
|
|
84
88
|
* @param {number|string} value Number to be convert.
|
|
89
|
+
* @param {object} options Options for class.
|
|
85
90
|
* @throws {Error} Value cannot be invalid.
|
|
86
91
|
* @returns {string} Value in cardinal (written) format.
|
|
87
92
|
*/
|
|
88
|
-
export default function(value) {
|
|
89
|
-
return new N2WordsUK().floatToCardinal(value);
|
|
93
|
+
export default function(value, options) {
|
|
94
|
+
return new N2WordsUK(options).floatToCardinal(value);
|
|
90
95
|
}
|
package/lib/i18n/VI.mjs
CHANGED
|
@@ -1,67 +1,69 @@
|
|
|
1
1
|
import AbstractLanguage from '../classes/AbstractLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsID extends AbstractLanguage {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
base = {
|
|
5
|
+
0: 'không',
|
|
6
|
+
1: 'một',
|
|
7
|
+
2: 'hai',
|
|
8
|
+
3: 'ba',
|
|
9
|
+
4: 'bốn',
|
|
10
|
+
5: 'năm',
|
|
11
|
+
6: 'sáu',
|
|
12
|
+
7: 'bảy',
|
|
13
|
+
8: 'tám',
|
|
14
|
+
9: 'chín',
|
|
15
|
+
10: 'mười',
|
|
16
|
+
11: 'mười một',
|
|
17
|
+
12: 'mười hai',
|
|
18
|
+
13: 'mười ba',
|
|
19
|
+
14: 'mười bốn',
|
|
20
|
+
15: 'mười lăm',
|
|
21
|
+
16: 'mười sáu',
|
|
22
|
+
17: 'mười bảy',
|
|
23
|
+
18: 'mười tám',
|
|
24
|
+
19: 'mười chín',
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
tens = {
|
|
28
|
+
20: 'hai mươi',
|
|
29
|
+
30: 'ba mươi',
|
|
30
|
+
40: 'bốn mươi',
|
|
31
|
+
50: 'năm mươi',
|
|
32
|
+
60: 'sáu mươi',
|
|
33
|
+
70: 'bảy mươi',
|
|
34
|
+
80: 'tám mươi',
|
|
35
|
+
90: 'chín mươi',
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
thousands = {
|
|
39
|
+
1: 'nghìn', // 10^1
|
|
40
|
+
2: 'triệu', // 10^2
|
|
41
|
+
3: 'tỷ', // 10^3
|
|
42
|
+
4: 'nghìn tỷ',
|
|
43
|
+
5: 'trăm nghìn tỷ',
|
|
44
|
+
6: 'Quintillion',
|
|
45
|
+
7: 'Sextillion',
|
|
46
|
+
8: 'Septillion',
|
|
47
|
+
9: 'Octillion',
|
|
48
|
+
10: 'Nonillion',
|
|
49
|
+
11: 'Decillion',
|
|
50
|
+
12: 'Undecillion',
|
|
51
|
+
13: 'Duodecillion',
|
|
52
|
+
14: 'Tredecillion',
|
|
53
|
+
15: 'Quattuordecillion',
|
|
54
|
+
16: 'Sexdecillion',
|
|
55
|
+
17: 'Septendecillion',
|
|
56
|
+
18: 'Octodecillion',
|
|
57
|
+
19: 'Novemdecillion',
|
|
58
|
+
20: 'Vigintillion',
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
constructor(options) {
|
|
62
|
+
super(Object.assign({
|
|
6
63
|
negativeWord: 'âm',
|
|
7
64
|
separatorWord: 'phẩy',
|
|
8
65
|
zero: 'không'
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
this.base = {
|
|
12
|
-
0: 'không',
|
|
13
|
-
1: 'một',
|
|
14
|
-
2: 'hai',
|
|
15
|
-
3: 'ba',
|
|
16
|
-
4: 'bốn',
|
|
17
|
-
5: 'năm',
|
|
18
|
-
6: 'sáu',
|
|
19
|
-
7: 'bảy',
|
|
20
|
-
8: 'tám',
|
|
21
|
-
9: 'chín',
|
|
22
|
-
10: 'mười',
|
|
23
|
-
11: 'mười một',
|
|
24
|
-
12: 'mười hai',
|
|
25
|
-
13: 'mười ba',
|
|
26
|
-
14: 'mười bốn',
|
|
27
|
-
15: 'mười lăm',
|
|
28
|
-
16: 'mười sáu',
|
|
29
|
-
17: 'mười bảy',
|
|
30
|
-
18: 'mười tám',
|
|
31
|
-
19: 'mười chín',
|
|
32
|
-
};
|
|
33
|
-
this.tens = {
|
|
34
|
-
20: 'hai mươi',
|
|
35
|
-
30: 'ba mươi',
|
|
36
|
-
40: 'bốn mươi',
|
|
37
|
-
50: 'năm mươi',
|
|
38
|
-
60: 'sáu mươi',
|
|
39
|
-
70: 'bảy mươi',
|
|
40
|
-
80: 'tám mươi',
|
|
41
|
-
90: 'chín mươi',
|
|
42
|
-
};
|
|
43
|
-
this.thousands = {
|
|
44
|
-
1: 'nghìn', // 10^1
|
|
45
|
-
2: 'triệu', // 10^2
|
|
46
|
-
3: 'tỷ', // 10^3
|
|
47
|
-
4: 'nghìn tỷ',
|
|
48
|
-
5: 'trăm nghìn tỷ',
|
|
49
|
-
6: 'Quintillion',
|
|
50
|
-
7: 'Sextillion',
|
|
51
|
-
8: 'Septillion',
|
|
52
|
-
9: 'Octillion',
|
|
53
|
-
10: 'Nonillion',
|
|
54
|
-
11: 'Decillion',
|
|
55
|
-
12: 'Undecillion',
|
|
56
|
-
13: 'Duodecillion',
|
|
57
|
-
14: 'Tredecillion',
|
|
58
|
-
15: 'Quattuordecillion',
|
|
59
|
-
16: 'Sexdecillion',
|
|
60
|
-
17: 'Septendecillion',
|
|
61
|
-
18: 'Octodecillion',
|
|
62
|
-
19: 'Novemdecillion',
|
|
63
|
-
20: 'Vigintillion',
|
|
64
|
-
};
|
|
66
|
+
}, options));
|
|
65
67
|
}
|
|
66
68
|
|
|
67
69
|
convertLess100(number) {
|
|
@@ -144,9 +146,10 @@ export class N2WordsID extends AbstractLanguage {
|
|
|
144
146
|
/**
|
|
145
147
|
* Converts a value to cardinal (written) form.
|
|
146
148
|
* @param {number|string} value Number to be convert.
|
|
149
|
+
* @param {object} options Options for class.
|
|
147
150
|
* @throws {Error} Value cannot be invalid.
|
|
148
151
|
* @returns {string} Value in cardinal (written) format.
|
|
149
152
|
*/
|
|
150
|
-
export default function (value) {
|
|
151
|
-
return new N2WordsID().floatToCardinal(value);
|
|
153
|
+
export default function (value, options) {
|
|
154
|
+
return new N2WordsID(options).floatToCardinal(value);
|
|
152
155
|
}
|
package/lib/i18n/ZH.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsZH extends BaseLanguage {
|
|
4
|
-
constructor() {
|
|
5
|
-
super({
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(Object.assign({
|
|
6
6
|
negativeWord: '负',
|
|
7
7
|
separatorWord: '点',
|
|
8
8
|
zero: '零',
|
|
9
9
|
spaceSeparator: ''
|
|
10
|
-
},[
|
|
10
|
+
}, options), [
|
|
11
11
|
[1000000000000n, '万'],
|
|
12
12
|
[100000000n, '亿'],
|
|
13
13
|
[10000n, '万'],
|
|
@@ -69,9 +69,10 @@ export class N2WordsZH extends BaseLanguage {
|
|
|
69
69
|
/**
|
|
70
70
|
* Converts a value to cardinal (written) form.
|
|
71
71
|
* @param {number|string} value Number to be convert.
|
|
72
|
+
* @param {object} options Options for class.
|
|
72
73
|
* @throws {Error} Value cannot be invalid.
|
|
73
74
|
* @returns {string} Value in cardinal (written) format.
|
|
74
75
|
*/
|
|
75
|
-
export default function(value) {
|
|
76
|
-
return new N2WordsZH().floatToCardinal(value);
|
|
76
|
+
export default function(value, options) {
|
|
77
|
+
return new N2WordsZH(options).floatToCardinal(value);
|
|
77
78
|
}
|