使用 PHP 在 Intl/ICU 中生成列表
我正在使用 PHP 5.3 的 Intl 扩展来格式化我网站上的字符串。然而,我碰巧遇到一个需要项目列表的字符串。提供给网站的列表可以是任意数量的项目,并且应该以语言呈现列表的方式出现。在英语中,它会显示为“a、b、c 和 d”或“a、b、c、d、e、f、g 和 h”。渲染这个英文形式很容易,但我不知道这是否是生成列表的通用国际方式(我敢打赌不是)。有没有办法通过 intl 扩展名或 ICU 格式来做到这一点?
I'm using PHP 5.3's Intl extension for formatting strings on my website. However, I have happened upon a string that requires a list of items. The list given to the website can be any number of items, and should appear in however the language renders lists. In English, it would appear as "a, b, c, and d" or "a, b, c, d, e, f, g, and h". Rendering this English form is easy enough, but I don't know if this is a generic, international way of producing lists (I would bet that it isn't). Is there some way to do this with the intl extension, or ICU formatting?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因此,CLDR(来自 ICU 数据)确实有列表。然而,它尚未在 ICU 中实现 - 计划在 ICU v49(2012 年 3 月)中实现 ICU4J 和 ICU4C。然后,php intl 需要将其拾取。您现在可以在 php intl 上提交错误以开始跟踪此问题。
so, CLDR (from which ICU data comes) does have lists. However, it is not implemented in ICU yet- it's scheduled for ICU v49 (March, 2012) for both ICU4J and ICU4C. Then, php intl will need to pick it up. You might file a bug now on php intl to start tracking this.