wooorm / iso-639-3

Info on ISO 639-3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iso-639-3

Build Coverage Downloads Size

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 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: 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. 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

Contribute

Yes please! See How to Contribute to Open Source.

License

MIT © Titus Wormer

About

Info on ISO 639-3

License:MIT License


Languages

Language:JavaScript 100.0%