#icu4x #localization

i18n_lexer-rizzen-yazston

国际化项目的

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日

#196国际化(i18n)

Download history 2/week @ 2024-05-06 9/week @ 2024-05-20 8/week @ 2024-06-03 9/week @ 2024-06-10 5/week @ 2024-06-24 2/week @ 2024-07-15 151/week @ 2024-07-22 118/week @ 2024-07-29

每月271次下载
5个包(4个直接使用)中使用

BSD-3-Clause

85KB
1K SLoC

i18n_lexer

Rizzen Yazston :icu4x: https://github.com/unicode-org/icu4x :url-unicode: https://home.unicode.org/ :DataProvider: https://docs.rs/icu_provider/1.2.0/icu_provider/trait.DataProvider.html :BlobDataProvider: https://docs.rs/icu_provider_blob/1.2.0/icu_provider_blob/struct.BlobDataProvider.html :FsDataProvider: https://docs.rs/icu_provider_fs/1.2.1/icu_provider_fs/struct.FsDataProvider.html :BufferProvider: https://docs.rs/icu_provider/1.2.0/icu_provider/buf/trait.BufferProvider.html :CLDR: https://cldr.unicode.org/

欢迎来到国际化(i18n)项目的lexer包。

此包包含三个模块

  • icu:ICU数据提供者包装器。

  • lexer:词法分析器迭代器。

  • error:其他模块的错误枚举。

功能

i18n_lexer包可用的功能

  • icu_blob:允许使用支持{BufferProvider}的BlobDataProvider实例的ICU4X组件。当ICU4X组件的内部数据不足以满足特定用例时,作为替代提供者。

  • icu_compiled_data [默认值]:允许使用各种ICU4X组件的内部数据。

  • icu_extended:包含ICU组件的扩展数据。

  • icu_fs:允许使用支持BufferProviderFsDataProvider实例的ICU4X组件。当ICU4X组件的内部数据不足以满足特定用例时,作为替代提供者。

  • logging:提供一些日志信息。

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

模块

icu:ICU 数据提供者包装器

{icu4x}[ICU4X] 项目(由 {url-unicode}[Unicode 联盟] 维护)数据提供者助手。

IcuDataProvider 类型包含 ICU4X 支持的实现的数据提供者枚举 DataProvider {DataProvider}DataProvider。根据选定的功能,它们是:Internal(内部使用 BakedDataProvider),{BlobDataProvider}BlobDataProvider 或 {FsDataProvider}FsDataProvider

当数据提供者不是 Internal 并且根据使用的提供者,IcuDataProvider 可能包含基于非区域的数据,例如图形簇分段器和选定的字符属性集数据。

IcuDataProvider 类型在 Rc 类型中作为 Rc<IcuDataProvider>Arc 类型作为 Arc<IcuDataProvider> 使用,以防止不必要的重复。

lexer:词法分析器迭代器

LexerIterator 使用支持的 DataProvider 枚举创建。通常 ICU 组件包括内部编译的数据,因此不需要其他数据提供者。该软件包的默认功能包括 icu_compiled_data 功能。如果不使用内部编译的数据,数据存储库只是 {url-unicode}[Unicode 联盟] {CLDR}[CLDR] 的自定义本地副本,通常位于应用程序的数据目录中。

请参阅 {icu4x}[ICU4X] 网站,了解生成适用于应用程序的数据存储库的说明,通过排除应用程序未使用的数据进行。

在创建 LexerIterator 时,还传递了语法语法字符和字符串。

致谢

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

依赖关系

~7MB
~109K SLoC