3 个版本 (破坏性更新)
0.8.0 | 2024年2月3日 |
---|---|
0.7.0 | 2023年12月18日 |
0.6.1 | 2023年7月6日 |
#366 在 国际化 (i18n)
每月55 次下载
在 i18n_message-rizzen-yazst… 中使用
175KB
2.5K SLoC
i18n_pattern
Rizzen Yazston
模式解析器和格式化器
解析器处理将字符串令牌解析为抽象语法树 (AST),并检查模式语法的有效性。解析器仅对提供的令牌向量进行语法分析。
格式化器接收由解析器生成的 AST 并构建一个用于替换值的字符串模板。格式化器还对语法进行语义分析。一旦构建了字符串模板,它就可以通过在执行 format() 方法时提供新的占位符值来多次使用。根据模式占位符的类型,可以使用合适的可用数据类型的选择,这包括基本的 String
、整数、无符号整数和浮点数。此外,还支持特殊的 ICU4X 类型,如 FixedDecimal
、Date
、Time
和 DateTime
结构体。
有关模式格式化规范,请参阅 pattern strings.asciidoc
,位于 pattern
包的 docs
中。
功能
i18n_icu
包的功能
-
compiled_data
(首选):在i18n_icu
上启用compiled_data
功能。允许使用 ICU4X 组件的内部数据。 -
blob
:在i18n_icu
上启用blob
功能。允许使用BlobDataProvider
实例来使用支持 {BufferProvider}BufferProvider
的各种 ICU4X 组件。 -
fs
:在i18n_icu
上启用fs
功能。允许使用FsDataProvider
实例来使用支持BufferProvider
的各种 ICU4X 组件。 -
sync
:允许使用 Rust 的并发功能。使用Arc
和Mutex
代替Rc
和RefCell
。 -
log
:提供一些日志信息。
致谢
Stefano Angeleri 对国际化项目组件的多个设计方面的建议,以及提供错误信息字符串的意大利语翻译。
依赖关系
~7.5MB
~135K SLoC