1

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

但是由于某种原因,使用时不会翻译消息Yii::t

如果我使用 将语言设置为英语以外的语言Yii::app->setLanguage('et_ee'),并检查它是否真的改变了Yii::app->getLanguage(),文本总是用英语。

当我从 web 运行相同的命令时,文本被正确翻译。

我想我必须做一些特别的事情才能让翻译在控制台应用程序中工作?

4

3 回答 3

0

You need to specify the messages component in your console.php configuration

'messages' => array(
  'class' => 'CDbMessageSource',
  'forceTranslation'=>true,
  'sourceMessageTable' => 'source_message',
  'translatedMessageTable' => 'translated_message',
),
于 2013-06-06T14:47:09.487 回答
0

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

'language' => 'ru'

在 config/console.php 中。

于 2013-08-17T23:26:04.567 回答
0

我有这个错误。我不知道如何修复它。我将 lang array trow require('path/to/message/ru/message.php') 放入 var 并使用它。这是错误的,但它对我有用。

于 2013-01-18T08:53:13.007 回答