Exemple #1
0
 /**
  * 载入语言串
  * 
  * @todo I18n优化 速度 设置语言的位置
  */
 private static function _loadStrings()
 {
     if (self::$isStringsLoaded) {
         return;
     }
     Watt_Debug::addInfoToDefault('Before load language string.');
     self::setLang(Watt_Session::getSession()->getLanguage());
     self::_connectMemcache();
     if (self::$_memcache) {
         if (self::$_memcache->get(self::$_memcacheKeyPrefix . self::$lang . '_LOADED')) {
             self::$isStringsLoaded = true;
             Watt_Debug::addInfoToDefault('After load language string.');
             return;
         }
         Watt_Debug::addInfoToDefault('Before load language string from memcache.');
     }
     //include后 1.8 1.9 ms左右
     //include前 1.5 1.6 ms左右 include 还挺费时间...
     //考虑放到各个模块里..用到那个载入哪个? //这个更像php风格
     //还是放到一起一并载入?
     //先每个人用到的分开,最后合并
     $langPath = Watt_Config::getLangPath() . self::$lang . DIRECTORY_SEPARATOR;
     self::_loadLangFilesInDir($langPath);
     //载入备用目录的语言文件 //
     $langPath = Watt_Config::getLangPath(1) . self::$lang . DIRECTORY_SEPARATOR;
     self::_loadLangFilesInDir($langPath);
     /* 合并语言文件以后用下面这段代码,合并以前用上面那段
     		$str2s = include_once( Watt_Config::getLangPath()
     		                      .self::$lang
     		                      .DIRECTORY_SEPARATOR."lang.php" );
     		self::$strings = array_merge( self::$strings, $str2s);
     */
     if (self::$_memcache) {
         self::$_memcache->set(self::$_memcacheKeyPrefix . self::$lang . '_LOADED', true);
         Watt_Debug::addInfoToDefault('After load language string from memcache.');
     }
     self::$isStringsLoaded = true;
     Watt_Debug::addInfoToDefault('After load language string.');
 }