问题标签 [jquery-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 回答
458 浏览

django - Django i18n 与 jQuery Globalize 的消息一起用于单页应用程序

我有一个基于 Django 的 API 层,它在内部使用 Django 的 i18n 工具(ugettext 等)来提供对某些输出的翻译。API 提供一个单页 Javascript 应用程序,该应用程序利用 jQuery 的 Globalize 和它自己的消息传递工具,通过 CLDN/messages 文件等。

目前,我有自己为 UI 生成的语言文件,格式为 Globalize 消息模块的 JSON 文件。
理想情况下,我想从一个位置驱动所有可翻译的文本。我希望使用 Django 作为可翻译语言的唯一真实来源(因为我可以使用 Rosetta 作为促进翻译的一种方式)。然而,如何让两者一起工作并不是那么简单,我试图避免在它们可能已经存在的地方发明自己的约定,以防止将来与其他开发人员混淆。

首先,一些文本块大于几个单词。使用 Django 的 ugettext 我应该提供要翻译或显示为参数的文本 - 只提供一个键并要求翻译存在(否则,只显示键)是一个好的约定吗?

其次,这种用例是否有既定惯例?
如果规范对这种情况有意义,我不想重新发明轮子或偏离规范。

第三- 我应该在两者之间做出选择吗?或者翻译可以存在于 Django/API 世界中,然后在 UI 请求时输出为 Globalize/messages 格式?或者我应该使用 Django 为 Javascript 提供的 gettext 实现?

谢谢

0 投票
1 回答
370 浏览

jquery - jquery/globalize 自定义格式化程序问题

尝试格式化有效的 ICU 消息时

'您的开放票数是 {n, number}'

jquery/globalize 抛出异常:fmt is not defined(…)

使用 globalize-compiler 编译消息时没有错误,但在运行时失败。

使用 jquery/globalize 1.0.0 和 1.1.1
问题类似于:github.com/jquery/globalize/issues/563


更改 jquery/globalize ... globalize/message.js 源文件(添加单词 customFormatters)可以消除错误...但是在项目中更改第三方源文件是不可接受的。




下面的 npm 包还按预期处理消息格式。 https://www.npmjs.com/package/format-message


(我已经 PM'ed Rafael 的 jquery/globalize 并且他要求我在这里发布问题)

问题:

  1. 有没有其他人遇到过这个问题,你的解决方法是什么?

  2. 是否有人将 jquery/globalize 用于基数/日期/单位/等格式化程序和另一个库,如“format-message”用于消息格式化?

  3. 它将用于的项目是 nodejs 和基于浏览器的 (spa)。切换到 Intl 和 polyfill 是一个有效的选择。(需要 Safari 支持http://caniuse.com/#search=intl

  4. 是否有测试来评估通过 PR 将“customFormatters”添加到源的性能成本。

0 投票
1 回答
85 浏览

jquery - 为什么 jQuery 插件 Globalize 在英语本地 (en-CA) 中重新识别 9,999.99 而不是在法语本地重新识别 9 999,99?

为什么全球化9,999.99在英语本地 (en-CA) 中而不是9 999,99在法语本地 (fr-CA) 中。在这种情况下,空间是否会导致问题?

当我调用 numberParser 方法时会发生这种情况。如果我输入,则返回 NaN,9 999,99但应该接受,因为格式化程序会返回它。

0 投票
2 回答
1655 浏览

jquery - 全球化格式的使用

我对全球化格式d感到困惑。

的用途是什么Globalize.format(new Date(), 'd')

它返回当前日期,标签格式为月/日/年..

0 投票
2 回答
3404 浏览

internationalization - Globalize.js vs i18next.js

Does Globalize.js offer anything over i18next.js? I've been using i18next.js and I can't find a comparison of the two technologies. Are there any advantages to one over the other? Or, is this just another jQuery project sold on the jQuery name?

0 投票
1 回答
500 浏览

asp.net-mvc - $.getJSON 在部署服务器中不起作用

我在 .Net MVC 项目上使用此帖子Globalize error with local numbers来在 Asp Mvc 应用程序中安装新版本的 Globalize。

所以在 _Layout.cshtml 我添加了这段代码

但是当我在服务器中部署时它不起作用。

Ps:我在我的 web.config 中添加了这个

请帮忙。

0 投票
1 回答
285 浏览

javascript - jQuery Globalize 解析负数

我在使用 jQuery Globalize 1.1.1 解析负数时遇到问题:

所以看起来全球化正在将负数转换为正数。加载以下 CLDR 数据:

  • 补充/可能的子标签
  • 补充/时间数据
  • 补充/周数据
  • 补充/编号系统
  • 主/sv/数字
  • 主/sv/timeZoneNames
  • 主要/sv/ca-gregorian

无法通过谷歌搜索找到任何关于此的内容。我错过了什么吗?

0 投票
2 回答
95 浏览

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 堆栈方面更有经验,可以帮助我们!

0 投票
0 回答
188 浏览

javascript - 验证 Double (nl-BE) 时的 MVC5 和 JQuery Globalize 问题

我有一个非常基本的场景:

在我的模型中:

(目前没有注释)

在我看来:

在同一页面上的我的javascript代码中:

加载页面时我没有收到任何错误,因此我认为 Globalize 初始化成功

现在,问题是(使用 nl-BE 文化时):

  • 客户端验证接受 1.23 和 1,23。
  • 根据 nl-BE 文化,应该只接受 1,23。
  • 服务器端验证 (.NET) 按预期工作,并拒绝 1.23。

我需要添加注释吗?我假设默认情况下基本验证不需要注释。

JQuery.Globalize我在验证方面做错了吗?(我必须说,0.x 版本更容易使用。当你不想使用 npm 或 bower,而只使用 nuget 时,这个带有 CLDR 数据的 1.x 版本非常复杂)

为了清楚起见,这些是我的期望,但也许我期望太多

  • 用户可以在不同的文化之间切换。其中一些文化期望 PI 为 3.14,有些文化期望 PI 为 3.14
  • 在一个文化里“。” 是小数点分隔符,我希望客户端验证只接受“3.14”,并在输入“3,14”时显示错误。
  • 在“,”是小数分隔符的文化中,我希望客户端验证仅接受“3,14”,并在输入“3.14”时显示错误。
  • 这样,客户端和服务器端验证就会同步。
  • 不知何故,我希望 JQuery.Globalize 为我做这件事。
  • 目前,客户端验证接受两者,但服务器端验证只接受正确的一个。

我该如何解决这个问题?

0 投票
1 回答
475 浏览

javascript - 如何在 Globalize 中获得工作日?

在我的项目中,我使用的是Globalize 1.1.1

它在这条路径“日期/日历/公历/天”中具有工作日的全球化,我不知道如何获得特定的一天。

就像我想获得“Thuesday”的全球化一样,该字段称为“thu”。

所以我的问题是,我该怎么做?

我试过:

  • Globalize.dateParser({ raw: "weekday/wide" })( "thu" )
  • Globalize.formatUnit(1, "days", { form: "wide" })
  • Globalize.formatMessage("/dates/calendars/gregorian/days/wide/thu")