diff --git a/README.md b/README.md index 66b62ff..d27c92f 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ writtenNumber(1234, {lang: 'eo'}); // => 'mil ducent tridek kvar' writtenNumber(1234, {lang: 'vi'}); // => 'một ngàn hai trăm và ba mươi bốn' writtenNumber(1234, {lang: 'uk'}); // => 'одна тисяча двісті тридцять чотири' writtenNumber(1234, {lang: 'id'}); // => 'seribu dua ratus tiga puluh empat' +writtenNumber(1234, {lang: 'ky'}); // => 'миң эки жүз отуз төрт' ``` ## Options @@ -65,7 +66,7 @@ Currently supported languages are: | Ukrainian | `uk` | | Indonesian | `id` | | Russian | `ru` | - +| Kyrgyz | `ky` | ## Contributing diff --git a/dist/written-number.js b/dist/written-number.js index e11bf5f..a709289 100644 --- a/dist/written-number.js +++ b/dist/written-number.js @@ -946,6 +946,59 @@ module.exports={ } },{}],11:[function(require,module,exports){ +module.exports={ + "useLongScale": false, + "baseSeparator": " ", + "unitSeparator": "", + "base": { + "0": "нөл", + "1": "бир", + "2": "эки", + "3": "үч", + "4": "төрт", + "5": "беш", + "6": "алты", + "7": "жети", + "8": "сегиз", + "9": "тогуз", + "10": "он", + "20": "жыйырма", + "30": "отуз", + "40": "кырк", + "50": "элүү", + "60": "алтымыш", + "70": "жетимиш", + "80": "сексен", + "90": "токсон" + }, + "units" : [ + { + "singular": "жүз", + "avoidPrefixException": [1] + }, + { + "singular": "миң", + "avoidPrefixException": [1] + }, + "миллион", + "миллиард", + "триллион", + "квадрильон", + "квинтиллион", + "секстиллион", + "септиллион", + "октиллион", + "нониллион", + "дециллион", + "ундециллион", + "дуодециллион", + "тредециллион", + "кватуордециллион", + "квиндециллион" + ], + "unitExceptions": [] +} +},{}],12:[function(require,module,exports){ module.exports={ "useLongScale": true, "baseSeparator": " e ", @@ -1052,7 +1105,7 @@ module.exports={ ] } -},{}],12:[function(require,module,exports){ +},{}],13:[function(require,module,exports){ module.exports={ "useLongScale": false, "baseSeparator": " e ", @@ -1171,7 +1224,7 @@ module.exports={ ] } -},{}],13:[function(require,module,exports){ +},{}],14:[function(require,module,exports){ module.exports={ "useLongScale": false, "baseSeparator": " ", @@ -1358,7 +1411,7 @@ module.exports={ ], "unitExceptions": [] } -},{}],14:[function(require,module,exports){ +},{}],15:[function(require,module,exports){ module.exports={ "useLongScale": false, "baseSeparator": " ", @@ -1411,7 +1464,7 @@ module.exports={ ], "unitExceptions": [] } -},{}],15:[function(require,module,exports){ +},{}],16:[function(require,module,exports){ module.exports={ "useLongScale": false, "baseSeparator": " ", @@ -1599,7 +1652,7 @@ module.exports={ "unitExceptions": [] } -},{}],16:[function(require,module,exports){ +},{}],17:[function(require,module,exports){ module.exports={ "useLongScale": false, "baseSeparator": " ", @@ -1650,12 +1703,12 @@ module.exports={ ], "unitExceptions": [] } -},{}],17:[function(require,module,exports){ +},{}],18:[function(require,module,exports){ "use strict"; exports = module.exports = writtenNumber; var util = require("./util"); -var languages = ["en", "es", "ar", "az", "pt", "fr", "eo", "it", "vi", "tr", "uk", "ru", "id"]; +var languages = ["en", "es", "ar", "az", "pt", "fr", "eo", "it", "vi", "tr", "uk", "ru", "id", "ky"]; var i18n = { en: require("./i18n/en.json"), es: require("./i18n/es.json"), @@ -1672,7 +1725,8 @@ var i18n = { enIndian: require("./i18n/en-indian.json"), uk: require("./i18n/uk.json"), ru: require("./i18n/ru.json"), - id: require("./i18n/id.json") + id: require("./i18n/id.json"), + ky: require("./i18n/ky.json"), }; exports.i18n = i18n; @@ -1876,7 +1930,7 @@ function handleSmallerThan100(n, language, unit, baseCardinals, alternativeBaseC return alternativeBaseCardinals[dec] || baseCardinals[dec]; } -},{"./i18n/ar.json":1,"./i18n/az.json":2,"./i18n/en-indian.json":3,"./i18n/en.json":4,"./i18n/eo.json":5,"./i18n/es.json":6,"./i18n/fr.json":7,"./i18n/hu.json":8,"./i18n/id.json":9,"./i18n/it.json":10,"./i18n/pt-PT.json":11,"./i18n/pt.json":12,"./i18n/ru.json":13,"./i18n/tr.json":14,"./i18n/uk.json":15,"./i18n/vi.json":16,"./util":18}],18:[function(require,module,exports){ +},{"./i18n/ar.json":1,"./i18n/az.json":2,"./i18n/en-indian.json":3,"./i18n/en.json":4,"./i18n/eo.json":5,"./i18n/es.json":6,"./i18n/fr.json":7,"./i18n/hu.json":8,"./i18n/id.json":9,"./i18n/it.json":10,"./i18n/ky.json":11,"./i18n/pt-PT.json":12,"./i18n/pt.json":13,"./i18n/ru.json":14,"./i18n/tr.json":15,"./i18n/uk.json":16,"./i18n/vi.json":17,"./util":19}],19:[function(require,module,exports){ "use strict"; /** * Merges a set of default keys with a target object @@ -1899,5 +1953,5 @@ function defaults(target, defs) { } exports.defaults = defaults; -},{}]},{},[17])(17) +},{}]},{},[18])(18) }); diff --git a/dist/written-number.min.js b/dist/written-number.min.js index a1ab930..6698960 100644 --- a/dist/written-number.min.js +++ b/dist/written-number.min.js @@ -1 +1 @@ -!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.writtenNumber=a()}}(function(){return function(){function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){return e(b[g][1][a]||a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g-1&&(!j.useBaseExceptionWhenNoTrailingNumbers||0===o&&s.length);x?s.push(w>1&&j.plural?j.plural:j.singular):s.push(q[w*l[o]]||p[w*l[o]])}else{var y;if("string"==typeof j?y=j:1===w||j.useSingularEnding&&w%10==1&&(!j.avoidEndingRules||j.avoidEndingRules.indexOf(w)<0)?y=j.singular:j.few&&(w>1&&w<5||j.useFewEnding&&w%10>1&&w%10<5&&(!j.avoidEndingRules||j.avoidEndingRules.indexOf(w)<0))?y=j.few:(y=!j.plural||j.avoidInNumberPlural&&r?j.singular:j.plural,y=2===w&&j.dual?j.dual:y,y=w>10&&j.restrictedPlural?j.singular:y),j.avoidPrefixException&&j.avoidPrefixException.indexOf(w)>-1)s.push(y);else{var z=c.unitExceptions[w],A=z||d(w,f.defaults({noAnd:!(c.andException&&c.andException[w]||j.andException),alternativeBase:j.useAlternativeBase},b));a-=w*l[o],s.push(A+" "+y)}}}var B=t*Math.floor(a/t),C=a-B;if(c.andWhenTrailing&&t&&0-1&&(!j.useBaseExceptionWhenNoTrailingNumbers||0===o&&s.length);x?s.push(w>1&&j.plural?j.plural:j.singular):s.push(q[w*l[o]]||p[w*l[o]])}else{var y;if("string"==typeof j?y=j:1===w||j.useSingularEnding&&w%10==1&&(!j.avoidEndingRules||j.avoidEndingRules.indexOf(w)<0)?y=j.singular:j.few&&(w>1&&w<5||j.useFewEnding&&w%10>1&&w%10<5&&(!j.avoidEndingRules||j.avoidEndingRules.indexOf(w)<0))?y=j.few:(y=!j.plural||j.avoidInNumberPlural&&r?j.singular:j.plural,y=2===w&&j.dual?j.dual:y,y=w>10&&j.restrictedPlural?j.singular:y),j.avoidPrefixException&&j.avoidPrefixException.indexOf(w)>-1)s.push(y);else{var z=c.unitExceptions[w],A=z||d(w,f.defaults({noAnd:!(c.andException&&c.andException[w]||j.andException),alternativeBase:j.useAlternativeBase},b));a-=w*l[o],s.push(A+" "+y)}}}var B=t*Math.floor(a/t),C=a-B;if(c.andWhenTrailing&&t&&0 10000", function () { + writtenNumber(4323000).should.equal( + "төрт миллион үч жүз жыйырма үч миң" + ); + writtenNumber(4323055).should.equal( + "төрт миллион үч жүз жыйырма үч миң элүү беш" + ); + writtenNumber(1570025).should.equal( + "бир миллион беш жүз жетимиш миң жыйырма беш" + ); + }); + + it("correctly converts numbers > 1 000 000 000", function () { + writtenNumber(1000000000).should.equal("бир миллиард"); + writtenNumber(2580000000).should.equal( + "эки миллиард беш жүз сексен миллион" + ); + writtenNumber(1000000000000).should.equal("бир триллион"); + writtenNumber(3627000000000).should.equal( + "үч триллион алты жүз жыйырма жети миллиард" + ); + }); + }); }); \ No newline at end of file