1 个不稳定版本
使用旧的 Rust 2015
0.9.0 | 2018年2月23日 |
---|
#263 在 国际化 (i18n)
在 2 个包 中使用
30KB
670 行
此包可以处理按照 BCP47 标准定义的语言标记。
语言标记是描述文化的小字符串(包括语言、脚本、地区等)。例如:"en-US"(在美国使用的英语),"fr-FR"(在法国使用的法语),"zh-cmn-Hans-CN"(在中国使用的简体中文,普通话,简体脚本)。
要使用此包,请在您的 Cargo.toml 中添加相关依赖。
[dependencies]
language-tag = "0.9"
然后在您的包根目录中加载库
extern crate language_tag;
示例
此包支持按照标准定义的 LanguageTag,但您可能主要对 LangTag 感兴趣(名称来自标准)。
查询解析的语言标记
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");
使用 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");
待办事项
- 更好的错误报告。
- 完成文档
无运行时依赖
~12KB