gpt4 book ai didi

javascript - RTL 语言 : comma-separated lists

转载 作者:行者123 更新时间:2023-11-30 15:51:33 24 4
gpt4 key购买 nike

我正在使用 ICU Message Format用于应用程序中的 i18n。

一些字符串涉及动态长度的逗号分隔列表。例如,字符串:

"There are three pets: a dog, a fish, a cat."

可能会生成此消息:

"There are {count} pets: {list}"

其中 count 是列表的长度,list 是各个字符串本身。 (顺便说一句,如果这是一个真正的字符串,我会根据“计数”配置“宠物”,但让我们保持简单)。

在伪代码中,列表变量可能会像这样生成:

pets.join(', ');

最后一点是我不喜欢的。它似乎只对 LTR 语言有意义,并且可能只是 LTR 语言的一个子集。

我有两个问题:

  1. 逗号分隔的列表应该如何在其他语言(例如 RTL 语言)中设置格式?
  2. ICU 消息格式是否以任何方式支持它,或者它是否需要除 ICU 之外的系统来生成列表?

就其值(value)而言,这是一个 JavaScript 网络应用程序,尽管这些问题的答案可能与语言无关。

最佳答案

列表格式对区域设置敏感。并非所有语言都使用“ASCII 逗号”或空格。ICU 有一个 ListFormatter: http://icu-project.org/apiref/icu4j/com/ibm/icu/text/ListFormatter.html

对于 JavaScript Closure 有一个等价物 https://github.com/google/closure-library/blob/master/closure/goog/labs/i18n/listformat.js


2019 年 7 月更新

ECMAScript 中(终于)支持列表格式化:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ListFormat

它(仍然)没有得到很好的支持,但给它一些时间

关于javascript - RTL 语言 : comma-separated lists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39237769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com