#本地化 #icu4x

i18n_utility-rizzen-yazston

国际化项目中的 i18n_utilitycrate

7 个版本 (4 个重大更改)

0.10.0 2024 年 8 月 2 日
0.9.2 2024 年 7 月 23 日
0.9.1 2024 年 3 月 24 日
0.8.0 2024 年 2 月 3 日
0.6.1 2023 年 7 月 6 日

#210 in 国际化(i18n)

Download history 4/week @ 2024-04-28 11/week @ 2024-05-05 2/week @ 2024-05-12 18/week @ 2024-05-19 9/week @ 2024-05-26 14/week @ 2024-06-02 13/week @ 2024-06-09 15/week @ 2024-06-16 13/week @ 2024-06-23 3/week @ 2024-06-30 19/week @ 2024-07-14 158/week @ 2024-07-21 141/week @ 2024-07-28 23/week @ 2024-08-04 18/week @ 2024-08-11

341 每月下载量
用于 9 个 crate(8 个直接使用)

BSD-3-Clause

42KB
570

i18n_utility

Rizzen Yazston :icu4x: https://github.com/unicode-org/icu4x :url-unicode: https://home.unicode.org/ :BCP_47_Language_Tag: https://www.rfc-editor.org/rfc/bcp/bcp47.txt

欢迎使用国际化(i18n)项目的 i18n_utility crate。

本 crate 由以下五个模块组成

  • error:包含语言注册表的错误枚举,

  • language:使用 ICU4X 的 LanguageIdentifierLocale 实例的语言标签注册表,

  • tagged_string:简单的标记字符串类型,

  • traits:用于结构体和枚举本地化的 trait,

  • types:简单的结构体和枚举类型。

功能

i18n_utility crate 的可用功能

  • icu_extended:使用更详细的 ICU 信息结构体、类型和方法。

  • sync:允许使用 Rust 的并发功能。使用 ArcMutex 代替 RcRefCell

模块

language:用于存储 ICU4X 的 LanguageIdentifierLocale 实例的注册表。

存储经过验证的 {BCP_47_Language_Tag}[BCP 47 语言标签] 字符串的注册表,并且可选地存储 ICU4X 的 LanguageIdentifierLocale 实例(使用功能 icu_extended)。

注册表的目的在于通过将验证过的语言标签与请求的语言标签相关联来减少重复解析语言标签的需求。

可以由 icu_locid 包或 icu 元包提供 LanguageIdentifierLocale 类型。这两个包是 Unicode 联盟({url-unicode}[Unicode Consortium])开发的 {icu4x}[ICU4X] 项目的一部分。

tagged_string:标记字符串。

不可变的 TaggedString 类型简单地将语言标签([Rc]<LanguageTag> 或 [Arc]<LanguageTag>)与文本字符串(String)关联起来。

i18n 项目上下文中,期望标识符标签是一个 {BCP_47_Language_Tag}[BCP 47 语言标签] 字符串。

致谢

Stefano Angeleri 对国际化项目库实现的各个方面提出的建议,以及提供错误消息字符串的意大利语翻译。

依赖关系

~4.5MB
~82K SLoC