/** * 返回一个翻译字符串结构 * * @param string $token 传递给之类的解析 */ protected function getTokenString($token) { if (isset($this->data[$this->locale][$token])) { return parent::translate($this->data[$this->locale][$token]); } else { return $token; } }
/** * 返回一个翻译字符串结构 * * @param string $token 传递给之类的解析 */ protected function getTokenString($token) { //无配对时,返回的是array if ($this->iniDriver[$this->locale]->getByKey($token) !== array()) { return parent::translate($this->iniDriver[$this->locale]->getByKey($token)); } else { return $token; } }
private function testIni() { $adapter = array('adapter' => 'ini', 'path' => LIB_PATH . 'Lang' . SEP . 'Test' . SEP, 'default' => \HuiLib\Lang\LangBase::DEFAULT_LOCALE); $lang = \HuiLib\Lang\LangBase::create($adapter); echo $lang->translate('HuiLib.lang.test', '芸临网'); echo "<br>"; echo $lang->translate('HuiLib.lang.testNotExist', '芸临网'); echo "<br>_test:<br>"; echo $lang->_('HuiLib.lang.test', '芸临网'); }
/** * 获取调用HuiLib库的翻译实例 * * 默认存在Lang/I18N目录下 */ public static function getHuiLibLang($lang = NULL) { $adapter = array('adapter' => 'gettext', 'path' => LIB_PATH . 'Lang' . SEP . 'I18N' . SEP, 'default' => self::DEFAULT_LOCALE); self::$huiLibInstance = self::create($adapter); if ($lang) { self::$huiLibInstance->loadLang($lang); } else { self::$huiLibInstance->loadLang($adapter['default']); } return self::$huiLibInstance; }
public function getHuiLang($default = NULL) { if ($this->huiLang === NULL) { $this->huiLang = \HuiLib\Lang\LangBase::getHuiLibLang($default); } return $this->huiLang; }
<?php /** * HuiLib Lang库操作指南 * * @since 2013/11/10 * * Lang支持翻译器后端:GetText, Ini两个文件格式,推荐前种,二进制储存,有专门更新的工具 * * 适配器接口: * translate($token):请求翻译一个字串 * translate($token, $param1, $param2, ...):请求翻译一个字串,并且支持sprintf格式变量解析 * * 复数翻译Zend接口 * $translate->plural("common.hour","common.hours",2); */ //快速获取一个Lang翻译器实例 $lang = \HuiLib\Lang\LangBase::getHuiLibLang(); //请求一个翻译 //多个参数,如果少个会怎么样? $lang->translate('HuiLib.lang.test', '芸临网', 'hanhui', 1000, 3.55);