Template:LocaleDate

From OniGalore
Revision as of 20:55, 3 February 2025 by Iritscen (talk | contribs) (putting WIP JS code here for posterity)

This template was an experiment in using template CSS via the TemplateStyles extension to dynamically reformat dates as mdy or dmy based on the user's locale*. This hacky attempt failed because the sanitizer used by TemplateStyles to safety-check the CSS does not allow CSS variables. Amazingly MediaWiki still lacks the ability for a template to directly read the user's locale.

*The locale would need to be read via JavaScript, which would then set some CSS variables accordingly. The JS code was never written, but it would look something like:

function getLang() {
 if (navigator.languages !== undefined) 
   return navigator.languages[0]; 
 return navigator.language;
}

const lang = getLang();
const root = document.querySelector(':root');

if (lang == "en-US") {
 root.style.setProperty('--month-order', '1');
 root.style.setProperty('--day-order', '2');
} else {
 root.style.setProperty('--month-order', '2');
 root.style.setProperty('--day-order', '1');
}