ISO639 (ISO639 v0.2.0) View Source

This library exposes functions to convert ISO 639-1 language code representation to ISO 639-2 and backwards where it's applicable. Data for conversions was taken from https://github.com/haliaeetus/iso-639. Note about ISO 639-2/B: all Bibliographic codes will be converted to ISO 639-2 codes

Link to this section Summary

Functions

expects as input downcased ISO 639-2 or ISO 639-2/B language code and returns ISO 639-1 code if it exists in standard and nil if not. If function receives as input ISO 639-1 language code, it's returned unchanged.

expects as input downcased ISO 639-1, ISO 639-2 or ISO 639-2/B language code and returns ISO 639-2 code if it exists in standard and nil if not. If function receives as input ISO 639-2 language code, it's returned unchanged. ISO 639-2/B will be changed to ISO 639-2

expects as input downcased ISO 639-1, ISO 639-2 or ISO 639-2/B language code and returns ISO 639-2/B (Bibliographic) code if it exists in standard. 639-2 code is returned if bibliographic value doesn't exist. Default value is nil for wrong argument situations.

Link to this section Functions

Specs

to_iso639_1(language_code :: String.t()) :: String.t() | nil

expects as input downcased ISO 639-2 or ISO 639-2/B language code and returns ISO 639-1 code if it exists in standard and nil if not. If function receives as input ISO 639-1 language code, it's returned unchanged.

Examples

iex> ISO639.to_iso639_1("sag")
"sg"

iex> ISO639.to_iso639_1("en")
"en"

iex> ISO639.to_iso639_1("ace")
nil

Specs

to_iso639_2(language_code :: String.t()) :: String.t() | nil

expects as input downcased ISO 639-1, ISO 639-2 or ISO 639-2/B language code and returns ISO 639-2 code if it exists in standard and nil if not. If function receives as input ISO 639-2 language code, it's returned unchanged. ISO 639-2/B will be changed to ISO 639-2

Examples

iex> ISO639.to_iso639_2("sag")
"sag"

iex> ISO639.to_iso639_2("sg")
"sag"

iex> ISO639.to_iso639_2("chi")
"zho"

iex> ISO639.to_iso639_2("en")
"eng"

iex> ISO639.to_iso639_2("ud")
nil

Specs

to_iso639_2b(language_code :: String.t()) :: String.t() | nil

expects as input downcased ISO 639-1, ISO 639-2 or ISO 639-2/B language code and returns ISO 639-2/B (Bibliographic) code if it exists in standard. 639-2 code is returned if bibliographic value doesn't exist. Default value is nil for wrong argument situations.

Examples

iex> ISO639.to_iso639_2b("hy")
"arm"

iex> ISO639.to_iso639_2b("eus")
"baq"

iex> ISO639.to_iso639_2b("chi")
"chi"

iex> ISO639.to_iso639_2b("cs")
"cze"

iex> ISO639.to_iso639_2b("de")
"ger"

iex> ISO639.to_iso639_2b("ud")
nil