发新话题
打印

[ThinkPHP]ThinkPHP完善多语言支持

[ThinkPHP]ThinkPHP完善多语言支持

之前的语言包都是采用PHP常量定义的方式,存在一些不便和缺乏灵活。
完善后的语言包支持,增加了Language管理类。用来加载和设置、获取语言定义。
语言文件的文件名规则不变,支持下面三种方式的语言文件定义,例如在zh-cn.php文件:
  • //PHP常量定义 为了保持兼容保留了
  • define('LAN_DEFINE','欢迎使用ThinkPHP');
  • // PHP数组定义 注意一定要用 $_lang
  • $_lang['lan_define'] = '欢迎使用ThinkPHP';
  • // PHP数组返回定义
  • return array('lan_define'=>'欢迎使用ThinkPHP');



要在程序里面设置语言定义的值,使用下面的方式:
  • $language = Language : : getInstance();
  • $language->set('define2','语言定义');
  • // 获取语言定义
  • $value = $language->get('define2');



为了更加方便获取语言定义的值,系统公共函数定义了快捷方法L,例如
  • $value = L("define2");
  • //和下面的方法等效
  • $language = Language : : getInstance();
  • $value = $language->get('define2');



模板引擎的标签使用下面的方式来输出语言定义的值:
  • {$Think.lang.lang_define}



更加详细的内容请参考在线手册

TOP

发新话题