#locale #posix #localization #country-code

locale-codes

与地区相关的代码/标识符以及任何与之相关的标准信息

2 个不稳定版本

0.3.0 2019年8月26日
0.2.0 2019年8月26日

国际化 (i18n) 中排名 341

Download history 29/week @ 2024-03-11 31/week @ 2024-03-18 33/week @ 2024-03-25 74/week @ 2024-04-01 19/week @ 2024-04-08 42/week @ 2024-04-15 35/week @ 2024-04-22 24/week @ 2024-04-29 53/week @ 2024-05-06 41/week @ 2024-05-13 53/week @ 2024-05-20 23/week @ 2024-05-27 21/week @ 2024-06-03 19/week @ 2024-06-10 22/week @ 2024-06-17 34/week @ 2024-06-24

每月下载 97
5 个 Crates 中使用(其中 3 个直接使用)

MIT 许可证

285KB
874 行代码(不包括注释)

包含(MSI 安装程序,96KB)src-data/iso-4217/list_one.xls

crate locale-codes

travis.ci crates.io docs.rs Minimum Rust Version mit License GitHub stars

此 crate 提供与地区相关的代码/标识符以及任何与之相关的标准信息。例如,ISO-396 语言标识符或 ISO-3166 国家标识符。

示例

use locale_codes::codes::{country, currency, region};

let mexico = country::lookup_country("MEX").unwrap();
println!("{:?}", mexico);

let mexico_region = country::lookup_region(mexico.country_code).unwrap();
println!("{:?}", mexico_region);

let currencies = currency::currencies_for_country_name(mexico_region.name.as_str());
println!("{:?}", currencies);

预构建过程

以下描述了两个代码生成步骤,这些步骤在正常构建过程之外执行,因为输出存储在 Git 中,并根据外部因素进行版本控制。

JSON 数据文件

脚本 create-data-modules 用于处理从标准网站下载或抓取的文件,以创建库使用的数据库。这些数据以 JSON 文件的形式生成在 src/codes/data 文件夹中,并在构建过程中作为 codes 模块的一部分使用 Rust include! 宏进行读取。

目前为以下标准生成数据

  • ISO 639 表示语言名称的代码;第 1-4 部分,支持 2 位和 3 位代码。
  • ISO 3166 表示国家及其子单位的名称的代码;第 1 部分,仅支持 2 位代码。
  • ISO 4217 表示货币的代码;支持字母和数字代码。
  • ISO 15924 表示脚本名称的代码;支持字母和数字代码。

历史

  • 0.3.0 - 收缩模块层次结构。
  • 0.2.0 - 从 simple-locale 中提取。

待办事项

  • 确定 codessettings crates 中名称之间的命名约定。
    • 期望将代码模块中的名称更改为反映设置中的名称。

依赖关系

~2.9–4.5MB
~88K SLoC