Info on ISO 639-2.
- What is this?
- When should I use this?
- Install
- Use
- API
- Data
- Types
- Compatibility
- Security
- Related
- Contribute
- License
This package contains info on ISO 639-2. ISO 639-2 is the alpha-3 code in “Codes for the representation of names of languages – Part 2”.
You can use this package any time you have to deal with languages or ISO 639-2 in particular. But ISO 639-3 might be better.
This package is ESM only. In Node.js (version 16+), install with npm:
npm install iso-639-2
In Deno with esm.sh
:
import {iso6392} from 'https://esm.sh/iso-639-2@3'
In browsers with esm.sh
:
<script type="module">
import {iso6392} from 'https://esm.sh/iso-639-2@3?bundle'
</script>
import {iso6392} from 'iso-639-2'
iso6392.slice(120, 150)
Yields:
[
{name: 'Egyptian (Ancient)', iso6392B: 'egy'},
{name: 'Ekajuk', iso6392B: 'eka'},
{name: 'Elamite', iso6392B: 'elx'},
{name: 'English', iso6392B: 'eng', iso6391: 'en'},
{name: 'English, Middle (1100-1500)', iso6392B: 'enm'},
{name: 'Esperanto', iso6392B: 'epo', iso6391: 'eo'},
{name: 'Estonian', iso6392B: 'est', iso6391: 'et'},
{name: 'Ewe', iso6392B: 'ewe', iso6391: 'ee'},
{name: 'Ewondo', iso6392B: 'ewo'},
{name: 'Fang', iso6392B: 'fan'},
{name: 'Faroese', iso6392B: 'fao', iso6391: 'fo'},
{name: 'Fanti', iso6392B: 'fat'},
{name: 'Fijian', iso6392B: 'fij', iso6391: 'fj'},
{name: 'Filipino; Pilipino', iso6392B: 'fil'},
{name: 'Finnish', iso6392B: 'fin', iso6391: 'fi'},
{name: 'Finno-Ugrian languages', iso6392B: 'fiu'},
{name: 'Fon', iso6392B: 'fon'},
{name: 'French', iso6392B: 'fre', iso6392T: 'fra', iso6391: 'fr'},
{name: 'French, Middle (ca.1400-1600)', iso6392B: 'frm'},
{name: 'French, Old (842-ca.1400)', iso6392B: 'fro'},
{name: 'Northern Frisian', iso6392B: 'frr'},
{name: 'Eastern Frisian', iso6392B: 'frs'},
{name: 'Western Frisian', iso6392B: 'fry', iso6391: 'fy'},
{name: 'Fulah', iso6392B: 'ful', iso6391: 'ff'},
{name: 'Friulian', iso6392B: 'fur'},
{name: 'Ga', iso6392B: 'gaa'},
{name: 'Gayo', iso6392B: 'gay'},
{name: 'Gbaya', iso6392B: 'gba'},
{name: 'Germanic languages', iso6392B: 'gem'},
{name: 'Georgian', iso6392B: 'geo', iso6392T: 'kat', iso6391: 'ka'}
]
This package exports the identifiers
iso6392
,
iso6392BTo1
,
iso6392BTo2T
,
iso6392TTo1
, and
iso6392TTo2B
.
There is no default export.
List of languages (Array<Language>
).
ISO 639-2 Bibliographic (dut
) to ISO 639-1 (nl
) (Record<string, string>
).
ISO 639-2 Bibliographic (dut
) to ISO 639-2 Terminologic (nld
)
(Record<string, string>
)
Missing when the bibliographic and terminologic codes are the same.
ISO 639-2 Terminologic (nld
) to ISO 639-1 (nl
) (Record<string, string>
).
Not all language in 639-2 were available in 639-1.
ISO 639-2 Terminologic (nld
) to ISO 639-2 Bibliographic (dut
)
(Record<string, string>
).
Missing when the bibliographic and terminologic codes are the same.
One language (TypeScript type).
name
(string
) — language nameiso6392B
(string
) — bibliographic ISO 639-2 codeiso6392T
(string | undefined
) — terminologic ISO 639-2 code (if different thaniso6392B
)iso6391
(string | undefined
) — ISO 639-1 code (if available)
The data is crawled from www.loc.gov
.
This package is fully typed with TypeScript.
It exports an additional type Language
.
This package is at least compatible with all maintained versions of Node.js. As of now, that is Node.js 16+. It also works in Deno and modern browsers.
This package is safe.
bcp-47
— parse and serialize BCP 47 language tagsbcp-47-match
— match BCP 47 language tags with language ranges per RFC 4647bcp-47-normalize
— normalize, canonicalize, and format BCP 47 tagsiso-3166
— ISO 3166 codesiso-639-3
— ISO 639-3 codesiso-15924
— ISO 15924 codesun-m49
— UN M49 codes
Yes please! See How to Contribute to Open Source.