我在Yii项目中创建了一个简单的组件,并且有一个文本需要使用Yii的i18n功能进行翻译
class MySimpleComponent{
public static function WelcomeCurrentUser(){
$wuser = Yii::t("lstrings","Welcome back ");
$wuser .= Yii::app()->session['curuser'];
return $wuser;
}
}
我在我的一个视图中调用了这个小组件函数。
echo MySimpleComponent::WelcomeCurrentUser();
但是当我使用以下代码更改我的一个控制器中的语言时
Yii::app()->language = 'ja' //change language to japanese
翻译不起作用...我仔细检查我的i18n字符串,以确保消息彼此完全相同但仍无法正常工作。
这是我的lstrings.php文件
return array("Hello"=>"こんにちは",
"Welcome back "=>"お帰りなさい",
);
为什么翻译不起作用的任何想法?任何解决方案感谢
答案 0 :(得分:2)
致电
Yii::app()->language = 'ja'
之前
echo MySimpleComponent::WelcomeCurrentUser();
语言翻译只要在Yii :: t()
之前生效