Я храню в переменной сеанса, какой язык хочет перевести пользователь, но я не знаю, передавать его DataTables
Я нашел это объяснение на веб-сайте datatables, но это действительно не помогло, где установить параметр языка?
Я храню в переменной сеанса, какой язык хочет перевести пользователь, но я не знаю, передавать его DataTables
Я нашел это объяснение на веб-сайте datatables, но это действительно не помогло, где установить параметр языка?
Вы должны либо создать языковой файл, а затем установить его, используя:
"oLanguage": {
"sUrl": "media/language/your_file.txt"
}
Я не уверен, какой серверный язык вы используете, но что-то вроде этого будет работать в PHP:
"oLanguage": {
"sUrl": "media/language/custom_lang_<?php echo $language ?>.txt"
}
Где language
соответствует имени файла для определенного языка.
или измените индивидуальные настройки:
"oLanguage": {
"sLengthMenu": "Display _MENU_ records per page",
"sZeroRecords": "Nothing found - sorry",
"sInfo": "Showing _START_ to _END_ of _TOTAL_ records",
"sInfoEmpty": "Showing 0 to 0 of 0 records",
"sInfoFiltered": "(filtered from _MAX_ total records)"
}
Для более подробной информации читайте это: http://datatables.net/plug-ins/i18n
//Spanish
$('#TableName').DataTable({
"language": {
"sProcessing": "Procesando...",
"sLengthMenu": "Mostrar _MENU_ registros",
"sZeroRecords": "No se encontraron resultados",
"sEmptyTable": "Ningún dato disponible en esta tabla",
"sInfo": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
"sInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros",
"sInfoFiltered": "(filtrado de un total de _MAX_ registros)",
"sInfoPostFix": "",
"sSearch": "Buscar:",
"sUrl": "",
"sInfoThousands": ",",
"sLoadingRecords": "Cargando...",
"oPaginate": {
"sFirst": "Primero",
"sLast": "Último",
"sNext": "Siguiente",
"sPrevious": "Anterior"
},
"oAria": {
"sSortAscending": ": Activar para ordenar la columna de manera ascendente",
"sSortDescending": ": Activar para ordenar la columna de manera descendente"
}
}
});
Также используя cdn:
//cdn.datatables.net/plug-ins/a5734b29083/i18n/Spanish.json
Дополнительные параметры: http://www.datatables.net/plug-ins/i18n/English [| Испанский | и т.д.]
Извините, что возродил эту ветку, я знаю, что есть решение, но с помощью datatables легко изменить язык. Здесь я оставляю вас со своим собственным примером.
$(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"
}
});
Язык вы получаете по следующей ссылке:
http://cdn.datatables.net/plug-ins/9dcbecd42ad/i18n
Просто замените значение URL в языковой опции на тот, который вам нравится. Не забывайте всегда использовать запятую
Работал для меня, надеюсь, это будет работать для всех.
С наилучшими пожеланиями!
Французские переводы:
$('#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"
}
}
});
});
В CDN загружаются языковые файлы, на веб-сайте dataTables есть список языков. Поэтому вам нужно будет заменить "испанский" на любом языке, который вы используете в следующем примере.
https://datatables.net/plug-ins/i18n/Spanish
$('table.dataTable').DataTable( {
language: {
url: '//cdn.datatables.net/plug-ins/1.10.15/i18n/Spanish.json'
}
});
для арабского языка
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": "الأخير"
}
}
});
Ссылка: https://datatables.net/plug-ins/i18n/Arabic
Автор: Оссама Хаят
Имейте в виду, что вам нужно точно указать свой путь к вашему языку. JSON вот так:
language: {
url: '/mywebsite/js/localisation/German.json'
}
Здравствуйте, в каком файле я должен поставить этот код для перевода на французский язык, я не понимаю процесс перевода
$('#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"
}
}
)
});})
Надеюсь, это поможет.