{"_id":"@alexisab/humanize-duration","_rev":"2-1a11fee6d911e4cad934a83141e8a0b8","name":"@alexisab/humanize-duration","dist-tags":{"latest":"3.16.1"},"versions":{"3.16.0":{"name":"@alexisab/humanize-duration","author":{"name":"Evan Hahn","email":"me@evanhahn.com","url":"https://evanhahn.com"},"contributors":[{"name":"Óli Tómas Freysson","url":"https://github.com/olitomas"},{"name":"Martin Prins","url":"https://github.com/magarcia"},{"name":"Filipi Siqueira","url":"https://github.com/filipi777"},{"name":"Peter Rekdal Sunde","url":"https://github.com/peters"},{"name":"Michał Janiec","url":"https://github.com/mjjaniec"},{"name":"Eileen Li","url":"https://github.com/eileen3"},{"name":"Tommy Brunn","url":"https://github.com/Nevon"},{"name":"Giovanni Pellerano","url":"https://github.com/evilaliv3"},{"name":"Rahma Sghaier","url":"https://twitter.com/sghaierrahma"},{"name":"Evgenios Kastanias","url":"https://github.com/evgenios"},{"name":"Oleksii Mylotskyi","url":"https://github.com/spalax"},{"name":"Matthew Brandly","url":"https://github.com/brandly"},{"name":"Patrik Simek","url":"https://github.com/patriksimek"},{"name":"Toni Helminen","url":"https://github.com/tonihelminen"},{"name":"Vidmantas Drasutis","url":"https://github.com/drasius2"},{"name":"Manh Tuan","url":"https://github.com/J2TeaM"},{"name":"Leonard Lee","url":"https://github.com/sheeeng"},{"name":"Jesse Jackson","url":"https://github.com/jsejcksn"},{"name":"Caner Elci","url":"https://github.com/canerelci"},{"name":"Matej Kolesár","url":"https://github.com/rasel-sk"},{"name":"Abdul Jalil","url":"https://github.com/abduljalilm94"},{"name":"Alex Sam","url":"https://github.com/sam-lex"},{"name":"Alexis Ablain","url":"https://github.com/alexisab"}],"version":"3.16.0","description":"Convert millisecond durations to English and many other languages.","homepage":"https://github.com/EvanHahn/HumanizeDuration.js","main":"humanize-duration.js","scripts":{"pretest":"standard --fix","test":"mocha"},"devDependencies":{"check-ecmascript-version-compatibility":"^0.1.1","csv-parse":"^1.1.7","mocha":"^5.2.0","ms":"^0.7.2","standard":"^11.0.1"},"keywords":["humanize","duration","time","hours","minutes","seconds","days","years","months"],"repository":{"type":"git","url":"git://github.com/EvanHahn/HumanizeDuration.js.git"},"bugs":{"url":"https://github.com/EvanHahn/HumanizeDuration.js/issues"},"license":"Unlicense","standard":{"globals":["define","describe","it","before"]},"gitHead":"dac81a33a69a5a3830b099bc5c7ce894da8dff28","_id":"@alexisab/humanize-duration@3.16.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"alexisab","email":"alexis.ablain@gmail.com"},"dist":{"integrity":"sha512-in6GuRAASKkxNJj04pqrrAQGSCbYUPdpS+klNaYlD8vzVE7dEWvouNiqVYX9WLj/WS/itD8SjUrleqsyjH0QVw==","shasum":"d9ddba8315ad9a31be5c064470f3d639f7f03ff2","tarball":"https://registry.npmjs.org/@alexisab/humanize-duration/-/humanize-duration-3.16.0.tgz","fileCount":6,"unpackedSize":41581,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkRkPCRA9TVsSAnZWagAAngMP/RlunAdRJ+K0VHFlIIj+\nTONoXp8BVQuwLQnHhWI0vaFxF2qn9eMrZXgNlZ4mMa9CeMjawwZjWsLvHixh\ne2HQlQ7aYNmdI1h5flt8mVXRa8hU6fsXCQ+XiRynzGk+UNur0eshox2DhZ1r\n0ghE8C/ytPndBgla9f7zP+66tcvHzpWmo5TbU61GJCE0Mr/hts9pboEjaZNA\nqw79XYeannX8QExQXwO+crqTzA1WTRY2VUcN3yedksXM/74IceZvxLdipwNr\nChyhq4fvbQzF9UjdxlmbWnpHV+9wi+xpCme16fFTIndfxI62ZkY7j/Whic2T\nVorNlcSpYd0bG+E6de1XQOV6MzsSuOb0tvfWsxIoIWZLZCfEVUx20awiqpsY\nQWFTaK1iTlRgXzLga/gX7zpgjdK0cbs9Hy+jZVENrTCPOWUyCABvfLmH2dm2\nATQX33tqVtjEKwlIF8OsII2Gv3+4AuXO+plljtlJqmJ8GqzQLZwSY8IM7zYa\nrPTuvkr8v1ADZfydxHyn2KD6Zeysp9qyZM8sq10enXIRLG7WE6GRtuo1bJSb\n8chJdYnG6H9Hou4rea7Zy3u9pzlvWMRm58AESY672pWvRh1yvR75jQ2C7LCe\nEH8D8UhDp1tqBX+6+mmZrrLdk1mDDwuNswqw4iMe1Yt0Vwvb2+olCR9+wVbY\nfijU\r\n=MrW1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDFCkHhJynA+eq+GanTMd0Tgk0dC7qItaPCiKnKweCUvAiEA4GJmwTHbCjGe2SSzpxfyWBCSoygItT15+UKleu83NsY="}]},"maintainers":[{"name":"alexisab","email":"alexis.ablain@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/humanize-duration_3.16.0_1536235791041_0.8068391227726106"},"_hasShrinkwrap":false},"3.16.1":{"name":"@alexisab/humanize-duration","author":{"name":"Evan Hahn","email":"me@evanhahn.com","url":"https://evanhahn.com"},"contributors":[{"name":"Óli Tómas Freysson","url":"https://github.com/olitomas"},{"name":"Martin Prins","url":"https://github.com/magarcia"},{"name":"Filipi Siqueira","url":"https://github.com/filipi777"},{"name":"Peter Rekdal Sunde","url":"https://github.com/peters"},{"name":"Michał Janiec","url":"https://github.com/mjjaniec"},{"name":"Eileen Li","url":"https://github.com/eileen3"},{"name":"Tommy Brunn","url":"https://github.com/Nevon"},{"name":"Giovanni Pellerano","url":"https://github.com/evilaliv3"},{"name":"Rahma Sghaier","url":"https://twitter.com/sghaierrahma"},{"name":"Evgenios Kastanias","url":"https://github.com/evgenios"},{"name":"Oleksii Mylotskyi","url":"https://github.com/spalax"},{"name":"Matthew Brandly","url":"https://github.com/brandly"},{"name":"Patrik Simek","url":"https://github.com/patriksimek"},{"name":"Toni Helminen","url":"https://github.com/tonihelminen"},{"name":"Vidmantas Drasutis","url":"https://github.com/drasius2"},{"name":"Manh Tuan","url":"https://github.com/J2TeaM"},{"name":"Leonard Lee","url":"https://github.com/sheeeng"},{"name":"Jesse Jackson","url":"https://github.com/jsejcksn"},{"name":"Caner Elci","url":"https://github.com/canerelci"},{"name":"Matej Kolesár","url":"https://github.com/rasel-sk"},{"name":"Abdul Jalil","url":"https://github.com/abduljalilm94"},{"name":"Alex Sam","url":"https://github.com/sam-lex"},{"name":"Alexis Ablain","url":"https://github.com/alexisab"}],"version":"3.16.1","description":"Convert millisecond durations to English and many other languages.","homepage":"https://github.com/EvanHahn/HumanizeDuration.js","main":"humanize-duration.js","scripts":{"pretest":"standard --fix","test":"mocha"},"devDependencies":{"check-ecmascript-version-compatibility":"^0.1.1","csv-parse":"^1.1.7","mocha":"^5.2.0","ms":"^0.7.2","standard":"^11.0.1"},"keywords":["humanize","duration","time","hours","minutes","seconds","days","years","months"],"repository":{"type":"git","url":"git://github.com/EvanHahn/HumanizeDuration.js.git"},"bugs":{"url":"https://github.com/EvanHahn/HumanizeDuration.js/issues"},"license":"Unlicense","standard":{"globals":["define","describe","it","before"]},"gitHead":"00b8a1b2b0172a40717552778756fa7d99791daf","_id":"@alexisab/humanize-duration@3.16.1","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"alexisab","email":"alexis.ablain@gmail.com"},"dist":{"integrity":"sha512-3UFX+7AWbBMqnuZQ5z8uNROi7f5ZUX/eIqWBMPBIFRInradDyFuVTWQisgXJ1NrtL/CiSx7Dn73QLLdJbur0FQ==","shasum":"e6222e4afc11cd7c4013b316896ca6408e3e9039","tarball":"https://registry.npmjs.org/@alexisab/humanize-duration/-/humanize-duration-3.16.1.tgz","fileCount":6,"unpackedSize":41510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkkhlCRA9TVsSAnZWagAAon8P+wYyLLkJIKeVcQ4bZ7Lg\n+In+6MJdwk0eSyt5AhRM4d2J2ncb9zAJj0iA+j/6QPzuX8TnOW7iTSPHYZOm\nEgWCBc4Zbi39OafnabK1iumR/ETj04ZbnRWapITZXzCeK6E0/jIIb6hlWUnd\nrKCX7+9J11fXL2HuQ+MKsYSy+PQOiNtpkzYjSzMwjWVQZajzkd6GjzmLB363\nelRTPWS/dcics7S44oMV93hZXuwE4EQBV7hmofO88RH4k6Cgn5mFLAjq6RRz\nKaes7m4nVrU+5eiQN0fyWhoC5zuKWZ6N6H4rB0IELp8iCRgAOmrrrj9dgiTe\nlNHiLRDhRWlAJxSRG1Zy8vFJ89hd4c4mCEqTbTYjDKbsnvd13MdwEp9nCWlS\nSv6Kh5hBvmYvzeAmP6+acgNVkFLzZY0LGgUl0i+5JeMvcvVIhQ9MxBa+th9E\nzddOAI4SXDqceNEPWzMRTpH9cpBW1pCWR5dlFwMekGaEyZzht24OjLTSiPVK\nvP4LCE9wNpBFj3RiE+o42/fxjRaAgasPtiAwCORuOZmEg3sIoHh2h50twrkS\nPgQbbMWr4REd7W0VQ7lsvyg8bNQL31CdCvyNh7Lib7O9RnHTVSzjWue27bNh\nbQX4h1HjifKi8exlzaEvt/of6dhUDXYdlwCCjvdHY3wPMseJGoiGiEtzMT+i\nYBQn\r\n=UfkO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICWYgordf/qmNwuDwYmWFD4Lbf8SQPvt71lqmKa/qnrIAiEAt81xKK0wDPRBJSmB1GGg+0sz9qdjl4pa6ASW7Ih7aMs="}]},"maintainers":[{"name":"alexisab","email":"alexis.ablain@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/humanize-duration_3.16.1_1536313444360_0.8272633833351737"},"_hasShrinkwrap":false}},"time":{"created":"2018-09-06T12:09:50.886Z","3.16.0":"2018-09-06T12:09:51.191Z","modified":"2022-04-04T12:40:14.857Z","3.16.1":"2018-09-07T09:44:04.499Z"},"maintainers":[{"name":"alexisab","email":"alexis.ablain@gmail.com"}],"description":"Convert millisecond durations to English and many other languages.","homepage":"https://github.com/EvanHahn/HumanizeDuration.js","keywords":["humanize","duration","time","hours","minutes","seconds","days","years","months"],"repository":{"type":"git","url":"git://github.com/EvanHahn/HumanizeDuration.js.git"},"contributors":[{"name":"Óli Tómas Freysson","url":"https://github.com/olitomas"},{"name":"Martin Prins","url":"https://github.com/magarcia"},{"name":"Filipi Siqueira","url":"https://github.com/filipi777"},{"name":"Peter Rekdal Sunde","url":"https://github.com/peters"},{"name":"Michał Janiec","url":"https://github.com/mjjaniec"},{"name":"Eileen Li","url":"https://github.com/eileen3"},{"name":"Tommy Brunn","url":"https://github.com/Nevon"},{"name":"Giovanni Pellerano","url":"https://github.com/evilaliv3"},{"name":"Rahma Sghaier","url":"https://twitter.com/sghaierrahma"},{"name":"Evgenios Kastanias","url":"https://github.com/evgenios"},{"name":"Oleksii Mylotskyi","url":"https://github.com/spalax"},{"name":"Matthew Brandly","url":"https://github.com/brandly"},{"name":"Patrik Simek","url":"https://github.com/patriksimek"},{"name":"Toni Helminen","url":"https://github.com/tonihelminen"},{"name":"Vidmantas Drasutis","url":"https://github.com/drasius2"},{"name":"Manh Tuan","url":"https://github.com/J2TeaM"},{"name":"Leonard Lee","url":"https://github.com/sheeeng"},{"name":"Jesse Jackson","url":"https://github.com/jsejcksn"},{"name":"Caner Elci","url":"https://github.com/canerelci"},{"name":"Matej Kolesár","url":"https://github.com/rasel-sk"},{"name":"Abdul Jalil","url":"https://github.com/abduljalilm94"},{"name":"Alex Sam","url":"https://github.com/sam-lex"},{"name":"Alexis Ablain","url":"https://github.com/alexisab"}],"author":{"name":"Evan Hahn","email":"me@evanhahn.com","url":"https://evanhahn.com"},"bugs":{"url":"https://github.com/EvanHahn/HumanizeDuration.js/issues"},"license":"Unlicense","readme":"Humanize Duration\n=================\n[![npm version](https://badge.fury.io/js/humanize-duration.svg)](https://npmjs.org/package/humanize-duration)\n[![build status](https://travis-ci.org/EvanHahn/HumanizeDuration.js.svg?branch=master)](https://travis-ci.org/EvanHahn/HumanizeDuration.js)\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)\n\nI have the time in milliseconds and I want it to become \"30 minutes\" or \"3 days, 1 hour\". Enter Humanize Duration!\n\n**This library is actively maintained but no new features will be added.**\n\nBasic usage\n-----------\n\nThis package is available as *humanize-duration* on [npm](https://www.npmjs.com/package/humanize-duration) and Bower. You can also include the JavaScript file in the browser.\n\nWith `require` (like in Node or with common build systems):\n\n```js\nconst humanizeDuration = require('humanize-duration')\nhumanizeDuration(12000) // '12 seconds'\n```\n\nWith a `<script>` tag:\n\n```html\n<script src=\"humanize-duration.js\"></script>\n<script>\nhumanizeDuration(12000)\n</script>\n```\n\nUsage\n-----\n\nBy default, Humanize Duration will humanize down to the second, and will return a decimal for the smallest unit. It will humanize in English by default.\n\n```js\nhumanizeDuration(3000)      // '3 seconds'\nhumanizeDuration(2250)      // '2.25 seconds'\nhumanizeDuration(97320000)  // '1 day, 3 hours, 2 minutes'\n```\n\n### Options\n\nYou can change the settings by passing options as the second argument:\n\n**language**\n\nLanguage for unit display (accepts an [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) from one of the [supported languages](#supported-languages)).\n\n```js\nhumanizeDuration(3000, { language: 'es' })  // '3 segundos'\nhumanizeDuration(5000, { language: 'ko' })  // '5 초'\n```\n\n**delimiter**\n\nString to display between the previous unit and the next value.\n\n```js\nhumanizeDuration(22140000, { delimiter: ' and ' })  // '6 hours and 9 minutes'\nhumanizeDuration(22140000, { delimiter: '--' })     // '6 hours--9 minutes'\n```\n\n**spacer**\n\nString to display between each value and unit.\n\n```js\nhumanizeDuration(260040000, { spacer: ' whole ' })  // '3 whole days, 14 whole minutes'\nhumanizeDuration(260040000, { spacer: '' })         // '3days, 14minutes'\n```\n\n**largest**\n\nNumber representing the maximum number of units to display for the duration.\n\n```js\nhumanizeDuration(1000000000000)                  // '31 years, 8 months, 1 week, 19 hours, 46 minutes, 40 seconds'\nhumanizeDuration(1000000000000, { largest: 2 })  // '31 years, 8 month'\n```\n\n**units**\n\nArray of strings to define which units are used to display the duration (if needed). Can be one, or a combination of any, of the following: `['y', 'mo', 'w', 'd', 'h', 'm', 's', 'ms']`\n\n```js\nhumanizeDuration(3600000, { units: ['h'] })       // '1 hour'\nhumanizeDuration(3600000, { units: ['m'] })       // '60 minutes'\nhumanizeDuration(3600000, { units: ['d', 'h'] })  // '1 hour'\n```\n\n**round**\n\nBoolean value. Use `true` to [round](https://en.wikipedia.org/wiki/Rounding#Round_half_up) the smallest unit displayed (can be combined with `largest` and `units`).\n\n```js\nhumanizeDuration(1200)                   // '1.2 seconds'\nhumanizeDuration(1200, { round: true })  // '1 second'\nhumanizeDuration(1600, { round: true })  // '2 seconds'\n```\n\n**padUnits**\n\nNumber representing the final size of the digits (enlarged with 0).\n```js\nhumanizeDuration(0)                          // '0 seconds'\nhumanizeDuration(1000, { padUnits: 2 })      // '01 second'\nhumanizeDuration(10000, { padUnits: 2 })     // '10 seconds'\nhumanizeDuration(301000, { padUnits: 2 })    // '05 minutes, 01 second'\nhumanizeDuration(601000, { padUnits: 2 })    // '10 minutes, 01 second'\n\nhumanizeDuration(1000, { padUnits: 3 })      // '000 seconds'\n```\n\n**decimal**\n\nString to substitute for the decimal point in a decimal fraction.\n\n```js\nhumanizeDuration(1200)                          // '1.2 seconds'\nhumanizeDuration(1200, { decimal: ' point ' })  // '1 point 2 seconds'\n```\n\n**conjunction**\n\nString to include before the final unit. You can also set `serialComma` to `false` to eliminate the final comma.\n\n```js\nhumanizeDuration(22140000, { conjunction: ' and ' })                      // '6 hours and 9 minutes'\nhumanizeDuration(22141000, { conjunction: ' and ' })                      // '6 hours, 9 minutes, and 1 second'\nhumanizeDuration(22140000, { conjunction: ' and ', serialComma: false })  // '6 hours and 9 minutes'\nhumanizeDuration(22141000, { conjunction: ' and ', serialComma: false })  // '6 hours, 9 minutes and 1 second'\n```\n\n**unitMeasures**\n\nCustomize the value used to calculate each unit of time.\n\n```js\nhumanizeDuration(400)    // '0.4 seconds'\nhumanizeDuration(400, {  // '1 year, 1 month, 5 days'\n  unitMeasures: {\n    y: 365,\n    mo: 30,\n    w: 7,\n    d: 1\n  }\n})\n```\n\n**Combined example**\n\n```js\nhumanizeDuration(3602000, {\n  language: 'es',\n  round: true,\n  spacer: ' glorioso ',\n  units: ['m']\n}) // '60 glorioso minutos'\n```\n\n### Humanizers\n\nIf you find yourself setting same options over and over again, you can create a *humanizer* that changes the defaults, which you can still override later.\n\n```js\nconst spanishHumanizer = humanizeDuration.humanizer({\n  language: 'es',\n  units: ['y', 'mo', 'd']\n})\n\nspanishHumanizer(71177400000)  // '2 años, 3 meses, 2 días'\nspanishHumanizer(71177400000, { units: ['d', 'h'] })  // '823 días, 19.5 horas'\n```\n\nYou can also add new languages to humanizers. For example:\n\n```js\nconst shortEnglishHumanizer = humanizeDuration.humanizer({\n  language: 'shortEn',\n  languages: {\n    shortEn: {\n      y: () => 'y',\n      mo: () => 'mo',\n      w: () => 'w',\n      d: () => 'd',\n      h: () => 'h',\n      m: () => 'm',\n      s: () => 's',\n      ms: () => 'ms',\n    }\n  }\n})\n\nshortEnglishHumanizer(15600000)  // '4 h, 20 m'\n```\n\nYou can also add languages after initializing:\n\n```js\nconst humanizer = humanizeDuration.humanizer()\n\nhumanizer.languages.shortEn = {\n  y: () => 'y',\n  // ...\n```\n\nInternally, the main `humanizeDuration` function is just a wrapper around a humanizer.\n\nSupported languages\n-------------------\n\nHumanize Duration supports the following languages:\n\n| Language             | Code    |\n|----------------------|---------|\n| Arabic               | `ar`    |\n| Bulgarian            | `bg`    |\n| Catalan              | `ca`    |\n| Chinese, simplified  | `zh_CN` |\n| Chinese, traditional | `zh_TW` |\n| Croatian             | `hr`    |\n| Czech                | `cs`    |\n| Danish               | `da`    |\n| Dutch                | `nl`    |\n| English              | `en`    |\n| Farsi/Persian        | `fa`    |\n| Finnish              | `fi`    |\n| French               | `fr`    |\n| German               | `de`    |\n| Greek                | `gr`    |\n| Hungarian            | `hu`    |\n| Icelandic            | `is`    |\n| Indonesian           | `id`    |\n| Italian              | `it`    |\n| Japanese             | `ja`    |\n| Korean               | `ko`    |\n| Lao                  | `lo`    |\n| Lithuanian           | `lt`    |\n| Malay                | `ms`    |\n| Norwegian            | `no`    |\n| Polish               | `pl`    |\n| Portuguese           | `pt`    |\n| Russian              | `ru`    |\n| Slovak               | `sk`    |\n| Spanish              | `es`    |\n| Swedish              | `sv`    |\n| Turkish              | `tr`    |\n| Ukrainian            | `uk`    |\n| Urdu                 | `ur`    |\n| Vietnamese           | `vi`    |\n\nFor a list of supported languages, you can use the `getSupportedLanguages` function.\n\n```js\nhumanizeDuration.getSupportedLanguages()\n// ['ar', 'bg', 'ca', 'cs', da', 'de', ...]\n```\n\nThis function won't return any new languages you define; it will only return the defaults supported by the library.\n\nCredits\n-------\n\nLovingly made by [Evan Hahn](http://evanhahn.com/) with help from:\n\n* [Martin Prins](https://github.com/magarcia) for language support\n* [Filipi Siqueira](https://github.com/filipi777) for Portuguese support\n* [Peter Rekdal Sunde](https://github.com/peters) for Norwegian support\n* [Michał Janiec](https://github.com/mjjaniec) for Polish support\n* [Eileen Li](https://github.com/eileen3) for Chinese support\n* [Tommy Brunn](https://github.com/Nevon) for Swedish support\n* [Giovanni Pellerano](https://github.com/evilaliv3) for Italian support\n* [Rahma Sghaier](https://twitter.com/sghaierrahma) for Arabic support\n* [Evgenios Kastanias](https://github.com/evgenios) for Greek support\n* [Oleksii Mylotskyi](https://github.com/spalax) for Ukrainian support\n* [Patrik Simek](https://github.com/patriksimek) for Czech support\n* [Toni Helminen](https://github.com/tonihelminen) for Finnish support\n* [Vidmantas Drasutis](https://github.com/Drasius2) for Lithuanian support\n* [Manh Tuan](https://github.com/J2TeaM) for Vietnamese support\n* [Leonard Lee](https://github.com/sheeeng) for Indonesian & Malay support\n* [Jesse Jackson](https://github.com/jsejcksn) for documentation help\n* [Óli Tómas Freysson](https://github.com/olitomas) for Icelandic support\n* [Saeed Ganji](https://github.com/shahabganji) for Farsi/Persian support\n* [Caner Elci](https://github.com/canerelci) for Bulgarian support\n* [Matej Kolesár](https://github.com/rasel-sk) for Slovak support\n* [Abdul Jalil](https://github.com/abduljalilm94) for Urdu support\n* [Alexis Ablain](https://github.com/alexisab) for the addition of the `leadingZeros` option\n* Malikoun for Lao support\n\nLicensed under the permissive [Unlicense](https://unlicense.org/). Enjoy!\n\nRelated modules\n---------------\n\n* [pretty-ms](https://github.com/sindresorhus/pretty-ms)\n* [angularjs-humanize-duration](https://github.com/sebastianhaas/angularjs-humanize-duration)\n* [millisec](https://github.com/sungwoncho/millisec)\n* [HumanizeDuration.ts](https://github.com/Nightapes/HumanizeDuration.ts), a TypeScript version of this module\n* [aurelia-time](https://github.com/shahabganji/aurelia-time)\n","readmeFilename":"README.md"}