{"id":16323059,"url":"https://github.com/yamadapc/js-written-number","last_synced_at":"2025-04-07T23:12:16.906Z","repository":{"id":29997976,"uuid":"33545482","full_name":"yamadapc/js-written-number","owner":"yamadapc","description":"Convert numbers to words - their written form","archived":false,"fork":false,"pushed_at":"2023-12-28T11:57:44.000Z","size":230,"stargazers_count":370,"open_issues_count":20,"forks_count":121,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-30T16:45:00.508Z","etag":null,"topics":["convert-numbers","javascript","language"],"latest_commit_sha":null,"homepage":"https://yamadapc.github.io/js-written-number","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yamadapc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-04-07T13:41:18.000Z","updated_at":"2025-02-27T05:46:49.000Z","dependencies_parsed_at":"2024-06-18T12:45:01.293Z","dependency_job_id":null,"html_url":"https://github.com/yamadapc/js-written-number","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yamadapc%2Fjs-written-number","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yamadapc%2Fjs-written-number/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yamadapc%2Fjs-written-number/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yamadapc%2Fjs-written-number/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yamadapc","download_url":"https://codeload.github.com/yamadapc/js-written-number/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247426994,"owners_count":20937199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["convert-numbers","javascript","language"],"created_at":"2024-10-10T22:53:47.167Z","updated_at":"2025-04-07T23:12:16.873Z","avatar_url":"https://github.com/yamadapc.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# js-written-number\n[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/yamadapc/js-written-number?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n[![Build Status](https://secure.travis-ci.org/yamadapc/js-written-number.png?branch=master)](http://travis-ci.org/yamadapc/js-written-number)\n[![Code Climate](https://codeclimate.com/github/yamadapc/js-written-number.png)](https://codeclimate.com/github/yamadapc/js-written-number)\n[![Coverage Status](https://coveralls.io/repos/yamadapc/js-written-number/badge.png?branch=master)](https://coveralls.io/r/yamadapc/js-written-number?branch=master)\n[![Dependency Status](https://david-dm.org/yamadapc/js-written-number.png)](https://david-dm.org/yamadapc/js-written-number)\n[![devDependency Status](https://david-dm.org/yamadapc/js-written-number/dev-status.png)](https://david-dm.org/yamadapc/js-written-number#info=devDependencies)\n[![Analytics](https://ga-beacon.appspot.com/UA-54450544-1/js-written-number/README)](https://github.com/igrigorik/ga-beacon)\n[![npm downloads per month](http://img.shields.io/npm/dm/written-number.svg)](https://www.npmjs.org/package/written-number)\n[![npm version](https://img.shields.io/npm/v/written-number.svg)](https://www.npmjs.org/package/written-number)\n- - -\nConvert numbers to words - their written form.\n\n## Install\nWith npm:\n```bash\nnpm install --save written-number\n```\nWith bower:\n```bash\nbower install written-number\n```\n\n## Usage\n```javascript\nvar writtenNumber = require('written-number');\nwrittenNumber(1234); // =\u003e 'one thousand two hundred and thirty-four'\n\nwrittenNumber.defaults.lang = 'es';\nwrittenNumber(4758); // =\u003e 'cuatro mil setecientos cincuenta y ocho'\n\nwrittenNumber(1234, {lang: 'fr'});   // =\u003e 'mille deux cent trente-quatre'\nwrittenNumber(1234, {lang: 'es'});   // =\u003e 'mil doscientos treinta y cuatro'\nwrittenNumber(1234, {lang: 'az'});   // =\u003e 'min iki yüz otuz dörd'\nwrittenNumber(1234, {lang: 'pt'});   // =\u003e 'mil duzentos e trinta e quatro'\nwrittenNumber(1234, {lang: 'ar'});   // =\u003e 'ألف ومائتان وأربعة وثلاثون'\nwrittenNumber(1234, {lang: 'eo'});   // =\u003e 'mil ducent tridek kvar'\nwrittenNumber(1234, {lang: 'vi'});   // =\u003e 'một ngàn hai trăm và ba mươi bốn'\nwrittenNumber(1234, {lang: 'uk'});   // =\u003e 'одна тисяча двісті тридцять чотири'\nwrittenNumber(1234, {lang: 'id'});   // =\u003e 'seribu dua ratus tiga puluh empat'\n```\n\n## Options\n- `noAnd` - Defaults to `false`. Determines whether to use a separator. The\n  separator is internationalized.\n- `lang` - Could be `string` or `object`. Defaults to `'en'`. Determines which\n  language to use. An i18n configuration object may be passed to support\n  external language definitions.\n\nCurrently supported languages are:\n\n| Language | `lang` |\n|---------|--------|\n| English | `en` |\n| Portuguese (Brazil) | `pt` |\n| Portuguese (Portugal) | `ptPT` |\n| Spanish | `es` |\n| French | `fr` |\n| Esperanto | `eo` |\n| Vietnamese | `vi` |\n| Arabic | `ar` |\n| Azerbaijan | `az` |\n| Turkish | `tr` |\n| English (Indian) | `enIndian` |\n| Ukrainian | `uk` |\n| Indonesian | `id` |\n| Russian | `ru` |\n\n\n## Contributing\n\n### Configure your own language\nEach language has its own unique grammar exceptions.  You can create your own \nlanguage.json file in the folder \"i18n\" and give writtenNumber support for it. I \ndon't think the current scheme and logic cover all the cases, but may be cover \nsome.\n\nThe following parameters have been used for the currently available languages:\n\n\n### Language parameters\n\n| Parameter       | Type    | Description                                                                                                                                        | Examples                                                                                                                                                                     |\n|-----------------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `useLongScale`    | boolean | Indicates if it uses [long or short scale](http://en.wikipedia.org/wiki/Long_and_short_scales).                                                    | This differs the meaning of the words `billion`, `trillion` and so on.                                                                                                       |\n| `baseSeparator`   | string  | Separates the base cardinal numbers.                                                                                                               | 29 -\u003e twenty`-`eight.  Spanish uses the connector \" y \"                                                                                                                      |\n| `unitSeparator`   | string  | Separates the units from the last base cardinal numbers.                                                                                           | 1234 -\u003e one thousand two hundred **and** thirty-four                                                                                                                         |\n| `allSeparator`    | string  | Separates all cardinals, not only the last one.                                                                                                    | 1125 -\u003e ألف **و**مائة **و**خمسة **و**عشرون                                                                                                                                   |\n| `base`            | Object  | Base cardinals numbers.  Numbers that have unique names and are used to build others.                                                              |                                                                                                                                                                              |\n| `alternativeBase` | Object  | Alternative versions of base cardinals numbers for usage with specific units.  These bases will be treated as an extension for the default `base`. | ``` \"alternativeBase\": {   \"feminine\": {\"1\":\"одна\",\"2\":\"дві\"} } ```                                                                                                          |\n| `units`           | Array   | A list of number units (string or Object). Gives support to singular, dual an plural units. Check the Object parameters below.                                                |                                                                                                                                                                              |\n| `unitExceptions`  | Object  | Sometimes grammar exceptions affect the base cardinal joined to the unit. You can set specific exceptions to any base cardinal number.             | Converting 1232000 in Spanish:  Without Exception (Wrong):  -\u003e **uno** millón doscientos treinta y dos mil  With Exception:  -\u003e **un** millón doscientos treinta y dos mil   |\n\n### Units parameters\n\nA `unit` can be:\n- A simple string. e.g. `\"hundred\"`\n- An Object with multiple parameters:\n\n| Unit parameter         | Description                                                                                            | e.g. of languages |\n|------------------------|--------------------------------------------------------------------------------------------------------|-------------------|\n| `singular`             | One element.                                                                                           | All               |\n| `dual`                 | Two elements.                                                                                          | `ar`              |\n| `plural`               | Two or more elements. (or 3 or more)                                                                   | All               |\n| `few`                  | Between 2 and 4 including.                                                                             | `uk`              |\n| `useAlternativeBase`   | Overwrites default `base`.                                                                             | `uk`              |\n| `useBaseInstead`       | Use the base cardinal number instead.                                                                  | `es`,`hu`,`pt`    |\n| `useBaseException`     | Specify with which unit (1 to 9) you don't want to use the base, and instead use the regular behavior. | `es`,`hu`,`pt`    |\n| `avoidPrefixException` | Units not using the base cardinal number prefix for unit 1.                                            | `id`,`tr`,`it`    |\n| `avoidInNumberPlural`  | Units not using the plural form with trailing numbers other than 0.                                    | `fr`              |\n| `restrictedPlural`     | Plural only for 3 to 10. Singular if \u003e= 11.                                                            | `ar`              |\n| `useSingularEnding`    | Use singular form for numbers ending with 1.                                                           | `uk`              |\n| `useFewEnding`         | Use _few_ form for numbers ending with 2, 3 or 4.                                                      | `uk`              |\n| `avoidEndingRules`     | Plural form used instead of `useSingularEnding` and `useFewEnding`                                     | `uk`              |\n\n\n\n### Versioning\nDo your changes and submit a PR. If you've write access and want to bump the version, run `mversion [major|minor|patch] -m`. That'll bump both `bower.json` and `package.json`.\n\n## License\nThis code is licensed under the MIT license for Pedro Tacla Yamada. For more information, please refer to the [LICENSE](/LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyamadapc%2Fjs-written-number","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyamadapc%2Fjs-written-number","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyamadapc%2Fjs-written-number/lists"}