Supported languages
One row per language — n2words supports 50, which exist as 72 regional and script variants. Import is the code you actually write: a bare tag where the language has one. Spellings counts how many genuinely different sets of number words its regions produce, measured by running them — English has 16 regions but only 4 spellings. Expand a language to see them.
| Language | Import | Regions | Currencies | Range | Size |
|---|
How the codes work
Codes are IETF BCP 47. A
language is the primary subtag — English is one language with 16
regional variants, not 16 languages. Most languages also have a bare-tag
entry point (n2words/de) that resolves to one documented
default variant; the few whose variants genuinely diverge in script or
core numbering grammar — Chinese, Portuguese, Serbian, Amharic — stay
region- or script-qualified.
A region changes two independent things, and usually only the second:
which words the numbers get, and which currency the
amount defaults to. The spelling groups above are measured by converting
the same numbers with every variant and comparing the output, so a region
listed as “same words as en-GB” provably differs
in nothing but its default currency.
toCurrency is the one form a bare tag won't guess at: a bare
tag names a language, and a default currency belongs to a country. Import
the region-qualified code for its default, or pass an explicit
{ currency }.
Full detail lives in LANGUAGES.md and docs/bare-tag-aliases.md.