3.0.1 • Published 2 years ago

iso-639-3 v3.0.1

Weekly downloads
26,581
License
MIT
Repository
github
Last release
2 years ago

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

Related

Contribute

Yes please! See How to Contribute to Open Source.

License

MIT © Titus Wormer