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