如何在Yii控制台应用程序中使用翻译?

时间:2013-01-03 09:14:16

标签: internationalization yii console-application

我创建了一个控制台Yii应用程序,它可以作为Web应用程序的后台工作程序 - 它发送电子邮件,并且需要使用已翻译的消息发送它们。

但出于某种原因,使用Yii::t

时不会翻译邮件

如果我使用Yii::app->setLanguage('et_ee')将语言设置为英语以外的其他语言,并检查它是否真的已更改为Yii::app->getLanguage(),则文本始终为英语。

当我从网上运行同样的命令时,文本被正确翻译。

我想translatiosn在控制台应用程序中工作时必须要做些什么特别的事情?

3 个答案:

答案 0 :(得分:0)

我有这个错误。我不知道怎么解决它。我得到了lang数组trow require('path / to / message / ru / message.php')到var并使用它。这是错的,但这对我有用。

答案 1 :(得分:0)

您需要在messages配置

中指定console.php组件
'messages' => array(
  'class' => 'CDbMessageSource',
  'forceTranslation'=>true,
  'sourceMessageTable' => 'source_message',
  'translatedMessageTable' => 'translated_message',
),

答案 2 :(得分:0)

只需添加字符串(例如 - 俄语):

'language' => 'ru'
在config / console.php中