YiiBooster使用:中文语言问题
2016-01-08 09:41
721 查看
YiiBooster使用bootstrap的datepicker时,中文语言处理上存在问题,经过如下fix,可以解决。在TbDatePicker.php的init()中进行fix:
因为bootstrap中简体中文对应的js为 xxx.zh-CN.js,而YiiBooster的处理是去找 xxx.zh.js 了(即对语言设置只取前2个字符)
经过上述处理,form中使用TbDatePicker能够显示中文了
但对于TbEditableColumn,如果是日期形式的列,要显示中文,一方面,要把语言设置传递给组件,另一方面,头部标题等中文语言工作,需要处理Yii的国际化问题
在Booster/widgets目录下新建目录messages/zh_cn,然后在该目录下放上editable.php文件(因为TbEditableColumn是利用了TbEditable的),在此文本翻译文件中放入类似如下的一个数组:
public function init() { $this->htmlOptions['type'] = 'text'; $this->htmlOptions['autocomplete'] = 'off'; if (!isset($this->options['language'])) { $languageInfo = explode('_', Yii::app()->getLanguage()); if($languageInfo[0] == 'zh') { $this->options['language'] = 'zh-'.strtoupper($languageInfo[1]); } else $this->options['language'] = substr(Yii::app()->getLanguage(), 0, 2); } parent::init(); }
因为bootstrap中简体中文对应的js为 xxx.zh-CN.js,而YiiBooster的处理是去找 xxx.zh.js 了(即对语言设置只取前2个字符)
经过上述处理,form中使用TbDatePicker能够显示中文了
但对于TbEditableColumn,如果是日期形式的列,要显示中文,一方面,要把语言设置传递给组件,另一方面,头部标题等中文语言工作,需要处理Yii的国际化问题
array( 'class' => 'booster.widgets.TbEditableColumn', 'name' => 'mktbltime', 'headerHtmlOptions' => array('style' => 'width: 100px'), 'editable' => array( 'type' => 'date', 'viewformat' => 'yyyy-mm-dd', 'options' => array( 'clear' => 'x 清除', 'datepicker' => array('language'=>'zh-CN'), ), 'url' => $this->createUrl('updateField'), 'placement' => 'right', ) ),
在Booster/widgets目录下新建目录messages/zh_cn,然后在该目录下放上editable.php文件(因为TbEditableColumn是利用了TbEditable的),在此文本翻译文件中放入类似如下的一个数组:
<?php return array( 'Enter'=>'输入', 'Select'=>'选择', );
相关文章推荐
- PHP7的新特性
- H264编码 封装成MP4格式 视频流 RTP封包
- FTP4j下载带有中文的文件时 出现乱码解决方案
- PHP中each与list用法分析
- 手机屏幕材质详解(TFT,TPS,OLED,AMOLED等)
- PHP页面静态化
- PHP中list()函数用法实例简析
- PHP操作数据库
- PHP的单态类——为了产生唯一的对象
- PHP烂代码救星-之上传2附件《读thinkphp代码有感》 2016-01-07
- [笔记]几个简单有用的PHP函数
- PHP慢慢长路之问题与解决方法(1)――去除li下的圆点,记住啦~
- PHP中list()函数用法实例简析
- PHP中each与list用法分析
- 深入浅析php中sprintf与printf函数的用法及区别
- PHP 7.0.2 正式版发布
- PHP使用数组依次替换字符串中匹配项
- PHP实现搜索地理位置及计算两点地理位置间距离的实例
- 理解PHP中的Session及对Session有效期的控制
- 在PHP站点的页面上添加Facebook评论插件的实例教程