如何在Dojo中使用荷兰语语言环境?

时间:2009-12-23 10:05:09

标签: javascript date localization dojo

我需要将日期格式化为荷兰语语言环境(荷兰语,荷兰语)字符串。我发现道场supports这个,但是我无法让它发挥作用。我是一个Javascript新手。不要低估我的幸福。

EDITED

<html>
  <title>title</title>
    <body>
    <SCRIPT TYPE="text/javascript" SRC="http://ajax.googleapis.com/ajax/libs/dojo/1.4/dojo/dojo.xd.js"> 
    </SCRIPT>

    <script type="text/javascript">
        dojo.require("dojo.date");
        dojo.require("dojo.date.locale");

        dojo.addOnLoad(function() {
            var d = new Date('2009/12/23');
            console.log(d, dojo, dojo.date);

            var dstr = dojo.date.locale.format(d, {locale:'nl-nl'});
            document.write(dstr);
        });


    </script>
</body>

Firebug打我:

  

找不到捆绑包:dojo.cldr中的gregorian,locale = nl-nl

     

(function(){var _1 = null; if((_ 1 ||(typeof .... setTimeout(dojo._loadInit,1000);}})(); \ n

4 个答案:

答案 0 :(得分:4)

标准Dojo包附带一系列语言环境。您需要运行脚本来创建缺少的脚本。请参阅Dojo网站上的说明:Built-in locales, adding locales with custom build

  1. dojo-src/util/buildscripts/cldr
  2. 中运行ANT版本
  3. 使用localeList参数
  4. 运行Dojo构建
  5. 指定djConfig.locale或添加djConfig.extraLocale
  6. 或者,您可以使用已创建所有本地人的Google CDN版本并定义djConfig.extraLocale

答案 1 :(得分:4)

菲利克斯,请再试一次。您必须在包含dojo.js的标记中,在引导时指定要在页面上使用的区域设置。然后,除非您希望在djConfig.extraLocale

页面上支持多个语言环境,否则无需在其他地方提及它。
<SCRIPT TYPE="text/javascript" SRC="http://ajax.googleapis.com/ajax/libs/dojo/1.4/dojo/dojo.xd.js" djConfig="locale: 'nl'"> 

如果未指定此选项,则语言环境默认为navigator.language,它是浏览器的已安装语言。离开格式调用的“语言环境”参数是您通常想要做的事情。然后它将只选​​择该页面的默认值。

答案 2 :(得分:1)

如果您从本地URI包含dojo,那么您的代码将起作用。跨域需求被强制为异步。有关此问题,请参阅此dojo forum post

您可以使用dojo.addOnLoad来解决此问题:

dojo.require("dojo.date");
dojo.require("dojo.date.locale");

dojo.addOnLoad(function() {
    var d = new Date('2009/12/23');
    console.log(d, dojo, dojo.date);

    var dstr = dojo.date.locale.format(d, {locale:'nl-nl'});
    document.write(dstr);
});

然而,它会抱怨你的语言环境捆绑。但这是另一个故事。

答案 3 :(得分:0)

我厌倦了这个。以DIY方式编码。道场运气好运。

            function formatDutchDate(date) {
            monthnames = ['januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december'];
            monthname = monthnames[date.getMonth()];
            return date.getDate()+' '+monthname+' '+date.getFullYear();
        }