4个版本
0.1.5 | 2024年3月10日 |
---|---|
0.1.4 | 2024年3月4日 |
0.1.3 | 2022年3月26日 |
0.1.2 | 2021年4月16日 |
0.1.0 |
|
在 Web编程 中排名 348
每月下载量 10,673
在 125 个 包中(直接使用 20 个)
33KB
688 行
oxilangtag
OxiLangTag 是一个Rust库,允许验证和规范化语言标签,遵循 RFC 5646 (BCP 47)。
它是 language-tags
的分支,专注于 RDF用例。您可能会发现 language-tags
包更方便。
它允许零栈分配的语言标签验证。还提供了获取各种语言标签组件的getter。
如果 serde
可用,LanguageTag
实现了 Serialize
和 Deserialize
特性,并将语言标签编码为字符串。
示例
use oxilangtag::LanguageTag;
// Parsing and validation
let language_tag = LanguageTag::parse("zh-cmn-Hans-CN-x-test").unwrap();
assert_eq!(language_tag.as_str(), "zh-cmn-Hans-CN-x-test");
// Language tag components
assert_eq!(language_tag.primary_language(), "zh");
assert_eq!(language_tag.extended_language(), Some("cmn"));
assert_eq!(language_tag.full_language(), "zh-cmn");
assert_eq!(language_tag.script(), Some("Hans"));
assert_eq!(language_tag.region(), Some("CN"));
assert_eq!(language_tag.extension(), None);
assert_eq!(language_tag.private_use_subtags().collect::<Vec<_>>(), vec!["test"]);
还可以通过选择退出默认的 std
功能,在 no_std
(与 alloc
) 中使用此包。
serde = { version = "*", default-features = false }
许可证
本项目采用MIT许可证 (LICENSE-MIT 或 <http://opensource.org/licenses/MIT>
)。
它基于 language-tags
包,由 pyfisch 在MIT许可证下开发。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在OxiLangtag中的任何贡献,将按上述方式双许可,不附加任何额外条款或条件。
依赖项
~170KB