问题标签 [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.
ruby-on-rails-3 - CLDR 复数规则是在 Rails 3 中预定义的,还是必须手动定义?
如果您必须手动添加规则,您在哪里以及如何添加它们?
我正在尝试使用 :locale => "fr" 并根据http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html,0..2 内的所有内容都应该在“一个” 形式,但我使用值“1.5”得到“其他”形式。
编辑:我说的是这些https://github.com/svenfuchs/i18n/blob/master/test/test_data/locales/plurals.rb
php - 在 ICU 中,是否可以使用自定义复数规则而不是 CLDR 规则
所以我想使用与CLDR不同的复数规则。我通过 PHP intl extension使用 ICU ,并说我有这样的事情:
我对其中一个类别的内置复数规则不满意,并想更改它,这可能吗?不,它不仅仅是固定的间隔,所以不能使用选择。
localization - 为什么 CLDR 和 Windows 有不同的货币格式?
在国际化的世界中,CLDR(通用语言环境数据存储库)似乎是最终的数据库,据我所知,许多系统都从中派生出它们的语言环境数据。
但是,我比较了 CLDR 数据和 Windows 7 中的语言环境,并且货币格式在许多情况下都不同。
例如,语言环境“英语(加拿大)”中的加元格式如下:
Windows: $1,235.00, -$1,235.00
CLDR...: $1,235.00, ($1,235.00)
或者让我们以西班牙语(哥伦比亚)和哥伦比亚比索为例:
Windows: $ 1.235,00, ($ 1.235,00)
CLDR...: $1.235,00, -$1.235,00
注意负数和间距的变化。我应该怎么想?很可能还有更多这样的差异。两种格式规则都可以吗,还是会发生本地用户认为其中一个错误的情况?
javascript - 如何在 Ember 应用程序中包含 CLDR.js 库?
我正在构建一个开始使用ember-skeleton的 Ember 应用程序(这意味着我正在使用 Rake Pipeline 作为我的构建工具链)。我正在使用ember-i18n,并且不断发出关于没有 CLDR.pluralForm 函数的警告。
我已将ember-i18n 使用的CLDR 复数函数app/vendor/
添加到目录中,并将该文件添加到我的Assetfile
. 我已经验证该代码包含在我app.js
之前的 ember-i18n 代码中。我还在require
main.js 中添加了适当的行:
尽管如此,ember-i18n 仍在发出警告。这是发生的代码:
如何确保在我的应用程序中定义了 CLDR?
javascript - 粗略的 Unicode -> 没有 CLDR 的语言代码?
我正在写一个字典应用程序。如果用户键入 Unicode 字符,我想检查该字符是哪种语言。
例如
我搜了一下发现可以用CLDR https://stackoverflow.com/a/6445024/41948
或 Google API Python - 我可以检测 unicode 字符串语言代码吗?
但就我而言
- 查找大型charmap db 似乎需要大量存储和内存
- 调用 API 太慢,而且需要网络连接
- 不需要非常准确。只有大约 80% 的正确率是可以接受的
- 简单快速是主要要求
- 只覆盖 UCS2 BMP 字符是可以的。
有小费吗?
我需要在 Python 和 Javascript 中使用它。谢谢!
javascript - 将 twitter-cldr-js 格式的数字解析回整数或浮点数?
有没有什么简单的方法可以逆转:
即将“1.337”解析回值为1337的整数?
该解决方案应该适用于任何twitter-cldr-js支持的语言环境。
我不是在寻找 parseInt / parseFloat,因为它不能处理所有可能的语言环境。
java - 如何使用 java 转换工具从 CLDR 数据构建 JSON 数据?
CLDR 版本 23 到 24 包括一个用于将 XML 数据转换为 JSON 的工具。这些工具的文档几乎不存在。我需要将所有 XML 数据转换为 JSON。我怎样才能做到这一点?
到目前为止我已经尝试过:
- 我
tools.zip
从http://unicode.org/Public/cldr/23.1/tools/java
下载了它,解压缩它,在目录中打开终端。然后我阅读了 中的说明tools/java/readme.txt
。 - 我使用
ant clean all
我尝试使用以下命令运行 JSON 工具:
/li>java org.unicode.cldr.json.Ldml2JsonConverter
- 但这会导致引发错误:
也许我只是在做一些完全错误的事情,因为我对 Java 知之甚少。我需要为我的 node.js 项目获取 JSON。
requirejs - require.js + cldrjs 为什么重命名配置路径条目会破坏它?
概括
下面的重命名 (s/cldr/cldrjs) 破坏了加载功能。
require.config({
paths: {
- cldr: "./bower_components/cldrjs/dist/cldr"
+ cldrjs: "./bower_components/cldrjs/dist/cldr"
}
});
require([
- "cldr",
- "cldr/supplemental"
+ "cldrjs",
+ "cldrjs/supplemental"
], function( Cldr ) {
console.log( "Cldr instance", new Cldr( "en" ) );
}, function() {
设置
安装库。
bower install cldrjs requirejs
你应该得到:
cldrjs /tmp/cldrjs
├── cldrjs#0.3.2 extraneous
└── requirejs#2.1.11 extraneous
用法
打开index.html
(可在https://gist.github.com/rxaviers/10194312获得)。Require.js 应该加载 Cldr,并且您的控制台应该记录它的一个实例,例如:
Cldr instance Object { attributes={...}, locale="en", supplemental=function(), more...}
问题
为什么重命名会破坏它?
为了方便您,我放置了两个主要文件(可在https://gist.github.com/rxaviers/10194312获得)。只需更改参考即可对其进行测试。
--- a/index.html
+++ b/index.html
@@ -4,7 +4,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
- <script data-main="main.cldr.js" src="bower_components/requirejs/require.js"></script>
+ <script data-main="main.cldrjs.js" src="bower_components/requirejs/require.js"></script>
</body>
</html>
附录
一条值得了解的信息...
cldr.js 的标头:(可在https://gist.github.com/rxaviers/10194312获得)
define(function() {
// implementation... Yeap, no dependencies.
})
cldr/supplemental.js 的标头:(可在https://gist.github.com/rxaviers/10194312获得)
define(["../cldr"], function() {
// implementation... Dependency is the above cldr.js file.
})
javascript - JS Globalize - 加载 json cldr
我对最新版本的globalize.js
. 要使用它,我必须加载cldr modules
和语言定义。
现在我从 globalize 文档中得到了这个例子:
我现在的问题是本地 json 文件是异步加载的。这意味着在我的脚本尝试设置当前语言的那一刻,模块尚未加载。
现在我试着变得聪明并做了这个:
在我真正使用全球化格式方法之前,这将起作用。在我的 HTML 中,我在敲除绑定中使用 globalize,如下所示:
现在“formatNumber”方法抛出错误,因为在绑定发生时并非所有模块都已加载。
我现在的问题是,如何同步我的 JavaScript?
unicode - CLDR 阿拉伯语语言环境中的奇怪列表模式格式
我在 CLDR-25-data 中观察到以下阿拉伯语言环境中列表模式格式的条目(在希伯来语中也类似):
请注意,LDML 规范仅涉及“{0}”或“{1}”形式的占位符(不像“end”和“2”类型的列表模式部分)。也可以看看:
http://cldr.unicode.org/development/development-process/design-proposals/list-formatting
或者
http://cldr.unicode.org/translation/lists
我怀疑这与从右到左的风格有关,但细节如何?
更新:
现在我编写了一个小的 Java 程序来查看真正的字符序列。
输出是:
所以看起来是显示问题,而不是char序列本身的问题?!我使用 Internet Explorer 版本 9 和 Eclipse 4.3。