Jquery 如何更改DataTable的语言
我将用户想要翻译的语言存储在会话变量中,但我不知道如何将其传递给数据表Jquery 如何更改DataTable的语言,jquery,datatables,Jquery,Datatables,我将用户想要翻译的语言存储在会话变量中,但我不知道如何将其传递给数据表 我发现,但这并没有真正起作用,我在哪里设置语言参数?您必须创建一个语言文件,然后使用以下方法进行设置: "oLanguage": { "sUrl": "media/language/your_file.txt" } 我不确定您使用的是哪种服务器语言,但类似的语言可以在PHP中使用: "oLanguage": { "sUrl": "media/language/custom_lang_<?php echo $l
我发现,但这并没有真正起作用,我在哪里设置语言参数?您必须创建一个语言文件,然后使用以下方法进行设置:
"oLanguage": {
"sUrl": "media/language/your_file.txt"
}
我不确定您使用的是哪种服务器语言,但类似的语言可以在PHP中使用:
"oLanguage": {
"sUrl": "media/language/custom_lang_<?php echo $language ?>.txt"
}
有关更多详细信息,请阅读以下内容:
也使用cdn:
//cdn.datatables.net/plug-ins/a5734b29083/i18n/Spanish.json
更多选项:[|西班牙语|等]请记住,您必须准确指定您的语言路径。JSON如下所示:
language: {
url: '/mywebsite/js/localisation/German.json'
}
很抱歉恢复此线程,我知道有解决方案,但使用datatables更改语言很容易。这里,我给大家留下我自己的datatable示例
$(document).ready(function ()
// DataTable
var table = $('#tblUsuarios').DataTable({
aoColumnDefs: [
{"aTargets": [0], "bSortable": true},
{"aTargets": [2], "asSorting": ["asc"], "bSortable": true},
],
"language": {
"url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Spanish.json"
}
});
您从以下链接获得的语言:
只需将语言选项中的URL值替换为您喜欢的URL值即可。
请记住始终使用逗号
为我工作,希望对任何人都有用 致以最良好的祝愿 阿拉伯语的
var table = $('#my_table')
.DataTable({
"columns":{//......}
"language":
{
"sProcessing": "جارٍ التحميل...",
"sLengthMenu": "أظهر _MENU_ مدخلات",
"sZeroRecords": "لم يعثر على أية سجلات",
"sInfo": "إظهار _START_ إلى _END_ من أصل _TOTAL_ مدخل",
"sInfoEmpty": "يعرض 0 إلى 0 من أصل 0 سجل",
"sInfoFiltered": "(منتقاة من مجموع _MAX_ مُدخل)",
"sInfoPostFix": "",
"sSearch": "ابحث:",
"sUrl": "",
"oPaginate": {
"sFirst": "الأول",
"sPrevious": "السابق",
"sNext": "التالي",
"sLast": "الأخير"
}
}
});
参考:
作者:Ossama Khayat法文译本:
$('#my_table').DataTable({
"language": {
"sProcessing": "Traitement en cours ...",
"sLengthMenu": "Afficher _MENU_ lignes",
"sZeroRecords": "Aucun résultat trouvé",
"sEmptyTable": "Aucune donnée disponible",
"sInfo": "Lignes _START_ à _END_ sur _TOTAL_",
"sInfoEmpty": "Aucune ligne affichée",
"sInfoFiltered": "(Filtrer un maximum de_MAX_)",
"sInfoPostFix": "",
"sSearch": "Chercher:",
"sUrl": "",
"sInfoThousands": ",",
"sLoadingRecords": "Chargement...",
"oPaginate": {
"sFirst": "Premier", "sLast": "Dernier", "sNext": "Suivant", "sPrevious": "Précédent"
},
"oAria": {
"sSortAscending": ": Trier par ordre croissant", "sSortDescending": ": Trier par ordre décroissant"
}
}
});
})) dataTables网站上的CDN中上载有语言文件,因此您只需将“西班牙语”替换为以下示例中使用的任何语言即可
您好,在wich文件中,我必须把这段代码翻译成法语,我不太明白翻译的过程
$('#userList').DataTable({
"language": {
"sProcessing": "Traitement en cours ...",
"sLengthMenu": "Afficher _MENU_ lignes",
"sZeroRecords": "Aucun résultat trouvé",
"sEmptyTable": "Aucune donnée disponible",
"sInfo": "Lignes _START_ à _END_ sur _TOTAL_",
"sInfoEmpty": "Aucune ligne affichée",
"sInfoFiltered": "(Filtrer un maximum de_MAX_)",
"sInfoPostFix": "",
"sSearch": "Chercher:",
"sUrl": "",
"sInfoThousands": ",",
"sLoadingRecords": "Chargement...",
"oPaginate": {
"sFirst": "Premier", "sLast": "Dernier", "sNext": "Suivant", "sPrevious": "Précédent"
},
"oAria": {
"sSortAscending": ": Trier par ordre croissant", "sSortDescending": ": Trier par ordre décroissant"
}
}
})) 如果使用Angular和Firebase,也可以使用DTOptionsBuilder:
angular.module('your_module', [
'ui.router',
'oc.lazyLoad',
'ui.bootstrap',
'ngSanitize',
'firebase']).controller("your_controller", function ($scope, $firebaseArray, DTOptionsBuilder) {
var ref = firebase.database().ref().child("your_database_table");
// create a synchronized array
$scope.your_database_table = $firebaseArray(ref);
ref.on('value', snap => {
$scope.dtOptions = DTOptionsBuilder.newOptions()
.withOption('language',
{
"sProcessing": "Traitement en cours...",
"sSearch": "Rechercher :",
"sLengthMenu": "Afficher _MENU_ éléments",
"sInfo": "Affichage de l'élément _START_ à _END_ sur _TOTAL_ éléments",
"sInfoEmpty": "Affichage de l'élément 0 à 0 sur 0 élément",
"sInfoFiltered": "(filtré de _MAX_ éléments au total)",
"sInfoPostFix": "",
"sLoadingRecords": "Chargement en cours...",
"sZeroRecords": "Aucun élément à afficher",
"sEmptyTable": "Aucune donnée disponible dans le tableau",
"oPaginate": {
"sFirst": "Premier",
"sPrevious": "Précédent",
"sNext": "Suivant",
"sLast": "Dernier"
},
"oAria": {
"sSortAscending": ": activer pour trier la colonne par ordre croissant",
"sSortDescending": ": activer pour trier la colonne par ordre décroissant"
}
}
)
});})
我希望这会有所帮助。葡萄牙-巴西贸易协定
$('#table_id').DataTable({
"language": {
"sProcessing": "Procesando...",
"sLengthMenu": "Exibir _MENU_ registros por página",
"sZeroRecords": "Nenhum resultado encontrado",
"sEmptyTable": "Nenhum resultado encontrado",
"sInfo": "Exibindo do _START_ até _END_ de um total de _TOTAL_ registros",
"sInfoEmpty": "Exibindo do 0 até 0 de um total de 0 registros",
"sInfoFiltered": "(Filtrado de um total de _MAX_ registros)",
"sInfoPostFix": "",
"sSearch": "Buscar:",
"sUrl": "",
"sInfoThousands": ",",
"sLoadingRecords": "Cargando...",
"oPaginate": {
"sFirst": "Primero",
"sLast": "Último",
"sNext": "Próximo",
"sPrevious": "Anterior"
},
"oAria": {
"sSortAscending": ": Ativar para ordenar a columna de maneira ascendente",
"sSortDescending": ": Ativar para ordenar a columna de maneira descendente"
}
}
});
的确如此
language: {
url: '//URL_TO_CDN'
}
问题在于,并非所有的数据表(截至本文撰写时)都是有效的JSON。例如,繁体中文文件就是其中之一
为了解决这个问题,我用JavaScript编写了以下代码:
var dataTableLanguages = {
'es': '//cdn.datatables.net/plug-ins/1.10.21/i18n/Spanish.json',
'fr': '//cdn.datatables.net/plug-ins/1.10.21/i18n/French.json',
'ar': '//cdn.datatables.net/plug-ins/1.10.21/i18n/Arabic.json',
'zh-TW': {
"processing": "處理中...",
"loadingRecords": "載入中...",
"lengthMenu": "顯示 _MENU_ 項結果",
"zeroRecords": "沒有符合的結果",
"info": "顯示第 _START_ 至 _END_ 項結果,共 _TOTAL_ 項",
"infoEmpty": "顯示第 0 至 0 項結果,共 0 項",
"infoFiltered": "(從 _MAX_ 項結果中過濾)",
"infoPostFix": "",
"search": "搜尋:",
"paginate": {
"first": "第一頁",
"previous": "上一頁",
"next": "下一頁",
"last": "最後一頁"
},
"aria": {
"sortAscending": ": 升冪排列",
"sortDescending": ": 降冪排列"
}
}
};
var language = dataTableLanguages[$('html').attr('lang')];
var opts = {...};
if (language) {
if (typeof language === 'string') {
opts.language = {
url: language
};
} else {
opts.language = language;
}
}
现在使用opts作为数据表的选项对象,如
$('#list-table').DataTable(opts)
哦,太好了!!您可以尝试其他语言
“olalanguage”:{“sUrl”:”//cdn.datatables.net/plug-ins/1.10.7/i18n/.json“}
一个开放式的外观翻译是单击您的语言,稍后获取cdn链接:)这在1.10.19中似乎不再有效。它是language
而不是olalanguage
和url
而不是sUrl
。见下面的帖子。这些对我很有用。你在回答部分提问。那是不对的。如果您不明白,您可以在评论中寻求帮助或提出新的问题来解释您的情况,如果需要,您可以参考此问题。是的,很抱歉,这是一个错误,几周以来我一直处于堆栈溢出状态,我找到了解决方案,感谢我这只适用于“https:”前缀:语言:{url:'https://cdn.datatables.net/plug-ins/1.10.15/i18n/Spanish.json“}
Hi Basheer,我添加了这个,但它不起作用,我使用的是DataTables的1.10.20版本
language: {
url: '//URL_TO_CDN'
}
var dataTableLanguages = {
'es': '//cdn.datatables.net/plug-ins/1.10.21/i18n/Spanish.json',
'fr': '//cdn.datatables.net/plug-ins/1.10.21/i18n/French.json',
'ar': '//cdn.datatables.net/plug-ins/1.10.21/i18n/Arabic.json',
'zh-TW': {
"processing": "處理中...",
"loadingRecords": "載入中...",
"lengthMenu": "顯示 _MENU_ 項結果",
"zeroRecords": "沒有符合的結果",
"info": "顯示第 _START_ 至 _END_ 項結果,共 _TOTAL_ 項",
"infoEmpty": "顯示第 0 至 0 項結果,共 0 項",
"infoFiltered": "(從 _MAX_ 項結果中過濾)",
"infoPostFix": "",
"search": "搜尋:",
"paginate": {
"first": "第一頁",
"previous": "上一頁",
"next": "下一頁",
"last": "最後一頁"
},
"aria": {
"sortAscending": ": 升冪排列",
"sortDescending": ": 降冪排列"
}
}
};
var language = dataTableLanguages[$('html').attr('lang')];
var opts = {...};
if (language) {
if (typeof language === 'string') {
opts.language = {
url: language
};
} else {
opts.language = language;
}
}
$('#list-table').DataTable(opts)