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)
每月271次下载
在5个包(4个直接使用)中使用
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
:允许使用支持BufferProvider
的FsDataProvider
实例的ICU4X组件。当ICU4X组件的内部数据不足以满足特定用例时,作为替代提供者。 -
logging
:提供一些日志信息。 -
sync
:允许使用 Rust 的并发能力。使用Arc
和Mutex
代替Rc
和RefCell
。
模块
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