Info on ISO 639-3.
- What is this?
- When should I use this?
- Install
- Use
- API
- Types
- Compatibility
- Security
- Related
- Contribute
- License
This package contains info on ISO 639-3. ISO 639-3 is a set of codes that defines three letter identifiers for all known human languages, whether living, extinct, ancient, historic, or constructed.
You can use this package any time you have to deal with languages or ISO 639-3 in particular.
This package is ESM only. In Node.js (version 12.20+, 14.14+, or 16.0+), install with npm:
npm install iso-639-3
In Deno with esm.sh
:
import {iso6393} from 'https://esm.sh/iso-639-3@3'
In browsers with esm.sh
:
<script type="module">
import {iso6393} from 'https://esm.sh/iso-639-3@3?bundle'
</script>
import {iso6393} from 'iso-639-3'
console.log(iso6393.slice(1820, 1830))
Yields:
[
{name: 'En', type: 'living', scope: 'individual', iso6393: 'enc'},
{name: 'Ende', type: 'living', scope: 'individual', iso6393: 'end'},
{name: 'Forest Enets', type: 'living', scope: 'individual', iso6393: 'enf'},
{
name: 'English',
type: 'living',
scope: 'individual',
iso6393: 'eng',
iso6392B: 'eng',
iso6392T: 'eng',
iso6391: 'en'
},
{name: 'Tundra Enets', type: 'living', scope: 'individual', iso6393: 'enh'},
{name: 'Enlhet', type: 'living', scope: 'individual', iso6393: 'enl'},
{
name: 'Middle English (1100-1500)',
type: 'historical',
scope: 'individual',
iso6393: 'enm',
iso6392B: 'enm',
iso6392T: 'enm'
},
{name: 'Engenni', type: 'living', scope: 'individual', iso6393: 'enn'},
{name: 'Enggano', type: 'living', scope: 'individual', iso6393: 'eno'},
{name: 'Enga', type: 'living', scope: 'individual', iso6393: 'enq'}
]
This package exports the following identifiers: iso6393
, iso6393To1
,
iso6393To2B
, and iso6393To2T
.
There is no default export.
List of Language
s (Array<Language>
).
Object representing a language:
name
(string
) — name (example:'English'
)type
(string
) —Type
(example:'living'
)scope
(string
) —Scope
(example:'individual'
)iso6393
(string
) — ISO 639-3 code (example:'eng'
)iso6392B
(string?
) — ISO 639-2 (bibliographic) code (example:'eng'
)iso6392T
(string?
) — ISO 639-2 (terminologic) code (example:'eng'
)iso6391
(string?
) — ISO 639-1 code — ISO 639-1 code (example:'en'
)
Category of a language:
'living'
— currently spoken language (example:nhi
forZacatlán-Ahuacatlán-Tepetzintla Nahuatl
)'historical'
— extinct language distinct from modern languages that descended from it (example:ofs
forOld Frisian
)'extinct'
— language that went extinct recently (example:rbp
forBarababaraba
)'ancient'
— language that went extinct long ago (example:got
forGothic
)'constructed'
— artificial languages, excluding programming languages (example:epo
forEsperanto
)'special'
— non-language codes (example:und
forUndetermined
)
Scope of a language:
'individual'
— normal, single language (example:eng
forEnglish
)'macrolanguage'
— one-to-many grouping of languages, because older ISO 639s included them (example:ara
forArabic
)'special'
— non-language codes (example:und
forUndetermined
)
Map of ISO 639-3 codes to ISO 639-1 codes (Record<string, string>
).
Map of ISO 639-3 codes to bibliographic ISO 639-2 codes
(Record<string, string>
).
Map of ISO 639-3 codes to terminologic ISO 639-2 codes
(Record<string, string>
).
This package is fully typed with TypeScript.
This package is at least compatible with all maintained versions of Node.js. As of now, that is Node.js 12.20+, 14.14+, and 16.0+. 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-2
— ISO 639-2 codesiso-15924
— ISO 15924 codesun-m49
— UN M49 codes
Yes please! See How to Contribute to Open Source.