i18n не работает в пользовательских компонентах Yii - PullRequest
0 голосов
/ 08 марта 2012

Я создал простой компонент в своем проекте Yii, и на нем есть текст, который необходимо перевести с помощью функции i18n Yii

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 "=>"お帰りなさい",
);

Есть идеи, почему перевод не работает? какие-либо решения? спасибо

1 Ответ

2 голосов
/ 08 марта 2012

Звоните

Yii::app()->language = 'ja'

до

echo MySimpleComponent::WelcomeCurrentUser();

Язык перевода будет действовать так же долго, как и до Yii :: t ()

...