19,704
edits
 (+docs)  | 
				 (putting WIP JS code here for posterity)  | 
				||
| Line 1: | Line 1: | ||
<includeonly><templatestyles src="LocaleDate/styles.css" /><span class="date-wrapper"><span class="date-day">{{{day}}}</span><span class="date-month">{{{month}}}</span><span class="date-year">{{{year}}}</span></span></includeonly><noinclude>This template was an experiment in using [[Template:LocaleDate/styles.css|template CSS]] via the TemplateStyles extension to dynamically reformat dates as mdy or dmy based on the user's locale   | <includeonly><templatestyles src="LocaleDate/styles.css" /><span class="date-wrapper"><span class="date-day">{{{day}}}</span><span class="date-month">{{{month}}}</span><span class="date-year">{{{year}}}</span></span></includeonly><noinclude>This template was an experiment in using [[Template:LocaleDate/styles.css|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.  | ||
<nowiki>*</nowiki>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');  | |||
 }  | |||
[[Category:Utility templates]]  | [[Category:Utility templates]]  | ||
</noinclude>  | </noinclude>  | ||