问题标签 [cldr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 配置 globalize.js 以使用 CLDR 验证十进制数
我需要验证塞尔维亚文化中的十进制数字(小数分隔符是逗号而不是点)。
我正在网上寻找解决方案,大多数帖子建议使用 globalize.js。但我可以设置它为我工作。
这是代码:
此代码位于我需要验证的每个页面的末尾。当然,我在 HEAD 标记中加载 jQuery。
当我将页面加载到浏览器中时,控制台中没有错误,但小数分隔符仍然是一个点。
ASP.NET 5 MVC6 生成的输入标签是:
localization - 重症监护室/CLDR | ISO 639 变更 - 监控和维护
Unicode国际组件 (ICU)是在各种编程语言和环境中提供本地化功能的底层库;我从 PHP 中解决这个问题,其中intl扩展使用ICU来实现此目的。
据我了解,ICU使用Unicode Common Locale Data Repository (CLDR)来识别 ISO 639 语言代码。
语言代码可能会发生变化
ISO 639 语言代码得到积极维护,多年来发生了相当大的变化;请参阅ISO 639-3 的更改日志。
如果我积极寻求支持国际化/本地化功能,那么 ISO 639 和相关标准的实施对于我的应用程序的需求规范和交付变得很重要。确保我的应用程序至少可以识别所有有效的语言代码对于相关内容的交付很重要。
如何监控 ICU/CLDR 中的 ISO 639 实施?
对此最重要的方面是简单地为 ISO 639 数据的更新提供可追溯的来源。因此,如果遇到问题,我知道在哪里查找即将发布的版本和更改日志,在哪里报告错误等。
使用 ICU/CLDR 时,如何监控和维护 ISO 639 实施?
c# - 在 .NET 应用程序中访问 bower 包
我的目标
从CLDR 包中获取 json 文件。但显然不是全部(有一些配置文件) - 只是真实数据。
主意
正如我所看到的,它们被配置为bower。还有一个模式,它描述了在存储库中的哪里可以找到这些 json 文件:
因此 - 是否可以轻松地将 Bower 包下载到 .NET 应用程序?
天真的方法
下载每个存储库,找到bower.json
文件,导航到main
属性,解析模式,提取文件。十分难看。
任何建议都会非常受欢迎。谢谢!
node.js - npm install globalize - E_MISSING_BUNDLE
我确定这是一个愚蠢的配置问题,但我似乎无法弄清楚。我在以这种方式安装的 nodejs 中使用 globalize 包:
查看我的 package.json 安装:
然后我创建了一个nodeunit测试:
第一个测试通过,但第二个测试失败并出现以下错误:
有人对我如何配置错误有任何想法吗?
r - 在 Windows 上安装软件包错误:软件包“cldr”的编译失败
安慰
我试图cldr
在 Windows 上安装软件包。我想知道你们中是否有人知道如何解决上述错误消息
json - Bug 搜寻:CLDR 30 JSON 数据不再有 currencySpacing 信息
我们一直在我们的 Web 应用程序中使用jquery/globalize和JSON 格式的CLDR 29数据,没有任何问题。就在最近,Unicode 发布了 CLDR 30(不久之后,版本 30.0.1 进行了一些修复)。
当我们升级到 CLDR 30(.0.1) 数据时,我们的客户端货币格式测试失败,因为对于许多文化,numbers.json 中的“currencySpacing”信息不再存在。例如,假设文化 ar-AE,Globalize 库尝试在路径加载 CLDR 数据...
/main/ar-AE/numbers/currencyFormats-numberSystem-arab/currencySpacing/beforeCurrency
...在最新的 CLDR 30 numbers.json 数据中不存在这种(和许多其他)文化。
我们一直在尝试遍历堆栈以查看导致此问题的原因。我们从 DTD 开始。CLDR 30的DTD (连同 CLDR 29 的 DTD)包括以下行...
...这意味着currencySpacing 是一个可选元素。也就是说,我们在CLDR 30 发行说明或Delta中找不到任何表明此信息已针对大量文化进行更改的内容。
在 XML 数据(“基本事实”)中,我们看到该currencySpacing
元素仅在 CLDR 29 和 CLDR 30 的 main/root.xml 中使用,即在 XML 的这方面显然没有显着变化。
这让我们想知道用于从 XML 数据生成 JSON 数据的工具是否存在问题。该工具被调用ldml2json
并且也被cldr-json项目使用。为了排除 cldr-json 项目中的错误,我们自己构建了该工具并自己生成了 JSON 数据。然后,此生成的数据也缺少 numbers.json 文件中的“currencySpacing”信息。因此,cldr-json 项目似乎不是问题。
如果我们理解正确,这意味着问题是:
- ldml2json 工具有一个错误
- jquery/globalize 假设此信息始终存在是不正确的
如果后者是真的,那么我想这应该作为一个 jquery/globalize 错误提出。调查前者可能需要我们从源代码进行调试。在我们投入时间之前,我们想问:是否有其他人看到这个问题,是否有任何已知的解决方案?我们希望有人在 CLDR+JSON+Globalize 堆栈方面更有经验,可以帮助我们!
javascript - Globalize / Cldr : Globalize.formatDate(new Date(), {datetime:"long"}) 导致类似“16. januar 2017. 13.30.17 GMT+1”
我有 ASP.NET MVC 5 应用程序,我的全球化/验证(Globalize 1.2.2)负载是:
但是现在,当我尝试在浏览器调试器中进行测试时,命令:
Globalize.formatDate(new Date(), {datetime:"long"});
给出意想不到的结果。取而代之的是冒号作为时间分隔符,我得到了一个点:“2017 年 1 月 16 日。07.57.17 GMT+1”。JSON 存储库在“timeFormats”和“dateTimeFormats”模式中看起来不错。“en”或“de”一切正常,它们在存储库中定义了类似的时间和日期模式。
我哪里错了?
javascript - SlikelySubtags.json 未加载
我使用cldr
和globalize
库。我阅读了我需要加载的文档likelySubtags.json
。
也许是因为我的英语很差,但我无法找到我需要获取这些文件的地方?或者如何生成?
举个例子:
据我了解,它会生成这些 JSON。但是我需要写而不是积分吗?
谁能解释的更清楚?
如果它有任何价值,我需要使用的代码下方:
PS 也许,这并不难,但我真的无法获得文档。
添加
这是我现在得到的错误:
未捕获的错误:E_MISSING_CLDR: Missing required CLDR content
supplemental/likelySubtags
。
at createError (globalize.js:105)
at validate (globalize.js:182)
at EventEmitter.validateCldr (globalize.js:204)
at EventEmitter.emitEvent (event.js:416)
at EventEmitter.aliasClosure [as trigger] (event .js:88)
在 Cldr.get (event.js:572)
在 validateLikelySubtags (globalize.js:337)
在 Function.Globalize.locale (globalize.js:392)
在 HTMLDocument。(索引:1892)
在mayThrow(jquery-3.1.1.js:3570)
当然,我知道我需要Globalize.load()
在使用它之前打电话,但我不知道怎么做。