我正在使用datatables 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
} );}
});
}});
这就是我获取设置和数据的方式。
我的问题是如何更改数据表的语言,尤其是列标题?
答案 0 :(得分:6)
关于列:为什么您希望DataTables处理客户端表<th>
字幕?难道你不能做那个服务器端,我猜你已经知道用户语言 - 以及你构建<table>
- 骨架的地方吗?
关于DataTables内部字符串,例如First
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