Files
aritmija/public/admin/js/datatables-locale.js
2026-05-13 17:11:09 +02:00

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
};
})();