rust_iso/iso639

A rust crate providing ISO 639 1, ISO 639 2, ISO 639 3 , ISO 15924 support.

What is ISO 639

ISO 639 is a standardized nomenclature used to classify languages. Each language is assigned a two-letter (639-1) and three-letter (639-2 and 639-3) lowercase abbreviation, amended in later versions of the nomenclature.

This table lists all of:

ISO 639-1: two-letter codes, one per language for ISO 639 macrolanguage And some of:

ISO 639-2/T: three-letter codes, for the same languages as 639-1

ISO 639-2/B: three-letter codes, mostly the same as 639-2/T, but with some codes derived from English names rather than native names of languages (in the following table, these differing codes are highlighted in boldface)

ISO 639-3: three-letter codes, the same as 639-2/T for languages, but with distinct codes for each variety of an ISO 639 macrolanguage

-- Wikipedia

Installing

sh [dependencies] rust_iso639 = "0.0.1"

License

rust-iso/rust_iso639 is licensed under the Apache-2.0 license.

Using

See using section of the documentation.

Quick guide:

```rust let lang = rustiso639::fromcode("zh"); let lang = rustiso639::fromcode2t("zho"); let lang = rustiso639::fromcode2b("chi"); let lang = rustiso639::fromcode_3("zho");

println!("{:?}", rustiso639::ALLCODE); println!("{:?}", rustiso639::ALLCODE2T); println!("{:?}", rustiso639::ALLCODE2B); println!("{:?}", rustiso639::ALLCODE_3);

println!("{:?}", rustiso639::CODEMAP); println!("{:?}", rustiso639::CODE2TMAP); println!("{:?}", rustiso639::CODE2BMAP); println!("{:?}", rustiso639::CODE3_MAP);

```

Data sample:

```rust pub struct LanguageCode<'a> { ///ISO Language Name pub name: &'static str, ///639-1 pub code: &'static str, ///639-2/T pub code2t: &'static str, ///639-2/B pub code2b: &'static str, //639-3 Macrolanguage pub code_3: &'static str,

pub individual_languages: &'a [IndividualLanguages],

}

[derive(Debug, Copy, Clone)]

pub struct IndividualLanguages { ///Name pub name: &'static str, ///Code pub code: &'static str, } ```

Source(s)