天行健,君子以自强不息;地势坤,君子以厚德载物;

JQuery Datatables 之 国际化

国际化(Internationalisation)

Datatables默认的是英语,但是可以很容翻译成其他的语言。 
由社区提供的超过50多种语言,让你在Datatables中使用

配置(Configuration)

Datatables中所使用的语言选项是通过 language 来配置的。 这是一个对象字符串,通过一个参数来描述Datatables的每个部分。 语言选项的完整参数可以参考 language 文档。

在Datatables中,语言选项的配置与 其他配置 方式完全相同,作为初始化设置的一部分,这个例子展示了如何修改搜索字符串:

  $('#example').DataTable( {
    language: {
        search: "在表格中搜索:"
    }
} );

与其他初始化选项一样,你可以按你所希望的改变尽可能多或尽可能少的选项。那些选项你不赋值,Datatables会使用默认值, 本示例显示每个语言选项,用中文显示Datatables接口:

$('#example').DataTable({
    language: {
        "sProcessing": "处理中...",
        "sLengthMenu": "显示 _MENU_ 项结果",
        "sZeroRecords": "没有匹配结果",
        "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
        "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
        "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
        "sInfoPostFix": "",
        "sSearch": "搜索:",
        "sUrl": "",
        "sEmptyTable": "表中数据为空",
        "sLoadingRecords": "载入中...",
        "sInfoThousands": ",",
        "oPaginate": {
            "sFirst": "首页",
            "sPrevious": "上页",
            "sNext": "下页",
            "sLast": "末页"
        },
        "oAria": {
            "sSortAscending": ": 以升序排列此列",
            "sSortDescending": ": 以降序排列此列"
        }
    }
});

异步加载翻译(Ajax loading a translation)

为了方便起见,DataTables提供一个选项,用于从服务器Ajax加载语言信息。这个通过 language.url 进行配置,例如:

$('#example').DataTable({
    language: {
        url: '/localisation/Chinese.json'
    }
});

作为与 language 中其他选项一样,Ajax加载文件,可以指定尽可能多或尽可能少的选项,根据需要对Datatables中语言选项进行设置。 任何不指定的选项,将使用Datatables中默认值。

数值型数据的排序(Ordering of numeric data)

数值数据呈现格式往往按照一定的规则,比如将一个给定的字符定义为一个decimal类型,分离器和数字类型的识别,比如货币符号。 DataTables将会自动检测数值型数据类型,比如货币、百分比值和分离器的值。但是默认情况下这些工作用一个点(.)作为十进制数值数据, 如同数值如何在Javascript中表示一样。

DataTables中可以使用通过language.decimal()将任何字符转换成十进制数值数据,提供完整的数值类型为任何形式的数字数据检测和 排序。例如,世界上许多地方使用逗号(,)小数位,Unicode定义了十进制分隔符(?),和一个破折号(-)有时被用于金融文件等等。

通过language.decimal()选项配置,你可以告诉DataTables,在你的表中哪些字段转换成十进制数值数据,并对这些数据进行正确的排序。 与Datatables其他语言参数一样,language.decimal()可以被定义在表的初始化中或者定义在一个语言文件中通过Ajax进行加载(如下所示)。

$('#example').DataTable( {
    language: {
        decimal: ",",
    }
} );

可用的翻译(Available translations)

DataTables社区共同递交了超过50个翻译,可以直接在Datatables中使用。用法参考 plug-ins

http://datatables.net/manual/i18nTranslation from DataTables.net, with permission

点赞

发表回复