Module language_tag::tags
[−]
[src]
This crate can handle language tags as defined in the BCP47 standard.
A language tag is the small string that describe a culture (language with script, region, etc). Examples: "en-US" (english as used in US), "fr-FR" (french as used in France), "zh-cmn-Hans-CN" (Chinese, Mandarin, Simplified script, as used in China).
To use this crate, add the relevant dependency in your Cargo.toml.
[dependencies]
language-tag = "0.9"
Then load the lib in your crate root:
extern crate language_tag;
Examples
This crate support the LanguageTag as defined in the standard but mostly you will probably be interested in the LangTag only (names are taken from the standard).
Query a parsed language tag
use language_tag::*; use std::str::FromStr; let langtag = LangTag::from_str("zh-cmn-Hans-CN").unwrap(); assert!(langtag.get_language().get_mainlang() == "zh"); assert!(langtag.get_script().unwrap().str() == "Hans"); assert!(langtag.get_region().unwrap().str() == "CN");
Use the LangTagBuilder
use language_tag::*; let langtag = LangTagBuilder::new("zh") .language_extension("cmn") .script("Hans") .region("CN") .build().unwrap(); assert!(langtag.get_language().get_mainlang() == "zh"); assert!(langtag.get_script().unwrap().str() == "Hans"); assert!(langtag.get_region().unwrap().str() == "CN");
Reexports
pub use self::tag_extension::TagExtension; |
pub use self::tag_language::TagLanguage; |
pub use self::tag_script::TagScript; |
pub use self::tag_region::TagRegion; |
pub use self::tag_variant::TagVariant; |
pub use self::langtag::LangTag; |
pub use self::langtag_builder::LangTagBuilder; |
pub use self::language_tag::LanguageTag; |
Modules
langtag | |
langtag_builder | |
language_tag | |
tag_extension | |
tag_language | |
tag_region | |
tag_script | |
tag_variant |