Module Iso639.Lang
Individual languages and macrolanguages as identified by ISO 639-3.
ISO 639-3 defines language codes for individual languages and macrolanguages. This module defines an abstract denotaion of these language codes. It provides partial conversions to and from language codes of ISO 639-1 and ISO 639-2, and one-to-one conversions to and from language codes of ISO 639-3.
ISO 639-1 and 639-2 contains a subset of ISO 639-3 along with a subset of ISO 639-5, so the correspondence is partial in both directions.
Basic Operations
val pp : Stdlib.Format.formatter -> t -> unit
pp ppf lang
prints the ISO 639-3 language code oflang
onppf
.
val scope : t -> [> `Individual | `Macro | `Special ]
scope lang
is`Individual
iflang
is an individual language`Macro
iflang
is a macrolanguage, or`Special
iflang
is not a language.
Conversions
val to_int : t -> int
An injective mapping to 16 bit integers.
val of_int_exn : int -> t
The partial inverse of
to_int
.- raises Invalid_argument
if the argument is out of range.
val to_lang_or_family : t -> Lang_or_family.t
Injection into the combined ISO 639 type.
val of_lang_or_family : Lang_or_family.t -> t option
Restriction from the combined ISO 639 type.
Language Code Conversions
val to_string : t -> string
to_string lang
is the ISO 639-3 language code oflang
.
val of_string : string -> t option
of_string s
is the language represented by the ISO 639-3 language codes
.
val of_string_exn : string -> t
of_string_exn s
is the language represented by the ISO 639-3 language codes
.
val is_iso639p1 : t -> bool
is_iso639p1 lang
is true ifflang
is represented in ISO 639-1.
val to_iso639p1 : t -> string option
to_iso639p1 lang
is the ISO 693-1 language code oflang
, if it exists.
val of_iso639p1 : string -> t option
of_iso639p1 s
is the language represented by the ISO 639-1 language codes
.
val is_iso639p2 : t -> bool
is_iso639p2 lang
is true ifflang
is represented in ISO 639-2.
val to_iso639p2t : t -> string option
to_iso639p2t lang
is the ISO 639-2T language code oflang
, if it exists.
val to_iso639p2b : t -> string option
to_iso639p2b lang
is the ISO 639-2B language code oflang
, if it exists.
val of_iso639p2 : string -> t option
of_iso639p2 s
is the language represented by the ISO 639 part 2T or 2B language codes
.