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.