iso-639-3
November 16, 2022 · View on GitHub
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 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:nhiforZacatlán-Ahuacatlán-Tepetzintla Nahuatl)'historical'— extinct language distinct from modern languages that descended from it (example:ofsforOld Frisian)'extinct'— language that went extinct recently (example:rbpforBarababaraba)'ancient'— language that went extinct long ago (example:gotforGothic)'constructed'— artificial languages, excluding programming languages (example:epoforEsperanto)'special'— non-language codes (example:undforUndetermined)
Scope
Scope of a language:
'individual'— normal, single language (example:engforEnglish)'macrolanguage'— one-to-many grouping of languages, because older ISO 639s included them (example:araforArabic)'special'— non-language codes (example:undforUndetermined)
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.