iso-639-3

Info on ISO 639-3.
Contents
What is this?
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.
When should I use this?
You can use this package any time you have to deal with languages or ISO 639-3
in particular.
Install
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 Skypack:
import {iso6393} from 'https://cdn.skypack.dev/iso-639-3@3?dts'
In browsers with Skypack:
<script type="module">
import {iso6393} from 'https://cdn.skypack.dev/iso-639-3@3?min'
</script>
Use
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'}
]
API
This package exports the following identifiers: iso6393, iso6393To1,
iso6393To2B, and iso6393To2T.
There is no default export.
iso6393
List of Languages (Array<Language>).
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')
Type
Category of a language:
'living'
— currently spoken language
(example: nhi for Zacatlán-Ahuacatlán-Tepetzintla Nahuatl)
'historical'
— extinct language distinct from modern languages that descended from it
(example: ofs for Old Frisian)
'extinct'
— language that went extinct recently
(example: rbp for Barababaraba)
'ancient'
— language that went extinct long ago
(example: got for Gothic)
'constructed'
— artificial languages, excluding programming languages
(example: epo for Esperanto)
'special'
— non-language codes
(example: und for Undetermined)
Scope
Scope of a language:
'individual'
— normal, single language
(example: eng for English)
'macrolanguage'
— one-to-many grouping of languages, because older ISO 639s included them
(example: ara for Arabic)
'special'
— non-language codes
(example: und for Undetermined)
iso6393To1
Map of ISO 639-3 codes to ISO 639-1 codes (Record<string, string>).
iso6393To2B
Map of ISO 639-3 codes to bibliographic ISO 639-2 codes
(Record<string, string>).
iso6393To2T
Map of ISO 639-3 codes to terminologic ISO 639-2 codes
(Record<string, string>).
Types
This package is fully typed with TypeScript.
Compatibility
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.
Security
This package is safe.
Contribute
Yes please!
See How to Contribute to Open Source.
License
MIT © Titus Wormer