请教各位:
我正在使用YII开发一个网站,需要设置为中文语言。
使用YII的FORM做输入验证的时候,提示的是英文消息。
我想这可能是语言没有设置正确,尝试在CApplicatio类里面,设置语言_languages="zh_CN";但是,还是不起做用。
请大家帮忙,给我一些提示。
谢谢了!
请教各位:
我正在使用YII开发一个网站,需要设置为中文语言。
使用YII的FORM做输入验证的时候,提示的是英文消息。
我想这可能是语言没有设置正确,尝试在CApplicatio类里面,设置语言_languages="zh_CN";但是,还是不起做用。
请大家帮忙,给我一些提示。
谢谢了!
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
...
'language'=>'zh_cn',
谢谢独飞和 小新hezll!
YII框架的消息基本都能显示为中文了。
但是还有显示form里面的字段前面的标签,还是英文的,这个要怎么处理呢?!
我看yiic命令行好像支持把php文件中的字符串扫描出来,自动生成替换文件,但是我没弄明白yiic message怎么使用。
谢谢大家的帮助了!
明白了,在 public function attributeLabels() 实现各个属性对应的标签即可,但是 中文 在浏览器下显示的是乱码!?这个问题怎么解决?!
哈哈,搞定了!
终于明白了Yii多语言翻译机制.
在model的 attributeLabels() 方法里:
调用 Yii::t(‘your-message-name’,‘message’);
/**
* Declares customized attribute labels.
* If not declared here, an attribute would have a label that is
* the same as its name with the first letter in upper case.
*/
public function attributeLabels()
{
return array(
'verifyCode'=> Yii::t('your-message-name','Verification Code'),
'email'=> Yii::t('your-message-name','email'),
'password'=>Yii::t('your-message-name','password'),
'comfirmpassword'=>Yii::t('your-message-name','comfirmpassword')
);
}
其中:your-message-name 是 你自己的翻译文件的名称,对应的文件在app的protected/message/zh_cn/your-message-name.php
该文件返回一个key=》value的数组。key就是调用yii::t()的消息,value就是对应的翻译结果。
其他语言的以此类推。
注意!
your-message-name 是你自己定义的,跟你的消息翻译的文件名称一样,就可以了。
yii的消息翻译文件是 yii,你可以在framework/message/LanguageID/下看到,所以,你的消息文件名称就不能使用这个名称了!
如果是在其他的模块中呢,我想将语言文件放到对应的模块下的 message 目录中去,这个怎么处理?
hiscaler,你好!
如果你要使用模块里面的消息,可以这么处理:假设你的模块 名称 是abc
Yii::t(‘abc[size=“7”][color="#0000FF"].[/color][/size]mymessage’, ‘message’);
貌似直接这样不行,会提示找不到 abc.php 文件,请问还应该在哪里设置一下呢?多谢。
我在 config/main.php 里设置了’language’=>‘zh_cn’,却不能显示中文,包括导航、消息、页脚等都是英文的。
请教怎样设置?
设置了
‘sourceLanguage’=>‘zh_cn’,
‘timeZone’ => ‘Asia/Shanghai’,
还是不行。
你有没有建立文件:
protected/messages/zh_cn/Base.php
translation.php 文件,就是放翻译的词句的那个文件要用转换软件转成utf8才不会乱码,因为yii框架是使用utf8