Load country-specific calendar i18n if available
authorColeman Watts <coleman@civicrm.org>
Sun, 17 Mar 2013 21:53:26 +0000 (14:53 -0700)
committerColeman Watts <coleman@civicrm.org>
Sun, 17 Mar 2013 21:53:26 +0000 (14:53 -0700)
CRM/Core/Resources.php

index c008438b0156aebd5f0bd352746ccc8798023ab6..629f0c3df0fcffa7ad7355c15bf5191df0b6333a 100644 (file)
@@ -433,14 +433,18 @@ class CRM_Core_Resources {
       }
 
       // Add localized calendar js
+      // Search for i18n file in order of specificity (try fr-CA, then fr)
       list($lang) = explode('_', $config->lcMessages);
-      $localizationFile = "packages/jquery/jquery-ui-1.9.0/development-bundle/ui/i18n/jquery.ui.datepicker-{$lang}.js";
-      if ($this->getPath('civicrm', $localizationFile)) {
-        $this->addScriptFile('civicrm', $localizationFile, $jsWeight++, $region, FALSE);
+      foreach (array(str_replace('_', '-', $config->lcMessages), $lang) as $language) {
+        $localizationFile = "packages/jquery/jquery-ui-1.9.0/development-bundle/ui/i18n/jquery.ui.datepicker-{$language}.js";
+        if ($this->getPath('civicrm', $localizationFile)) {
+          $this->addScriptFile('civicrm', $localizationFile, $jsWeight++, $region, FALSE);
+          break;
+        }
       }
 
       // Give control of jQuery back to the CMS - this loads last
-      $this->addScriptFile('civicrm', 'js/noconflict.js', 9999, $region);
+      $this->addScriptFile('civicrm', 'js/noconflict.js', 9999, $region, FALSE);
 
       $this->addCoreStyles($region);
     }