Yii’s I18n topic对我来说还不够.
我的来源是土耳其语,目标语言是英语(例如)
我的测试控制器的索引操作:
public function actionIndex() { Yii::app()->language='en'; $this->render("index"); }
echo Yii::t('test','Deneme');
最后,这是我的protected / messages / en / test.PHP文件的内容:
return array( 'Deneme' => 'Example',);
一切都好,它正在返回示例.但正如您所看到的,我正在我的索引操作上手动设置语言.我怎么能自动完成?我必须添加Yii :: app() – > language =’en’;一切行动?你如何在你的项目中使用l18n?
注意:我是Yii和l18n noob,所以请逐步描述.
谢谢.
您应该在CWebApplication中设置目标语言:beginRequest()
在protected / config / main.PHP中,添加:
'onBeginRequest' => array('MyApp','beginRequest')
在protected / components中,创建一个文件MyApp.PHP,并添加以下类:
class MyApp { public static function beginRequest(CEvent $event) { //set your language,theme,etc here } }
请记住将beginRequest()声明为static,否则您将遇到如下错误:
https://github.com/yiisoft/yii/issues/794