Exemplo n.º 1
0
 /**
  * @param Piwik_Plugin $plugin
  * @param string $langCode
  */
 private function loadTranslation($plugin, $langCode)
 {
     // we are certainly in Tracker mode, Zend is not loaded
     if (!class_exists('Zend_Loader')) {
         return;
     }
     $infos = $plugin->getInformation();
     if (!isset($infos['translationAvailable'])) {
         $infos['translationAvailable'] = false;
     }
     $translationAvailable = $infos['translationAvailable'];
     if (!$translationAvailable) {
         return;
     }
     $pluginName = $plugin->getClassName();
     $path = PIWIK_INCLUDE_PATH . "/plugins/" . $pluginName . "/lang/%s.php";
     $defaultLangPath = sprintf($path, $langCode);
     $defaultEnglishLangPath = sprintf($path, 'en');
     $translations = array();
     if (file_exists($defaultLangPath)) {
         require $defaultLangPath;
     } elseif (file_exists($defaultEnglishLangPath)) {
         require $defaultEnglishLangPath;
     } else {
         throw new Exception("Language file not found for the plugin '{$pluginName}'.");
     }
     Piwik_Translate::getInstance()->mergeTranslationArray($translations);
 }