Awesome
iso-639-3
Info on ISO 639-3.
Contents
- What is this?
- When should I use this?
- Install
- Use
- API
- Types
- Compatibility
- Security
- Related
- Contribute
- License
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 14.14+, 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>
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 identifier iso6393
, iso6393To1
, iso6393To2B
, and
iso6393To2T
.
There is no default export.
iso6393
List of Language
s (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
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
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
)
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.
It exports the additional types Language
, Scope
, and Type
.
Compatibility
This package is at least compatible with all maintained versions of Node.js. As of now, that is Node.js 14.14+ and 16.0+. It also works in Deno and modern browsers.
Security
This package is safe.
Related
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
Contribute
Yes please! See How to Contribute to Open Source.