首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bug搜索:CLDR30JSON数据不再有currencySpacing信息

Bug搜索:CLDR30JSON数据不再有currencySpacing信息
EN

Stack Overflow用户
提问于 2016-10-15 07:33:08
回答 2查看 101关注 0票数 3

我们一直在web应用程序中使用jquery/全球化,使用JSON格式中的CLDR 29数据,没有任何问题。就在最近,Unicode发布了CLDR 30 (不久之后发布了30.0.1版本,并进行了一些修复)。

当我们升级到CLDR 30(.0.1)数据时,我们的客户端货币格式测试失败了,因为对于许多文化来说,numbers.json中的"currencySpacing“信息已经不复存在。例如,假设区域性ar,Globalize库尝试在路径上加载CLDR数据.

/main/ar-AE/numbers/currencyFormats-numberSystem-arab/currencySpacing/beforeCurrency

...which不存在于最新的CLDR 30 numbers.json数据中,用于这种(和许多其他)区域性。

我们一直在试图遍历堆栈,看看是什么导致了这个问题。我们从DTD开始。CLDR 30的DTD (与CLDR 29一起)包括了.

代码语言:javascript
复制
<!ELEMENT currencyFormats ( alias | ( default*, currencySpacing*, currencyFormatLength*, unitPattern*, special* ) ) >

...which意味着currencySpacing是一个可选元素。尽管如此,我们在CLDR 30发行说明德尔塔中找不到任何信息表明这些信息对大量的文化都有影响。

在XML数据(“基本事实”)中,我们看到currencySpacing元素仅在CLDR 29和CLDR 30中的main/root.xml中使用,也就是说,在XML中这方面显然没有明显的变化。

这让我们怀疑这是否是用于从工具数据生成JSON数据的中的问题。该工具称为ldml2json克拉德-杰森项目也使用该工具。为了排除cldr-json项目中的错误,我们自己构建了这个工具并自己生成了JSON数据。然后,生成的数据也丢失了currencySpacing文件中的“numbers.json”信息。因此,这似乎不是cldr-json项目的问题。

如果我们正确理解,这意味着问题要么是:

  • ldml2json工具有一个错误
  • 如果假设此信息始终存在,jquery/globalize是不正确的。

如果后者是正确的,那么我想这应该作为jquery/globalize bug引发。调查前者可能需要我们从源中调试。在我们投入时间之前,我们想问一问:是其他人看到这个问题的人吗?有什么已知的解决方案吗?我们希望有一个在CLDR+JSON+Globalize堆栈中更有经验的人能够帮助我们解决这个问题!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-15 15:37:39

这是由以下更改引起的:http://unicode.org/cldr/trac/changeset/12636/trunk/common/main/root.xml

在进行此更改之前,所有其他区域设置继承了阿拉伯数字系统的根区域设置的currencySpacing信息。现在它已经不在那里了。

我不知道该如何处理丢失的currencySpacing,但是javaC文档都声明数据可以为null。在这种情况下,两者似乎都使用了硬编码的默认值:http://bugs.icu-project.org/trac/browser/icu4j/trunk/main/classes/core/src/com/ibm/icu/impl/CurrencyData.java#L86

所以这可能是全球化中的一个缺陷。

更新:错误报告拉请求

票数 1
EN

Stack Overflow用户

发布于 2016-11-01 13:18:21

最近的CLDR30.0.2补丁修复了这个错误,因此不需要对Globalize进行任何更新。

顺便说一句,遵循UTS#35规范进行更深入的研究:) http://www.unicode.org/reports/tr35/tr35-numbers.html#Currencies

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40056378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档