【问题标题】:How to use translations in Yii console application?如何在 Yii 控制台应用程序中使用翻译?
【发布时间】:2013-01-03 09:14:16
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: internationalization yii console-application


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您需要在console.php 配置中指定messages 组件

      'messages' => array(
        'class' => 'CDbMessageSource',
        'forceTranslation'=>true,
        'sourceMessageTable' => 'source_message',
        'translatedMessageTable' => 'translated_message',
      ),
      

      【讨论】:

        【解决方案3】:

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

        'language' => 'ru'
        

        在 config/console.php 中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-26
          • 2010-11-05
          • 2021-06-16
          相关资源
          最近更新 更多