97 lines
3.0 KiB
JavaScript
97 lines
3.0 KiB
JavaScript
/**
|
|
* DataTables Locale Configuration
|
|
* Provides locale-specific strings for DataTables based on Laravel's app()->getLocale()
|
|
*/
|
|
window.DataTablesLocale = (function() {
|
|
'use strict';
|
|
|
|
// Get the current locale from Laravel
|
|
const locale = document.documentElement.lang || 'en';
|
|
|
|
// Define locale configurations
|
|
const locales = {
|
|
'sl': {
|
|
processing: "Obdelava...",
|
|
search: "Išči:",
|
|
lengthMenu: "Prikaži _MENU_ vnosov na stran",
|
|
info: "Prikazujem _START_ do _END_ od _TOTAL_ vnosov",
|
|
infoEmpty: "Prikazujem 0 do 0 od 0 vnosov",
|
|
infoFiltered: "(filtrirano od _MAX_ vnosov)",
|
|
infoPostFix: "",
|
|
loadingRecords: "Nalagam...",
|
|
zeroRecords: "Ni najdenih zapisov",
|
|
emptyTable: "V tabeli ni podatkov",
|
|
paginate: {
|
|
first: "Prva",
|
|
previous: "Prejšnja",
|
|
next: "Naslednja",
|
|
last: "Zadnja"
|
|
},
|
|
aria: {
|
|
sortAscending: ": aktiviraj za naraščajoče razvrščanje",
|
|
sortDescending: ": aktiviraj za padajoče razvrščanje"
|
|
}
|
|
},
|
|
'en': {
|
|
processing: "Processing...",
|
|
search: "Search:",
|
|
lengthMenu: "Show _MENU_ entries",
|
|
info: "Showing _START_ to _END_ of _TOTAL_ entries",
|
|
infoEmpty: "Showing 0 to 0 of 0 entries",
|
|
infoFiltered: "(filtered from _MAX_ total entries)",
|
|
infoPostFix: "",
|
|
loadingRecords: "Loading...",
|
|
zeroRecords: "No matching records found",
|
|
emptyTable: "No data available in table",
|
|
paginate: {
|
|
first: "First",
|
|
previous: "Previous",
|
|
next: "Next",
|
|
last: "Last"
|
|
},
|
|
aria: {
|
|
sortAscending: ": activate to sort column ascending",
|
|
sortDescending: ": activate to sort column descending"
|
|
}
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Get the locale configuration for the current language
|
|
* @returns {Object} Locale configuration object
|
|
*/
|
|
function getLocaleConfig() {
|
|
return locales[locale] || locales['en'];
|
|
}
|
|
|
|
/**
|
|
* Initialize DataTable with automatic locale support
|
|
* @param {string} selector - jQuery selector for the table
|
|
* @param {Object} options - DataTable options object
|
|
* @returns {Object} DataTable instance
|
|
*/
|
|
function initDataTable(selector, options = {}) {
|
|
// Merge locale configuration with provided options
|
|
const config = Object.assign({}, options, {
|
|
language: getLocaleConfig()
|
|
});
|
|
|
|
return $(selector).DataTable(config);
|
|
}
|
|
|
|
/**
|
|
* Get the current locale
|
|
* @returns {string} Current locale code
|
|
*/
|
|
function getCurrentLocale() {
|
|
return locale;
|
|
}
|
|
|
|
// Public API
|
|
return {
|
|
getConfig: getLocaleConfig,
|
|
init: initDataTable,
|
|
locale: getCurrentLocale
|
|
};
|
|
})();
|