如何在ICU中表达列表

时间:2015-03-31 09:43:02

标签: icu

我试图进入ICU语法并希望能够表达 ICU message format中的列表。

例如,给定数据:

items:
  - cool
  - handy
  - neat

我希望能够生成如下消息:

StackOverflow is cool, handy, and neat.

StackOverflow is cool and handy and nice.

即。我希望能够定义如何构建列表。

这在ICU消息语法中是否完全可以?

1 个答案:

答案 0 :(得分:0)

据我所知,ICU 消息语法不支持列表。

一个潜在的解决方法是检查您的平台是否支持其 本地化实现(例如 Android)或将该“列表逻辑”包装到 ICU Select 类型的消息中。

ICU 选择消息示例:

{
  type, 
  select, 
  comma {StackOverflow is cool, handy, and neat.} 
  and {StackOverflow is cool and handy and nice.}
  other {StackOverflow is: cool, handy, and nice.}
}

请注意,ICU 消息可能很笨拙且难以维护。
一些免费的在线 ICU 编辑器可以帮助您轻松检查和验证它​​们(例如 DevPal ICU message editor)。