5 个版本

0.1.5 2022 年 12 月 25 日
0.1.4 2022 年 12 月 23 日
0.1.3 2022 年 12 月 9 日
0.1.2 2022 年 12 月 8 日
0.1.0 2022 年 12 月 7 日

#68国际化 (i18n)

Download history • Rust 包仓库 1182/week @ 2024-03-14 • Rust 包仓库 1726/week @ 2024-03-21 • Rust 包仓库 1835/week @ 2024-03-28 • Rust 包仓库 1562/week @ 2024-04-04 • Rust 包仓库 2088/week @ 2024-04-11 • Rust 包仓库 1154/week @ 2024-04-18 • Rust 包仓库 642/week @ 2024-04-25 • Rust 包仓库 644/week @ 2024-05-02 • Rust 包仓库 1469/week @ 2024-05-09 • Rust 包仓库 1440/week @ 2024-05-16 • Rust 包仓库 1007/week @ 2024-05-23 • Rust 包仓库 967/week @ 2024-05-30 • Rust 包仓库 1001/week @ 2024-06-06 • Rust 包仓库 834/week @ 2024-06-13 • Rust 包仓库 790/week @ 2024-06-20 • Rust 包仓库 924/week @ 2024-06-27 • Rust 包仓库

3,671 每月下载量
用于 6 crates

MIT 许可证

580KB
1K SLoC

包 codes-iso-3166

本包包含 ISO 3166 第 1 部和第 2 部标准的实现。

crates.io docs.rs

ISO 3166 的目的是定义国际上公认的字母和/或数字代码,当我们在提及国家和它们的次级单位时可以使用。然而,它并不定义国家的名称——这些信息来自联合国来源(联合国统计局维护的术语公报国家名称和用于统计的国家和地区代码)。

国家代码可以用两种字母代码(alpha-2)表示,这是推荐用作通用代码,三个字母代码(alpha-3)与国家名称更为接近,以及三个数字代码(numeric-3),如果需要避免使用拉丁字母,这可能很有用。

本包不包括第 3 部分,即 废弃国家名称代码 的实现。

有关 API 设计的说明,请参阅仓库 README

示例

此示例展示了第 1 部分 国家代码的使用。

use codes_iso_3166::part_1::CountryCode;

let country = CountryCode::from_str("AG").unwrap();

assert_eq!(country.alpha_2_code(), "AG");
assert_eq!(country.short_name(), "Antigua and Barbuda");

功能

默认情况下,仅启用 serde 功能,并启用第 1 部两种字母语言代码。

  • serde - 启用不同语言代码类型的序列化。
  • alpha_3_code - 添加 CountryCode::alpha_3_code 方法。
  • numeric_code - 添加 CountryCode::numeric_code 方法。
  • independent - 添加 CountryCode::independent 方法。
  • status - 添加 CountryCode::status 方法。
  • full_name - 添加 CountryCode::full_name 方法。
  • local_names - 添加了 CountryCode::local_short_nameCountryCode::local_full_name 方法。
  • languages - 添加了 CountryCode::administrative_languageCountryCode::languages 方法(需要包 codes-iso-639)。
  • formerly - 添加了 CountryCode::former_short_nameCountryCode::former_alpha_3_code 方法。
  • part_2 - 添加相应的模块和 SubdivisionCode
    • categories - 添加了 SubdivisionCode::category_code 方法和 SubdivisionCategoryCode 类型。
    • territories - 添加了 TerritoryCode 类型。
    • languages - 添加了 SubdivisionCode::name_language 方法。

注意,方法 CountryCode::local_full_name 需要同时具备 local_namesfull_name 功能。

刷新

虽然 ISO 免费许可 3166 表,但整个数据表可通过订阅访问,因此目前还没有定期下载表以保持更新的方法。

变更

版本 0.1.5

  • 为 codes-common 中的新 build 模块提供支持。

版本 0.1.4

  • 实现了 StandardizedFixedLengthCode 特性。
  • 使用新的 codes-common CSV 处理框架。

版本 0.1.3

  • 在第二部分使用新的枚举风格为类别和领土提供支持。

版本 0.1.2

  • 为所有相关类型添加了 ALL_CODES 常量。
  • 在第一部分和第二部分添加了 indices 模块,部分实现。

版本 0.1.1

  • 在第一部分添加了 formerly_alpha_3_codeformerly_short_name 方法。
  • 在第一部分添加了 local_short_namelocal_full_name 方法。
  • 添加了部分-2。

版本 0.1.0

  • 初始版本,仅包含部分-1。

待办事项

  1. 使用行政语言将 local_name 添加到次级类别。
  2. 为二级代码查找构建真正的索引。

依赖关系

~0.4–2.8MB
~44K SLoC