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/AR.mjs
CHANGED
|
@@ -1,39 +1,52 @@
|
|
|
1
1
|
import AbstractLanguage from '../classes/AbstractLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class Arabic extends AbstractLanguage {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
integerValue = 0;
|
|
5
|
+
|
|
6
|
+
decimalValue = 0;
|
|
7
|
+
|
|
8
|
+
number = 0;
|
|
9
|
+
|
|
10
|
+
arabicOnes = [
|
|
11
|
+
'', 'واحد', 'اثنان', 'ثلاثة', 'أربعة', 'خمسة', 'ستة', 'سبعة', 'ثمانية',
|
|
12
|
+
'تسعة',
|
|
13
|
+
'عشرة', 'أحد عشر', 'اثنا عشر', 'ثلاثة عشر', 'أربعة عشر', 'خمسة عشر',
|
|
14
|
+
'ستة عشر', 'سبعة عشر', 'ثمانية عشر',
|
|
15
|
+
'تسعة عشر',
|
|
16
|
+
];
|
|
17
|
+
|
|
18
|
+
arabicFeminineOnes = [
|
|
19
|
+
'', 'إحدى', 'اثنتان', 'ثلاث', 'أربع', 'خمس', 'ست', 'سبع', 'ثمان',
|
|
20
|
+
'تسع',
|
|
21
|
+
'عشر', 'إحدى عشرة', 'اثنتا عشرة', 'ثلاث عشرة', 'أربع عشرة',
|
|
22
|
+
'خمس عشرة', 'ست عشرة', 'سبع عشرة', 'ثماني عشرة',
|
|
23
|
+
'تسع عشرة',
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
arabicTens = ['عشرون', 'ثلاثون', 'أربعون', 'خمسون', 'ستون', 'سبعون', 'ثمانون', 'تسعون'];
|
|
27
|
+
|
|
28
|
+
arabicHundreds = ['', 'مائة', 'مئتان', 'ثلاثمائة', 'أربعمائة', 'خمسمائة', 'ستمائة', 'سبعمائة', 'ثمانمائة', 'تسعمائة'];
|
|
29
|
+
|
|
30
|
+
arabicAppendedTwos = ['مئتا', 'ألفا', 'مليونا', 'مليارا', 'تريليونا', 'كوادريليونا', 'كوينتليونا', 'سكستيليونا'];
|
|
31
|
+
|
|
32
|
+
arabicTwos = ['مئتان', 'ألفان', 'مليونان', 'ملياران', 'تريليونان', 'كوادريليونان', 'كوينتليونان', 'سكستيليونان'];
|
|
33
|
+
|
|
34
|
+
arabicGroup = ['مائة', 'ألف', 'مليون', 'مليار', 'تريليون', 'كوادريليون', 'كوينتليون', 'سكستيليون'];
|
|
35
|
+
|
|
36
|
+
arabicAppendedGroup = ['', 'ألفاً', 'مليوناً', 'ملياراً', 'تريليوناً', 'كوادريليوناً', 'كوينتليوناً', 'سكستيليوناً'];
|
|
37
|
+
|
|
38
|
+
arabicPluralGroups = ['', 'آلاف', 'ملايين', 'مليارات', 'تريليونات', 'كوادريليونات', 'كوينتليونات', 'سكستيليونات'];
|
|
39
|
+
|
|
40
|
+
// isCurrencyPartNameFeminine = true
|
|
41
|
+
|
|
42
|
+
// isCurrencyNameFeminine = false
|
|
43
|
+
|
|
44
|
+
constructor(options) {
|
|
45
|
+
super(Object.assign({
|
|
6
46
|
negativeWord: 'ناقص',
|
|
7
47
|
separatorWord: 'فاصلة',
|
|
8
48
|
zero: 'صفر'
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
this.integerValue = 0;
|
|
12
|
-
this.decimalValue = 0;
|
|
13
|
-
this.number = 0;
|
|
14
|
-
// this.isCurrencyPartNameFeminine = true
|
|
15
|
-
// this.isCurrencyNameFeminine = false
|
|
16
|
-
this.arabicOnes = [
|
|
17
|
-
'', 'واحد', 'اثنان', 'ثلاثة', 'أربعة', 'خمسة', 'ستة', 'سبعة', 'ثمانية',
|
|
18
|
-
'تسعة',
|
|
19
|
-
'عشرة', 'أحد عشر', 'اثنا عشر', 'ثلاثة عشر', 'أربعة عشر', 'خمسة عشر',
|
|
20
|
-
'ستة عشر', 'سبعة عشر', 'ثمانية عشر',
|
|
21
|
-
'تسعة عشر',
|
|
22
|
-
];
|
|
23
|
-
this.arabicFeminineOnes = [
|
|
24
|
-
'', 'إحدى', 'اثنتان', 'ثلاث', 'أربع', 'خمس', 'ست', 'سبع', 'ثمان',
|
|
25
|
-
'تسع',
|
|
26
|
-
'عشر', 'إحدى عشرة', 'اثنتا عشرة', 'ثلاث عشرة', 'أربع عشرة',
|
|
27
|
-
'خمس عشرة', 'ست عشرة', 'سبع عشرة', 'ثماني عشرة',
|
|
28
|
-
'تسع عشرة',
|
|
29
|
-
];
|
|
30
|
-
this.arabicTens = ['عشرون', 'ثلاثون', 'أربعون', 'خمسون', 'ستون', 'سبعون', 'ثمانون', 'تسعون'];
|
|
31
|
-
this.arabicHundreds = ['', 'مائة', 'مئتان', 'ثلاثمائة', 'أربعمائة', 'خمسمائة', 'ستمائة', 'سبعمائة', 'ثمانمائة', 'تسعمائة'];
|
|
32
|
-
this.arabicAppendedTwos = ['مئتا', 'ألفا', 'مليونا', 'مليارا', 'تريليونا', 'كوادريليونا', 'كوينتليونا', 'سكستيليونا'];
|
|
33
|
-
this.arabicTwos = ['مئتان', 'ألفان', 'مليونان', 'ملياران', 'تريليونان', 'كوادريليونان', 'كوينتليونان', 'سكستيليونان'];
|
|
34
|
-
this.arabicGroup = ['مائة', 'ألف', 'مليون', 'مليار', 'تريليون', 'كوادريليون', 'كوينتليون', 'سكستيليون'];
|
|
35
|
-
this.arabicAppendedGroup = ['', 'ألفاً', 'مليوناً', 'ملياراً', 'تريليوناً', 'كوادريليوناً', 'كوينتليوناً', 'سكستيليوناً'];
|
|
36
|
-
this.arabicPluralGroups = ['', 'آلاف', 'ملايين', 'مليارات', 'تريليونات', 'كوادريليونات', 'كوينتليونات', 'سكستيليونات'];
|
|
49
|
+
}, options));
|
|
37
50
|
}
|
|
38
51
|
|
|
39
52
|
digitFeminineStatus(digit/* , groupLevel */) {
|
|
@@ -140,9 +153,10 @@ export class Arabic extends AbstractLanguage {
|
|
|
140
153
|
/**
|
|
141
154
|
* Converts a value to cardinal (written) form.
|
|
142
155
|
* @param {number|string} value Number to be convert.
|
|
156
|
+
* @param {object} options Options for class.
|
|
143
157
|
* @throws {Error} Value cannot be invalid.
|
|
144
158
|
* @returns {string} Value in cardinal (written) format.
|
|
145
159
|
*/
|
|
146
|
-
export default function(value) {
|
|
147
|
-
return new Arabic().floatToCardinal(value);
|
|
160
|
+
export default function(value, options) {
|
|
161
|
+
return new Arabic(options).floatToCardinal(value);
|
|
148
162
|
}
|
package/lib/i18n/AZ.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsAZ extends BaseLanguage {
|
|
4
|
-
constructor() {
|
|
5
|
-
super({
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(Object.assign({
|
|
6
6
|
negativeWord: 'mənfi',
|
|
7
7
|
separatorWord: 'nöqtə',
|
|
8
8
|
zero: 'sıfır'
|
|
9
|
-
},[
|
|
9
|
+
}, options), [
|
|
10
10
|
[1000000000000000000n, 'kentilyon'],
|
|
11
11
|
[1000000000000000n, 'katrilyon'],
|
|
12
12
|
[1000000000000n, 'trilyon'],
|
|
@@ -54,9 +54,10 @@ export class N2WordsAZ extends BaseLanguage {
|
|
|
54
54
|
/**
|
|
55
55
|
* Converts a value to cardinal (written) form.
|
|
56
56
|
* @param {number|string} value Number to be convert.
|
|
57
|
+
* @param {object} options Options for class.
|
|
57
58
|
* @throws {Error} Value cannot be invalid.
|
|
58
59
|
* @returns {string} Value in cardinal (written) format.
|
|
59
60
|
*/
|
|
60
|
-
export default function(value) {
|
|
61
|
-
return new N2WordsAZ().floatToCardinal(value);
|
|
61
|
+
export default function(value, options) {
|
|
62
|
+
return new N2WordsAZ(options).floatToCardinal(value);
|
|
62
63
|
}
|
package/lib/i18n/CZ.mjs
CHANGED
|
@@ -62,11 +62,11 @@ export class N2WordsCZ extends N2WordsRU {
|
|
|
62
62
|
10: ['quintillion', 'quintilliony', 'quintillionů'], // 10^ 30
|
|
63
63
|
};
|
|
64
64
|
|
|
65
|
-
constructor() {
|
|
66
|
-
super({
|
|
65
|
+
constructor(options) {
|
|
66
|
+
super(Object.assign({
|
|
67
67
|
negativeWord: 'mínus',
|
|
68
68
|
zero: 'nula'
|
|
69
|
-
});
|
|
69
|
+
}, options));
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
get separatorWord() {
|
|
@@ -125,9 +125,10 @@ export class N2WordsCZ extends N2WordsRU {
|
|
|
125
125
|
/**
|
|
126
126
|
* Converts a value to cardinal (written) form.
|
|
127
127
|
* @param {number|string} value Number to be convert.
|
|
128
|
+
* @param {object} options Options for class.
|
|
128
129
|
* @throws {Error} Value cannot be invalid.
|
|
129
130
|
* @returns {string} Value in cardinal (written) format.
|
|
130
131
|
*/
|
|
131
|
-
export default function(value) {
|
|
132
|
-
return new N2WordsCZ().floatToCardinal(value);
|
|
132
|
+
export default function(value, options) {
|
|
133
|
+
return new N2WordsCZ(options).floatToCardinal(value);
|
|
133
134
|
}
|
package/lib/i18n/DE.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsDE 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
|
[1000000000000000000000000000n, 'Quadrilliarde'],
|
|
11
11
|
[1000000000000000000000000n, 'Quadrillion'],
|
|
12
12
|
[1000000000000000000000n, 'Trilliarde'],
|
|
@@ -96,9 +96,10 @@ export class N2WordsDE extends BaseLanguage {
|
|
|
96
96
|
/**
|
|
97
97
|
* Converts a value to cardinal (written) form.
|
|
98
98
|
* @param {number|string} value Number to be convert.
|
|
99
|
+
* @param {object} options Options for class.
|
|
99
100
|
* @throws {Error} Value cannot be invalid.
|
|
100
101
|
* @returns {string} Value in cardinal (written) format.
|
|
101
102
|
*/
|
|
102
|
-
export default function(value) {
|
|
103
|
-
return new N2WordsDE().floatToCardinal(value);
|
|
103
|
+
export default function(value, options) {
|
|
104
|
+
return new N2WordsDE(options).floatToCardinal(value);
|
|
104
105
|
}
|
package/lib/i18n/DK.mjs
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsDK extends BaseLanguage {
|
|
4
|
-
ordFlag
|
|
4
|
+
ordFlag;
|
|
5
5
|
|
|
6
|
-
constructor() {
|
|
7
|
-
|
|
6
|
+
constructor(options) {
|
|
7
|
+
options = Object.assign({
|
|
8
8
|
negativeWord: 'minus',
|
|
9
9
|
separatorWord: 'komma',
|
|
10
10
|
zero: 'nul',
|
|
11
|
-
|
|
11
|
+
ordFlag: false
|
|
12
|
+
}, options);
|
|
13
|
+
|
|
14
|
+
super(options, [
|
|
12
15
|
[1000000000000000000000000000n, 'quadrillarder'],
|
|
13
16
|
[1000000000000000000000000n, 'quadrillioner'],
|
|
14
17
|
[1000000000000000000000n, 'trillarder'],
|
|
@@ -48,6 +51,8 @@ export class N2WordsDK extends BaseLanguage {
|
|
|
48
51
|
[1n, 'et'],
|
|
49
52
|
[0n, 'nul']
|
|
50
53
|
]);
|
|
54
|
+
|
|
55
|
+
this.ordFlag = options.ordFlag;
|
|
51
56
|
}
|
|
52
57
|
|
|
53
58
|
merge(curr, next) {
|
|
@@ -96,9 +101,10 @@ export class N2WordsDK extends BaseLanguage {
|
|
|
96
101
|
/**
|
|
97
102
|
* Converts a value to cardinal (written) form.
|
|
98
103
|
* @param {number|string} value Number to be convert.
|
|
104
|
+
* @param {object} options Options for class.
|
|
99
105
|
* @throws {Error} Value cannot be invalid.
|
|
100
106
|
* @returns {string} Value in cardinal (written) format.
|
|
101
107
|
*/
|
|
102
|
-
export default function(value) {
|
|
103
|
-
return new N2WordsDK().floatToCardinal(value);
|
|
108
|
+
export default function(value, options) {
|
|
109
|
+
return new N2WordsDK(options).floatToCardinal(value);
|
|
104
110
|
}
|
package/lib/i18n/EN.mjs
CHANGED
|
@@ -4,12 +4,12 @@ import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
|
4
4
|
* This class is for converting numbers to english words.
|
|
5
5
|
*/
|
|
6
6
|
class English extends BaseLanguage {
|
|
7
|
-
constructor() {
|
|
8
|
-
super({
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super(Object.assign({
|
|
9
9
|
negativeWord: 'minus',
|
|
10
10
|
separatorWord: 'point',
|
|
11
11
|
zero: 'zero'
|
|
12
|
-
},[
|
|
12
|
+
}, options), [
|
|
13
13
|
[1000000000000000000000000000n, 'octillion'],
|
|
14
14
|
[1000000000000000000000000n, 'septillion'],
|
|
15
15
|
[1000000000000000000000n, 'sextillion'],
|
|
@@ -75,9 +75,10 @@ class English extends BaseLanguage {
|
|
|
75
75
|
/**
|
|
76
76
|
* Converts a value to cardinal (written) form.
|
|
77
77
|
* @param {number|string} value Number to be convert.
|
|
78
|
+
* @param {object} options Options for class.
|
|
78
79
|
* @throws {Error} Value cannot be invalid.
|
|
79
80
|
* @returns {string} Value in cardinal (written) format.
|
|
80
81
|
*/
|
|
81
|
-
export default function(value) {
|
|
82
|
-
return new English().floatToCardinal(value);
|
|
82
|
+
export default function(value, options) {
|
|
83
|
+
return new English(options).floatToCardinal(value);
|
|
83
84
|
}
|
package/lib/i18n/ES.mjs
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsES extends BaseLanguage {
|
|
4
|
-
genderStem
|
|
4
|
+
genderStem;
|
|
5
5
|
|
|
6
|
-
constructor() {
|
|
7
|
-
|
|
6
|
+
constructor(options) {
|
|
7
|
+
options = Object.assign({
|
|
8
8
|
negativeWord: 'menos',
|
|
9
9
|
separatorWord: 'punto',
|
|
10
|
-
zero: 'cero'
|
|
11
|
-
|
|
10
|
+
zero: 'cero',
|
|
11
|
+
genderStem: 'o'
|
|
12
|
+
}, options);
|
|
13
|
+
|
|
14
|
+
super(options, [
|
|
12
15
|
[1000000000000000000000000n, 'cuatrillón'],
|
|
13
16
|
[1000000000000000000n, 'trillón'],
|
|
14
17
|
[1000000000000n, 'billón'],
|
|
@@ -53,6 +56,8 @@ export class N2WordsES extends BaseLanguage {
|
|
|
53
56
|
[1n, 'uno'],
|
|
54
57
|
[0n, 'cero']
|
|
55
58
|
]);
|
|
59
|
+
|
|
60
|
+
this.genderStem = options.genderStem;
|
|
56
61
|
}
|
|
57
62
|
|
|
58
63
|
merge(curr, next) {
|
|
@@ -96,9 +101,10 @@ export class N2WordsES extends BaseLanguage {
|
|
|
96
101
|
/**
|
|
97
102
|
* Converts a value to cardinal (written) form.
|
|
98
103
|
* @param {number|string} value Number to be convert.
|
|
104
|
+
* @param {object} options Options for class.
|
|
99
105
|
* @throws {Error} Value cannot be invalid.
|
|
100
106
|
* @returns {string} Value in cardinal (written) format.
|
|
101
107
|
*/
|
|
102
|
-
export default function(value) {
|
|
103
|
-
return new N2WordsES().floatToCardinal(value);
|
|
108
|
+
export default function(value, options) {
|
|
109
|
+
return new N2WordsES(options).floatToCardinal(value);
|
|
104
110
|
}
|
package/lib/i18n/FA.mjs
CHANGED
|
@@ -43,12 +43,12 @@ export class N2WordsFA extends AbstractLanguage {
|
|
|
43
43
|
1000000: 'میلیون',
|
|
44
44
|
};
|
|
45
45
|
|
|
46
|
-
constructor() {
|
|
47
|
-
super({
|
|
46
|
+
constructor(options) {
|
|
47
|
+
super(Object.assign({
|
|
48
48
|
negativeWord: 'منفى',
|
|
49
49
|
separatorWord: 'ممیّز',
|
|
50
50
|
zero: 'صفر'
|
|
51
|
-
});
|
|
51
|
+
}, options));
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
toCardinal(number) {
|
|
@@ -95,9 +95,10 @@ export class N2WordsFA extends AbstractLanguage {
|
|
|
95
95
|
/**
|
|
96
96
|
* Converts a value to cardinal (written) form.
|
|
97
97
|
* @param {number|string} value Number to be convert.
|
|
98
|
+
* @param {object} options Options for class.
|
|
98
99
|
* @throws {Error} Value cannot be invalid.
|
|
99
100
|
* @returns {string} Value in cardinal (written) format.
|
|
100
101
|
*/
|
|
101
|
-
export default function(value) {
|
|
102
|
-
return new N2WordsFA().floatToCardinal(value);
|
|
102
|
+
export default function(value, options) {
|
|
103
|
+
return new N2WordsFA(options).floatToCardinal(value);
|
|
103
104
|
}
|
package/lib/i18n/FR.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsFR extends BaseLanguage {
|
|
4
|
-
constructor() {
|
|
5
|
-
super({
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(Object.assign({
|
|
6
6
|
negativeWord: 'moins',
|
|
7
7
|
separatorWord: 'virgule',
|
|
8
8
|
zero: 'zéro'
|
|
9
|
-
},[
|
|
9
|
+
}, options), [
|
|
10
10
|
[1000000000000000000000000000n, 'quadrilliard'],
|
|
11
11
|
[1000000000000000000000000n, 'quadrillion'],
|
|
12
12
|
[1000000000000000000000n, 'trilliard'],
|
|
@@ -83,9 +83,10 @@ export class N2WordsFR extends BaseLanguage {
|
|
|
83
83
|
/**
|
|
84
84
|
* Converts a value to cardinal (written) form.
|
|
85
85
|
* @param {number|string} value Number to be convert.
|
|
86
|
+
* @param {object} options Options for class.
|
|
86
87
|
* @throws {Error} Value cannot be invalid.
|
|
87
88
|
* @returns {string} Value in cardinal (written) format.
|
|
88
89
|
*/
|
|
89
|
-
export default function(value) {
|
|
90
|
-
return new N2WordsFR().floatToCardinal(value);
|
|
90
|
+
export default function(value, options) {
|
|
91
|
+
return new N2WordsFR(options).floatToCardinal(value);
|
|
91
92
|
}
|
package/lib/i18n/HE.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {N2WordsRU} from './RU.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsHE extends N2WordsRU {
|
|
4
|
-
and
|
|
4
|
+
and;
|
|
5
5
|
|
|
6
6
|
ones = {
|
|
7
7
|
1: 'אחת',
|
|
@@ -57,16 +57,21 @@ export class N2WordsHE extends N2WordsRU {
|
|
|
57
57
|
9: 'תשעת אלפים'
|
|
58
58
|
};
|
|
59
59
|
|
|
60
|
-
constructor() {
|
|
60
|
+
constructor(options) {
|
|
61
61
|
/**
|
|
62
62
|
* @todo Confirm `negativeWord`
|
|
63
63
|
* @todo Set `separatorWord`
|
|
64
64
|
*/
|
|
65
|
-
|
|
65
|
+
options = Object.assign({
|
|
66
66
|
negativeWord: 'מינוס',
|
|
67
67
|
//separatorWord: ,
|
|
68
|
-
zero: 'אפס'
|
|
69
|
-
|
|
68
|
+
zero: 'אפס',
|
|
69
|
+
and: 'ו'
|
|
70
|
+
}, options);
|
|
71
|
+
|
|
72
|
+
super(options);
|
|
73
|
+
|
|
74
|
+
this.and = options.and;
|
|
70
75
|
}
|
|
71
76
|
|
|
72
77
|
toCardinal(number) {
|
|
@@ -116,9 +121,10 @@ export class N2WordsHE extends N2WordsRU {
|
|
|
116
121
|
/**
|
|
117
122
|
* Converts a value to cardinal (written) form.
|
|
118
123
|
* @param {number|string} value Number to be convert.
|
|
124
|
+
* @param {object} options Options for class.
|
|
119
125
|
* @throws {Error} Value cannot be invalid.
|
|
120
126
|
* @returns {string} Value in cardinal (written) format.
|
|
121
127
|
*/
|
|
122
|
-
export default function(value) {
|
|
123
|
-
return new N2WordsHE().floatToCardinal(value);
|
|
128
|
+
export default function(value, options) {
|
|
129
|
+
return new N2WordsHE(options).floatToCardinal(value);
|
|
124
130
|
}
|
package/lib/i18n/HR.mjs
CHANGED
|
@@ -63,14 +63,12 @@ export class N2WordsHR extends N2WordsRU {
|
|
|
63
63
|
10: ['kvintilijun', 'kvintilijuna', 'kvintilijuna', 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: 'zarez',
|
|
72
70
|
zero: 'nula'
|
|
73
|
-
});
|
|
71
|
+
}, options));
|
|
74
72
|
}
|
|
75
73
|
|
|
76
74
|
pluralize(n, forms) {
|
|
@@ -121,9 +119,10 @@ export class N2WordsHR 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 N2WordsHR().floatToCardinal(value);
|
|
126
|
+
export default function(value, options) {
|
|
127
|
+
return new N2WordsHR(options).floatToCardinal(value);
|
|
129
128
|
}
|
package/lib/i18n/HU.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsHU extends BaseLanguage {
|
|
4
|
-
constructor() {
|
|
5
|
-
super({
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(Object.assign({
|
|
6
6
|
negativeWord: 'mínusz',
|
|
7
7
|
separatorWord: 'egész',
|
|
8
8
|
zero: 'nulla'
|
|
9
|
-
},[
|
|
9
|
+
}, options), [
|
|
10
10
|
[1000000000000000000000000000n, 'quadrilliárd'],
|
|
11
11
|
[1000000000000000000000000n, 'quadrillió'],
|
|
12
12
|
[1000000000000000000000n, 'trilliárd'],
|
|
@@ -124,9 +124,10 @@ export class N2WordsHU extends BaseLanguage {
|
|
|
124
124
|
/**
|
|
125
125
|
* Converts a value to cardinal (written) form.
|
|
126
126
|
* @param {number|string} value Number to be convert.
|
|
127
|
+
* @param {object} options Options for class.
|
|
127
128
|
* @throws {Error} Value cannot be invalid.
|
|
128
129
|
* @returns {string} Value in cardinal (written) format.
|
|
129
130
|
*/
|
|
130
|
-
export default function(value) {
|
|
131
|
-
return new N2WordsHU().floatToCardinal(value);
|
|
131
|
+
export default function(value, options) {
|
|
132
|
+
return new N2WordsHU(options).floatToCardinal(value);
|
|
132
133
|
}
|
package/lib/i18n/ID.mjs
CHANGED
|
@@ -1,38 +1,39 @@
|
|
|
1
1
|
import AbstractLanguage from '../classes/AbstractLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsID extends AbstractLanguage {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
base = {
|
|
5
|
+
0: [],
|
|
6
|
+
1: ['satu'],
|
|
7
|
+
2: ['dua'],
|
|
8
|
+
3: ['tiga'],
|
|
9
|
+
4: ['empat'],
|
|
10
|
+
5: ['lima'],
|
|
11
|
+
6: ['enam'],
|
|
12
|
+
7: ['tujuh'],
|
|
13
|
+
8: ['delapan'],
|
|
14
|
+
9: ['sembilan'],
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
thousands = {
|
|
18
|
+
3: 'ribu', // 10^3
|
|
19
|
+
6: 'juta', // 10^6
|
|
20
|
+
9: 'miliar', // 10^9
|
|
21
|
+
12: 'triliun',
|
|
22
|
+
15: 'kuadriliun',
|
|
23
|
+
18: 'kuantiliun',
|
|
24
|
+
21: 'sekstiliun',
|
|
25
|
+
24: 'septiliun',
|
|
26
|
+
27: 'oktiliun',
|
|
27
|
+
30: 'noniliun',
|
|
28
|
+
33: 'desiliun',
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
constructor(options) {
|
|
32
|
+
super(Object.assign({
|
|
6
33
|
negativeWord: 'min',
|
|
7
34
|
separatorWord: 'koma',
|
|
8
35
|
zero: 'nol'
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
this.base = {
|
|
12
|
-
0: [],
|
|
13
|
-
1: ['satu'],
|
|
14
|
-
2: ['dua'],
|
|
15
|
-
3: ['tiga'],
|
|
16
|
-
4: ['empat'],
|
|
17
|
-
5: ['lima'],
|
|
18
|
-
6: ['enam'],
|
|
19
|
-
7: ['tujuh'],
|
|
20
|
-
8: ['delapan'],
|
|
21
|
-
9: ['sembilan'],
|
|
22
|
-
};
|
|
23
|
-
this.thousands = {
|
|
24
|
-
3: 'ribu', // 10^3
|
|
25
|
-
6: 'juta', // 10^6
|
|
26
|
-
9: 'miliar', // 10^9
|
|
27
|
-
12: 'triliun',
|
|
28
|
-
15: 'kuadriliun',
|
|
29
|
-
18: 'kuantiliun',
|
|
30
|
-
21: 'sekstiliun',
|
|
31
|
-
24: 'septiliun',
|
|
32
|
-
27: 'oktiliun',
|
|
33
|
-
30: 'noniliun',
|
|
34
|
-
33: 'desiliun',
|
|
35
|
-
};
|
|
36
|
+
}, options));
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
splitBy3(number) {
|
|
@@ -154,9 +155,10 @@ export class N2WordsID extends AbstractLanguage {
|
|
|
154
155
|
/**
|
|
155
156
|
* Converts a value to cardinal (written) form.
|
|
156
157
|
* @param {number|string} value Number to be convert.
|
|
158
|
+
* @param {object} options Options for class.
|
|
157
159
|
* @throws {Error} Value cannot be invalid.
|
|
158
160
|
* @returns {string} Value in cardinal (written) format.
|
|
159
161
|
*/
|
|
160
|
-
export default function (value) {
|
|
161
|
-
return new N2WordsID().floatToCardinal(value);
|
|
162
|
+
export default function (value, options) {
|
|
163
|
+
return new N2WordsID(options).floatToCardinal(value);
|
|
162
164
|
}
|
package/lib/i18n/IT.mjs
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsIT extends BaseLanguage {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
cardinalWords = [
|
|
5
|
+
this.zero, 'uno', 'due', 'tre', 'quattro', 'cinque', 'sei', 'sette', 'otto',
|
|
6
|
+
'nove', 'dieci', 'undici', 'dodici', 'tredici', 'quattordici', 'quindici',
|
|
7
|
+
'sedici', 'diciassette', 'diciotto', 'diciannove',
|
|
8
|
+
];
|
|
9
|
+
|
|
10
|
+
strTens = {'2': 'venti', '3': 'trenta', '4': 'quaranta', '6': 'sessanta'};
|
|
11
|
+
|
|
12
|
+
exponentPrefixes = [this.zero, 'm', 'b', 'tr', 'quadr', 'quint', 'sest', 'sett', 'ott', 'nov', 'dec'];
|
|
13
|
+
|
|
14
|
+
constructor(options) {
|
|
15
|
+
super(Object.assign({
|
|
6
16
|
negativeWord: 'meno',
|
|
7
17
|
separatorWord: 'virgola',
|
|
8
18
|
zero: 'zero'
|
|
9
|
-
},[]);
|
|
19
|
+
}, options), []);
|
|
10
20
|
|
|
11
21
|
/** @todo Adapt language to work with {@link BaseLanguage} better */
|
|
12
|
-
|
|
13
|
-
this.cardinalWords = [
|
|
14
|
-
this.zero, 'uno', 'due', 'tre', 'quattro', 'cinque', 'sei', 'sette', 'otto',
|
|
15
|
-
'nove', 'dieci', 'undici', 'dodici', 'tredici', 'quattordici', 'quindici',
|
|
16
|
-
'sedici', 'diciassette', 'diciotto', 'diciannove',
|
|
17
|
-
];
|
|
18
|
-
this.strTens = {'2': 'venti', '3': 'trenta', '4': 'quaranta', '6': 'sessanta'};
|
|
19
|
-
this.exponentPrefixes = [this.zero, 'm', 'b', 'tr', 'quadr', 'quint', 'sest', 'sett', 'ott', 'nov', 'dec'];
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
accentuate(string) {
|
|
@@ -134,9 +136,10 @@ export class N2WordsIT extends BaseLanguage {
|
|
|
134
136
|
/**
|
|
135
137
|
* Converts a value to cardinal (written) form.
|
|
136
138
|
* @param {number|string} value Number to be convert.
|
|
139
|
+
* @param {object} options Options for class.
|
|
137
140
|
* @throws {Error} Value cannot be invalid.
|
|
138
141
|
* @returns {string} Value in cardinal (written) format.
|
|
139
142
|
*/
|
|
140
|
-
export default function(value) {
|
|
141
|
-
return new N2WordsIT().floatToCardinal(value);
|
|
143
|
+
export default function(value, options) {
|
|
144
|
+
return new N2WordsIT(options).floatToCardinal(value);
|
|
142
145
|
}
|
package/lib/i18n/KO.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import BaseLanguage from '../classes/BaseLanguage.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsKO extends BaseLanguage {
|
|
4
|
-
constructor() {
|
|
5
|
-
super({
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(Object.assign({
|
|
6
6
|
negativeWord: '마이너스',
|
|
7
7
|
separatorWord: '점',
|
|
8
8
|
zero: '영'
|
|
9
|
-
},[
|
|
9
|
+
}, options), [
|
|
10
10
|
[10000000000000000000000000000n, '양'],
|
|
11
11
|
[1000000000000000000000000n, '자'],
|
|
12
12
|
[100000000000000000000n, '해'],
|
|
@@ -45,9 +45,10 @@ export class N2WordsKO extends BaseLanguage {
|
|
|
45
45
|
/**
|
|
46
46
|
* Converts a value to cardinal (written) form.
|
|
47
47
|
* @param {number|string} value Number to be convert.
|
|
48
|
+
* @param {object} options Options for class.
|
|
48
49
|
* @throws {Error} Value cannot be invalid.
|
|
49
50
|
* @returns {string} Value in cardinal (written) format.
|
|
50
51
|
*/
|
|
51
|
-
export default function(value) {
|
|
52
|
-
return new N2WordsKO().floatToCardinal(value);
|
|
52
|
+
export default function(value, options) {
|
|
53
|
+
return new N2WordsKO(options).floatToCardinal(value);
|
|
53
54
|
}
|
package/lib/i18n/LT.mjs
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import {N2WordsRU} from './RU.mjs';
|
|
2
2
|
|
|
3
3
|
export class N2WordsLT extends N2WordsRU {
|
|
4
|
-
feminine = false;
|
|
5
|
-
|
|
6
4
|
ones = {
|
|
7
5
|
1: 'vienas',
|
|
8
6
|
2: 'du',
|
|
@@ -66,12 +64,12 @@ export class N2WordsLT extends N2WordsRU {
|
|
|
66
64
|
10: ['naintilijonas', 'naintilijonai', 'naintilijonų'],
|
|
67
65
|
};
|
|
68
66
|
|
|
69
|
-
constructor() {
|
|
70
|
-
super({
|
|
67
|
+
constructor(options) {
|
|
68
|
+
super(Object.assign({
|
|
71
69
|
negativeWord: 'minus',
|
|
72
70
|
separatorWord: 'kablelis',
|
|
73
71
|
zero: 'nulis'
|
|
74
|
-
});
|
|
72
|
+
}, options));
|
|
75
73
|
}
|
|
76
74
|
|
|
77
75
|
pluralize(n, forms) {
|
|
@@ -130,9 +128,10 @@ export class N2WordsLT extends N2WordsRU {
|
|
|
130
128
|
/**
|
|
131
129
|
* Converts a value to cardinal (written) form.
|
|
132
130
|
* @param {number|string} value Number to be convert.
|
|
131
|
+
* @param {object} options Options for class.
|
|
133
132
|
* @throws {Error} Value cannot be invalid.
|
|
134
133
|
* @returns {string} Value in cardinal (written) format.
|
|
135
134
|
*/
|
|
136
|
-
export default function(value) {
|
|
137
|
-
return new N2WordsLT().floatToCardinal(value);
|
|
135
|
+
export default function(value, options) {
|
|
136
|
+
return new N2WordsLT(options).floatToCardinal(value);
|
|
138
137
|
}
|