A rust crate providing ISO 639 1, ISO 639 2, ISO 639 3 , ISO 15924 support.
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
sh
[dependencies]
rust_iso639 = "0.0.1"
rust-iso/rust_iso639 is licensed under the Apache-2.0 license.
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],
}
pub struct IndividualLanguages { ///Name pub name: &'static str, ///Code pub code: &'static str, } ```