问题标签 [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 投票
0 回答
133 浏览

javascript - Angular 8 - ng build 后未定义全球化

我正在使用 Angular CLI 8.1.1 和 JqWidgets 8。* 当使用ng serve一切正常为应用程序提供服务时。尽管使用 ng build 运行时出现错误Globalize is not defined 有人可以帮我理解为什么会发生这种情况吗?

我尝试将 Angular 降级到 8.0.6

0 投票
1 回答
260 浏览

javascript - 如何使用 Globalizejs 验证 ICU 消息语法?

JavaScript 中有一些 i18n 库可用,其中最完整的库之一似乎是GlobalizeJs

在测试它时,我在发送无效的 ICU 消息时发现了一个问题。它似乎忽略了错误。以下示例:

有没有办法捕捉到 ICU 语法无效,而不是默默地输出尽力而为的结果?

0 投票
0 回答
35 浏览

javascript - 如何停止执行动态数量和类型的语句,直到一系列 ajax 调用完成?

我有一个使用 C# 的 MVC 模型网站,它是使用一系列文件创建的。我正在尝试使用 globalize.js 来翻译日期和日期格式。这样做需要我加载 cldr 数据。我是通过使用将 async 标志设置为 false 的 ajax 调用来做到这一点的,如下所示:

这行得通,但由于需要加载的文件数量(7 x 60-70kb),它将加载时间减慢到不可接受的水平。由于站点的模块化特性,我目前正在努力寻找一种方法来加载数据,然后才需要在没有 async 标志的情况下使用它。我需要在标题中加载数据,这是一个文件,并在每个页面上可能有 20-30 个其他模块中使用它,每个模块都在他们自己的文件中,并带有自己的脚本标签。问题是所有这些模块都在globalize.load(data)语句执行之前加载和出错。

我的问题是:如何停止执行动态数量和类型的语句,直到一系列 ajax 调用完成,而这两个调用位于单独的文件中?我相当肯定答案将是承诺,但我不知道如何让承诺表现得像我想要的那样。

0 投票
0 回答
15 浏览

gruntjs - 使用 globalizejs/globalize currencyFormatter 从金额中舍入并删除小数部分

我正在使用 globalizejs/globalize ( https://github.com/globalizejs/globalize ) 来格式化我的货币。

我将 maximumFractionDigits 添加为零,但是在运行编译器时,它会翻译它并将原始和模式格式附加到小数点。我想隐藏小数部分,只是在 UI 上显示的整数。

我已经尝试了所有这些但没有运气,请有任何建议。

结果是:

currencyFormatterFn(Globalize("en-US").numberFormatter({"minimumFractionDigits":0,"maximumFractionDigits":0,"raw":"#,##0.00"}), Globalize("en-US").pluralGenerator ({}), {"currency":"THB","pattern":"#,##0.00","unitPatterns":{"unitPattern-count-one":"{0} {1}","unitPattern -count-other":"{0} {1}"}})

和这个

结果是

Globalize.a1429986586 = numberFormatterFn(["'THB' ",,1,0,0,,,0,3,,"","'THB' #,##0.00","-'THB' 'THB' # ,##0.00","-'THB' ","",numberRound(),"∞","NaN",{".":".",",":",","%": "%","+":"+","-":"-","E":"E","‰":"‰"},]);

Globalize.b2128334345 = currencyFormatterFn(Globalize("en-US").numberFormatter({"minimumFractionDigits":0,"maximumFractionDigits":0,"raw":"'THB' #,##0.00"}));

它总是显示这个 12345.00 泰铢,我希望它显示 12345。

0 投票
0 回答
42 浏览

webpack - Webpack 错误:E_MISSING_MESSAGE_BUNDLE:缺少语言环境的消息包 en

错误也张贴在这里

我正在尝试使用 globalize app-npm-webpack 但不断收到以下错误。

目标是能够在使用应用程序时从下拉列表中动态更改语言。因此我进行了一个小测试。来自此 repo 中提供的现有示例 app-npm-webpack。

在 index.js 中,我尝试编写以下代码。

console.log(Globalize("en").formatMessage("intro-1"));

我的理解是所有supportedLocales都是由webpack加载的。选择的 developmentLocale 是 de。defaultLocale 始终加载正常,但在应用程序运行期间应用程序没有更改语言环境,并给我以下错误。

我收到以下错误。

错误

谁能指出这个错误的原因?

除了尝试使用上面的那一行外,我没有更改应用程序中的任何内容。