10 个版本 (6 个稳定版)

2.4.0 2023年11月26日
2.3.0 2023年5月1日
2.2.0 2022年11月1日
2.1.0 2021年12月26日
0.1.0 2017年4月18日

国际化 (i18n) 中排名 27

Download history 2893/week @ 2024-04-23 2899/week @ 2024-04-30 2468/week @ 2024-05-07 2390/week @ 2024-05-14 2696/week @ 2024-05-21 2738/week @ 2024-05-28 2335/week @ 2024-06-04 2196/week @ 2024-06-11 2999/week @ 2024-06-18 2209/week @ 2024-06-25 1900/week @ 2024-07-02 2119/week @ 2024-07-09 2763/week @ 2024-07-16 2569/week @ 2024-07-23 2390/week @ 2024-07-30 2646/week @ 2024-08-06

每月下载量 10,844
36 crate 中使用(直接使用 21 个)

Apache-2.0 协议

2.5MB
97K SLoC

ISO 639 语言代码

Build Status Crates.io Documentation Licence: Apache 2.0

简介

在处理不同的语言输入和 API 时,会使用不同的标准来识别语言。以自动化的方式在这些标准之间进行转换可能会很繁琐。此 crate 提供了一个枚举,它支持从 639-1 和 639-3 转换到这些格式,以及转换为英语名称或自名(本地名称)。

此 crate 包含 ISO 639 表,以静态嵌入表的形式存在。这会增加二进制文件的大小,但如果性能很重要,则允许非常高效的查找。如果关注大小,可以分别启用或禁用英语名称和本地名称。

此 crate 使用 Apache 2.0 许可证授权,请参阅 LICENSE.md 文件以获取详细信息。

使用方法

Cargo.toml:

[dependencies]
isolang = "2.0"

示例

use isolang::Language;

assert_eq!(Language::from_639_1("de").unwrap().to_name(), "German");
assert_eq!(Language::from_639_3("spa").unwrap().to_639_1(), Some("es"));
// undefined language (ISO code und)
assert_eq!(Language::default(), Language::Und);
use isolang::Language;
// `to_name()` is available if compiled with the `english_names` feature.
assert_eq!(Language::from_str("es").unwrap().to_name(), "Spanish");
assert_eq!(Language::from_str("spa").unwrap().to_name(), "Spanish");
// `from_str(lowercase_name)` is available if compiled with the `english_names` and `lowercase_names` features.
assert_eq!(Language::from_str("spanish").unwrap().to_name(), "Spanish");
// `from_str(local_name)` is available if compiled with the `english_names`, `lowercase_names` and `local_names` features.
assert_eq!(Language::from_str("español").unwrap().to_name(), "Spanish");

支持的 Cargo 功能

请查看注释的 [Cargo.toml](Cargo.toml) 文件以获取支持的特性的最新列表。

Serde 支持

此 crate 还支持序列化 Language 枚举。要启用此功能,请将以下行添加到您的 Cargo.toml(而不是上面的代码)

[dependencies.isolang]
features = ["serde"]
version = "2.0"

数据源

数据从 https://iso639-3.sil.org/code_tables/download_tables 下载。

依赖项

~0.1–11MB
~127K SLoC