6

我正在使用数据表 jquery 插件并从服务器端获取设置和数据。但我想在数据表中添加一种以上的语言(阿拉伯语和英语),并以这两种语言添加列标题。

$(document).ready(function() {
var columns;
$.ajax({
        type: "POST",
        url: "./viewController",
        data:{ "TableName" : "ViewGridDept",
        "Call" : "gridConfiguration"},
        dataType:"json",
        success: function(coldata){
        //columns=data.aoColumns;
        //var coldata = eval( '('+data+')' );
        alert(coldata.aoColumnsRef);
        employeeTable = $("#EmployeeTable").dataTable({
        "bJQueryUI" : true,
        "sPaginationType" : "full_numbers",
        "bFilter": true,
        "bInfo": true,
        "bServerSide": true,
        "sAjaxSource" : "./viewController",
        //"aoColumns":coldata.aoColumns ,
        "aoColumnDefs":coldata.aoColumnsRef,
        //"aoColumnDefs":[{"sTitle":"Department Name","mDataProp":"deptName","aTargets":"[1]"},{"sTitle":"Department ID","mDataProp":"deptId","aTargets":"[0]"}],
        "fnServerData": function ( sSource, aoData, fnCallback ) {
            aoData.push( { "name" : "TableName", "value" : "ViewGridDept" },
            { "name" : "Call", "value" : "Data" } );
            $.ajax( {
                    "dataType": 'json', 
                    "type": "POST", 
                    "url": sSource, 
                    "data": aoData, 
                    "success": fnCallback
                    } );}

});
        }});

这就是我获取设置和数据的方式。

我的问题是如何更改我的数据表的语言,尤其是列标题?

4

1 回答 1

6

关于列:为什么要 DataTables 处理表格<th>标题客户端?你不能做那个服务器端,我猜你已经知道用户语言 - 以及你在哪里构建<table>-skeleton ?

关于DataTables内部的字符串,likeFirst Next Showing 1 to 10 of 57 entries等等,只需要创建一个阿拉伯文翻译的文件,像这样

{
    "sProcessing":   "جاري التحميل...",
    "sLengthMenu":   "أظهر مُدخلات _MENU_",
    "sZeroRecords":  "لم يُعثر على أية سجلات",
    "sInfo":         "إظهار _START_ إلى _END_ من أصل _TOTAL_ مُدخل",
    "sInfoEmpty":    "يعرض 0 إلى 0 من أصل 0 سجلّ",
    "sInfoFiltered": "(منتقاة من مجموع _MAX_ مُدخل)",
    "sInfoPostFix":  "",
    "sSearch":       "ابحث:",
    "sUrl":          "",
    "oPaginate": {
        "sFirst":    "الأول",
        "sPrevious": "السابق",
        "sNext":     "التالي",
        "sLast":     "الأخير"
    }
}

将其命名为 arabic.txt 并将其添加到上面的dataTable()初始化中:

..

oLanguage: { "sUrl": "path-to-your-translation-file/arabic.txt" },

..

[正如你可能猜到的 :-)] 已经翻译成阿拉伯语,你可以在这里找到http://www.datatables.net/plug-ins/i18n

于 2013-08-30T13:04:03.230 回答