问题标签 [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.

0 投票
1 回答
168 浏览

jquery - 用于时间的 JQuery 微调器

我想使用 jquery spinner 来显示时间。在他们的示例http://jqueryui.com/spinner/#time 中,他们使用 globalize.js。我不确定从哪里获取此文件。请帮忙。

0 投票
1 回答
924 浏览

node.js - npm install globalize - E_MISSING_BUNDLE

我确定这是一个愚蠢的配置问题,但我似乎无法弄清楚。我在以这种方式安装的 nodejs 中使用 globalize 包:

查看我的 package.json 安装:

然后我创建了一个nodeunit测试:

第一个测试通过,但第二个测试失败并出现以下错误:

有人对我如何配置错误有任何想法吗?

0 投票
0 回答
83 浏览

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

由于每个人都需要这段代码,我希望它存在于库中。你能给我指出一个正确的实施吗?

0 投票
2 回答
4898 浏览

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 尚未加载。

0 投票
0 回答
789 浏览

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 的手册...

http://js.devexpress.com/Documentation/Guide/SPA_Framework/Localization/?version=16_1&approach=Knockout

0 投票
1 回答
105 浏览

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 中的一个问题)是造成这种情况,以便我们可以发布相应的问题。

0 投票
1 回答
42 浏览

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 项目中提出相应的问题,或者解释为什么这是现在的预期行为。

0 投票
0 回答
342 浏览

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 数据,而且它似乎无法去除实际上不需要的东西。

0 投票
1 回答
1036 浏览

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)

链接的脚本文件:

我该如何解决?

0 投票
1 回答
2171 浏览

javascript - SlikelySubtags.json 未加载

我使用cldrglobalize库。我阅读了我需要加载的文档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()在使用它之前打电话,但我不知道怎么做。