Jquery“$ .preferCulture()”不可用/无法访问

时间:2011-08-23 05:53:44

标签: jquery internationalization locale javascript

我一直在尝试使用Jquery格式化区域(区域设置)特定数字,日期等。互联网上的不同教程也出现了同样的问题。代码如下:

    <script type="text/javascript" >

    $.preferCulture("de-DE"); //The method that causes culture specific formatting mainly
    var price = $.format("3899.359","c");
    $("#price").html(price);

    var available = $.format(new Date(2011,12,23),"D");
    $("#available").html(available);

    </script>

http://weblogs.asp.net/scottgu/archive/2010/06/10/jquery-globalization-plugin-from-microsoft.aspx

我已经下载了最新版本的Jquery,但我找不到$.preferCulture()方法。如果我执行此代码,则会收到错误,指出此方法不受支持。

我正在为Jquery使用Globalize插件来获得更多的国际化,但即使在这种情况下,Globalize.culture()确实存在但不起作用。比如说我执行以下代码:

    <script type="text/javascript">

    jQuery(document).ready(function()
    {
        $("#btn1").click(function()
    {
        Globalize.culture("fr");

        var num = Globalize.format(123456.456789,"n3");
        //Globalize.culture("de-DE");
        //var num = Globalize.formatNumber("123456.456789","c");
        alert(num);
        alert(Globalize.culture().name);

    });

    });
    </script>

这会显示一个带有“en”值而不是“fr”的警报,并且数字也会以“en”语言环境格式化。在使用globalize.js插件时,我还包含了globalize.cultures.js但是徒劳无功。

1 个答案:

答案 0 :(得分:1)

我最近遇到了类似的问题,结果与我如何包含文化文件有关。

确保用以下方法实际导入适当的文化:

<script type="text/javascript" src="lib/culture.fr.js"></script>
<script type="text/javascript" src="lib/culture.de-DE.js"></script>

<script type="text/javascript" src="lib/cultures.js"></script>

请记住,您要导入的文化非常重要,例如,当您想要根据fr-FR格式化值时,您应该导入culture.fr-FR.js,因为它确实使差异。
我还必须指出,对于格式化,您应该始终包含国家/地区信息,因为格式往往因国家/地区而异(即使是相同的语言)。

顺便说一句。在当前版本中,您还需要使用精确的文化来翻译内容(通过localize())。真可惜(但我会用修复程序创建一个拉动请求,敬请关注)。