4个版本

0.2.2 2022年1月5日
0.2.1 2019年6月7日
0.2.0 2019年4月5日
0.1.0 2019年4月4日

#137国际化(i18n)

Download history 2/week @ 2024-03-12 2/week @ 2024-03-26 20/week @ 2024-04-02 5/week @ 2024-04-23 1/week @ 2024-04-30 14/week @ 2024-05-07 17/week @ 2024-05-14

每月289次下载

AGPL-3.0

100KB
815

build doc

address-formatter-rs

Rust中的通用国际地址格式化器 - 数据来自 https://github.com/OpenCageData/address-formatting

此crate基于OpenCage Data的出色工作,该组织收集了如此多的国际邮政地址格式。

实现是从PHPperljs的实现移植过来的。

该工具用于mimirsbrunn,一个地理编码工具,以提供格式化地址和POI。

⚠️ 不要忘记初始化和更新git子模块,因为它们包含opencage配置。

gitsubmodule update --init

用法

在Cargo.toml中添加 address-formatter

#[macro_use] extern crate maplit; // just to ease the Place creation

use address_formatter::{Component, Formatter};
use Component::*;
let formatter = Formatter::default();

let data = hashmap!(
    City => "Toulouse",
    Country => "France",
    CountryCode => "FR",
    County => "Toulouse",
    HouseNumber => "17",
    Neighbourhood => "Lafourguette",
    Postcode => "31000",
    Road => "Rue du Médecin-Colonel Calbairac",
    State => "Midi-Pyrénées",
    Suburb => "Toulouse Ouest",
);

assert_eq!(
formatter.format(data).unwrap(),
r#"17 Rue du Médecin-Colonel Calbairac
31000 Toulouse
France
"#.to_owned()
)

开发

您需要一个最新的rust版本

rustup更新

要运行测试(特别是基于所有opencage测试用例的测试)。

cargo测试

待办事项

  • 还有一些边缘情况测试未通过
  • 缩写处理

依赖项

~10MB
~185K SLoC