iso-639-1-dir
v3.0.5
Published
ESM of ISO-639-1 language codes, english names, native names and writing directions. TS-friendly.
Downloads
33
Maintainers
Readme
ISO-639-1-dir
Simple interface for ISO-639-1 language their 2-letter codes, english names, native names and writing directions. Typescript friendly.
Installation
npm install iso-639-1-dir
yarn add iso-639-1-dir
Usage
ES Module
import ISO6391 from 'iso-639-1-dir';
const codes = ISO6391.getAllCodes();
CommonJs
const ISO6391 = require('iso-639-1-dir');
const codes = ISO6391.getAllCodes();
Interfaces & Types
Codes list: ISO-639-1
type LanguageCode = "aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | ... 155 more ... | "zu"
type LanguageName = "Afar" | "Abkhaz" | "Avestan" | "Afrikaans" | "Akan" | "Amharic" | "Aragonese" | "Arabic" | "Assamese" | "Avaric" | "Aymara" | "Azerbaijani" | "Bashkir" | "Belarusian" | "Bulgarian" | ... 167 more ... | "Zulu"
type LanguageNativeName = "Afaraf" | "аҧсуа бызшәа" | "avesta" | "Afrikaans" | "Akan" | "አማርኛ" | "aragonés" | "اَلْعَرَبِيَّةُ" | "অসমীয়া" | "авар мацӀ" | "aymar aru" | "azərbaycan dili" | "башҡорт теле" | ... 168 more ... | "isiZulu"
/**
* ltr - left to right
* rtl - right to left
* ttb - top to bottom
*/
type LanguageDir = 'ltr' | 'rtl' | 'ttb';
interface Language {
name: LanguageName;
nativeName: LanguageNativeName;
dir: LanguageDir;
code: LanguageCode;
}
Methods
/**
* Get the array of the language objects by the given codes.
* Invalid codes will be filtered out.
*/
getLanguages(codes: LanguageCode[]): Language[]
/**
* Get the language object by the given code
*/
getLanguage(code: LanguageCode): Language | undefined
/**
* Get language english name by the code
*/
getName(code: LanguageCode): LanguageName | undefined
/**
* Get language writing direction by the code
*/
getDir(code: LanguageCode): LanguageDir | undefined
/**
* Get all languages english names
*/
getAllNames(): LanguageName[]
/**
* Get language native name by the code
*/
getNativeName(code: LanguageCode): LanguageNativeName | undefined
/**
* Get all languages native names
*/
getAllNativeNames(): LanguageNativeName[]
/**
* Get code of a language by english name or native name
*/
getCode(name: string): LanguageCode | undefined
/**
* Get all languages codes
*/
getAllCodes(): LanguageCode[]
/**
* Validate if language exists by the code
*/
validate(code: string): code is LanguageCode