问题标签 [javascript-globalize]
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.
jquery - 用于时间的 JQuery 微调器
我想使用 jquery spinner 来显示时间。在他们的示例http://jqueryui.com/spinner/#time 中,他们使用 globalize.js。我不确定从哪里获取此文件。请帮忙。
node.js - npm install globalize - E_MISSING_BUNDLE
我确定这是一个愚蠢的配置问题,但我似乎无法弄清楚。我在以这种方式安装的 nodejs 中使用 globalize 包:
查看我的 package.json 安装:
然后我创建了一个nodeunit测试:
第一个测试通过,但第二个测试失败并出现以下错误:
有人对我如何配置错误有任何想法吗?
javascript-globalize - JQuery/Globalize:寻找最佳匹配语言环境的方法?
例如,我加载了以下语言环境:
- zh
- 德
- 去CH
作为代码: Globalize.load( require('cldr-data').entireMainFor('en', 'de', 'de-CH'));
当我在const globalize = Globalize(locale);
没有locale
加载设置的情况下调用时,我得到例如Error: Cannot find module './de-AT'
这意味着我必须选择现有的语言环境之一:
- de-CH -> 选择 de-CH
- de-AT -> 选择 de
- en-Latn-US -> 选择 en
- 它 -> 选择 en
由于每个人都需要这段代码,我希望它存在于库中。你能给我指出一个正确的实施吗?
javascript - Globalize.js E_DEFAULT_LOCALE_NOT_DEFINED 错误
我正在开发一个使用 Globalize.js 的 ASP MVC 应用程序。在 _Layout.cshtml 我添加了这段代码
它正在工作。但是当我尝试在 $(document).ready 或 $(window).load 的其他页面中使用它时,我有错误 JavaScript: E_DEFAULT_LOCALE_NOT_DEFINED: Default locale has not been defined。
似乎 The Globalize 尚未加载。
javascript - 带有 DevExtreme 库的全球化 1.x
我对 DevExtreme v.16.1 与 Globalize 1.x 的结合有疑问。他们从 0.x 升级到 1.x,自从更新后我无法让它工作。
我将库的加载放在一个外部文件中,并在 promise 解决后加载应用程序的其余部分。
这是我 localize.js 的重要部分
如果我在 Globalize.locale("nl") 处设置断点,我会看到所有消息都加载到 Globalize 对象中。
我通过以下方式在 index.js 的顶部调用此函数:
我也可以毫无问题地在 JavaScript 中使用翻译
但是,不会翻译 DevExtreme 模块。他们仍然使用英语。也可以使用@someString 语法让字符串直接在视图内部进行翻译。这也不适用于我声明的字符串。不过,它确实适用于内置字符串,因此解析确实有效。
我怀疑时间问题,也许在加载字符串之前解析了视图?虽然无法解决问题,但我认为遵循 devextreme 的手册...
globalization - 全球化新 v1.2.1 中的错误?解析某些数字会返回 17 种文化(印度、孟加拉国、不丹)的 NaN
在Globalize的新版本 1.2.1 中,我们看到 17 种文化在“数百”范围内(例如 100 到 999 之间)的数字解析失败。
这是一个使用CLDR JSON 数据版本 30.0.2的具体示例(也使用 CLDR 30.0.3 数据进行了测试,结果相同):
据我所知,格式化数字 999.99 然后解析它不应该 yield NaN
,所以这看起来像一个错误。NaN
也是数字 100 的结果,实际上它似乎是任何具有三个有效数字的数字的结果。
如果我们只关注解析步骤,我们会看到以下内容:
如果我们使用 1.1.2 版本的早期 Globalize 代码,那么行为是正确的(即没有 NaN 问题)。
有问题的 17 种文化是:as-IN,bn-BD,bn-IN,brx-IN,dz-BT,en-IN,gu-IN,hi-IN,kok-IN,ks-Arab-IN,ml-IN,mr-IN,or-IN,pa-IN,ta-IN,ta-LK,te-IN
. 在我们升级到 Globalize 1.2.1 后,我们的单元测试将它们全部拾起。
我们想知道是否有人可能会足够好心地确认他们可以重现这一点(是否有用于执行此类操作的 jsfiddle 模板?),以及新版本 Globalize 中的哪些更改(假设它是 Globalize 中的一个问题)是造成这种情况,以便我们可以发布相应的问题。
globalization - 全球化新 v1.2.* 中的错误?解析空字符串返回 0
这个问题代表了Globalize的一个建议错误。该项目的所有者要求它首先作为一个 SO 问题发布,所以我们开始......
在 Globalize 的新版本 1.2.1(和 1.2.2)中,我们注意到解析空字符串的数字返回 0(似乎与文化无关)。此行为与之前的版本 1.1.2 不同,它返回 NaN。再生产:
直觉告诉我,解析一个空字符串不应该返回 0。在这种情况下,原生 JavaScript 解析函数(例如 parseInt)返回 NaN,支持这种直觉。
此外,Globalize 项目中的相关单元测试似乎没有涵盖这种情况,因此不清楚更改的行为是否是有意的。通过简要查看 1.2.* 版本的更改日志,我似乎找不到任何意图更改此行为的说明。
请注意,在新版本中解析空格确实会返回 NaN:
我们希望项目成员之一确认这是一个错误并在 Globalize 项目中提出相应的问题,或者解释为什么这是现在的预期行为。
jquery-globalize - 是否可以使 Globalize 所需的最小 CLDR 数据更小?
我们现在使用 Globalize 有一段时间了,但只用于没有复数形式的消息,所以我们只需要supplemental/likelySubtags
在我们的应用程序中。
现在我们要使用所有模块,我们还需要添加 CLDR 数据。我们发现加载所有必需的 cldr 数据集 ( supplemental/likelySubtags
, supplemental/numberingSystems
, supplemental/plurals
, supplemental/ordinals
, supplemental/currencyData
, supplemental/timeData
, supplemental/weekData
, main/{locale}/numbers
, main/{locale}/currencies
, main/{locale}/ca-gregorian
, main/{locale}/timeZoneNames
, main/{locale}/dateFields
, main/{locale}/units
)
我们最终得到 150K 的主要数据和 150K 每个语言环境。这是相当大的,我们觉得它不是最佳的。
有没有办法减少这种情况?剥离这些文件中 globalize 从未使用过的某些部分?
我们尝试了 Globalize 编译器,它似乎对解决这个问题没有帮助,因为我们需要向它提供我们的 CLDR 数据,而且它似乎无法去除实际上不需要的东西。
javascript - 如何解析 dd.mm.yyyy 格式的日期?
我尝试以以下dd.mm.yyyy
格式解析日期: Globalize.parseDate(value, "dd.MM.yyyy", "en");
但 globalize 崩溃并出现错误:
未捕获的错误:E_INVALID_PAR_TYPE:无效
options
参数 (dd.mm.yyyy)。应为普通对象。
在 createError (globalize.js:105)
在 validate (globalize.js:182)
在 validateParameterType (globalize.js:257)
在 validateParameterTypePlainObject (globalize.js:295)
在 Function.Globalize.dateParser.Globalize.dateParser (date.js :1853)
在 Function.Globalize.parseDate.Globalize.parseDate (date.js:1908)
在 $.validator.methods.date (Index:1891)
在 $.validator.check (jquery.validate.js:759)
在 $ .validator.checkForm (jquery.validate.js:450)
链接的脚本文件:
我该如何解决?
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()
在使用它之前打电话,但我不知道怎么做。