Recently, I began to implement language settings for my site. Here's how it basically works:
if(isset($_GET['lang'])) { $langr= $_GET['lang']; $_SESSION['lang'] = $langr; setcookie('lang', $langr, time() + (3600 * 24 * 30)); } elseif(isset($_SESSION['lang'])) { $langr = $_SESSION['lang']; } elseif(isset($_COOKIE['lang'])) { $langr = $_COOKIE['lang']; } else { $langr = 'en'; } switch ($langr) { case 'en': $lang_file = $_SERVER['DOCUMENT_ROOT']."/includes/lang/en.php"; break; case 'fr': setlocale (LC_ALL, 'fr_FR.utf8','fra'); $lang_file = $_SERVER['DOCUMENT_ROOT']."/includes/lang/fr.php"; break; default: $lang_file = $_SERVER['DOCUMENT_ROOT']."/includes/lang/en.php"; } include_once $lang_file;
It downloads the corresponding language file at the top of every page of my website. However, problems start to arise when using jQuery UI datepicker. I found the regional settings file for datepicker online and created a separate file for it:
///jquery.ui.datepicker-fr.js file jQuery(function($){ $.datepicker.regional['fr'] = { closeText: 'Fermer', prevText: 'Précédent', nextText: 'Suivant', currentText: 'Aujourd\'hui', monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], monthNamesShort: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], dayNames: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], dayNamesShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], dayNamesMin: ['D','L','M','M','J','V','S'], weekHeader: 'Sem.', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''}; $.datepicker.setDefaults($.datepicker.regional['fr']); });
The problem is that I need to dynamically load jquery.ui.datepicker-fr.js whenever the language changes so that my datpick switches to French. What I thought was to create a PHP function that I would put in my <head> that will output my file, but the problem is that not all my web pages are PHP, and I do not consider this a very efficient method Any other ideas on how to do this?