我创建了一个控制台Yii应用程序,它可以作为Web应用程序的后台工作程序 - 它发送电子邮件,并且需要使用已翻译的消息发送它们。
但出于某种原因,使用Yii::t
如果我使用Yii::app->setLanguage('et_ee')
将语言设置为英语以外的其他语言,并检查它是否真的已更改为Yii::app->getLanguage()
,则文本始终为英语。
当我从网上运行同样的命令时,文本被正确翻译。
我想translatiosn在控制台应用程序中工作时必须要做些什么特别的事情?
答案 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中。