#icu4x #localization #syntax-tree

i18n_pattern-rizzen-yazston

国际化项目中的 i18n_pattern

3 个版本 (破坏性更新)

0.8.0 2024年2月3日
0.7.0 2023年12月18日
0.6.1 2023年7月6日

#366国际化 (i18n)

Download history 2/week @ 2024-03-09 1/week @ 2024-03-16 46/week @ 2024-03-30 13/week @ 2024-04-06

每月55 次下载
i18n_message-rizzen-yazst… 中使用

BSD-3-Clause

175KB
2.5K SLoC

i18n_pattern

Rizzen Yazston

模式解析器和格式化器

解析器处理将字符串令牌解析为抽象语法树 (AST),并检查模式语法的有效性。解析器仅对提供的令牌向量进行语法分析。

格式化器接收由解析器生成的 AST 并构建一个用于替换值的字符串模板。格式化器还对语法进行语义分析。一旦构建了字符串模板,它就可以通过在执行 format() 方法时提供新的占位符值来多次使用。根据模式占位符的类型,可以使用合适的可用数据类型的选择,这包括基本的 String、整数、无符号整数和浮点数。此外,还支持特殊的 ICU4X 类型,如 FixedDecimalDateTimeDateTime 结构体。

有关模式格式化规范,请参阅 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 的并发功能。使用 ArcMutex 代替 RcRefCell

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

致谢

Stefano Angeleri 对国际化项目组件的多个设计方面的建议,以及提供错误信息字符串的意大利语翻译。

依赖关系

~7.5MB
~135K SLoC